Android 国际化:新增越南语语系(Java)

发布时间 2023-08-21 13:29:33作者: 人间春风意

前提:

  • 1. 在res文件夹中,新增values-vi文件夹(越南语文件夹)
  • 2. 在步骤1的文件夹中,新增strings.xml

背景:

  • 1. targetSdkVersion 29
  • 2. Jdk 1.8

步骤:

  • 1. 在切换语言的下拉框/弹窗中,新增一个越南语的选项(此选项注意国际化)
  • 2. 由于java.util.Locale中,并没有越南语,所以,在选中越南语选项时,返回vi的Locale即可
new Locale("vi")

  

注意:

  • 1. Locale是一个表示语言和地域的类,其对象包含有关特定地域的详细信息
  • 2. 设定语言的方法:
   /**
     * 设置语言类型
     */
    public static void setApplicationLanguage(Context context) {
        Resources resources = context.getApplicationContext().getResources();
        DisplayMetrics dm = resources.getDisplayMetrics();
        Configuration config = resources.getConfiguration();
        Locale locale = getSetLanguageLocale(context);
        config.locale = locale;
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
            LocaleList localeList = new LocaleList(locale);
            LocaleList.setDefault(localeList);
            config.setLocales(localeList);
            context.getApplicationContext().createConfigurationContext(config);
            Locale.setDefault(locale);
        }
        resources.updateConfiguration(config, dm);
    }