我希望我的应用在显示第一页之前先加载所有本地化字符串。要获取翻译后的字符串,请使用以下说明:
MyLocalizations.of(context).trans('key')
在所有其他页面上都有效,但在main上却无效。我想在不提供上下文变量的情况下使用本地化字符串。我该怎么办?
谢谢!
编辑: 我需要执行此操作,因为我有一个包含翻译的变量列表,希望它们被初始化一次。如果我将它们放在build或didupdatewidget中,它们将被多次初始化。
答案 0 :(得分:0)
这是我如何解决此问题的幼稚方式。
伪代码:
@override
void initState() {
SchedulerBinding.instance.addPostFrameCallback((_) {
initializeVarWithTranslation(context); // the initialization with translation
});
super.initState();
}
@override
Widget build(BuildContext context) {
if(varWithTranslation==null)
return SizedBox(); //If it yet is not initialized I show nothing or a splashscreen
return Scaffold( ... ); //My page
}