2013-07-15 45 views
0

我已經本地化我的android應用程序,並且當用戶在設備上切換本地時顯示本地化文本。讓用戶在應用程序級別選擇語言

但是如果用戶真的希望我的應用程序以英文顯示文本並且仍然不改變他的語言環境。在我的應用程序中是否有任何事情可以做,例如詢問他是否想在我的應用程序級別設置區域設置。如果他這樣選擇,我將如何讓我的應用程序假定英語而不是德語的語言環境(我的意思是,有像API那樣的setDefaultLocale())?

+3

具有u指http://stackoverflow.com/a/ 6236117/1915697 –

+0

你有答案嗎? –

+0

是的,謝謝 – Sandeep

回答

1

參考吧: - refer here

<activity 
    android:name=".ui.SomeActivity" 
    android:configChanges="locale" 
    : 
    : 
</activity> 

,然後調用從的onCreate這樣的方法在你的活動:

public static void setLanguage(Context context, String languageToLoad) { 
    Log.d(TAG, "setting language"); 
    Locale locale = new Locale(languageToLoad); //e.g "sv" 
    Locale systemLocale = SystemLocale.getInstance().getCurrentLocale(context); 
    if (systemLocale != null && systemLocale.equals(locale)) { 
     Log.d(TAG, "Already correct language set"); 
     return; 
    } 
    Locale.setDefault(locale); 
    android.content.res.Configuration config = new android.content.res.Configuration(); 
    config.locale = locale; 
    context.getResources().updateConfiguration(config, context.getResources().getDisplayMetrics()); 
    Log.d(TAG, "Language set"); 
} 
+1

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的基本部分,並提供參考鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 – CRUSADER

+0

@CRUSADER通常是正確的,但由於鏈接在SE上,所以存在一些冗餘。無論如何,這應該是一個「相關:」評論 –

+0

@YogeshTatwal正確的行爲,因爲這個問題基本上與你鏈接到的相同,關閉(或標記)這是一個副本,而不是複製答案 –

相關問題