在 Android studio 中使用字符串资源翻译文本

Translating text using string resources in Android studio

我正在制作一个 android 应用程序,只是为了尝试使用字符串资源自动将文本更改为挪威语。这是通过将默认英文文本字符串保存在 strings.xml 文件中,并将挪威语翻译保存在不同 strings.xml 文件中的不同 values-folder 中。模拟器设置为挪威语。理论上,该应用程序应显示挪威语文本。不幸的是,当我 运行 应用程序时,只显示默认的英文文本。这里有什么问题?为什么文本仍然显示为英文?

首先是翻译的挪威语 strings.xml 文件:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">TesterActivityForLoop</string>
<string name="txtView1">Trykk knapp nr. \"1\" tre ganger</string>
<string name="txtView2_1">Bra, du trykte rett knapp</string>
<string name="txtView2_2">Gal knapp</string>
<string name="txtView2_3">"Gal knapp"</string>
<string name="action_settings">Instillinger</string>
</resources>

然后默认英文字符串。xml-file:

<resources>
<string name="app_name">TesterActivityForLoop</string>
<string name="hello_world">Hello world!</string>
<string name="action_settings">Settings</string>
<string name="txtView1">Push button \"1\" three times</string>
<string name="txtView2_1">Good, you pushed the right button</string>
<string name="txtView2_2">Wrong button</string>
<string name="txtView2_3">"Wrong button "</string>
</resources>

然后是项目概览:

values-no 更改为 values-nb_NO。那是挪威的正确 Android locale.

对于挪威语,您有以下可能性,因此您应该将它们全部添加。

nb   - Norwegian Bokmål
nn   - Norwegian Nynorsk
no   - Norwegian

另外你还有更具体的以_rNO结尾的,不过我相信这三个就够了。

nb_rNO   - Norwegian Bokmål
nn_rNO   - Norwegian Nynorsk
no_rNO   - Norwegian
nb_rSJ   - Norwegian Svalbard and Jan Mayen

获取正确语言环境的一个好资源是使用 Android studios 新资源目录。 您可以通过右键单击资源文件夹和 select 新资源文件来获取它。然后你可以点击locale.

这将为您提供可用语言的列表。