Linux的中文支持是我一直在考虑的一个问题。很高兴看到朋
友们也有兴趣,并且勇敢地立志进行开发工作。我们为了避免盲
目性,有效的利用现有资源,是否可以先在这里进行讨论,讨论
清楚再行动不迟。:-)

我这里先抛砖引玉,将自己经过调查研究后的一点儿考虑贡献给大
家供讨论和参考。

UNIX和Xwindow的汉化工作很早以前就有人在作,我们现在用的
cxterm最早就是中国科学院软件所的人们搞的。Linux的出现使得
***X的汉化工作变得相对容易了。因为大家不必去钻二进制代码了,
源代码是公开的。即便是如此,汉化的工作量也是巨大的,绝不是
少数几个人利用业余时间在短时间里能够彻底完成的。

在北美、欧洲、台湾、香港、日本和中国大陆都有人分头独立的在
做Linux汉化方面的工作。因为各自为政,个人出于不同的目的做
了自己认为最必须的工作,因此缺少整合,不成系统。为了减少不
必要的重复劳动,尽快达到我们的目的,我们是否应该对所期望达
到的目的先讨论出一个清晰描述,对所拥有的资源和可以借鉴的工
作有一个尽量详细的了解呢?我认为这些都是必要的。

          我所想达到的目的

  一个真正、彻底支持中文的Linux操作系统,Xwindow和开发
环境是我梦寐以求的。什么是我心目中的真正、彻底支持中文的
Linux操作系统呢?我想她至少应该:

★ 有可以输入输出中文的控制台。
★ 所有命令的提示和出错信息会用中文表达。
★ 所有的库函数和应用软件都不需要特殊方法处理中文。
★ 所有的man pages可以用中文显示。
★ Xwindow下的应用程序不需要特殊改动就可以输入、输出中文。

        现有的资源与可借鉴的工作

★ 有可以输入输出中文的控制台。

  据本人所知有两个独立开发的中文控制台软件,chdrv和yact。
这两个软件都是台湾同胞开发的。通过阅读代码和编译、调试和
运行本人偏爱yact。

★ 所有命令的提示和出错信息会用中文表达。

  在有了中文控制台后Linux的提示和出错信息应该可以通过
locale系统自动显示中文,只要将环境变量LANG设置为zh即可。
问题是还没有人将那些信息翻译为中文。这部分的工作量比较
大。

★ 所有的库函数和应用软件都不需要特殊方法处理中文。

  这部分的工作应该是和中文locale结合的。Latex和SGHM
工具的汉化包括字体的增加和程序的修改。工作量也不小。

★ 所有的man pages可以用中文显示。

  这部分包括groff,troff,pic,tbl,enq,xdvi,dvips
等等。这一部分包括程序的修改,文档的翻译和字体的建立,
工作量非同小可。没有可借鉴的工作。 :-)

★ Xwindow下的应用程序不需要特殊改动就可以输入、输出中文。

  这一部分包括,向量字体的形成,libX11的修改和在fvwm中截
获键盘动作并作中文转换的工作。在本人眼里字体是一个大问题,
谁能贡献这方面的知识就太好了。对了,还有打印的问题。

  台湾同胞曾经搞了一个CXwin好象停止了。基本没有可借鉴的
东西。

  中国科学院高能所的余明俭先生在这方面作过很多调查和研
究,并借鉴了日本人的工作使得Tcl/Tk能够支持中文。不过我没
见到中文输入方法的源代码。 :-(

         关于中文输入

  cxterm的中文输入有几个比较大的局限性。最使本人感到
不舒服的是联想功能极弱,不能动态增加词组,也不能高频先
见,需要加以改进。

  Linux的中文输入部分应该是系统的,结合locale的。但是
因为是多用户系统,它的联想词组库则应该是各个用户之间相互
独立的。系统提供一个基本的初始的联想词组库,每个用户的帐
户建立时传到他家目录里,作为一个隐藏文件,在使用过程中不
断自动修改以便适应他所常用的词汇。
 

      本人建议的工作顺序

  先从基本部件入手,其中最重要的是中文输入部件。全拼
音,缩位拼音最为重要,五笔字形次之,其他方法酌情加入。
建议使用查找表的方法,基本程序固定,更换查找表输入方式
随之更换,程序不变。在这部分初步完成后中文控制台和中文
Xwindow的工作可以同时开展。

  同时探讨使用GGI还是SVGALIB进行中文显示。SVGALIB比
较成熟,但GGI的理念要好得多。

  对字体技术比较熟悉的朋友可以探讨字体的转换和形成方
法。

  locale的中文部分可以同时进行。

  groff等应用程序的修改工作也可以同时进行,因为它相
对独立。man pages的翻译也比较独立。

       工作的组织

  国家信息中心和国际自由软件协会可以在自由软件库中增
加中文Linux的内容,对工程参加者开放。参加者宣布自己进
行的工作,其他人自由参加。当开发者们认为某个部件可以发
行了就发行。可以建立几个有关的邮单(mailing list)供开
发者和测试者讨论问题用。

附言:我这里有一些收集到的这方面的工作大家看有必要放到
库里去吗?

min

--
----
NT=No Thanks, WWW=World Wide Wait
Does PnP mean "Plug and Pray"?
 
 

本文转自中文Linux论坛