是否可以在两个strings.xml文件之间进行选择?

时间:2012-07-06 16:14:27

标签: android xml

我目前正在开发Android应用程序,已经持续了大约六个星期。我发现它还需要用不同的语言运行。我的所有字符串资源都保存在strings.xml文件中。

我想知道的是,如果我可以创建一个单独的文件,例如strings2.xml,并且根据用户选择的内容,程序将为所有字符串引用选择strings.xml or strings2.xml

这将在我的布局文件main.xml中。

<Button
android:id="@+id/more_parametersButton"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/more_parameters" />

然后我会有2个单独的字符串文件。 的strings.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<resources>
    <string name="more_parameters">More Parameters</string>
</resources>

和strings2.xml

<?xml version="1.0" encoding="utf-8" standalone="no"?>
<resources>
    <string name="more_parameters">Mais Parâmetros</string>
</resources>

似乎这是不可能的,但如果是,我会很感激信息。

3 个答案:

答案 0 :(得分:8)

看起来您只是想让您的应用国际化。 android当然有一个明确定义的设施。在res下创建特定于语言环境的值文件夹

res/values-<locale>/strings.xml

并使用根据区域设置的值填充此文件。例如,

res/values-fr_FR/strings.xml

有关详细信息,请阅读开发者网站上的Android Localization页面。

答案 1 :(得分:2)

你可以手动切换语言..

  String[] array={"English","Deutsch"};
                Locale locale = new Locale(array[0]);
Locale.setDefault(locale);
                Configuration config = new Configuration();
                config.locale = locale;
getBaseContext().getResources().updateConfiguration(config,getBaseContext().getResources().getDisplayMetrics());

但为此你需要对Deutsch localization.

的res / values-de / strings.xml

答案 2 :(得分:2)

可以很容易地在Android中完成,

不仅String.xml(针对不同的语言),你也可以使用相同的layouts.xml,drawables(针对不同的屏幕尺寸),你只需要相应地命名你的res / folder-name文件夹,Blattman先生已经回答了细节。