本文内容主要基于http://groups.google.com/group/android-developers/web/localizing-android-apps-draft
展开。

Android已经设计好了国际化(I18N)和本地化(L10N)的框架,只要编写程序时符合这个框架要求,实现程序的本地化并不困难。

下面以HelloAndroid (http://code.google.com/android/intro/hello-android.html中Eclipse SDK自动生成)为例,讨论如何实现HelloAndroid的中文化。
1)文件src/com/android/hello/R.java中列出了hello 字符串的id:
public final class R {
...

public static final class string {
public static final int app_name=0x7f040001;
public static final int hello=0x7f040000;
}
}

2)文件res/values/strings.xml中列出了hello字符串的内容:
<string name="hello">Hello World, HelloAndroid</string>

3)创建一个新的目录和新的strings.xml文件,用来存储hello字符串的中文翻译:
res/values-zh/strings.xml:

<?xml version="1.0" encoding="utf-8"?>
<resources>
<string name="hello">你好,Android</string>
<string name="app_name">你好,Android</string>
</resources>

4) 修改文件 src/com/android/hello/HelloAndroid.java,
tv.setText("Hello, Android");改成 tv.setText(R.string.hello);

5)编译helloAndroid项目,设置虚拟机locale为zh-CN后重新启动emulator。在从eclipse中运行helloAndroid项目,这时,可见中文显示。
$./adb shell
#echo zh-CN > /data/locale;stop;sleep 5; start <sdk 1.0>

#setprop persist.sys.language zh;setprop persist.sys.country CN;stop;sleep 5;start <sdk 1.5>

更多相关文章

  1. Android(安卓)Too many classes in --main-dex-list 错误原因及A
  2. android开机动画
  3. android注意事项。随时补充
  4. Android中使用PULL方式解析XML文件深入介绍
  5. S3C6410(M8用的) 移植Android(安卓)内核
  6. Android—— ubuntu下【CTS】测试TV真机
  7. android 如何保护我们的app(二)(干货)
  8. Android使用文件管理器打开指定文件夹,浏览里面的内容
  9. NPM 和webpack 的基础使用

随机推荐

  1. Android splitActionBarWhenNarrow Actio
  2. Android(安卓)Dagger2 初学笔记
  3. android中各种图标尺寸以及多分辨率支持
  4. android开发每日汇总【2011-10-31】
  5. Android菜单Menu的创建
  6. Android属性gravity与layout_gravity的区
  7. Android Fragment 实例
  8. Android 学习笔记--android基本注意点
  9. Eclipse Android 代码自动提示功能
  10. android Shape实现边框圆角