2014-01-23 15 views
1

我使用此代碼手動更改我的應用程序的語言:手動更改語言來簡化中國

Locale locale = new Locale(OneLanguageCode); 
Locale.setDefault(locale); 
Configuration config = new Configuration(); 
config.locale = locale; 
getBaseContext().getResources().updateConfiguration(config, getBaseContext().getResources().getDisplayMetrics());  

我設置OneLanguageCode的國際區號。一切都適用於我嘗試過的所有代碼,比如「en」,「es」,「fr」等......但我用簡體中文讓自己瘋狂起來。 在這種情況下,我的文件夾名爲values-zh-rCN其中的字符串是。如果我將設備語言設置爲簡體中文,那麼效果很好。但是沒有辦法用上面的代碼手動設置它。 我曾嘗試使用「zh-CN」作爲OneLanguageCode值,但沒有成功。它以英文顯示。

正如我所說的所有這些工作與其他語言。我可以讓荷蘭人作爲他們的設備默認語言,但在我的應用中使用法語。爲什麼我無法將荷蘭語作爲設備默認語言,但在我的應用中使用繁體中文?

謝謝你的時間。

回答

0

感謝user2968888的幫助,我這是怎麼解決的:

Locale locale; 
if(OneLanguageCode.equals("schinese")) //any tag here to know it is Simplified Chinese 
    locale = Locale.SIMPLIFIED_CHINESE; 
else 
    locale = new Locale(OneLanguageCode); 
Locale.setDefault(locale); 
Configuration config = new Configuration(); 
config.locale = locale; 
getApplicationContext().getResources().updateConfiguration(config, null); 
0
Locale locale = new Locale("en_CA"); 
Locale.setDefault(locale); 
Configuration config = new Configuration(); 
config.locale = locale; 
context.getApplicationContext().getResources().updateConfiguration(config, null); 
+0

哪'TranslationHelper'你指的是? – laalto

+0

是的,我在setContentView之前做了所有事情。正如我所說,它適用於其他語言。 「TranslationHelper」是什麼意思?謝謝 – Ton

+0

使用這些新代碼 – DaxeshKhatri