Flutter
ARBファイルとflutter_localizationsを使用して、i1nをFlutterと統合します。
セットアップ
Flutterプロジェクトで `i1n init` を実行します。CLIは `pubspec.yaml` 内の `flutter_localizations` を検出し、ARBフォーマットを設定します。ファイルはデフォルトで `lib/l10n/` に保存されます。
Flutterはネイティブのローカライゼーションシステムを使用します。Dart用のi1n SDKはありません。CLIがARBファイルを管理し、Flutterのgen-l10nがDartコードを生成します。
使用方法
ウィジェット内の翻訳にアクセスするには、AppLocalizations.of(context) を使用します。Flutter の組み込みコード生成により、ARB ファイルからローカライゼーションデリゲートが作成されます。
i1n は ARB フォーマットのメタデータとプレースホルダーを処理し、{name} や {count} のような変数が AI 翻訳中に適切に保護されるようにします。
ワークフロー
ソースARBファイル(例:app_en.arb)にキーを追加し、翻訳のためにi1n push --translateを実行してから、i1n pullを実行して翻訳されたARBファイルを取得します。flutter gen-l10nを実行して、Dartのローカライズコードを再生成します。
ブリッジモードはFlutterには適用されません。プラットフォームは独自のネイティブローカライゼーションパイプラインを使用します。i1nは、ファイルとAI翻訳を管理する翻訳インフラストラクチャレイヤーとして機能します。
lib/main.dart
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
Text(AppLocalizations.of(context)!.hello)