2017-10-17 6 views
2

私は中国語のいずれかの種類が任意の中国を話すほとんどの人々のために、英語よりも読みやすいので、このようzh-rCNzh-rTWzh-rSGとしてzhのすべての地域、上values-zh仕事をさせたいです。しかしvalues-zh.xmlは、私のマシンMI-5Xでvalues-zh-rCNと同じ働きをしていました。だから、この目標を達成する最良の解決策は何ですか?android I18Nのすべての地域で1つの言語を動作させる方法は?

答えて

1

アプローチ1:

あなたの開発マシン上でLinuxを使用している場合は、使用して​​からvalues-zhへのシンボリックリンクを作成することができます。

ln -s values-zh values-rCN 


アプローチ2:

実行時に言語を変更することができますが使用されます。このソリューションは少しハッキリであり、すべての場合に機能しない可能性があることに注意してください。

Resources res = getApplicationContext().getResources(); 
Configuration config = res.getConfiguration(); 

Locale sysLocale; 
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) { 
    sysLocale = config.getLocales().get(0); 
} else { 
    sysLocale = config.locale; 
} 

if (sysLocale.getLanguage().equals("zh-rCN")) { 
    android.content.res.Configuration conf = res.getConfiguration(); 
    conf.setLocale(new Locale("zh")); 
    res.updateConfiguration(conf, res.getDisplayMetrics()); 
} 
+0

いいアイデアが好きです。しかし、それはごみの複合体であり、私はWindowsを使用しています。そしておそらく 'git pull'はシンボリックリンクでは動作しません。 – BaiJiFeiLong

+0

Gitは問題なくシンボリックリンクを処理します;残念ながら、私はリンクがWindows上で動作するとは思わない:( – ByteHamster

+0

私はこの考えについても考えていましたが、ランチャーに表示されたアプリケーションタイトルではうまくいかないと思います私は完璧なアイデアがあるかどうかわかりません。 – BaiJiFeiLong

関連する問題