Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 如何动态翻译颤振中的语言?_Flutter - Fatal编程技术网

Flutter 如何动态翻译颤振中的语言?

Flutter 如何动态翻译颤振中的语言?,flutter,Flutter,我目前正在使用getx包翻译该语言。我正在像这样手动翻译所有的文本 class MyTranslations extends Translations { @override Map<String, Map<String, String>> get keys => { 'en': { 'title': 'Hello World %s', }, 'en_US': { 'ti

我目前正在使用getx包翻译该语言。我正在像这样手动翻译所有的文本

class MyTranslations extends Translations {
  @override
  Map<String, Map<String, String>> get keys => {
        'en': {
          'title': 'Hello World %s',
        },
        'en_US': {
          'title': 'Hello World from US',
        },
        'pt': {
          'title': 'Olá de Portugal',
        },
        'pt_BR': {
          'title': 'Olá do Brasil',
        },
      };
}

类MyTranslations扩展了翻译{
@凌驾
映射获取密钥=>{
"嗯":{
'title':'Hello World%s',
},
“恩,我们”{
‘标题’:‘你好,我们的世界’,
},
“pt”:{
“标题”:“葡萄牙奥兰多”,
},
“pt_BR”:{
“标题”:“Oládo Brasil”,
},
};
}

我的问题是,如何动态地翻译语言?我们可以使用getx软件包或任何软件包吗?

您可以使用getx软件包进行如下更新:

  RaisedButton(
            child: Text('English'),
            onPressed: () {
              Get.updateLocale(Locale('en'));
            },
          ),


还必须将以下代码添加到GetMaterialApp:

GetMaterialApp(
标题:“Nome应用程序”,
debugShowCheckedModeBanner:false,
区域设置:Get.deviceLocale,
fallbackLocale:Locale('en'),//默认语言(如果不存在或返回无效)。
)
要更改代码,只需调用Get.updateLocale()函数


升降按钮(
child:Text('English'),
已按下:(){
Get.updateLocale(Locale('en'));
},
),
  RaisedButton(
            child: Text('English'),
            onPressed: () {
              Get.updateLocale(Locale('pt_BR'));
            },
          ),