更改android应用程序中的语言

时间:2011-05-28 12:15:58

标签: android

我正在编写一个应用程序,它需要在用户需要时更改应用程序的语言。不同语言的数据存储在数据库中,从中提取数据并更新UI。如果设备不支持特定的语言字体,我想要做什么。任何帮助将不胜感激。谢谢。 _ / | _

1 个答案:

答案 0 :(得分:5)

我不知道更多关于此事但......

例如,如果您希望您的应用程序同时支持英语 和法语字符串(除了默认字符串), 你可以简单地再创建两个 名为/res/values-en的资源目录(对于英文strings.xml)和 /res/values-fr(对于法语strings.xml)。

strings.xml个文件中, 资源名称是相同的。

例如,/res/values-en/strings.xml文件可以 看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Hello in English!</string>
</resources>

而/res/values-fr/strings.xml文件看起来像这样:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">Bonjour en Français!</string>
</resources>

/ res / layout目录中显示字符串的默认布局文件是指 变量名@ string / hello的字符串,不考虑哪种语言或目录 字符串资源在。

Android操作系统决定使用哪个版本 在运行时加载的字符串(法语,英语或默认值)。具有TextView控件的布局 显示字符串可能如下所示:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<TextView
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:text="@string/hello" >
</LinearLayout>

以正常方式以编程方式访问字符串:

String str = getString(R.string.hello);

就这么简单。

您会发现更多Here