关于Android应用程序语言

时间:2013-11-01 10:24:01

标签: android

我的问题是我有一个日记应用程序,我通过从自定义日历视图中选择特定日期来添加备注。 用户将手机语言从英语更改为其他语言时,问题就开始了。如果用户选择日语作为手机的新语言,则月份名称将以日语转换。 现在我希望如果用户选择除英语以外的任何其他语言,那么月份名称应仅以英语显示。 我经常搜索但找不到任何有用的东西。

任何积极的回应都将受到高度赞赏。 感谢。

1 个答案:

答案 0 :(得分:0)

您应该使用自定义日历,当您以编程方式显示日历时,将Locale(语言)更改为英语。

How to change Locale programatically in android

希望它对你有所帮助。

修改:

您可以使用以下代码更改语言:

public void changeLang(String lang)
{
    if (lang.equalsIgnoreCase(""))
     return;
    myLocale = new Locale(lang);
    saveLocale(lang);
    Locale.setDefault(myLocale);
    android.content.res.Configuration config = new android.content.res.Configuration();
    config.locale = myLocale;
    getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());
    updateTexts();
}

通过传递您的语言来调用此方法:

changeLang("en");

注意:您必须在res/string.xml文件中为英语语言定义字符串。你应该设置你的字符串String.xml而不是静态。

例如,您的问题您的日历名称设置为......

yourtextview.getResources().getString(R.string.january);