用于 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) 基本模式包括

  1. 在 ‘pubspec.yaml’ 文件中导入必要的本地化库
  2. 创建本地化配置文件
  3. 运行命令生成本地化文件
  4. 在 ‘main.dart’ 文件的 MaterialApp 中添加本地化委托

(B) 完整模式包括基本模式的所有功能,外加:=> 在包含*.arb文件生成的键值的每个 Dart 文件中导入本地化文件,并用翻译后的键替换 Text 值

用法

此程序已发布到 pub.dev,因此您可以使用此包

  1. 作为可执行文件,通过运行以下命令
dart pub global activate localization_helper

如果显示路径警告,则需要将突出显示的目录添加到系统的“Path”环境变量中,以便可执行文件运行。在将目录添加到路径后运行以下命令。此命令在基本模式下运行程序

localization_helper

要运行完整模式的程序,请执行以下命令

localization_helper -i full

运行程序涉及的步骤

  1. 在需要实施本地化的项目目录中运行程序
  2. 输入 ‘y’ 以允许程序运行
  3. 程序会检测 ‘pubspec.yaml’ 文件是否存在并导入必要的本地化库
  4. 输入位于指定路径的模板 *.arb 文件名
  5. 程序会在工作目录中创建一个名为 ‘l10n.yaml’ 的本地化配置文件,并在 ‘main.dart’ 文件中添加本地化委托
  6. 在完整模式下执行时,用户需要提供目录路径,以便用本地化调用器替换每个 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

请使用该包,欢迎提供反馈!??

GitHub

查看 Github