2011-05-30 53 views
4

如何本地化應用程序,使其使用特定區域設置,而不管設備上設置了哪些區域設置?我希望讓用戶能夠設置他們選擇的語言。本地化Android應用程序,以便我可以在應用程序內切換區域設置

到目前爲止,我有這樣的代碼在我的應用程序類:

@Override 
public void onCreate() 
{ 
    //Set locale 
    String l = Preferences.getLocale(getApplicationContext()); 
    if (!l.equals("")) 
    { 
     Locale locale = new Locale(l); 
     Locale.setDefault(locale); 
     Configuration config = getBaseContext().getResources().getConfiguration(); 
     config.locale = locale; 
     getBaseContext().getResources().updateConfiguration(
      config, getBaseContext().getResources().getDisplayMetrics()); 
    } 
    LogData.InsertMessage(getApplicationContext(), "Application started"); 
} 

問題,我有是,它似乎像我在的地方設置就好了(TextViews) 顯示,但菜單字幕和多士將下降默認的語言環境。

有沒有1-2-3如何讓它正常工作?我使用2.2版本

+0

你爲什麼要做這樣的事情?您是否期望您的用戶將其設備設置爲一種語言,並希望您的應用使用不同的語言? – 2011-05-30 21:16:09

+0

是的,這是可能的。 – katit 2011-05-30 22:05:11

+0

@Noah就在今天,我們遇到了一個問題。所有的用戶,但是像IVO這樣的手機除了英文/西班牙文之外不允許任何其他用戶。允許在應用程序級別本地化確實有助於這些人。 – katit 2011-06-30 22:50:34

回答

1

好吧,我想我爲什麼有這個問題..我需要在我的應用程序類中覆蓋onConfigurationChanged。這比在每個Activity上指定區域設置要優雅得多。

相關問題