• 软件测试技术
  • 软件测试博客
  • 软件测试视频
  • 开源软件测试技术
  • 软件测试论坛
  • 软件测试沙龙
  • 软件测试资料下载
  • 软件测试杂志
  • 软件测试人才招聘
    暂时没有公告

字号: | 推荐给好友 上一篇 | 下一篇

构筑稳健的中文Linux(下)

发布: 2007-7-04 12:06 | 作者: admin | 来源:  网友评论 | 查看: 11次 | 进入软件测试论坛讨论

领测软件测试网 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服务)

http://edu.itbulo.com/work/ime/'>输入法可分为两大类,即模式识别类和编码类。模式识别类包括声音http://edu.itbulo.com/work/ime/'>输入法、光学字符识别(optical character recognition,OCR)、手写体识别等http://edu.itbulo.com/work/ime/'>输入法。编码类主要是基于拼音、笔划、部首等http://edu.itbulo.com/work/ime/'>输入法。

图形界面的国际化与中文本地化,具体包括:

建立中文输入模块的摘挂方法和界面;

建立各种点阵汉字库、矢量轮廓汉字库、曲线轮廓汉字库的摘挂方法和界面;

建立基于图形界面的汉字信息处理函数。

图形界面的国际化处理主要在三个层次上:

X字型服务器层(X Font Server)提供处理点阵、矢量轮廓、曲线轮廓文字;

库函数层(Libarries)、提供有关X字型服务器的函数,如把字体装入服务器、调入、查询、释放字型;

命令层(Commands)包括工具类和转换类命令:

图形界面中文本地化提供以下应用程序:汉字造字工具、汉字图标编辑器、汉字图文编辑工具、汉字图形打印工具。

Linux关于输入的标准还是限于键盘输入。在X11R6中,有XIM(X InputMehtod)标准。XIM是在应用程序和http://edu.itbulo.com/work/ime/'>输入法之间的通信协议,目前还没有字符终端的http://edu.itbulo.com/work/ime/'>输入法标准。

本地化

本地化(localization,L10n,取首尾两个字母,中间有10个字母)是向特定本地语言操作环境的转换。

本地化工作主要包括:代码体系国家特征文件和输入、输出服务的具体实现。

1.代码体系指采用的字符集,我国目前是GB2312、GBK、GB18030和GB13000。

2.国家特征文件指Locale中的本地环境内容。

3.输入、输出服务与国际化中的输入、输出服务密切相关。

输入方法按其功能可分为:输入管理层、前端处理层、输入单元层、输入单元算法层、辅助区处理层。

输入管理层是根据Locale环境自动到指定目录下找出所需的输入方法模块、将其启动或装入应用程序,并填入有关入口表,以便建立应用程序与输入方法之间的联系。

前端处理层是对各个输入单元进行管理、负责解释特殊键的含义,切换输入单元,并把输入单元处理的结果存于相应的缓冲区中,以保证应用程序取走、或调辅助区处理层函数显示。

输入单元层是根据输入单元的要求,对每个输入键事件进行解释、确定相应的动作、形成符合输入单元要求的输入串,并调用输入单元算法层的函数进行字典查找或代码转换运算,把查找结果返回前端处理层。

输入单元算法层是根据上层函数送来的输入码串进行字典查找运算,并把查找结果返回上一层函数。

辅助区处理层用来提供输入方法的界面,即时状态区、预编辑区和造字区类处理函数进行相应的管理。

三、修改Linux的核心,使其完全支持UCS。

国际化就是为了解决本地化,它是由一个一个“本地化”组成的。本地化要遵循国际化,本地化完全遵循了国际化,本地化只需要解决http://edu.itbulo.com/work/ime/'>输入法和增加字型了。本地化的标准组织应尽量把本地化所需的内容加入到国际化中,并尽量遵循国际化。做好本地化的工作,就是为了消除本地化。什么时候不需要

延伸阅读

文章来源于领测软件测试网 https://www.ltesting.net/


关于领测软件测试网 | 领测软件测试网合作伙伴 | 广告服务 | 投稿指南 | 联系我们 | 网站地图 | 友情链接
版权所有(C) 2003-2010 TestAge(领测软件测试网)|领测国际科技(北京)有限公司|软件测试工程师培训网 All Rights Reserved
北京市海淀区中关村南大街9号北京理工科技大厦1402室 京ICP备2023014753号-2
技术支持和业务联系:[email protected] 电话:010-51297073

软件测试 | 领测国际ISTQBISTQB官网TMMiTMMi认证国际软件测试工程师认证领测软件测试网