Flutter|Flutter 国际化 flutter_translate 使用补充

【Flutter|Flutter 国际化 flutter_translate 使用补充】flutter_translate 有详细的使用指南
https://github.com/bratan/flutter_translate
这里仅作补充说明
flutter_translate 依赖于系统语言设置。并且提供切换语言的方法,(需要单独设置记录选中语言)否则app再次启动还是会按照系统语言设定。
1.语言文件名字的设置规则,需要按照{languageCode}_{countryCode}.json或者{languageCode}.json

Flutter|Flutter 国际化 flutter_translate 使用补充
文章图片
image.png
在设置默认语言,这里取的是当前系统语言。在supportedLocales中设置是支持的语言种类。这里并没有语言json文件和语言的对应,故在设置json文件的时候,要按照上述的规则设置。

var delegate = await LocalizationDelegate.create( fallbackLocale: 'zh_Hans', supportedLocales: ['en_US', 'zh_Hans', 'zh_Hant']); runApp(LocalizedApp(delegate, MyApp()));

2.assets/i18n 文件的位置,建议放在工程目录的第一层。
虽然文档说明可以单独设置位置,但是默认的位置是工程目录的第一层。
3.如果需要保存app设置的语言,以便在下次启动的时候,按照app内设置的语言而不是按照系统语言则需要实现 ITranslatePreferences ,具体使用方法参考指南。

    推荐阅读