【发布时间】:2016-01-05 14:16:27
【问题描述】:
如何在 android 应用程序中更改语言。我已经在使用string.xml 文件来显示一种语言。
如何在单击单选按钮时在两个 xml 文件之间进行选择
【问题讨论】:
-
我认为这个链接可以帮助你Change language programatically in Android
如何在 android 应用程序中更改语言。我已经在使用string.xml 文件来显示一种语言。
如何在单击单选按钮时在两个 xml 文件之间进行选择
【问题讨论】:
为此,您必须使用本地化概念。在 android 中使用 Google 进行本地化..... 在项目的 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 文件夹假设您还必须在项目中实现 urdu,那么您将必须为 urdu 创建另一个 values 文件夹,例如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 文件中添加内容
“对于值文件夹(默认文件夹)中的 string.xml,默认情况下是英文”
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="my_button">create</string>
</resources>
“for string.xml in values-ar”是法语
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="my_button">créer</string>
</resources>
"for string.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 和为乌尔都语创建的 تخلیق 的标签之间的文本... 现在像这样设置按钮的文本
android:text="@string/my_button"
现在的问题是您的项目中有三个 string.xml 文件,应用程序将从哪个 string.xml 设置按钮的文本???? 这取决于您手机的语言环境。应用程序将根据您手机的语言环境自动从 string.xml 中选择文本。假设您手机的语言环境设置为法语,那么应用程序将从 values-ar 文件夹中的 string.xml 中选择文本,按钮上的文本将为 créer.. 如果语言环境设置为 urdu,应用程序将从 string.xml 中选择文本这适用于 values-ur 文件夹中的 urdu,按钮上的文本将是 تخلیق.. 您可以以编程方式更改应用程序的语言环境..您与单选按钮有什么关系?只需根据选择的单选按钮更改区域设置.....希望对您有所帮助。
【讨论】: