我目前正在开发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>
似乎这是不可能的,但如果是,我会很感激信息。
答案 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先生已经回答了细节。