Mainfest:
<application android:name="org.qtproject.qt.android.bindings.QtApplication"
android:label="@string/app_name"
...
<activity android:name="net.mynamespace.MainActivity"
android:configChanges="orientation|uiMode|screenLayout|screenSize|smallestScreenSize|layoutDirection|locale|fontScale|keyboard|keyboardHidden|navigation|mcc|mnc|density"
android:label="@string/app_name"
...
res
目录包含俄语翻译:
values/strings.xml
values-ru/strings.xml
values/strings.xml
内容:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">English App Name</string>
</resources>
values-ru/strings.xml
内容:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Russian App Name</string>
</resources>
但使用俄语的设备仍然显示英文应用程序名称。
可能出了什么问题?
尝试了values-b+ru
,但没有帮助。
如果我将values-ru/strings.xml
复制到values/strings.xml
,则应用程序名称将以俄语显示。
在谷歌上快速搜索,但没有成功:
- 如何翻译我的Android应用程序名称
- 支持不同的语言和文化
- 利用资源进行本地化
- Android上支持的语言/地区列表是什么
我在android/build.gragle
文件中注释掉了这一行,这对我很有帮助:
defaultConfig {
//resConfig "en" //this one
minSdkVersion = qtMinSdkVersion
targetSdkVersion = qtTargetSdkVersion
{
除了已经存在的android/res/values
:之外,我还创建了两个额外的文件夹
android/res/values-en
android/res/values-ru
在三个文件夹中的每一个文件夹中,我都放了一个strings.xml
文件,使其看起来像这样:
android/res/values/strings.xml
android/res/values-en/strings.xml
android/res/values-ru/strings.xml
每个文件都必须包含应用程序的名称,该名称与文件所在文件夹名称中的两个字符所描述的语言相对应。