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 代码。
用法
在您的 widget 中使用 AppLocalizations.of(context) 来访问翻译。Flutter 内置的代码生成功能会根据您的 ARB 文件创建本地化代理。
i1n 处理 ARB 格式的元数据和占位符,确保 {name} 和 {count} 等变量在 AI 翻译过程中得到妥善保护。
工作流
将键添加到源 ARB 文件(例如,app_en.arb),运行 i1n push --translate 进行翻译,然后运行 i1n pull 获取翻译后的 ARB 文件。运行 flutter gen-l10n 以重新生成 Dart 本地化代码。
Bridge 模式不适用于 Flutter — 该平台使用自己的原生本地化流程。i1n 作为翻译基础设施层,负责管理文件和 AI 翻译。
lib/main.dart
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
Text(AppLocalizations.of(context)!.hello)