我无法在Locale.class中找到印尼语言,我该如何添加该语言? 所以我的代码显示红色文字因为无法找到该语言。
public static Locale getUserLocale() {
int currentLanguage = SpUtil.getInstance().getInt("currentLanguage", 0);
Locale myLocale = Locale.INDONESIA;// error
switch (currentLanguage) {
case 0:
myLocale = Locale.INDONESIA; // error
break;
case 1:
myLocale = Locale.ENGLISH;
break;
}
return myLocale;
}
这里摘录自Locale.class:
public final class Locale implements Cloneable, Serializable {
public static final Locale CANADA = null;
public static final Locale CANADA_FRENCH = null;
public static final Locale CHINA = null;
public static final Locale CHINESE = null;
public static final Locale ENGLISH = null;
public static final Locale FRANCE = null;
public static final Locale FRENCH = null;
public static final Locale GERMAN = null;
public static final Locale GERMANY = null;
public static final Locale ITALIAN = null;
public static final Locale ITALY = null;
public static final Locale JAPAN = null;
public static final Locale JAPANESE = null;
public static final Locale KOREA = null;
public static final Locale KOREAN = null;
public static final Locale PRC = null;
public static final char PRIVATE_USE_EXTENSION = 'x';
public static final Locale ROOT = null;
public static final Locale SIMPLIFIED_CHINESE = null;
public static final Locale TAIWAN = null;
public static final Locale TRADITIONAL_CHINESE = null;
public static final Locale UK = null;
public static final char UNICODE_LOCALE_EXTENSION = 'u';
public static final Locale US = null;
public Locale(String language, String country, String variant) {
throw new RuntimeException("Stub!");
}
答案 0 :(得分:3)
您可以使用
中的印度尼西亚语,印度尼西亚语(in_ID)进行尝试类似
Locale INDONESIA = new Locale("in", "ID");
然后使用
分配myLocale = INDONESIA;
答案 1 :(得分:1)
您无法将该语言添加到课程中,因为它是最终的。
Java类java.util.Locale
没有将所有语言环境和国家/地区作为静态成员。您将必须创建所需的那个,然后创建另一个方法来检查区域设置。您需要替换getUserLocale
方法中的逻辑。
Locale locale = new Locale("in", "ID");
这将为您提供正确的区域设置对象。
您可以使用
defaultLocale = Resources.getSystem().getConfiguration().getLocales().get(0);
获取用户的设备区域设置。