2011-12-06 64 views
1

我想發佈我的問題很可靠。即時更改strings.xml

我有2個strings.xml一個是英文,另一個是印度本地語言,讓它是泰米爾語。

我在泰米爾strings.xml中保持的strings.xml(英文)的所有屬性的含義

最初我的應用程序將加載英語的strings.xml(正常)

我有按鈕地方應用來改變(在這種情況下,泰米爾語)的語言 當點擊這 - 我的整個應用程序應該讀我的泰米爾人的strings.xml ..

我知道下面的代碼只能爲默認的locale

Resources res = getResources(); 
     DisplayMetrics dm = res.getDisplayMetrics(); 
     Configuration conf = res.getConfiguration(); 
     conf.locale = Locale.GERMANY; 
     res.updateConfiguration(conf, dm); 

這可以調整來閱讀我自定義的strings.xml嗎?

任何想法,不勝感激。

+0

請檢查我的這個線程的答案http://stackoverflow.com/questions/4022566/custom-multi-language-support/4873524#4873524.我認爲這可能會有所幫助。 –

+0

嗨Shashank,感謝您的回覆..但我的問題是 - 是否有可能創建像文件夾一樣的新文件夾-ta(ta for tamil)並使用您在線程中發佈的方法...「ja」isn'噸爲日本?這是在OEM(默認類的東西)..所以我可以在飛行中更改..但泰米爾語不在LOCALE我相信..我只是創建一個(定製文件夾和strings.xml爲泰米爾語意義) –

回答

0

這是不可能的。只能更改手機的語言,而不是更改應用的語言。

爲什麼不進行設置活動,並在那裏設置了一個選項來更改將用戶轉移到手機設置頁面中的語言環境和文本的語言?

告訴我,如果你需要一個代碼或類似的東西。

+0

嗨布羅克。感謝您的迴應..正確!它可能只有當區域設置是在Android OEM ...所有我想創建strings.xml,並保持在值-ta(TA爲泰米爾)..並更新配置使用其方法..這可能嗎? –

+0

據我所知,這是不可能的...如果我找到這樣的東西,我會寫在這裏... – Jovan

0

你的意思是你想在你的應用程序中根據需要從英語改爲泰米爾語?

我稱之爲我的活動的onCreate這種方法:

public void setupLocale(Activity c, String NewLocale) { 
    Resources res = c.getBaseContext().getResources(); 
    Configuration newConfig = new Configuration(res.getConfiguration()); 
    newConfig.locale = new Locale(NewLocale); 
    res.updateConfiguration(newConfig, null); 
} 

其中c是我的活動和NewLocale是語言環境字符串我想用。例如法語「fr」,丹麥語「da」。不知道泰米爾人是什麼,但你可能會做。

+0

嗨Kuffs,感謝您的迴應..但我的問題是 - 是否有可能創建新的文件夾喜歡價值觀塔(ta爲泰米爾語),並使用你發佈的方法.. ..所以我可以在飛行中改變它..但泰米爾語不在LOCALE我相信..我只是創建一個(自定義文件夾和用於tamil含義的strings.xml) –