网上介绍国际化编程的文章很多,但是结合嵌入式来讲解具体怎样实现的文章很少,以下就是这方面的一点点总结.
在讲国际化编程之前首先必须了解locale,locale 是国际化与本土化过程中的一个非常重要的概念,再次就不在阐述,具体内容可以参考文章:locale详解
下面是具体操作步骤:
从工具链中拷贝i18n 到 /nfsroot/rootfs/usr/share/
cp /scratchbox/compilers/arm-linux-3.4.4-glibc-2.3.5/arm-unknown-linux-gnu/share/i18n/ /nfsroot/rootfs/usr/share/ -rf
mkdir -p /usr/lib/locale
cd /usr/lib/locale
为系统添加一种locale
localedef -f UTF-8 -i zh_CN zh_CN.utf8
-f UTF-8 指定的是 /usr/share/i18n/charmaps/UTF-8.gz
-i zh_CN 指定的是 /usr/share/i18n/locale/zh_CN
生成的文件为 /usr/lib/locale/locale-archive
为什么在ubuntu系统的/usr/lib/locale/ 目录下却是
en_US.utf8 en_hk.utf8 zh_CN.utf8 zh_HK.utf8 zh_TW.utf8 zh_SG.utf8
把上面的命令:
localedef -f UTF-8 -i zh_CN zh_CN.utf8 中的 zh_CN.utf8变为 /usr/lib/locale/zh_CN.utf8 就能达到这个效果.
glibc的local可以直接把x86系统里的/usr/lib/locale下的文件复制过来也可以运行
与X相关也有locale 在/usr/gpephone/share/X11/locale/
具体用途还不是很清楚
系统中与国际化编程相关的设置
vim /etc/profile 添加
LC_CTYPE=zh_CN.utf8
export LC_CTYPE
环境变量
LC_ALL
LC_TYPE
应用程序中与国际化编程相关的操作
阅读(919) | 评论(0) | 转发(0) |