更改设备语言后,我的应用程序语言没有变化

时间:2017-09-19 08:43:50

标签: android xml localization

我正在将我的应用翻译成马拉地语。我为Marathi语言制作了值-mr-rIN / strings.xml。 当我将设备语言更改为Marathi时,应用程序仍然使用默认的strings.xml,而不是使用值-mr-rIN / strings.xml。 问题是什么?我尝试在其他设备上测试它仍显示英文字符串。我正在粘贴下面的代码

值/ strings.xml中

 <?xml version="1.0" encoding="utf-8"?>
 <resources>
 <string name="app_name">App name</string>
 <string name="test">this is a test</string>
 </resources>

值-MR-RIN / strings.xml中

 <?xml version="1.0" encoding="utf-8"?>
 <resources>
 <string name="app_name">अॅप नाव</string>
 <string name="test">हे एक चाचणी आहे</string>
 </resources>

2 个答案:

答案 0 :(得分:2)

gradle中的一行代码导致了这个问题。

 defaultConfig {
    ..
    resConfigs "en" ,"mr"
}

gradle中的上述行仅表示使用英语语言资源。用于通过从应用程序中删除其他语言资源来节省空间。 我把它改成了..

@Override
protected void onDestroy() {
    super.onDestroy();
    if (mHelper != null) {
        mHelper.disposeWhenFinished();
        mHelper = null;
    }
}

现在它使用与设备语言相关的英语或马拉地语资源。

答案 1 :(得分:1)

这可以帮助你: -

只需更改文件夹名称即可 的值-MR / strings.xml中

<强>值-MR-RIN / string.xml

进行此更改后,它将100%正常工作。

参见演示示例:

enter image description here

常规字符串输出: -

enter image description here

马拉地语 string.xml 输出: -

enter image description here