我的应用在更改设备语言后,语言没有改变。

3

我正在将我的应用程序翻译成马拉地语。我已经为马拉地语创建了value-mr-rIN/strings.xml。 当我将设备语言更改为马拉地语时,应用程序仍然使用默认的英文strings.xml而不是使用values-mr-rIN/strings.xml。 问题出在哪里?我尝试在其他设备上测试,仍然显示英文字符串。以下是代码:

values/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>

values-mr-rIN/strings.xml

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

您是否使用locale更改应用程序语言? - Shubham Sejpal
你在更改语言后重新启动了应用程序吗?因为你需要这样做才能使其正常工作。 - Truong Hieu
@ShubhamSejpal 是的,可以使用Android Studio的本地化限定符。 - Mustafa Bhatkar
@TruongHieu 是的,我已经重新启动了我的应用程序。 - Mustafa Bhatkar
@0X0nosugar,我已经添加了更多关于为什么我的问题不同的解释。请移除标记。 - Mustafa Bhatkar
显示剩余4条评论
2个回答

12

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

defaultConfig {
    ..
    resConfigs "en"
}

在gradle中,上述代码指只使用英语语言资源。这样可以通过删除其他语言的资源来节省空间。

我把它改成了...

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

现在它会根据设备的语言使用英语或马拉地语资源。


完美的答案。谢谢。 - Sakhawat Hossain
太棒了,对我们来说在某些设备上可以运行,但在另一些设备上不能。后来发现这就是问题所在。 - sud007

1

希望这能对您有所帮助:

只需更改您的文件夹名称 values-mr/strings.xml

values-mr-rIN/string.xml

进行此更改后,它将百分之百地工作。

查看演示示例:

enter image description here

正常的string.xml 输出

enter image description here

Marathi string.xml 输出:-

enter image description here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接