自从过去几天以来,我遇到了一个问题。我正在创建一个全球发布的应用程序,其中字符串将来自服务器端意味着动态本地化,因为我们都知道我们不能在运行时修改strings.xml。那么有没有办法实现这个目标呢?
答案 0 :(得分:0)
您可以在应用程序的某个位置以编程方式设置区域设置。
可能在开始时,例如您的基本活动的onCreate()方法
以前曾问过类似的问题:Set Locale programmatically
正如以下记者的评论所述:
Locale locale = new Locale("ru");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,
getBaseContext().getResources().getDisplayMetrics());
答案 1 :(得分:0)
创建一种更改语言的方法:
private void setLocale (String localeCode , Bundle b)
{
locale = new Locale(localeCode);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
getApplicationContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
UserDetail.this.getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
onCreate(null);
}
并调用函数:
setLocale("en-us",savedInstanceStat); // English