0

我很惊讶当我用谷歌搜索时,我没有找到关于多语言安卓应用程序的具体资源。

我以前从未在 android 上进行过本地化。我确实在互联网上找到了有关从手机设置更改语言环境的资源,以便在所选语言环境中查看应用程序。

但是,我的客户不希望手机的语言环境与应用程序捆绑在一起(合理的请求)。电话应保持英语,但更改语言的选项应在应用程序内部

这很简单,在启动屏幕活动上,它会要求用户选择语言。选择语言后,后续活动应以该语言进行。

这在 android 中是否真的不可能,我们必须在系统上使用黑客和绷带才能达到结果?

4

3 回答 3

0

You need to provide String resources for each needed locale in corresponding values folder, for example values-us, values-de etc. In each of this folders you need to place file strings.xml with all resources, you need to localize, resoutce id's must be the same for same resources in different folders.

From code you should use

Context.getstring(R.string.your_string);

To obtain needed resource.

As for switching application locale - see this link

于 2013-05-30T21:14:17.577 回答
0

要支持多语言,您应该为每种语言创建不同的 values 文件夹,例如 values-en 用于英语,values-fr 用于法语等。包含一个 string.xml 文件您可以按照 Android 官方文档,here

于 2013-05-30T21:34:22.797 回答
0

通过创建具有所需设置的 Locale 对象,然后使用 Locale.setDefault(locale) 激活自定义的区域设置来从应用程序中更改区域设置。

官方 Android文档表明这通常是一种不正确的方法,可能是因为很容易让您的本地设置被系统事件(屏幕旋转等)覆盖。

有一个很好的代码示例可以完成您在类似 StackOverflow 问题的最佳答案中寻找的内容。

于 2013-05-30T21:27:51.550 回答