如何本地化应用程序,以便它使用特定的区域设置,而不管设备上设置的区域设置是什么?我想让用户可以设置他们选择的语言。
到目前为止,我的Application类中有这样的代码:
@Override
public void onCreate()
{
//Set locale
String l = Preferences.getLocale(getApplicationContext());
if (!l.equals(""))
{
Locale locale = new Locale(l);
Locale.setDefault(locale);
Configuration config = getBaseContext().getResources().getConfiguration();
config.locale = locale;
getBaseContext().getResources().updateConfiguration(
config, getBaseContext().getResources().getDisplayMetrics());
}
LogData.InsertMessage(getApplicationContext(), "Application started");
}
我遇到的问题是,我似乎在set locale中显示得很好(TextViews) 但菜单标题和祝酒词将降为默认语言环境。
有没有1-2-3如何让它正常工作?我使用2.2版本
答案 0 :(得分:5)
This post解释了如何强制在您的应用中进行本地化。
答案 1 :(得分:1)
好的,我想我遇到这个问题的原因..我需要在我的应用程序类中覆盖onConfigurationChanged
。这是比在每个Activity
上指定区域设置更优雅的解决方案。