チーム向けのオープンソース・セルフホスト型翻訳管理プラットフォーム。一般的なローカライズ形式のインポート/エクスポートとREST APIに対応。
slang-i18n/slang
JSON、YAML、CSV、ARBファイルから翻訳アクセサーを生成する、DartおよびFlutter向けの型安全な国際化ライブラリです。
- スター
- 619
- フォーク
- 66
- 未解決の Issue
- 41
- 最終コミット
- 3 か月前
これは何?
Slangは、DartおよびFlutter向けの国際化ライブラリです。翻訳をJSON、YAML、CSV、ARBファイルに記述すると、各翻訳を型付きメソッドまたはプロパティとして利用できるDartコードを生成します。キーの不足やパラメーター名の誤りは、実行時エラーとして発生するのではなく、コンパイル時に検出されます。
生成されたアクセサーを使うため、翻訳ファイルを実行時に解析する必要はありません。パラメーター付き文字列、複数形、enumを使ったカスタムコンテキスト、翻訳のリンク、RichTextのスパン、ロケールに応じた数値・日付の書式設定に対応しています。名前空間を使って大きな翻訳ファイルを小さなファイルに分割でき、純粋なDartプロジェクトでもFlutterアプリでも利用できます。
パッケージには、未使用または不足している翻訳の検出、ファイルの正規化、キーの移動、ARBファイルからJSONへの移行、iOSのロケール設定の更新を行うコマンドラインツールが含まれています。
主な機能
- 01型付きのDartアクセサーを生成し、タイプミスや引数の不足をコンパイル時に検出します。
- 02JSON、YAML、CSV、ARBファイルの翻訳を読み込めます。
- 03複数形、カスタムコンテキスト、型付きパラメーター、RichTextに対応しています。
- 04intlパッケージを使い、ロケールに応じた数値と日付の書式設定を行います。
- 05翻訳ファイルの分析、正規化、移行に使えるCLIを備えています。
ユースケース
- コンパイル時に文字列をチェックできるFlutterアプリに、多言語対応を追加する。
- 純粋なDart製のCLIツールやサーバーアプリをローカライズする。
- 既存のARBベースのFlutterプロジェクトを、JSONまたはYAMLを使うワークフローへ移行する。
- 多言語対応の大規模プロジェクトで、未使用または不足している翻訳を検出する。
クイックスタート
- 1
pubspec.yaml に slang と slang_flutter パッケージを追加します
- 2
lib/i18n に en.i18n.json などの JSON 翻訳ファイルを作成します
- 3
Dart の翻訳コードを生成します
dart run slang - 4
main() でロケールを初期化し、t を使って翻訳を利用します
使う前に知っておきたいこと
- Dart または Flutter のプロジェクトが必要です。他の言語からは使用できません。
トピック
よくある質問
- slang とは?
- JSON、YAML、CSV、ARBファイルから翻訳アクセサーを生成する、DartおよびFlutter向けの型安全な国際化ライブラリです。 Slangは、DartおよびFlutter向けの国際化ライブラリです。翻訳をJSON、YAML、CSV、ARBファイルに記述すると、各翻訳を型付きメソッドまたはプロパティとして利用できるDartコードを生成します。キーの不足やパラメーター名の誤りは、実行時エラーとして発生するのではなく、コンパイル時に検出されます。
- slang は無料で使えますか?ライセンスは?
- slang は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- slang は今もメンテナンスされていますか?
- 半年以内に更新あり。slang の最終コミットは 2026年8月6日 です。
- slang は何に使えますか?
- コンパイル時に文字列をチェックできるFlutterアプリに、多言語対応を追加する。 純粋なDart製のCLIツールやサーバーアプリをローカライズする。 既存のARBベースのFlutterプロジェクトを、JSONまたはYAMLを使うワークフローへ移行する。 多言語対応の大規模プロジェクトで、未使用または不足している翻訳を検出する。
- slang のインストール方法は?
- pubspec.yaml に slang と slang_flutter パッケージを追加します lib/i18n に en.i18n.json などの JSON 翻訳ファイルを作成します Dart の翻訳コードを生成します: dart run slang main() でロケールを初期化し、t を使って翻訳を利用します
- slang はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/slang-i18n/slang
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
AngularとFirebaseで構築されたオープンソースの翻訳管理ツール兼CMS。Google TranslateによるAI支援翻訳に対応しています。
i18nextとreact-i18nextをNext.jsのApp Router、Pages Router、middlewareに組み込む翻訳ツールキット。
GitHubのインターフェースを簡体字・繁体字中国語にローカルで翻訳するブラウザー拡張機能です。
JSON、JSON Schema、TypeScript、GraphQLクエリから、さまざまな言語の型付きモデルとシリアライザーを生成します。
OpenAPI 3スキーマからTypeScript型を生成し、それらの型に基づく型安全なfetchクライアントも提供します。