获取葡萄牙语 - Android

时间:2017-05-29 01:12:52

标签: java android

我有以下代码,但只有几种语言,而葡萄牙语不是其中之一,如何获得葡萄牙语?

if(Locale.ENGLISH.equals(Locale.getDefault().getLanguage())){

}

3 个答案:

答案 0 :(得分:1)

不保证这会起作用,但值得一试。

巴西和葡萄牙是我所知道的唯一国家,抱歉

<li class="list-item">1</li>
<li class="list-item">2</li>
<li class="list-item">3</li>
<li class="list-item">4</li>
<li class="list-item">5</li>
<li class="list-item">6</li>

取自http://www.localeplanet.com/java/

答案 1 :(得分:1)

试试这个(我正在使用泰语)为自己创建一个string.xml文件,其中包含葡萄牙语中的所有字符串enter image description here

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(context,new Locale(“th”));

答案 2 :(得分:1)

这是葡萄牙语语言环境列表

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) 

右键单击values文件夹 - &gt;创建值资源文件

filename = strings.xml
directory name = values-pt

源代码

这是我如何设置区域设置

LanguageLocalHelper.setLocale(this,"pt"); 

然后我使用这个包装类来改变语言环境设置

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);
    }
}

了解更多信息国际ID ..请查看Local

相关问题