用户管理  |   用户注册                                                                                    首 页软件下载教程中心办公指南flash动画文档下载办公公文

www.4oa.com - 中科软件园

投递文章 用户管理 投稿指南 资讯通告 :
站内搜索: 您的位置中科软件园 > 教程中心 > 操作系统 > Linux > 中文化 > 教程内容

Linux 国际化本地化和中文化 (1)

2005-5-26 23:20:05  来源:本站整理  作者:不详 【 投递文章
内容提要:编者按:Linux在中国如何发展?往何处发展?这是广大中国Linux爱好者所热切关注的。本站将连载中文Linux的开创者之一于明俭老师最近撰写的长文《Linux国际化本地化和中文化》。欢迎讨论!--一...
编者按:Linux 在中国如何发展?往何处发展?这是广大中国Linux爱好者所热切关注的。本站将连载中文Linux的开创者之一于明俭老师最近撰写的长文《Linux 国际化本地化和中文化》。欢迎讨论!
--------------------------------------------------------------------------
一 国际化、本地化和中文化
1. 国际化、本地化和多语言化的概念
2. 中文化
3. X11 国际化的历史和级别
4. 国际化标准组织
5. 国际化的意义
二 Locale
1. Locale 的概念
2. 在X中使用Locale
3. 文化习俗的差别
三 X 窗口系统的国际化
1. 显示的国际化
1. 字符集和编码
2. 多字节字符(Multibyte)和宽字符(WideChar)的使用
3. Unicode
4. 字体(Font)和字体集(FontSet)
5. 信息的国际化
2. 输入的国际化
3. 打印的国际化
4. 客户程序间通讯的国际化
四 开发符合国际化标准的软件
1. 开发国际化软件
2. 使非国际化软件国际化
五 目前中文化中存在的问题
1. 编码动态切换的问题
2. 中文编码自动识别问题
3. Linux上的中文平台到国际化的过渡
五 附录
1. 宽字符处理函数函数与普通函数对照表
2. X 窗口系统下支持中文的函数库
3. 支持多语言的典型软件
4. 支持Unicode的软件
--------------------------------------------------------------------------
一 国际化、本地化和中文化
1. 国际化、本地化和多语言化的概念
一般来说,"国际化"是指把原来为英文设计的计算机系统或应用软件改写为同时支持多种语言和文化习俗的过程. 在软件创作的初期,一般的编程语言,编译,开发都是尽支持英文的,为了适应更广的语言和文化习俗,软件有必要在设计结构和机制上支持多语言的扩展特性,这一过程称为国际化. 国际化仅仅是在软件设计上提供了使用多语言的可能.
"本地化"是指把计算机系统或者应用软件转变为使用并兼容某种 特定语言的过程. 比如,把原来为英文设计软件制作为支持中文的软 件就是本地化的一种. 它主要包括翻译文本信息,界面信息,重新设计图标等等.
语言和文化习俗因地域不同而差别很大. 对某一特定的地域的 语言环境称为 "locale". 它不仅包括语言和货币单位,而且还包括数字标示格式,日期和时间格式. 国际化了的软件含有一个"locale" 的"参量",使用该"locale"参量便可以设置某一区域所用的语言环境.
在国际化部分中只处理语言的部分叫"多语言化". 比如,一个 "多语言化"的软件可以同时管理诸如英语,法语,中日韩文,阿拉伯语等.
在英文中,国际化(Internationalization)被缩写为I18N,即只取首尾两个字母,中间字母为18个. 同样地,本地化(Localization) 缩写为L10N,多语言化 (Multilingualization) 缩写为M17N.
在今天,Internet把世界各地的计算机联接了起来,共享信息和技术是必然的趋势和需要. 因此各地的计算机系统可以互相交流变得 越来越重要. 在Linux系统向桌面普及的过程中,Linux软件也需要国际化和本地化.
2. 中文化
"中文化"是一个很模糊的概念. 在Linux上的"中文化"它既包含使 软件或系统国际化,又包含使软件本地化. 也就是说,"中文化"不仅仅 是只把软件本地化这么简单的事情,更重要的是因为Linux直接支持中文的软件太少,做"中文化"必须先做"国际化".
由于历史的原因,现阶段使用的中文又有简体中文和繁体中文之分. 所使用的编码也不同. 支持中文的软件应该同时支持简体中文和繁体中文,这对软件的国际化提出了更高的要求.
1999年是中国Linux发展和普及过程中最重要的一年,其中涌现了许多制作中文 Linux发布版本的公司. 中文Linux的技术都是采取了中文化的捷径----中文平台. 尽管都是中文平台,但是具体实现的技术特点各不相同. 充分展示了中文平台在Linux中文化过程中的魅力. 中文平台 在短期内发挥了巨大的作用,加速 Linux的中文化过程并推动Linux在中国的普及.
中文平台的主要技术特点是不用修改西文应用软件,便可以显示和输入中文(有的情况下会失效). 具体地说,就是利用自己的规范去修改X系统的底层函数. 从修改的层次上分为(1)修改函数库libX11.so,这种方式是动态修改,又称外挂方式. 外挂方式的实现可以是直接修改X11库 或使用LD_PRELOAD载入动态库修改. (2)修改X Server部分,又称内嵌方式,它的实现也分为两种,直接修改X Server 部分和建立虚拟Display(X传输协议的部分代理).
3. X11 国际化的历史和级别
早期的X11R4版本中,仅仅含有支持单字节和双字节字体的函数,所以它不能算是国际化的函数库. 此后,一个叫做"mltalk"的X协会成立并着手研究X窗口系统的国际化问题. 众多的X窗口系统供应商也 参与了该组织. 因为对国际化的研究刚刚开始,所以mltalk提出的了 一个基本问题: 什么是X窗口系统的国际化? 对它的解释也各不相同. 实际上,即使是现在,人们对国际化的定义仍然存在分歧,分歧的焦点 主要集中于对软件或系统怎样程度的国际化才算是真正的国际化.
按国际化的级别来分,下列几种情况都属于国际化:
1. 语言可以切换. 在系统启动时可以设置某种语言
2. 使用不同语言的软件可以同时使用,在应用软件启动时可以设置某种语言
3. 使用不同语言的软件可以同时使用,而且应用软件的语言可以动态切换
4. 使用不同语言的软件可以同时使用,而且在应用软件中可以同时使用不同语言
显然,第(4)种国际化方式是最完善的方式,其次是第(3)种,第(2)种 和第(1)种. mltalk 最终决定使用第(3)种,原因是需要支持第(4)种的 X窗口系统供应商是少数的. 从目前Linux上的国际化情况看,支持第(2),(3)种的国际化软件是最常见的,但是第(4)种软件比较少见,而且应用的 意义不是很大.
基于上述观点,X11R5 的目的是,创建支持不用重新编译源代码就可以适应于语言环境的应用软件开发平台. 确切地说,就是国际化 的结构是基于标准C函数 setlocale的. X11R5 确立了以下规范:
1. 切换语言的机制
2. 与语言无关的输出接口
3. 与语言无关的输入接口
4. 资源文件的国际化
5. X工具(Xt)的国际化
此后,以X11R5 为基础,OSF/Motif 完成了国际化改造,并且成为被用户广泛接受的高层图形软件库,直到今天,一些大型的软件仍然使

[1] [2] [3] [4] [5]  下一页

(评论内容只代表网友观点,与本站立场无关!)[ 全部评论 ]

网友评论:

    用户名:

    评   分:100分 85分 70分 55分 40分 25分 10分 0分

    内 容:

                 (注“”为必填内容。) 验证码: 验证码,看不清楚?请点击刷新验证码

关于本站 - 网站帮助 - 广告合作 - 下载声明 - 友情连接 - 网站地图 -有事点这里