如何在Android应用程序中更改语言。我已经在使用string.xml
文件来显示语言。
如何在单击单选按钮时选择两个xml文件
答案 0 :(得分:4)
为此你必须使用本地化概念。谷歌在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)
同样为每种语言创建值文件夹,假设您还必须在项目中实现urdu,那么您必须为urdu创建另一个值文件夹,如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文件中添加内容,如
“对于values文件夹中的string.xml(默认文件夹),默认情况下这是英语”
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="my_button">create</string>
</resources>
“for values-ar中的string.xml”是法语
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="my_button">créer</string>
</resources>
“for values.xml in values-ur”是urdu
<?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为法语和تخلیق为urdu创建的标签之间的文本... 现在像这样设置按钮的文本
android:text="@string/my_button"
现在的问题是你的项目中有三个string.xml文件,应用程序将从哪个string.xml设置按钮的文本???? 这取决于手机的区域设置。应用程序将根据您手机的区域自动从string.xml中选择文本。假设您的手机的区域设置设置为法语,那么app将从string.xml中选择文本,该文本位于values-ar文件夹中,而按钮上的文本将是créer..如果locale设置为urdu app将从string.xml中选择文本这对于urdu in values-ur文件夹和按钮上的文本将是تخلیق.. 你可以用编程方式改变app的语言环境..你用单选按钮做什么?只需根据所选的单选按钮更改区域设置.....希望它会对您有所帮助。