2015-10-08 66 views
1

如何更改android應用程序中的語言。我已經使用string.xml文件來顯示一種語言。我想改變我的應用程序語言從默認

我怎麼能兩個XML文件之間的選擇上點擊一個單選按鈕

+6

我認爲這個鏈接可以幫助你[在Android中以編程方式更改語言](http://stackoverflow.com/questions/2900023/change-language-programatically-in-android) –

回答

2

爲此,你必須使用本地化concept.Do谷歌android系統的本地化..... 創建res文件夾一個新的文件夾您希望在項目中實施的每種語言的項目。該文件夾中創建一個文件string.xml

MyProject/ 
res/ 
    values/<-----------this is default folder 

    values-fr/ <-----------this folder is for French language(fr is iso code for french language you can check the iso codes for all languages on this link http://www.w3schools.com/tags/ref_language_codes.asp) 

同樣創造價值的文件夾爲每種語言假設你也必須實現在您的項目烏爾都語那麼你將不得不創建烏爾都語另一個值的文件夾一樣values-ur/ 現在你有三個值文件夾

MyProject/ 
res/ 
    values <------ default 
    values-fr <----for french 
    values-ur <----for urdu 

現在所有文件夾中創建一個文件String.xml

MyProject/ 
res/ 
    values/string.xml 
    values-fr/string.xml 
    values-ur/string.xml 

假設你有一個按鈕,並且你想根據你選擇的語言設置那個按鈕的文本... 在所有string.xml文件中添加這樣的內容,如下所示

「for values.xml文件夾中的string.xml(默認文件夾)這是通過默認爲英語」

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<string name="my_button">create</string> 
</resources> 

「爲string.xml在值-AR」,也就是對於法國

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<string name="my_button">créer</string> 
</resources> 

「爲在值-UR」,也就是對於烏爾都語string.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
<string name="my_button">تخلیق</string> 
</resources> 

現在,您已經在所有三種語言的string.xml中創建了內容。需要注意的一點是,在所有string.xml文件保留值的name屬性相同

<string name="my_button">Create</string> 

這裏name屬性值爲「my_button」,其在所有三個string.xml相同。只有你必須改變是創造了法語和英語créer標籤之間的文本تخلیق爲烏爾都語... 現在設置按鈕的文字這樣

android:text="@string/my_button" 

現在的問題是有三串.xml文件在你的項目中,並從中的string.xml應用程序將設置按鈕的文本? 這取決於您的手機的區域設置。應用程序將根據您手機的區域設置自動從string.xml中選擇文本。假設手機的語言環境設置爲法語,那麼應用程序將從string.xml中選擇文本,該文本位於values-ar文件夾中,並且按鈕上的文本將爲créer..如果locale設置爲urdu app,則將從string.xml中選擇文本這是爲urdu在價值ur文件夾和按鈕上的文字將是تخلیق.. 您可以更改應用程序的區域設置編程..您必須做什麼與單選按鈕?只需根據所選的單選按鈕更改語言環境.....希望它能幫助你。

相關問題