flutter - easy_localization 对其他语言的键有回退值

标签 flutter localization translation

使用 this package 时对于本地化和在 EN 中完成的基本翻译,我希望我的第二语言显示键,如果它们存在于第二语言 json 文件中,但如果它们不存在,则使用 en.json 等效值。问题是默认情况下此包显示 JSON 文件中不存在的 key ,而不是后备翻译文件值。有没有办法覆盖它?

main.dart 文件中插件的使用

runApp(
  EasyLocalization(
    child: MyApp(),
    useOnlyLangCode: true,
    fallbackLocale: Locale('en'),
    supportedLocales: [
      Locale('en'),
      Locale('es'),
    ],
    path: 'lang',
  ),
);

当我想翻译存在于 en.json 中但不存在于 es.json 文件中的 key 时,它看起来像这样:

tr('appTitle');

预期结果是“Hello world”,但我在屏幕上看到了“appTitle”。

最佳答案

老问题,但因为我刚遇到同样的问题:

现在(?)有一个参数“useFallbackTranslations”,您必须将其设置为 true。确实有点违反直觉,因为人们会认为设置 fallbackLocale 就足够了。

EasyLocalization(
fallbackLocale: const Locale('en'),
supportedLocales: const [
  Locale('en'),
  Locale('es'),
  Locale('de'),
],
useOnlyLangCode: true,
useFallbackTranslations: true, // <------
path: 'assets/i18n',
child: const MyApp(),
))

关于flutter - easy_localization 对其他语言的键有回退值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65098360/

相关文章:

flutter - 初始化形式参数不能在工厂构造函数中使用

javascript - ionic 2 : Use ng2-translate in a ts file

找不到 Symfony 警告翻译

comments - 自动将(非英语)评论翻译成英语?

flutter - 检索运行时更改的ThemeData问题

flutter - 尽管 List 中有元素,但 List.map 不执行( flutter )

flutter - 尝试向 Flutter 发送平台消息,但 FlutterJNI 与原生 C++ 分离。无法发送。 channel : flutter/textinput. 响应 ID:0

flutter - 语言更改时强制 localeResolutionCallback

iphone - 最大限度地减少本地化和 iPhone 4/5 的 xibs 多样性

android - 如何在android中创建应用程序本地化?