当我用Google搜索时,我很惊讶我没有找到关于多语言Android应用程序的具体资源。
我之前从未在Android上进行过本地化。我确实在互联网上找到了有关从手机设置更改语言环境的资源,以便在所选语言环境中查看应用程序。
但是我的客户不希望手机的区域设置与应用程序捆绑在一起(合理的请求)。手机应保留英文,但更改语言的选项应该在应用程序的内部
很简单,在启动画面活动中,它会要求用户选择语言。 选择语言后,后续活动应以该语言开展。
这在Android中是否真的不可能,我们必须在系统上放置黑客和绷带才能达到效果?
答案 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