我有一个只有俄语语言环境的应用程序。如果我没有弄错的话,string.xml
中的res/values
默认为英语语言环境。但是英语和俄语有不同的复数。例如:
俄语:
英文:
当用户将系统语言从俄语更改为其他语言时,问题就开始了。 如何更改应用程序的默认语言?或者也许可以强制申请使用俄语复数?
答案 0 :(得分:2)
我终于找到了答案: https://developer.android.com/studio/write/tool-attributes#toolslocale
<resources xmlns:tools="http://schemas.android.com/tools"
tools:locale="es">
来自doc:
这告诉工具给定元素中资源的默认语言/区域设置(因为工具否则假定为英文),以避免来自拼写检查程序。该值必须是有效的区域设置限定符。
答案 1 :(得分:0)
您可以创建不同的String.xml文件
像这样values/
strings.xml
values-es/
strings.xml
values-fr/
strings.xml
查看谷歌官方文档https://developer.android.com/training/basics/supporting-devices/languages.html &安培; https://developer.android.com/guide/topics/resources/localization.html
答案 2 :(得分:0)
创建新的值文件夹值-ru并将string.xml放在其中。
java中的使用此代码以编程方式更改您的应用程序语言。更改为rush参数的rushion调用方法,如此changeLanguage(&#34; ru&#34;)。
public void changeLanguage(String languageToLoad) {
//for language change
Locale locale = new Locale(languageToLoad);
Locale.setDefault(locale);
Configuration config = new Configuration();
config.locale = locale;
getResources().updateConfiguration(config, getResources().getDisplayMetrics());
}