首页 文章

ANDROID:简体中文和繁体中文|应用内的语言变化

提问于
浏览
0

我正在开发支持三种语言的应用程序

  • 英文

  • 简体中文

  • 繁体中文

因为我在res文件夹中创建了两个额外的文件夹:

  • values-zh-rCH(简体中文)

  • values-zh-rTW(繁体中文)

  • 默认为英语语言的值

我正在使用下面的函数来改变语言`

public void setLocale(String lang) {
       Locale myLocale = new Locale(lang);

       Resources res = getResources();

        DisplayMetrics dm = res.getDisplayMetrics();

       Configuration conf = res.getConfiguration();

        conf.locale = myLocale;

        res.updateConfiguration(conf, dm);

        Intent refresh = new Intent(this, StartMenuActivity.class);

       finish();

       startActivity(refresh);`

    }

我将低于值传递给函数

  • zh

  • zh_CN

  • zh_TW

我也试过以下的 Value 观

  • zh

  • zh_rCN

  • zh_rTW

但它不起作用 . 问题是什么?任何人都可以建议我吗?

出于测试目的,我创建了 values-zh 文件夹并将 zh 传递给 setLocale ,在这种情况下语言正在被更改 .

这与传统和简体中文无关?

1 回答

  • 1

    您可以使用下面的代码来解决您的问题

    public void setLocale(String lang) {
        Locale myLocale;
        if (lang.equals("zh_CN")) {
            myLocale = Locale.SIMPLIFIED_CHINESE;
        } else if (lang.equals("zh_TW")) {
            myLocale = Locale.TRADITIONAL_CHINESE;
        } else {
            myLocale = new Locale(lang);
        }
    
        Locale.setDefault(myLocale);
        Resources res = getResources();
        DisplayMetrics dm = res.getDisplayMetrics();
        Configuration conf = res.getConfiguration();
        conf.locale = myLocale;
        res.updateConfiguration(conf, dm);
    }
    

相关问题