Flutter 国际化 flutter_translate 使用补充

flutter_translate 有详细的使用指南
https://github.com/bratan/flutter_translate
这里仅作补充说明

flutter_translate 依赖于系统语言设置。并且提供切换语言的方法,(需要单独设置记录选中语言)否则app再次启动还是会按照系统语言设定。

1.语言文件名字的设置规则,需要按照{languageCode}_{countryCode}.json或者{languageCode}.json


Flutter 国际化 flutter_translate 使用补充_第1张图片
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 ,具体使用方法参考指南。

你可能感兴趣的:(Flutter 国际化 flutter_translate 使用补充)