2
我想讓上的zh
所有地區values-zh
工作,如zh-rCN
,zh-rTW
,zh-rSG
,因爲任何一種中國語言比英語更具有可讀性爲說任何中國最多的人。但values-zh.xml
工作一樣values-zh-rCN
我的MI-5X的機器上。那麼實現這一目標的最佳解決方案是什麼?如何讓一種語言在Android I18N的所有區域都能正常工作?
我想讓上的zh
所有地區values-zh
工作,如zh-rCN
,zh-rTW
,zh-rSG
,因爲任何一種中國語言比英語更具有可讀性爲說任何中國最多的人。但values-zh.xml
工作一樣values-zh-rCN
我的MI-5X的機器上。那麼實現這一目標的最佳解決方案是什麼?如何讓一種語言在Android I18N的所有區域都能正常工作?
方法1:
如果您在開發機器上使用Linux,你可以通過創建到values-zh
一個符號鏈接:
ln -s values-zh values-rCN
方法2:
您可以在運行時改變語言,如果你檢測到01使用。請記住,這個解決方案有點怪異,可能無法在所有情況下工作。
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());
}
聽起來像一個偉大的想法。但它是一個垃圾綜合體,而且我正在使用Windows。也許'git pull'不適用於符號鏈接。 – BaiJiFeiLong
Git的處理符號鏈接沒有任何問題;)不幸的是,我不認爲在Windows上鍊接:( – ByteHamster
會工作,我已經想過這個想法太多,但我不認爲它會在啓動器中顯示應用程序標題的工作我不知道是否有一個完美的想法,謝謝你的答案。 – BaiJiFeiLong