我有下面的代码,但只有几种语言,葡萄牙语不是其中之一,如何才有可能获得葡萄牙语?获取葡萄牙语 - Android
if(Locale.ENGLISH.equals(Locale.getDefault().getLanguage())){
}
我有下面的代码,但只有几种语言,葡萄牙语不是其中之一,如何才有可能获得葡萄牙语?获取葡萄牙语 - Android
if(Locale.ENGLISH.equals(Locale.getDefault().getLanguage())){
}
没有保证这将工作,但值得一试。
巴西和葡萄牙是我知道的唯一国家,对不起
List<String> ptLocales = Arrays.asList("pt_BR", "pt_PT");
if(ptLocales.contains(Locale.getDefault().getLanguage())){
}
谢谢,但它没有工作 – Felipe
我是不确定你的Locale.getDefault()返回什么 –
采取试试这个(我使用泰语)为自己有所有的字符串一个string.xml文件葡萄牙语
public static void changeLocale(Context context, Locale locale) {
Configuration conf = context.getResources().getConfiguration();
conf.locale = locale;
Locale.setDefault(locale);
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1)
conf.setLayoutDirection(conf.locale);
context.getResources().updateConfiguration(conf, context.getResources().getDisplayMetrics());
}
LocaleUtils.changeLocale(上下文,新的区域设置( “日”));
这是葡萄牙的语言环境的列表
pt Portuguese português
pt_AO Portuguese (Angola) português (Angola)
pt_BR Portuguese (Brazil) português (Brasil) Brazilian Portuguese
pt_GW Portuguese (Guinea-Bissau) português (Guiné Bissau)
pt_MZ Portuguese (Mozambique) português (Moçambique)
pt_PT Portuguese (Portugal) português (Portugal) Iberian Portuguese
pt_ST Portuguese (São Tomé and Príncipe) português (São Tomé e Príncipe)
价值观夹,只是右键 - >创造价值的资源文件
filename = strings.xml
directory name = values-pt
源代码
这就是我要做的设置语言环境
LanguageLocalHelper.setLocale(this,"pt");
然后我用这个包装类更改地区获得更多信息国际IDS设置
public class LanguageLocalHelper {
public static void onCreate(Context context) {
String lang = getPersistedData(context, Locale.getDefault().getLanguage());
setLocale(context, lang);
}
public static void onCreate(Context context, String defaultLanguage) {
String lang = getPersistedData(context, defaultLanguage);
setLocale(context, lang);
}
public static String getLanguage(Context context) {
return getPersistedData(context, Locale.getDefault().getLanguage());
}
public static void setLocale(Context context, String language) {
persist(context, language);
updateResources(context, language);
}
private static String getPersistedData(Context context, String defaultLanguage) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
return preferences.getString(Constant.LANGUAGE_LOCALE, defaultLanguage);
}
private static void persist(Context context, String language) {
SharedPreferences preferences = PreferenceManager.getDefaultSharedPreferences(context);
SharedPreferences.Editor editor = preferences.edit();
editor.putString(Constant.LANGUAGE_LOCALE, language);
editor.apply();
}
@SuppressLint("NewApi")
private static void updateResources(Context context, String language) {
Locale locale = new Locale(language);
Locale.setDefault(locale);
Resources resources = context.getResources();
Configuration configuration = resources.getConfiguration();
configuration.setLocale(locale);
resources.updateConfiguration(configuration,null);
}
}
..看看这里Local
你可以造出来。 https://docs.oracle.com/javase/tutorial/i18n/locale/create.html或者请参阅http://www.localeplanet.com/java/pt-PT/ –