JSON_CREATOR for Flutter Apps

这是一个命令行Dart应用程序,用于读取Flutter项目中Dart文件中的Text widget的值并创建一个JSON文件,该文件对于本地化特别有用。

该包旨在帮助Flutter开发者,这些开发者已经开发了一个Flutter应用程序并正在寻找本地化项目的方法。该包从终端中输入的路径获取并读取所有Dart文件(如果存在),然后查找Text widget中的字符串值以及“Fluttertoast”包的msg参数。匹配的字符串随后被格式化,并创建一个JSON文件,其中包含lowerCamelCase格式的键以及程序检测到的实际匹配项作为值。

用法

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

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

如果显示警告,您需要将突出显示的目录添加到系统的“Path”环境变量中,以便允许可执行文件运行。添加目录到path后运行以下命令。

json_creator
  1. 或者,通过将源代码克隆到本地计算机并运行以下命令
dart run

运行程序涉及的步骤

  1. 运行程序
  2. 输入包含所有带有Text widget的Dart文件的文件夹路径
  3. 程序检测输入的路径是否存在
  4. 如果路径有效,则会在终端中显示匹配的字符串,并将路径、键和值写入工作目录中的一个名为test.json的JSON文件中

输出

输出的JSON文件创建在工作目录中,名为“test.json”。

为了方便您,上面的路径键和值标识了它们从中提取的文件。

附加信息

使用Prettier扩展格式化您的JSON文件。在必要时编辑文件。将此添加到settings.json以格式化JSON文件

"[json]": {
    "editor.defaultFormatter": "esbenp.prettier-vscode"
  },

由于无法在json中写入注释,并且本地化是通过*.arb文件完成的,因此您可以将JSON文件的扩展名更改为.arb。在那些文件中定义注释的语法。社区建议使用特殊的语法,例如“@_LOGIN_PAGE”: {},作为编写注释的约定,但您可以想象当文件增长时它们并不非常可见。因此,可以通过使用VS Code扩展:Highlight来突出显示这些部分标题的方法。

只需安装它,然后转到settings.json,并在highlight.regexes下添加以下条目

"highlight.regexes": {
   "(\"@_.+\": {},)": {
     "filterFileRegex": ".*\\.(arb|json)",
     "decorations": [
       {
         "overviewRulerColor": "#d19a66",
         "backgroundColor": "#d19a66",
         "color": "#282c34",
         "fontWeight": "bold"
       }
     ]
   }
 }

现在,提取键和值的文件的路径将被突出显示!

有一篇有趣的关于使用arb文件进行本地化的文章,可能会有所帮助。您可以查看:https://yapb.dev/tips-and-tricks-13-tips-when-working-with-arb-files-for-localization

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

GitHub

查看 Github