手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网站运营>建站经验>列表

使用 m17n 实现各国语言间代码移植

来源:互联网 作者:west263.com 时间:2008-04-16
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!

例如, Sino-Japanese orthography 就没有前后规则能够影响单个字形组合的复合。然而,泰国语的确有一些有趣的规则能够影响 orthography 的变化,但是他对于泰国口语不会产生任何影响。泰国语的拼字法对于周围的文本来说很敏感,但是对于口语来说则并非如此。印度脚本中特定的组合规则也相当复杂,必须使用 FLT 来显示。

最后,诸如字体、双向显示、Unicode 和语言之类的数据都会将文本的显示呈现在屏幕上。下一个棘手的问题 —— 也可能是现在正出现在您脑海中的问题 —— 是我们如何以非 ASCII 字体的形式来输入文本。

使用有 500 个键的键盘

对于英语和很多欧洲语言来说,一个字符映射为一个键(或两个键)就足够了。大写键能够直接打印,键盘驱动程式能够对很多更为特别的情况进行编码,但是其模型是相同的:按下一个键就代表输入某个特定的字符。

那么,假如一种拼字法中有数百个字符,或更特别一点,他们之间有很多组合,情况如何呢?那么我们就不能简单地使用一次击键来实现了,而是需要使用 击键序列 ,或快速连续输入多个键。有一种特别的软件叫 输入法,他能够将每个键盘序列转换成一个字符或一系列字符。

当然,有些击键序列可能就是一次击键。另外,我们能够创建一种输入法将标准的拉丁字母键盘 转换 成其他语系的拼字法。例如,老式的日语键盘就将拉丁字母转换成平假名和片假名。然而,试图使用 26 个字母(A 到 Z 的拉丁字母)表示大约 46 个平假名有些困难。

键盘映射、击键序列连同音译输入法都能够使用 m17n 数据库来表示。这种方法很大的一个长处是能够将拼字法 的规则和应用程式代码清楚地区分开来。应用程式代码最适合由程式员来研发;如何显示正确的文本则是语言学家的工作。

获取 m17n 库

正如上面介绍的相同,m17n 包括 3 个库和 m17n 数据库。现在,我们能够使用一个 m17n libc,另外还能够使用一个 Xlib 的 m17n 版本进行编码。研发团队正在努力编写第 3 层的库即 m17n X 工具包,他将成为 GTK 的一部分。m17n 研发人员也从事语言绑定的工作,这样诸如 Perl 和 Ruby 之类的编程语言就都能够使用 m17n 了(这个工具包和绑定何时可用,尚没有进度表)。m17n 库也已被接纳为 Linux Standard Base(LSB)的一个部分,他可能会成为 Linux 国际化标准实现的一个很好的部分。

m17n 库的最新版本是 1.3.3,这是在 2006 年 2 月 22 日发布的。我们能够按照下面的方式来获取 m17n 库:

  • 下载 m17n 源代码。这个下载页面中还提供了使用英语和日语编写的程式员文档包。
  • 假如喜欢使用 CVS(Concurrent Versions System),也能够使用下面的 CVS 命令来下载代码:
    $ cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n login
    
                    $ cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co m17n-lib
    
                    $ cvs -d :pserver:anonymous@cvs.m17n.org:/cvs/m17n co m17n-db
    
                    

    从源代码开始编译程式也很简单:m17n 库使用了典型的配置脚本来配置系统,并为编译和安装创建合适的 Makefile(周详内容请参看 m17n 软件包中的 README 文档)。

  • 假如碰巧使用的是 Debian 的发行版本,就能够使用很方便的 APT 安装工具来安装 m17n 库和他所依赖的库。例如,要寻找 Debian 系统上任何可用的 m17n 包,就需要使用 apt-cache,例如 apt-cache search m17n

    根据 APT 所指向的 Debian 储存库的不同,可能会看到如清单 1 所示的输出内容。



    清单 1. apt-cache search m17n 命令的输出结果
    
                    libm17n-0 - a multilingual text processing library - runtime
    
                    libm17n-dev - a multilingual text processing library - development
    
                    m17n-db - a multilingual text processing library - database
    
                    m17n-docs - a multilingual text processing library - documents
    
                    m17n-env - set up multilingual X environment
    
                    m17n-lib-bin - a multilingual text processing library - utilities
    
                    mlterm-im-m17nlib - MultiLingual TERMinal, m17nlib input method plugin
    
                    

    在找到包名之后,就能够运行 apt-get install 来自动下载并安装 m17n 包了。根据 m17n 研发人员的说法,为 Fedora Core、Mandrake、SUSE Linux 和 Gentoo Linux 提供的包也都能够使用。

m17n 库依赖于几个其他库,这几个库在您的系统上可能有,也可能没有。请阅读前提条件中最新的列表。

m17n 简介

从内部来说,m17n 库会被组织成几个应用程式接口(API):

  • Core:这个 API 提供了处理 M-texts 的功能。Core API 并无需 m17n 数据库。
  • Shell:Shell API 增加了 m17n 的数据库查找和搜索功能。Shell 包括了这个 API 的任何功能和特性。

    文章整理:西部数码--专业提供域名注册虚拟主机服务
    http://www.west263.com
    以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!