在Flutter中使用flutter_intl 插件做国际化时,每次修改arb 文件后,就会在Message窗口出现以下提示。对于强迫症患者非常难受,必须解决掉!
/Users/ado/Developer/develop_env/flutter_2.10.5/bin/flutter --no-color pub global run intl_utils:generate
INFO: No @@locale or _locale field found in intl_en, assuming 'en' based on the file name.
Process finished with exit code 0
解决方案
ARB介绍
首先我们需要了解arb文件是什么 ARB详细说明:https://github.com/google/app-resource-bundle
ARB全称Application Resource Bundle 是一种基于JSON的本地化格式文件。
根据Google的介绍,@@开头的字段属于Global attributes,必须加在arb文件json格式的最上面。 @@locale 用于标记存储在当前arb文件中的字符串属于哪种语言环境。
添加@@locale
通过查看谷歌的说明,我们已经知道了只需要在Json的顶部加上一个字段即可。@@locale 或者__locale 都可以。推荐使用@@locale ,更加符合标准。
值为对应的语言简称。因为我修改的是intl_en.arb文件,所以值为en。 如果是intl_zh.arb,那对应的值就是zh。
{
"@@locale": "en",
"appName": "Flutter App",
......
}
保存后等插件自动运行,提示就不会出现了。
|