android的国际化及本地化
来源:互联网 发布:sql数据库表修复 编辑:程序博客网 时间:2024/05/10 06:51
1. Abstract
Android 国际化。.
2. 汉化机制
在各个应用程序中,存在一个res目录,在该目录中默认有drawable, layout,menu,values几个目录,这些都属于java中的resource资源,在java代码中通过R.resource_type.resource_name使用。
在res目录中value打头的就是用于本地化的属性目录,他们的resource_type为string,则在java中引用方式为:
R.string.resource_name
在manifest中的引用方式为:
@string/app_name
中文翻译有两种设置:
values-zh-rCN:中文简体
values-zh-rTW:中文繁体
..
3. 汉化实现
3.1 确定哪些内容需要汉化:
在校准程序中有以下几个名字需要汉化:
1、 菜单显示的应用程序名,即,AndroidManifest.xml中的label属性
2、 校准失败提示(java代码中)
3、 校准成功提示(java代码中)
3.2 默认显示语言设置(当前使用英文)
修改values/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">Screen Calibrate</string>
<string name="CalibrateFail">Screen Calibrate fail, please try again!</string>
<string name="CalibrateDone">Screen Calibrate Success!</string>
</resources>
3.3 制作中文汉化文件
复制values目录为values-zh-rCN即可,然后修改values-zh-rCN/strings.xml
<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="app_name">屏幕校准</string>
<string name="CalibrateFail">校准失败,请重新校准!</string>
<string name="CalibrateDone">校准成功</string>
</resources>
其余语言的翻译也是一样,只要注意values-zh-rCN目录名即可。
3.4 引用汉化后的字符串
汉化文件会在代码和Manifest中引用:
代码中引用方法:
Toast.makeText(getBaseContext(), R.string.CalibrateDone, Toast.LENGTH_SHORT).show();
Toast.makeText(getBaseContext(), R.string.CalibrateFail, Toast.LENGTH_SHORT).show();
或
setTitle(getString(R.string.delete_alarm))
根据具体情况而定
Manifest中引用:
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".AndroidCalibrate"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
3.5 遗留问题
在其他应用的string.xml中还有一个msgid字段,不知含义,未查到结果。
4. References
[1] http://xxw8393.blog.163.com/blog/static/3725683420098113187900/
[2] http://blog.csdn.net/lijiecong/archive/2009/11/03/4764947.aspx
- android的国际化及本地化
- android的国际化和本地化
- Android的国际化与本地化!
- Android的国际化与本地化
- android的国际化和本地化
- Android的国际化与本地化
- Android的国际化与本地化
- android的国际化和本地化 .
- android的国际化和本地化
- 国际化、本地化及Spring MVC 的设计
- android的国际化与本地化【Android】
- Android应用程序的国际化与本地化
- Android应用程序的国际化与本地化
- Android应用程序的国际化与本地化
- Android应用程序的国际化与本地化
- Android应用程序的国际化与本地化
- Android本地化与国际化~~
- android 本地化和国际化
- 基于PC/SC的智能卡访问及11.11指令封装类
- oracle dbtimezone修改
- 驱动 makefile之痛
- svnadmin dump备份工具
- 关于membership的一点资料
- android的国际化及本地化
- 科学思维的逻辑方法揭示世界的有机结构
- c# 输入法全角/半角切换问题
- 在MFC中数据类型的转换:比如将char *转换为cstring
- 在winxp中部署asp.net mvc
- FireBug使用指南
- js日期控件(自己用的)
- B2C电子商务技术内幕(二)订单号的产生规则
- HKEY_CLASSES_ROOT/Applications