用于 Flutter 应用本地化的 LOCALIZATION_HELPER
这是一个命令行 Dart 应用程序,可帮助在 Flutter 应用中实现本地化。
[注意]:如果您正在对预先构建的 Flutter 应用进行本地化,您可能会发现 ‘json_creator’ 和 ‘json_translator’ 包在 pub.dev 上很有帮助。 https://pub.dev/packages/json_creator https://pub.dev/packages/json_translator
此包旨在帮助那些已经开发了 Flutter 应用并正在寻求项目本地化的 Flutter 开发者。该包包含两种在 Flutter 应用中实现本地化的模式:基本模式和完整模式。
(A) 基本模式包括
- 在 ‘pubspec.yaml’ 文件中导入必要的本地化库
- 创建本地化配置文件
- 运行命令生成本地化文件
- 在 ‘main.dart’ 文件的 MaterialApp 中添加本地化委托
(B) 完整模式包括基本模式的所有功能,外加:=> 在包含*.arb文件生成的键值的每个 Dart 文件中导入本地化文件,并用翻译后的键替换 Text 值
用法
此程序已发布到 pub.dev,因此您可以使用此包
- 作为可执行文件,通过运行以下命令
dart pub global activate localization_helper
如果显示路径警告,则需要将突出显示的目录添加到系统的“Path”环境变量中,以便可执行文件运行。在将目录添加到路径后运行以下命令。此命令在基本模式下运行程序
localization_helper
要运行完整模式的程序,请执行以下命令
localization_helper -i full
运行程序涉及的步骤
- 在需要实施本地化的项目目录中运行程序
- 输入 ‘y’ 以允许程序运行
- 程序会检测 ‘pubspec.yaml’ 文件是否存在并导入必要的本地化库
- 输入位于指定路径的模板 *.arb 文件名
- 程序会在工作目录中创建一个名为 ‘l10n.yaml’ 的本地化配置文件,并在 ‘main.dart’ 文件中添加本地化委托
- 在完整模式下执行时,用户需要提供目录路径,以便用本地化调用器替换每个 Dart 文件中的 Text 值,这些调用器是从 JSON 文件创建的(使用 JSON_CREATOR)
输出
输出显示在控制台中,其中显示了每次执行的详细信息。
附加信息
当在完整模式下使用时,此程序会将所有匹配的 const Text 小部件替换为具有非 const 值的普通 Text 小部件。您可以使用此正则表达式在所有文件的搜索字段中移除包装匹配 Text 小部件的“const”关键字
(const )(\w*[([]((\r?\n?).*){0,5}S.of\(context\))
在 VS Code 中替换为“$2”。
建议一次执行一个替换操作,以最大程度地减少意外错误。
有一篇关于处理用于本地化的 arb 文件的有趣文章。您可以查看:https://yapb.dev/tips-and-tricks-13-tips-when-working-with-arb-files-for-localization
请使用该包,欢迎提供反馈!??



