如何在安卓应用中实现多语言显示?

3
我有一个正在运行的应用程序,但我想能够将其更改为不同的语言,比如西班牙语和意大利语。请帮帮我。
3个回答

4
你应该阅读本地化文章以了解更多相关内容。

大家好,请问你们能给我展示一个小例子吗?因为那些本地化的文章只有图片示例,所以请给我展示一个有文字说明的例子。谢谢! - Djkgotso
请查看Hello, L10N - Vladimir

2
在您的项目中,在“res”目录下添加一个“values-es”文件夹。然后在此目录中放置一个新文件“string.xml”。现在,您应该在“values”目录中有一个“string.xml”文件,在“values-es”目录中也有一个“string.xml”文件。
现在,您只需要在每个文件中加入类似以下内容的东西:
在“values”目录中的“string.xml”文件中:
<resources>
    <string name="toto">The value in the default language</string>
</resources>

在“values-es”目录下的“string.xml”文件中:
<resources>
    <string name="toto">The value in spanish</string>
</resources>

现在,在您的代码中,当您调用“toto”字符串时,它将选择正确语言中的字符串。

谢谢,但当我运行我的应用程序时,它会自动选择values中的一个,所以我的最后一个问题是如何使其能够使用values-es中的字符串? - Djkgotso
如果您的手机语言设置为“es”,它将自动选择“values-es”文件中的值。 - Jeje Doudou
我明白你的回答,但我的问题是,我不知道如何在模拟器中调用字符串资源,在应用程序运行时更改语言。 - Djkgotso
如果您在应用程序运行时更改语言,则必须重新启动才能使更改生效。 - Jeje Doudou
请问您能告诉我更改语言的按钮背后的代码,或者向我展示如何操作吗?谢谢。 - Djkgotso
您可以通过使用本机参数来更改设备的语言。例如:“菜单/参数/语言和国家”。 - Jeje Doudou

1
您可以在“values-it”和“values-es”目录中提供string.xml。设备将自动使用与设备语言对应的资源。关于它,您需要知道的一件事是,“values”目录将作为默认值使用。因此,如果我有“values”和“values-es”目录,则行为如下:当您启动应用程序时,设备将检查其语言是否为“es”。如果是这种情况,它将使用“values-es”资源。在所有其他情况下,它将使用“values”目录。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接