我正在做多语言Android应用。我有一个微调器,可以从应用程序中选择不同语言的应用程序,并将所选语言保存在共享首选项中。我是新手,我已经看到没有Locale.SPANISH,我做得很好?,这是我的代码:
Configuration config = new Configuration();
switch (position) {
case 0:
Locale spanish = new Locale("es", "ES");
savePreferences("idioma", spanish.toString());
break;
case 1:
config.locale = Locale.FRENCH;
savePreferences("idioma", config.locale.toString());
break;
case 2:
config.locale = Locale.ENGLISH;
savePreferences("idioma", config.locale.toString());
break;
default:
break;
答案 0 :(得分:0)
您可以在strings.xml
的帮助下操作翻译,并且不需要自己处理区域设置。看看这个article at Android Developers。
这就是你如何获得西班牙语语言环境:
Locale spanish = new Locale("es", "ES");
答案 1 :(得分:0)
要强制启用应用的区域设置,您可以在onCreate
中使用此功能,或者当您按下按钮或需要更改应用的语言时使用此按钮:
Locale locale = new Locale("es", "ES");
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
希望它有所帮助!
修改强>
您还需要为正确文件夹中存储的每个区域设置strings.xml
(例如:values-es,values-en,values-fr等等)