您的位置:首页 > 移动开发 > Android开发

5.Android国际化问题

2016-09-20 15:22 274 查看
在做开发应用时,必然涉及到国际化问题,如何根据当前手机系统的语言,自动与当前系统语言同步显示内容



解决办法是

在项目res子目下添加values-国家名字简称

下面举一个简单的例子

布局文件

图片控件用于显示测试当前系统环境是哪个国家的国旗

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:paddingBottom="@dimen/activity_vertical_margin"
android:paddingLeft="@dimen/activity_horizontal_margin"
android:paddingRight="@dimen/activity_horizontal_margin"
android:paddingTop="@dimen/activity_vertical_margin"
tools:context=".MainActivity" >

<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/hello_world" />

<ImageView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/flag"
android:layout_centerInParent="true"/>

</RelativeLayout>
暂时做三个国家的国际化

第一个是:中国,在res目录下,新建File名为values-zh文件夹,在文件夹中新建名为string.xml,代码如下

<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">11__国际化</string>
<string name="action_settings">Settings</string>
<string name="hello_world">这是中文文本</string>

</resources>
第二个是:美国,在res目录下,新建File名为values-en-rUS文件夹,在文件夹中新建名为string.xml,代码如下
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">11__国际化</string>
<string name="action_settings">Settings</string>
<string name="hello_world">这是美式英文文本</string>

</resources>
第三个是:意大利,在res目录下,新建File名为values-it文件夹,在文件夹中新建名为string.xml,代码如下
<?xml version="1.0" encoding="utf-8"?>
<resources>

<string name="app_name">11__国际化</string>
<string name="action_settings">Settings</string>
<string name="hello_world">这是意大利文文本</string>

</resources>

注意

1.从上面可以看出,需要做兼容哪个国家语言,只需在新建File名values加上这个国家简称即可。

2.如果应用中没有提供兼容选择这个国家语言,则应用显示语言变成默认的语言。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: