我正在尝试更改Android应用的语言但没有成功。 我有:
/res/
. values/
. . string.xml
. . values-es/
. . . strings.xml
两个字符串文件都包含相同内容,但内容根据语言代码进行翻译。 默认语言是英语,但我想做一些测试并使用西班牙语。
我使用上一个问题中编写的代码: Change app language programmatically in Android
这是我的LoginActivity(启动器)的onCreate方法:
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
// setting default screen to login.xml
setContentView(R.layout.login);
Resources res = getBaseContext().getResources();
// Change locale settings in the app.
DisplayMetrics dm = res.getDisplayMetrics();
android.content.res.Configuration conf = res.getConfiguration();
conf.locale = new Locale("es");
res.updateConfiguration(conf, dm);
TextView registerScreen = (TextView) findViewById(R.id.link_to_register);
// Listening to register new account link
registerScreen.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Switching to Register screen
Intent i = new Intent(getApplicationContext(), RegisterActivity.class);
startActivity(i);
}
});
Button mainMenu = (Button) findViewById(R.id.btnLogin);
// Listening to register new account link
mainMenu.setOnClickListener(new View.OnClickListener() {
public void onClick(View v) {
// Switching to Register screen
Intent i = new Intent(getApplicationContext(), MainMenuActivity.class);
startActivity(i);
}
});
}
我的目标是Android 4.4。
但是,这不适用于我的Nexus 4 - Android 4.4,它总是使用英语。
答案 0 :(得分:1)
values-es
文件夹应与values
文件夹位于同一级别。上面的示例看起来像values-es
文件夹中有values
。