3. 本地化数据库Locale DB
国际化的第三个内容是搞好本地化数据库Locale DB。
语言、字符集、文化习俗等组成一个软件运行时的本地环境Locale。一个Locale是从本地化特征中提取的执行环境。它包括语言、地域、字符集。Locale的格式是ZH_CN.GBK,表示中文(zh)、中国(CN)、字符集(GBK)。
Locale可以一组Shell环境变量LANG、LC_ALL、LC_CTYPE、LC_COLLATE、LC_TIME、LC_MONETORY、LC_NUMERIC、LC_MESSAGES进行设置,也可以通过C语言国际标准中提供的setlocale()函数在应用程序中查询和设置。用户可以在运行时设置整个Locale的全部和部分。
Setlocale()函数为应用程序开发者提供了一种具有设置所有或部分(称之为类别)本地化环境的工具,setlocale()函数的语法为:
Char *setlocale (category,locale)
Int category;
Char *locale;
其中category是五个类别之一的名字,这些类别的名字是:
LC_CTYPE(提供字符分类和大小写区分功能);
LC_COLLATE(提供字符串比较和排序功能);
LC_TIME(提供日期和时间表示格式,如中国是年、月、日,美国是 月/日/年,英国是日/月/年);
LC_MONETARY(提供货币表示格式,如中国为阿拉伯数字后加RMB,在财务表格中为$后写阿拉伯数字);
LC_NUMERIC(提供数字表示格式)。
另外,用LC_ALL的特殊值使setlocale()函数设置所有的类别。
Locale数据库中除了上述本地环境服务,还包括消息服务和代码集转换。
4. 输入、输出服务(I/O服务)
输入法可分为两大类,即模式识别类和编码类。模式识别类包括声音输入法、光学字符识别(optical character recognition,OCR)、手写体识别等输入法。编码类主要是基于拼音、笔划、部首等输入法。
图形界面的国际化与中文本地化,具体包括:
建立中文输入模块的摘挂方法和界面;
建立各种点阵汉字库、矢量轮廓汉字库、曲线轮廓汉字库的摘挂方法和界面;
建立基于图形界面的汉字信息处理函数。
图形界面的国际化处理主要在三个层次上:
X字型服务器层(X Font Server)提供处理点阵、矢量轮廓、曲线轮廓文字;
库函数层(Libarries)、提供有关X字型服务器的函数,如把字体装入服务器、调入、查询、释放字型;
命令层(Commands)包括工具类和转换类命令:
图形界面中文本地化提供以下应用程序:汉字造字工具、汉字图标编辑器、汉字图文编辑工具、汉字图形打印工具。
Linux关于输入的标准还是限于键盘输入。在X11R6中,有XIM(X InputMehtod)标准。XIM是在应用程序和输入法之间的通信协议,目前还没有字符终端的输入法标准。
本地化
本地化(localization,L10n,取首尾两个字母,中间有10个字母)是向特定本地语言操作环境的转换。
本地化工作主要包括:代码体系国家特征文件和输入、输出服务的具体实现。
1.代码体系指采用的字符集,我国目前是GB2312、GBK、GB18030和GB13000。
2.国家特征文件指Locale中的本地环境内容。
| 论坛热门帖子: | [lch203] 写得蛮好的linux学习笔记(10-21) [黑马制造] 学习java的30个目标(10-19) [笑傲股林] 做测试半年了,有点迷茫,应该再学些什么提高自己的测试水平和测试能力呢?(10-19) [udp8589] 大家用google的来吱一声? 用百度的~~也来报道下?(10-18) [沂偌掳兆] 本人总结的一些认为C++比较经典的书籍,希望对大家有用(10-18) |
| TAG标签: | 中文 稳健 构筑 UCS Linux 本地化 支持 输入 软件 完全 |
注册
个人空间
