当使用this package进行本地化时,基本翻译在EN中完成,我希望我的第二语言显示键,如果它们存在于第二语言json文件中,但如果它们不存在,则使用en.json
等效值。问题是,默认情况下,此包显示JSON文件中不存在的键,而不是回退翻译文件值。有办法覆盖此问题吗?main.dart
文件中插件的用法
runApp(
EasyLocalization(
child: MyApp(),
useOnlyLangCode: true,
fallbackLocale: Locale('en'),
supportedLocales: [
Locale('en'),
Locale('es'),
],
path: 'lang',
),
);
当我想翻译一个存在于en.json
中,但不存在于es.json
文件中的密钥时,它看起来像这样:
tr('appTitle');
预期结果将是“Hello world”,但我在屏幕上得到“appTitle”。
2条答案
按热度按时间juud5qan1#
老问题了,不过我刚碰到同样的问题:
现在有(?)个参数“useFallbackTranslations”需要设置为true。这确实有点违反直觉,因为人们会假设设置fallbackLocale就足够了。
bpsygsoo2#
这是
runApp
中的EasyLocalization
设置:分离的
LanguageManager
类最后,
assets/translations
文件夹必须为en-US.json
、en.json
和tr.json
别忘了生成
PS:这个解决方案来自土耳其的Veli Bacik