a.p*_*.p. 10 resources android locale
我有一个支持葡萄牙语的应用程序,包括葡萄牙和巴西地区.我创建了一个values-pt(包含葡萄牙语翻译)和values-pt-rBR(包含巴西语翻译).然后我尝试将应用程序语言更改为Potuguese(Portugal),并且应用程序语言正确更改.当我把它设置为葡萄牙语(巴西)时,它没有.我尝试将手机默认语言更改为葡萄牙语(巴西语),但仍然无效.它适用于葡萄牙语(葡萄牙)两种情况(编程和系统).有谁知道问题是什么?以编程方式更改应用程序的语言环境的代码如下:
Locale locale = new Locale(strLocale);
Locale.setDefault(locale);
config.locale = locale;
context.getResources().updateConfiguration(config, context.getResources().getDisplayMetrics());
Run Code Online (Sandbox Code Playgroud)
对于葡萄牙语和巴西语,strLocale分别设置为"pt"或"pt_BR".
Fan*_*mas 32
我假设您的目标是Android操作系统> 2.2,因为Android支持两种葡萄牙语,从版本2.3+开始.
我在模拟器上测试它,通过交换语言和键盘,只有1个不同的字符串:app_name,所以它出现在应用程序标题中,它工作得很好.
唯一的区别是我将葡萄牙地区的价值命名为pt- rPT的值 - pt.
我没有测试飞行重定位,但我猜它也可以.
我认为当你使用区域时,你必须为每个本地化指定一个区域(即法国的fr-rFR和加拿大的fr-rCA)并且不能使用默认值(在你的情况下为pt,或在我的第二个例子中为fr) ).
这个链接更深刻地说明了整个事情.
[编辑]
通过代码创建新的区域设置时,请尝试:
final Locale myLocale = new Locale("pt", "PT");
Run Code Online (Sandbox Code Playgroud)
和
final Locale myLocale = new Locale("pt", "BR");
Run Code Online (Sandbox Code Playgroud)
这是参考站点的另一页.
| 归档时间: |
|
| 查看次数: |
15112 次 |
| 最近记录: |