2013-09-23 40 views
0

我已經創建了語言選擇菜單。我正在通過JSON收集數據,這是運行時間。現在我需要更改內容或數據的語言,所以我使用此代碼。但它不起作用。如何更改動態數據的語言

 String languageToLoad = "fa"; // your language 
    Locale locale = new Locale(languageToLoad); 
    Locale.setDefault(locale); 
    Configuration config = new Configuration(); 
    config.locale = locale; 
    getBaseContext().getResources().updateConfiguration(config, 
     getBaseContext().getResources().getDisplayMetrics()); 

請高手幫幫我。有沒有其他轉換爲語言的方式?或任何圖書館?

+1

AFAIK..You can not change language of data from webservice。爲此,您應該提供使用該語言提供數據的webservice。 –

+0

@Ketan請確認。我想可能有其他方法嗎?請檢查 – user1629977

+1

@ user1629977您必須使用將運行時數據轉換爲相應語言的第三方庫。 https://code.google.com/p/google-translate-api-java-client/可能對您有所幫助,或者您可以參考http://stackoverflow.com/questions/7580465/how-to-translate-一種語言到另一種使用java編程 – guptakvgaurav

回答

0
I think method you are using is correct. please check your language code. 
    protected void language(String languageToLoad) { 
      // TODO Auto-generated method stub 
      Locale locale = new Locale(languageToLoad); 
      Locale.setDefault(locale); 
      Configuration config = new Configuration(); 
      config.locale = locale; 
      getBaseContext().getResources().updateConfiguration(config, 
      getBaseContext().getResources().getDisplayMetrics()); 
     } 

    Be sure that strings file are exists in folder name appending by same language code. 
+0

嘿,語言代碼是正確的String languageToLoad =「fa」; – user1629977

+0

有你的文件夾中的值?如果是這樣,請檢查它是否是字符串文件。 –

+0

是否反映?並讓我知道...... –