| 网站首页 | 硬件维修 | 应用学院 | 网络组建 | 网站制作 | 菜鸟黑客 | 编程之道 | 数码大全 | 娱乐休闲 | 软件下载 | 在线视频 | 请您留言 | 技术论坛 | 
专 题 栏 目
最 新 热 门
最 新 推 荐
相 关 文 章
  • Alumin远程访问控制软件 让你…

  • 浏览器操作记录工具Internet…

  • 让Google Deskbar实现简体中…

  • 网页打不开 Windows的Hosts表…

  • windows IE浏览器精典技巧两…

  • 实现了!中文WinXP安装IE7 B…

  • 腾讯TT浏览器V2.03简体中文版

  • 解决珊瑚虫QQ不能在Win2003运…

  • 在Win XP中让QQ跑得更快

  • Authorware特效字专辑(1)

  • Q
    您现在的位置: 我是IT人 >> 应用学院 >> 操作系统 >> Linux >> 教程正文
    Linux 国际化本地化和中文化 (1)           
    Linux 国际化本地化和中文化 (1)
    作者:网络 文章来源:转载 点击数: 更新时间:2005-8-15
    [ 字体:缩小 正常 放大 | 双击自动滚屏 ]
    请选择合适的字体颜色:

    o IEEE(Institute of Electrical and Electronics Engineers)
    o Unicode Consortium
    o Open Group(X Consortium and OSF)
    o X/Open and XPG
    其中,ANSI/ISO 制定了使用C编程语言编写国际化软件的通用接口. ISO 制定了字符集标准和其它影响locale名字的标准. IEEE提供了一些国际化的通用库函数和设置管理不同locale的用户命令. Open Group是Unix和X窗口系统的国际化标准设立组织. Li18nux 是一个专门从事Linux上的软件国际化 规范制定的组织.
    5. 国际化的意义
    国际化,特别是国际化中制定的标准,是当今开发国际化软件所必须的. 它也是软件开发的必然趋势. 遵循国际化标准,可以更高效地开发和调试软件和移植软件,降低软件的开发费用,使用户更方便地使用软件. 从国际环境来看,新开发的基本的库函数都会支持国际化标准,基于这些函数库所开发的应用软件理所当然地支持国际化标准,同时有大批的Linux 爱好者把以前不符合国际化标准的软件进行了改造,使它们在一定程度上符合国际化标准. 使用国际化标准的软件,淘汰非国际化标准的软件成为一种趋势.
    从国际化的发展历史看,其中许多标准都有日本的商业机构参与,支持日文的软件变得越来越多,而从日语软件移植为中文软件相对于直接移植西文软件相当容易,有时甚至不用改动,这样就节省了许多不必要的劳动. 反过来,符合国际化标准的中文软件又影响日语和韩语软件,成滚雪球之势向前发展. 其次,软件商的开发比较看好亚洲市场中的日本市场,在 Unix/Linux上的日语软件或操作系统一般是符合国际化标准的,所以兼容这一标准是十分必要的. 当然,目前的国际化标准也存在不足之处,特别是对中文这一特殊语言(因为含有GB和Big5两种不能共存的编码)的处理上,应该由中国人在原来的基础上作相应的扩展.
    对中文Linux来说,遵循国际化也是必然的趋势. 在以中文平台为基础的中文 Linux上,软件移植已成为必须解决的问题,这个问题的最终解决方法就是遵循同一标准,就目前来说遵循国际化标准是唯一的方法. 鉴于目前中文Linux上的中文平台的混乱状态,国际化标准是从无序到有序过渡的必然途径.
    软件的国际标准化也为最终用户带来极大的好处,如同时支持简体中文和繁体中文,中文操作为双字节操作,中文输入能够在更大的程度上使用标准输入接口带来的好处,如输入服务器的定位等交互式操作.
    国际化的另一个特点是工作在应用软件级别,所以国际化不会给X窗口系统带来不稳定性.
    (第一章完)


    Linux 国际化本地化和中文化(二)
    蓝森林 http://www.lslnet.com 2000年4月29日 21:34


    作 者: 于明俭


    (justiny@turbolinux.com.cn)


    --------------------------------------------------------------------------


    国际化、本地化和中文化
    国际化、本地化和多语言化的概念
    中文化
    X11 国际化的历史和级别
    国际化标准组织
    国际化的意义

    Locale
    Locale 的概念
    在X中使用Locale
    文化习俗的差别


    X 窗口系统的国际化
    显示的国际化
    字符集和编码
    多字节字符(Multibyte)和宽字符(WideChar)的使用
    Unicode
    字体(Font)和字体集(FontSet)
    信息的国际化
    输入的国际化
    打印的国际化
    客户程序间通讯的国际化

    开发符合国际化标准的软件
    开发国际化软件
    使非国际化软件国际化

    目前中文化中存在的问题
    编码动态切换的问题
    中文编码自动识别问题
    Linux上的中文平台到国际化的过渡

    附录
    宽字符处理函数函数与普通函数对照表
    X 窗口系统下支持中文的函数库
    支持多语言的典型软件
    支持Unicode的软件
    --------------------------------------------------------------------------



    二 Locale


    Locale 的概念

    Locale 是ANSI C语言中最基本的支持国际化的标志, 对中文Linux来说, 如果它支持国际化, 那么支持中文Locale是最基本的要求.


    Locale 是软件在运行时的语言环境, 它包括语言(Language), 地域 (Territory)和字符集(Codeset). 其格式为: 语言[_地域[.字符集]]. 如对中文GBK字符集, locale的格式是:zh_CN.GBK. 目前Linux上的中文 Locale还不完善, glibc2.1.x中的许多涉及Locale的C函数还不正确. 如果 用户需要安装中文GBK Locale, 可以直接使用TLC6.0中的:


    glibc-2.1.2(含有GBK模块)
    localedata-zh-0.07
    /usr/X11R6/lib/X11/locale/zh_CN.GBK/XLC_LOCALE(X 下的 GBK Locale)
    Locale 包含了以下分类:


    LC_COLLATE, 用于比较和排序. 排序对中文来说也比较重要, 但是现在的 glibc中的locale对中文支持有些问题. 汉字排序的 的方式有许多种, 按照 发音(汉语拼音)或者汉字笔画来排序 是比较容易被接受的.
    LC_CTYPE, 用于字符分类
    LC_MONETORY, 用于货币单位
    LC_NUMERIC, 用于数字显示格式. 下面是不同国家的在货币符号 和数字格 式上的不同:

    中国大陆: 1,234.56RMB
    美国: $1,234.56
    德国: 1.234,56DM

    LC_TIME, 用于时间和日期. 时间可以用12小时或者24小时的 格式来计算. 在小时和分钟之间可以用逗点或者冒号隔开. 下面 是一些Locale设置的时 间和日期的格式:

    中国: 14点20分 2000年三月十四号
    英国: 02:20pm 14/03/2000
    美国: 02:20pm 03/14/2000
    芬兰: 14.20 14.03.2000

    LC_MESSAGES, 用于国际化信息, 主要是提示信息,错误信息, 状态信息, 标 题, 标签, 按钮和菜单等.
    Locale 通过ANSI C 函数setlocale(分类, locale)来初始化locale 数据. 当locale设置为空时, locale的值便从系统的环境变量中取得. 为了 方便应用 软件, 设置所有的分类, 可以采用下述方式:



    setlocale(LC_ALL, "");

    如果不成功, 该函数返回NULL. 函数应该回落到setlocale(LC_ALL,"C").




    在X中使用Locale

    在X的客户程序中使用Locale的机制和在标准C函数中使用Locale的方式一样, 除 此之外, 在X库中还定义了另外两个函数来判断X的locale支持和设置locale 的修 饰(XModifier), 在X中使用Locale和libX11的基本步骤如下:


    setlocale(): 设置当前的locale
    XSupportLocale(): 用来判断X是否支持目前设置的locale.
    XSetLocaleModifier(): 它用来指定一系列的locale修正值. 它的参量的格 式是@分类=赋值. 目前唯一可用的是输入 服务器的名称"im". 如果参量为 空, 则根据系统的环境 变量XMODIFIERS查找. 比如在系统上设置了环境变 量:

    % setenv XMODIFIERS @im=Chinput (csh) 或
    % export XMODIFIERS=im=Chinput (bash)

    则客户程序将查找到输入服务器Chinput, "Chinput"是 输入服务器所设置 的名称.

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

    教程录入:小秦    责任编辑:小秦 
  • 上一篇教程:

  • 下一篇教程:
  • 发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
    网友评论:(只显示最新10条。评论内容只代表网友观点,与本站立场无关!)
    | 设为首页 | 加入收藏 | 联系站长 | 关于我们 | 友情链接 | 版权申明 |