android学习笔记---48_实现软件国际化,实现文字国际化,和图片国际化
2013-05-11 19:08
274 查看
2013/5/11
48_实现软件国际化
-----------------------
1.国际化的意思是:当软件运行在不同的语言环境的时候,会自动的显示对应的语言。
-------------------------------------
2.下面的例子用来适配,中文和英文两种文字。
-----------------------------------------
3.这里新建android项目:i18n
a.新建下面的文件夹用于实现国际化:
/i18n/res/drawable-en
/i18n/res/drawable-zh
以上两个用来实现图片国际化
---------------------------
b./i18n/res/values-en
/i18n/res/values-en/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">i18n</string>
<string name="name">name</string>
<string name="button">add</string>
</resources>
----------------------------------
/i18n/res/values-en-rUS
/i18n/res/values-en-rUS/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">i18n(us)</string>
<string name="name">name(us)</string>
<string name="button">add(us)</string>
</resources>
----------------------------------------
/i18n/res/values-zh
/i18n/res/values-zh/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">国际化</string>
<string name="name">姓名</string>
<string name="button">添加</string>
</resources>
这三个用来实现文字国际化
----------------------------
c./i18n/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/name"
/>
<!-- android:text="@string/name"这个表达式会自动的在values下的string.xml文件中取得
然后系统会根据当前的语言环境,自动的调用values-en文件夹下string.xml文件中对应的key值对应的内容
或者是values-zh文件夹string.xml文件中对应的key值对应的内容,注意这里创建对应语言的文件夹时:开头要用values
比如中文:values-zh,对应语言文件夹下的xml文件不一定交string.xml,但是key和value值,一定要对应
比如:在values-zh文件夹中有china.xml文件那么要求:
values下的string.xml为:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">i18n</string>
<string name="name">name</string>
<string name="button">add</string>
</resources>
values-zh文件夹下的china.xml文件为:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">国际化</string>
<string name="name">姓名</string>
<string name="button">添加</string>
</resources>
也就是说其他values-xxxx文件夹中的文件内容,要和values文件夹中string.xml内容的key一样
比如:app_name,app_name
这样才可以匹配
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
当需要匹配不同国家的语言的时候:比如美国的,美式英语:这里需要在res文件夹下建立:values-en-rUS这个文件夹,其中
r代表国家,US是java中美国的代表
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">i18n(us)</string>
<string name="name">name(us)</string>
<string name="button">add(us)</string>
</resources>
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
语言的识别规则:比如当系统语言设置为英式英语的时候,系统找不到,英国语言,就会使用values-en,英语这个文件夹下的文件
如果设置为一个没有文件夹对应的语言,这时候会自动的匹配values文件夹下的文件
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
-->
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button"
/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/exit"
/>
</LinearLayout>
----------------------------------------
4.针对特定的国家提供相应的文字:
5.图片国际化。
有些图片上面有文字:比如按钮图片:一个按钮图片上显示(退出),(exit),。。等。
drawable-hdpi
drawable-ldpi
drawable-mdpi
这三个文件夹:用来存放不同分辨率的图片
------------------------------------------
6.实现图片国际化的时候,要新建:
drawable-en:英文图片
drawable-zh:中文图片
文件夹,这里系统会根据自身的语言环境自动的调用不同文件中的图片
------------------------------------------------------------------------------------
48_实现软件国际化
-----------------------
1.国际化的意思是:当软件运行在不同的语言环境的时候,会自动的显示对应的语言。
-------------------------------------
2.下面的例子用来适配,中文和英文两种文字。
-----------------------------------------
3.这里新建android项目:i18n
a.新建下面的文件夹用于实现国际化:
/i18n/res/drawable-en
/i18n/res/drawable-zh
以上两个用来实现图片国际化
---------------------------
b./i18n/res/values-en
/i18n/res/values-en/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">i18n</string>
<string name="name">name</string>
<string name="button">add</string>
</resources>
----------------------------------
/i18n/res/values-en-rUS
/i18n/res/values-en-rUS/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">i18n(us)</string>
<string name="name">name(us)</string>
<string name="button">add(us)</string>
</resources>
----------------------------------------
/i18n/res/values-zh
/i18n/res/values-zh/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">国际化</string>
<string name="name">姓名</string>
<string name="button">添加</string>
</resources>
这三个用来实现文字国际化
----------------------------
c./i18n/res/layout/main.xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:orientation="vertical" >
<TextView
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="@string/name"
/>
<!-- android:text="@string/name"这个表达式会自动的在values下的string.xml文件中取得
然后系统会根据当前的语言环境,自动的调用values-en文件夹下string.xml文件中对应的key值对应的内容
或者是values-zh文件夹string.xml文件中对应的key值对应的内容,注意这里创建对应语言的文件夹时:开头要用values
比如中文:values-zh,对应语言文件夹下的xml文件不一定交string.xml,但是key和value值,一定要对应
比如:在values-zh文件夹中有china.xml文件那么要求:
values下的string.xml为:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">i18n</string>
<string name="name">name</string>
<string name="button">add</string>
</resources>
values-zh文件夹下的china.xml文件为:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">国际化</string>
<string name="name">姓名</string>
<string name="button">添加</string>
</resources>
也就是说其他values-xxxx文件夹中的文件内容,要和values文件夹中string.xml内容的key一样
比如:app_name,app_name
这样才可以匹配
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
当需要匹配不同国家的语言的时候:比如美国的,美式英语:这里需要在res文件夹下建立:values-en-rUS这个文件夹,其中
r代表国家,US是java中美国的代表
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">i18n(us)</string>
<string name="name">name(us)</string>
<string name="button">add(us)</string>
</resources>
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
语言的识别规则:比如当系统语言设置为英式英语的时候,系统找不到,英国语言,就会使用values-en,英语这个文件夹下的文件
如果设置为一个没有文件夹对应的语言,这时候会自动的匹配values文件夹下的文件
一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一一
-->
<EditText
android:layout_width="fill_parent"
android:layout_height="wrap_content"
/>
<Button
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@string/button"
/>
<ImageButton
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:src="@drawable/exit"
/>
</LinearLayout>
----------------------------------------
4.针对特定的国家提供相应的文字:
5.图片国际化。
有些图片上面有文字:比如按钮图片:一个按钮图片上显示(退出),(exit),。。等。
drawable-hdpi
drawable-ldpi
drawable-mdpi
这三个文件夹:用来存放不同分辨率的图片
------------------------------------------
6.实现图片国际化的时候,要新建:
drawable-en:英文图片
drawable-zh:中文图片
文件夹,这里系统会根据自身的语言环境自动的调用不同文件中的图片
------------------------------------------------------------------------------------
相关文章推荐
- android学习笔记---48_实现软件国际化,实现文字国际化,和图片国际化
- 利用两款软件实现图片转文字
- android 文字叠加显示在图片之上控件的实现 -- 充分利用TextView
- Android实现分享图片和文字的功能
- jquery实现多行文字图片滚动效果
- js+div实现文字滚动和图片切换效果代码
- java实现点击图片文字验证码
- 网页布局中实现文字围绕图片
- Android学习笔记之BitmapFactory.Options实现图片资源的加载...
- android 轻松实现在线即时聊天【图片、语音、表情、文字】等!含源码!
- Android实现用文字生成图片的示例代码
- IOS Quartz 各种绘制图形用法---实现画图片、写文字、画线、椭圆、矩形、棱形等
- css实现图片上漂浮着文字效果
- 大小不固定的图片和多行文字的垂直水平居中实现分析
- php图片添加文字水印实现代码
- 用CSS实现ul标签中图片与文字底边对齐及自适应高度
- Android自定义“图片+文字”控件四种实现方法之 二--------个人最推荐的一种
- wxPython利用pytesser模块实现图片文字识别
- 基于Tesseract-OCR实现的JAVA WEB版OCR(图片转文字)
- 【Android】Android实现自定义带文字和图片的Button