2015-10-08 63 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文件夹和按钮上的文字将是تخلیق.. 您可以更改应用程序的区域设置编程..您必须做什么与单选按钮?只需根据所选的单选按钮更改语言环境.....希望它能帮助你。

相关问题