0

我的意思是名称,而不是值,例如:

<resources>
    <string name="magical_value_1">Lapin</string><br>
    <string name="magical_value_2">Poulet</string><br>
    <string name="magical_value_3">Saucisse</string><br>
</resources>

如果我使用String value1 = getResources().getString(R.string.magical_value_1); 结果,它将是 Lapin,但我需要一种方法来获取"magical_value_1"(不是 Lapin)变量。由于语言的原因,我需要这样做,我的应用程序中有很多语言,并且它们的值会发生变化,但是名称(magical_value_1)是唯一保留的东西(无论语言)。谢谢

4

3 回答 3

1

您应该考虑查看i18n android 开发者文档。

于 2013-10-06T00:14:20.380 回答
1

如果您正在尝试使您的应用程序支持多种语言。这是一些简单的示例。

假设您正在尝试使您的应用程序支持法语和英语。您需要为英语创建res/values/strings.xml(准确地说,是法国以外的其他语言)和法国的 res/values-fr/strings.xml

里面 res/values-fr/string.xml

<resources>
    <string name="magical_value_1">Lapin</string><br>
    <string name="magical_value_2">Poulet</string><br>
    <string name="magical_value_3">Saucisse</string><br>
</resources>

在 res/values/string.xml 里面

<resources>
    <string name="magical_value_1">Rabbit</string><br>
    <string name="magical_value_2">Chicken</string><br>
    <string name="magical_value_3">Sausage</string><br>
</resources>

通过更改设置上的设备语言来测试它。

于 2013-10-06T02:12:54.060 回答
0

看到这个答案

tl;dnr:

getResources().getResourceEntryName(int resid);
于 2013-10-06T00:09:03.383 回答