【问题标题】:I want to change my application language from default [duplicate]我想从默认更改我的应用程序语言[重复]
【发布时间】:2016-01-05 14:16:27
【问题描述】:

如何在 android 应用程序中更改语言。我已经在使用string.xml 文件来显示一种语言。

如何在单击单选按钮时在两个 xml 文件之间进行选择

【问题讨论】:

标签: java android xml


【解决方案1】:

为此,您必须使用本地化概念。在 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,按钮上的文本将是 تخلیق.. 您可以以编程方式更改应用程序的语言环境..您与单选按钮有什么关系?只需根据选择的单选按钮更改区域设置.....希望对您有所帮助。

【讨论】:

    猜你喜欢
    • 2022-01-26
    • 1970-01-01
    • 2014-09-12
    • 2020-07-11
    • 2016-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多