android多语言应用程序内部的应用程序

时间:2013-05-30 20:55:48

标签: java android android-layout

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

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

但是我的客户不希望手机的区域设置与应用程序捆绑在一起(合理的请求)。手机应保留英文,但更改语言的选项应该在应用程序的内部

很简单,在启动画面活动中,它会要求用户选择语言。 选择语言后,后续活动应以该语言开展。

这在Android中是否真的不可能,我们必须在系统上放置黑客和绷带才能达到效果?

3 个答案:

答案 0 :(得分:0)

您需要为相应的值文件夹中的每个所需语言环境提供字符串资源,例如values-us,values-de等。在每个文件夹中,您需要将文件strings.xml与所有资源放在一起,您需要本地化,对于不同文件夹中的相同资源,resoutce id必须相同。

从代码中你应该使用

Context.getstring(R.string.your_string);

获取所需资源。

至于切换应用程序区域设置 - see this link

答案 1 :(得分:0)

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

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

有一个很好的代码示例可以在similar StackOverflow question的最佳答案中完成您要查找的内容。

答案 2 :(得分:0)

要支持多语言,您应为每种语言创建不同的值文件夹,例如,英语的values-en,法语的values-fr等包含string.xml文件 您可以关注Android官方文档here