本地化Android应用程序,以便我可以在应用程序内切换区域设置

时间:2011-05-30 21:08:19

标签: android localization

如何本地化应用程序,以便它使用特定的区域设置,而不管设备上设置的区域设置是什么?我想让用户可以设置他们选择的语言。

到目前为止,我的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版本

2 个答案:

答案 0 :(得分:5)

This post解释了如何强制在您的应用中进行本地化。

答案 1 :(得分:1)

好的,我想我遇到这个问题的原因..我需要在我的应用程序类中覆盖onConfigurationChanged。这是比在每个Activity上指定区域设置更优雅的解决方案。