如何为Android应用设置默认语言?

时间:2014-05-23 21:35:50

标签: java android

我已经用两种语言创建了一个应用程序。当用户的默认系统语言是英语时,使用第二个(英语)。如果不是,则使用第一个。

我想将第二种语言(即英语)设置为DEFAULT语言, 这意味着当用户打开我的应用程序并且他的系统语言不是第一个,也不是英语时,英语将显示为默认语言。

我试过了:

    Locale locale = new Locale("en_US");
    Locale.setDefault(locale);
    Configuration config = new Configuration();
    config.locale = locale;
    context.getApplicationContext.getResources().updateConfiguration(config, null);

但得到了#34;背景无法解决"每次都是错误。这段代码是正确的还是..?

4 个答案:

答案 0 :(得分:6)

好,

让一切都清楚, 我意识到res/values是一个DEFAULT目录而其他人只是"在语言"的情况下。因此,我所要做的就是将英语切换为/ res / values,将另一种语言转换为res/values-es

答案 1 :(得分:0)

您应该使用res文件夹定义您支持的所有语言,例如res/valuesres/values-enres/values-fr。系统将处理其他所有事情,您不需要任何代码。

答案 2 :(得分:0)

如果您参加活动,可以这样做:

this.getApplicationContext().getResources().updateConfiguration(config, null);

...来修复你的错误。 否则你需要传递上下文。

确保在getApplicationContext()的末尾添加括号。您没有在代码中这样做。

答案 3 :(得分:-1)

我遇到过同样的情况,我的应用程序最初是用葡萄牙语(BR)创建的,因此我们走向了全球,我拥有第二语言的En-Us,因此我的解决方案是创建一种新的语言(点击翻译编辑器+巴西)...所以我的默认语言(葡萄牙语)第二(英语)第三(葡萄牙语)

然后我将资源/值替换为默认的英语字符串设置...