如何获得奥地利,瑞士的语言,

时间:2011-05-14 11:00:32

标签: android locale

我有以下代码:

if (Locale.getDefault().equals(Locale.GERMANY) ||
    Locale.getDefault().equals(Locale.GERMAN)) {
        tp.setIs24HourView(true);
    }

这适用于语言设置“德国”。但是还有其他语言可供选择:奥地利(德国),瑞士(德国)等。对于这些语言,我也希望if语句得到“真实”。

所以例如奥地利就是“de_AT” Locale.GERMANY给出了de_DE Locale.GERMAN仅提供de

如果我这样做

if (Locale.getDefault().equals("de_AT") 

返回false

我无法弄清楚如何获得其他德语国家的价值。

2 个答案:

答案 0 :(得分:1)

Android已经为您提供了一种获取用户所选小时格式的方法。使用此设置很重要,因为用户可以覆盖手机设置中的区域设置选项。在任何情况下,这都是你应该使用的:

 tp.setIs24HourView(android.text.format.DateFormat.is24HourFormat());

请参阅文档here

答案 1 :(得分:1)

您可以通过以下方式检查系统语言:

Locale.getDefault().getDisplayLanguage();

对于将德语设置为用户界面语言(电话菜单等)的所有用户,无论是在德国,奥地利还是澳大利亚,都会返回“Deutsch”(字符串)^^