我必須用3種語言製作Android應用程序,例如德語,英語和荷蘭語。我已經在res目錄中的Android應用程序名稱values-de
和values-nl
中創建了三個文件夾。 現在當用戶選擇一個特定的語言,我執行以下代碼:多語言android應用程序?
Resources res = getResources();
Configuration newConfig = new Configuration(res.getConfiguration());
newConfig.locale = Locale.ENGLISH;
res.updateConfiguration(newConfig, null);
都在不同價值觀的文件夾名稱相同的字符串,即與中值的文件夾名稱add_site一個字符串有相同的名稱the values-de
文件夾但具有不同的值。 當我將語言環境設置爲德語時,我的應用程序未加載德語值?可能是什麼問題呢?
謝謝你的幫助。
我的理解是locales是根據系統偏好由Android自動處理的。是否有任何理由需要用戶能夠從您的應用程序中設置區域設置? – KPthunder 2011-03-18 06:02:40
是的。這是因爲只是爲了查看我的應用程序,用戶將不得不改變系統配置,這將導致所有應用程序被設置爲該語言....我認爲這是不必要的。雖然現在當我改變系統配置代碼工作正常,這意味着德國文本正在顯示時,我已經設置系統區域設置爲德國...我想實現從應用程序內相同 – user590849 2011-03-18 06:07:33
在某種程度上,這是一個作爲一個功能不錯的想法,但請記住,它是針對Android上的所有其他應用程序(包括股票應用程序)如何工作。它們都會自動檢測您的區域設置,並在無需用戶干預的情況下即時加載正確的資源。除非有很好的理由,否則我不會打破這種默認行爲。 – 2011-03-18 15:38:03