使用Android代码实现 android 国际化
时间: 2024-01-02 14:18:27 浏览: 22
实现 Android 国际化的关键在于创建对应语言的资源文件,并在代码中动态加载。下面是一个简单的示例:
1. 创建默认的资源文件
在项目的 res/values 目录下创建 strings.xml 文件,用于存放默认的字符串资源。例如:
```xml
<resources>
<string name="hello_world">Hello, World!</string>
</resources>
```
2. 创建其他语言的资源文件
在项目的 res 目录下创建对应语言的子目录,并在其中创建对应的 strings.xml 文件。例如,创建 res/values-en 目录,并在其中创建 strings.xml 文件,用于存放英文的字符串资源。例如:
```xml
<resources>
<string name="hello_world">Hello, World!</string>
</resources>
```
3. 在代码中动态加载资源
在代码中可以通过调用系统 API 获取当前设备的语言信息,并根据不同的语言加载对应的资源。例如:
```java
String lang = Locale.getDefault().getLanguage(); // 获取当前设备的语言信息
Resources res = getResources();
int resId = res.getIdentifier("hello_world", "string", getPackageName()); // 获取对应的资源 ID
String helloWorld = res.getString(resId); // 获取对应的字符串资源
```
通过上述代码,即可根据当前设备的语言信息动态加载对应的资源文件。如果当前设备的语言为英文,则加载 res/values-en/strings.xml 文件中的字符串资源;如果当前设备的语言为中文,则加载 res/values-zh/strings.xml 文件中的字符串资源,以此类推。