PConline-> 网络学院

==软件教室==

汉化你的RedHat全功略(一)

作者：Bigluo/Linux自由空间

    前言:

    网上关于如何汉化RedHat的文章已经很多了,我写这篇稿子的目的其实仅仅是一个总结,力求把他写的详细一点,以便每位看完这份稿子的朋友能够自己动手享受中文.

    感谢wu yulun在这段时间内对我的及时帮助.
    感谢于明简老师写出Chinput.
    感谢为中文locale做出贡献的人
    愤恨及鄙视那些将linux的汉化技术作为赚钱秘密而秘而不宣的公司.

    本文提到的软件包大家可以通过http://bigluo.cn.hongnet.com下载,他们分别是:

locale-zh-0.97.src.rpm - Linux中文环境文件.packaged by Wu yulun
Chinput-3.0 - 中文输入法. developed bu Yu Mingjian
pth-1.3.7 - 可移植线程库
unicon2 - Chinput需要的表码软件包

    一．安装中文环境

    1-1 确定glibc的版本

    这份locale-zh是for glib 2.1.3 (RH 6.2)的,因此如果你的glibc < 2.1.3,请升级他.如果你的glibc > 2.1.3,你可以到我的主页下载相应的locale环境定义文件zh_CN,然后用lcoaledef来产生相应的中文环境.我的RH 是6.1版本的,于是我找到了一张RH6.2的CD,升级了下面几个包:

* egcs
* egcs-c++
* libstdc++
* glibc
* gtk*
* XFree86
make
autoconf
automake
kernel
( 注:打*的,你必须更新 )

    1-2 安装中文locale环境

    如果你使用的是RH 7,请到我的网页下载zh_CN for glibc 2.2,然后用lcoaledef来产生相应的中文环境,(关于具体问题请参看Wu yulun的 如何在RedHat7.0中安装Chinput3.0中文输入法一文).

    安装locale很简单,

rpm -ivh locale-zh-0.97.src.rpm
- 会在/usr/src/redhat/SPECS 下产生一个locale-zh-0.97.spec,

rpm -ba locale-zh-0.97.spec
- 重建这个包.会在/usr/src/RPMS/i386 下产生一个相应的binary包，安装它吧！

他会生成３个环境定义

zh_CN.GB2312 我们需要的就是这个
zh_CN.BIG5 繁体中文环境
zh_CN.GBK　作者说这个是他从TLC借过来,除了测试没有什么太大用处

    1-3 测试中文locale

    不必要写个程序来测试了．很简单的，首先

    export LC_ALL=zh_CN.GB2312 －设定中文环境

    输入命令rpm -qi kernel，看看时间部分是不是由 *d-*m-*y => *y-*m-*d，如果没有问题，说明locale-zh安装成功．

    1-4 让gnome支持中文

    修改 /usr/lib/X11/locale/locale.alias，加入一行：

    zh_CN.GB2312 zh_CN.eucCN

    该命令指定当终端locale为 zh_CN.GB2312 时，X Windows 使用 zh_CN/XLC_LOCATE 为场所定义。

    /usr/lib/X11/locale/目录下没有zh_CN/XLC_LOCALE，所以我们做一个连接就可以了：

ln -s /usr/lib/X11/locale/zh/XLC_LOCALE 　　/usr/lib/X11/locale/zh_CN/XLC_LOCALE

    修改　/etc/gtk/gtkrc.zh_CN 将所有的字体定义改为：

fontset = "-*-*-medium-r-normal--16-*-*-*-*-*-iso8859-1,\
-*-*-medium-r-normal--16-*-*-*-*-*-gb2312.1980-0"

    采用１６点的汉字，这样会看起来舒服一点．

    二．安装中文输入法Chinput

    2-1 安装pth

tar -zxvf pth-1.3.7.tar.gz
．/configure --prefix=/usr #以便pth lib被安装在/usr/lib/
make
make install

    2-2 安装unicon

    将 unicon2-im 解到 /usr/lib 目录下即可．

    2-3 安装Chinput 3.01

tar -zxvf Chinput-3.0.tar.gz

拷贝Chinput-3.0-1.patch到Chinput 3.0目录下patch -p1 < Chinput-3.0-1.patch　#打3.0.1的补丁

make
make install

修改 /usr/lib/ZWinPro/Chinput.ad 文件：

由于 XFree86 没有自带的 BIG5 码字体，若你不需要输入 BIG5 码字符，则对 Chinput.ad 做以下调整：

...
chinput.gblocale = zh_CN.GB2312
chinput.big5locale = zh_CN.GB2312
...
chinput.gbfont = -*-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0
chinput.big5font = -*-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0

注意：在 Chinput.ad 的字体定义中，不能出现空格，这是由于 Chinput 的限制。(应该使用Tab)

由于 Chinput 需要 libstdc++-lib6.1-2.so.3，而 RedHat 的 compat-libstdc++ 兼容库中只包含 libstdc++-2-libc6.1-1-2.9.0.so，则需手动建立一个库链接：

ln -s libstdc++-2-libc6.1-1-2.9.0.so libstdc++-libc6.1-2.so.3

    2-4 启动Chinput

    让你每次启动xwindows的时候都有中文支持，修改你的.bashrc ,加入：

export LC_ALL=zh_CN.GB2312
export LC_LANG=zh_CN.GB2312
export XMODIFIERS=@im=Chinput

    到此，linux的汉化基本完成，进入 X Windows 环境。选择Run，输入 chinput，中文输入服务器就加载了。你可以打开一个支持vim的软件(gedit)，敲入 ctrl-space 就会出现输入条．

    注：chinput 输入服务器，仅对支持 XIM 的软件有效，如果该软件支持这种输入 方式，敲入 ctrl-space 就会出现输入条，否则无任何显示。

    后记：

    以上是本人在XFree86 3.3.6＋glibc 2.1.3上，安装中文环境及输入法的步骤，完全通过，如果各位还有什么问题，请发信到bigluo@china.com．

    下一章我将讨论如何汉化gnome桌面．

[下一页]

[返回]

版权所有©2000 太平洋电脑网
webmaster@pconline.com.cn


汉化你的RedHat全功略(二)

作者：Bigluo/Linux自由空间

    前言:

在上一篇文章当中，我向大家介绍了如何安装中文环境和输入法，不知道大家留意到没有，Gnome的桌面字体是非常难看的。想个办法让他好看一点吧。最好的办法当然是让Redhat接受TrueType字体。

如果你使用的不是Redhat 7.0的话，很不幸，他们所附带的Xf86对TrueType字体的支持并不是很好，甚至可以用非常的差来形容。所以，确定你的Xfree86版本是4.0以上版本是非常必要的。（RH 6.2的Xfree86是3.3.6版本）

注：网上有文章介绍如何让Xfree 3.3.6支持TrueType，我测试过了，好像并不怎么行，小弟不才，请高手指点！！

    一．XFree86

    １－１ 确定Xfree86的版本

如果你使用的是Redhat 7.0以下的版本，你需要升级你的Xfree86．

    １－２ 获得Xfee86 4.01

下载下面这些软件包（from xree86.org）
Xlib.tgz
Xetc.tgz
Xdoc.tgz
Xf100.tgz
Xfcyr.tgz
Xfenc.tgz
Xflat2.tgz
Xfnon.tgz
Xfnts.tgz
Xfscl.tgz
Xfsrv.tgz
extract

Xinstall.sh
Xinstall.bin
Xjdoc.tgz
Xhtml.tgz
Xman.tgz
Xnest.tgz
Xprog.tgz
Xmod.tgz
Xprt.tgz
Xps.tgz
Xvar.tgz
Xvfb.tgz
Xxserv.tgz

总共大概是２０Ｍ，一个多小时可以下载完毕！

    １－３　升级Xfree86

其实Xfree86的升级是超级简单，但是在升级以前请备份下面的两个文件：

/etc/X11/xinitrc/Xclients -- 将来可以用他成为启动X的预读文件
/usr/X11R6/bin/startx -- 新的startx好像不会读取gnome的gtk资源文件．

到新的Xree86目录下面

．/Xinstall.sh -- 安装XFree86
然后一路 [y] 下去就可以了．

然后，你就得用xf86config之类的命令来配置XF86Config文件．详细的方法不说了，请参考其他文章．

然后：
cp startx /usr/X11R6/bin/startx -- 用旧的startx覆盖新的．
cp Xclients /etc/X11/xinitrc/xinitrc -- startx会读取这个文件，选用给定的桌面．（一般是gnome）

修改/etc/xinitrc，注释掉文件最后这些
xclock -geometry 100x100-5+5 &
xterm -geometry 80x50-50+150 &
if [ -f /usr/bin/netscape -a -f /usr/doc/HTML/index.html ];
then netscape /usr/doc/HTML/index.html &
fi
if [ -f /usr/X11R6/bin/fvwm ]; then
exec fvwm
else exec twm
fi
（不同版本的RH可能会用一些不一样）

如果一切顺利，startx后会进入gnome环境！

    二　字体

    ２－１　xfs

新的xfree86默认是不使用xfs，如果是想使用TrueType，我也不推荐使用xfs．所以　setup->system service->关闭xfs

    ２－２　得到TrueType字体

mkdir /usr/X11R6/lib/X11/fonts/trueType -－ 建立TrueType的存放目录
cp /windows/fonts/simsun.ttf /usr/X11R6/lib/X11/fonts/TrueType
-- 将你win98下的simsun字体复制到linux下．

cd /usr/X11R6/lib/X11/fonts/TrueType
ttmkfdir>fonts.dir -- 生成fonts.dir

我使用的Windows 98是SE版本，将生成的fonts.dir改成了下面的样子．

3
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1

生成fonts.scale：cat fonts.dir>fonts.scale

    ２－３　让XFree86能够解析TrueType

修改/etc/X11/XF86Config，找到解析Fonts的地方，由于FreeType和xtt解析不能够共存，所以我们关闭FreeType解析，打开xtt解析。

# This loads the Type1 and FreeType font modules
Load "type1"
# Load "freetype"
Load "xtt"

然后，还是修改/etc/X11/XF86Config，加入字体搜索路径：

FontPath "/usr/X11R6/lib/X11/fonts/local/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/TrueType/"　<-加入这一行

（注：默认条件，新的XFree86不使用xfs）

    ２－４　让gnome使用TrueType

修改/etc/gtk/gtkrc.zh_CN，让gtk使用TrueType字体。

style "gtk-default-zh-cn" {
"-misc-SimSun-medium-r-normal--12-0-0-0-p-0-*-*"
}

    三　享受TrueType

到这里，你可以享受TrueType的乐趣了！

把LC_ALL环境变量设定为zh_CN.GB2312（关于中文环境及中文输入法的安装请参考上一章），startx看一下吧！！

让netscape使用TrueType
Edit->Preferance->Fonts 将相应的字体项目改为chinese的就够了。

汉化 GNOME 的菜单项：
在 /usr/share/gnome/apps/ 下，有一些以 .desktop 为后缀的文件，打开该文件，加入一行

Name[zh]=你想要的中文名

则可对相应的菜单项增加中文名，很容易，一看就会。
GNOME 的个人菜单项存放在 HOME 目录下的 .gnome/apps目录里，形式相同。

    后记：

以上是本人安装TrueType字体支持的全过程，如果各位还有什么问题，请发信到bigluo@china.com．

事情到这里看起来好像是非常完美了，X-Windows有了中文支持，有了中文输入法，可以使用TrueType字体。但是事实并不是这样的，BUGS很多，中文的支持也是非常的不完整：

Gnome所附带的程序当中，好像就有一个gedit是支持vim协议的。

在qt 1.42的时候，有一个zh_qt-1.4.2.patch可以让kde支持中文，1.44的qt加入更好的东方语系的支持但是好像还需要一个补丁，所以当你在gnome环境下看kde菜单的内容是中文的，但是一旦你使用kde桌面，就变成乱码了。

gedit对TrueType的支持也不是太好，一旦把它的字体设置成为TrueType，他就会当掉。

等等。。。。太多了

我们选择Linux的原因是它的自由性，台湾人很无私的做到了这一点，我们目前所能够看到的合用到的中文支持，好多来自于台湾。我们又做了些什么？看看那些这个版本那个版本的中文Linux，充其量不过是把RedHat拿回来汉化了一遍而已，是如何汉化的呢？－不告诉你，因为这是他们赚钱的法宝！

Linux到如今，还并不是一个稳定成熟的系统，在中国流行起来也不过是一两年而已，现在就靠他想赚钱，总有一天会走上。。。

[上一页] [下一页]


汉化你的RedHat全功略(三)

前言

    今天才搞到一张RedHat 7.0（北京LINUX俱乐部版本，中关村刚刚上市），感觉真是太棒了。别的都不说了，由于它采用了XFree86 4.0和glibc 2.2，使得它对东方语系和TrueType的支持性能非常完好，整个中文化工作我只用了十分钟不到就完成了。准备好了吗？　Let's go FREE

一　所需要的软件包

zh_CN for glibc 2.2 -- glibc 2.2的中文定义文件
Chinput 3.0 + Chinput 3.0-patch -- 中文输入法及补丁
unicon 2 -- Chinput的表码库
pth --　可移植线程库

以上软件包你可以到我的主页上下载( http://www.linuxorb.net )

二　简体中文环境的安装

２－１ 生成简体中文locale
把下载的zh_CN.gz解包： gunzip zh_CN
执行命令：localedef -f GB2312 -i zh_CN zh_CN.gb2312
如果没有意外的话，在 /usr/lib/locale 下会增加 zh_CN.gb2312目录。

２－２ 测试简体中文locale
由于这个zh_CN定义包含了较多的中文信息，和前两篇文章当中介绍的那个取自于台湾CLE的locale相比，中文信息多多了。
使用中文locale：export LC_ALL=zh_CN.gb2312
测试中文locale：执行命令date，看看有没有变化。

注：在我使用的RedHat 7.0上，我只做了上述的工作，startx就可以看到中文了，最明显的是Gnome的那个桌面时钟变成中文的了。如果在你的RedHat 7.0
上有什么问题的话，希望能够告诉我。

三　TrueType字体的使用

由于RedHat 7.0使用了XFree86 4.0，所以它对TrueType字体有着良好的支持。

２－１ xfs字体服务
默认情况下，RH 7采用了xfs，请关闭它：setup->system service->去掉xfs前面的*。同时请更改/etc/X11/XF86Config.4，把 FontPath "unix/:7100" 这一行注释掉。

２－２ 获得TrueType字体
mkdir /usr/X11R6/lib/X11/fonts/trueType
cp /windows/fonts/simsun.ttf /usr/X11R6/lib/X11/fonts/TrueType

cd /usr/X11R6/lib/X11/fonts/TrueType
ttmkfdir>fonts.dir -- 生成fonts.dir
我使用的Windows 98是SE版本，将生成的fonts.dir改成了下面的样子．

3
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0 simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0 simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1

生成fonts.scale：cat fonts.dir>fonts.scale

２－３ 让XFree86能够解析TrueType
进入 /etc/X11 目录，打开 XF86Config-4 文件，将 FontPath 改为你所需要的字体路径。
Section "Files"
# FontPath "unix/:7100"
FontPath "/usr/X11R6/lib/X11/fonts/misc:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/misc"
FontPath "/usr/X11R6/lib/X11/fonts/Type1"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi"
FontPath "/usr/X11R6/lib/X11/fonts/100dpi"
FontPath "/usr/X11R6/lib/X11/fonts/TrueType"
FontPath "/usr/share/fonts/default/Type1"
EndSection

加载 X-TrueType 字体解释器。
Section "Module"
...
Load "xtt"
EndSection

２－４ 让gnome使用TrueType
修改/etc/gtk/gtkrc.zh_CN，让gtk使用TrueType字体。

style "gtk-default-zh-cn" {
"-misc-SimSun-medium-r-normal--12-0-0-0-p-0-*-*"
}

四　Chinput的安装

请参考　汉化你的RedHat全功略( 1 ) - 中文环境和中文输入法的安装

五　Gnome桌面的中文显示

RH 7.0的/usr/share/locale目录下有一个zh_CN.GB2312，包含很多中文mo，由于我们的中文locale是zh_CN.GB2312，所以做一个连接就可以了。
ln -s /usr/share/locale/zh_CN.GB2312 /usr/share/locale/zh_CN.gb2312

在进入到X，是不是有些菜单是中文的了！由于Gnome的中文翻译小组到现在还只翻译了一部分的po，所以我们只能看到一部分的中文。

当然，你还可以通过修改/usr/share/gnome下有关gnome配置文件来显示中文，前面的文章已经介绍过了，不再重复。

六 Gedit和NetScape

这两个软件是我在RH上使用最为频繁的两个软件，他们都可以很好支持i18n协议，在菜单edit->preferance下把相关的编码和字体改为chinese就可以了。

后记

下一章将会介绍一下mo文件的翻译工作。


汉化你的RedHat全功略(四)

前言：
    本来是想说一说mo文档的相关问题的，但是前面几篇稿子的问题还多多，就放了下来，写了这篇文章。主要是回答一些问题和提出一些还没有解决的问题的解决方法，

一：ＦＡＱ

Ｑ：我是一个Linux初学者，我能够看懂这些文章吗？
Ａ：只要你会常用的linux命令，基本上就能够完成RedHat上的中文环境和输入法的安装。文章很详细的介绍了具体的安装过程。

Ｑ：为什么在RedHat 6.x平台上安装中文环境用locale-0.97，而在RedHat 7.0
平台上用zh_CN.gz中文环境的定义文件？
Ａ：locale-0.97实质上是台湾CLE的一个部分，CLE的中文化工作做的最透明，并且完全是为RedHat做的，所以它的中文locale最好用。Wu yulun网友把TLC的中文环境zh_CN.GBK也编译了进去。最重要的是这个locale是在glibc 2.13的环境下建立起来的，而RH 6.2恰好用的就是glibc 2.13。这也是为什么我们推荐要把glibc至少升级到glibc 2.13的原因。而RedHat 7使用的是glibc 2.2，没有现成的中文locale给我们用了，所以只好用定义文件自己做一个。

Ｑ：有没有直接的汉化包可以用？
Ａ：CLE就是一个，但是它主要是针对繁体中文做的，输入法用的是xcin。总的来说，CLE是相当优秀的中文套件。但是最近CLE的服务器硬盘坏掉了。

Ｑ：我在编译pth的时候出错，报告ln ... error! permition denied.
Ａ：因为我推荐configure --prefix=/usr，将pth安装到/usr/lib下面，免得在编译Chinput的时候还要指定pth的位置，所以在make install是可能会出现这个问题。最简单的解决办法是configure --prefix=/usr/local/test，安装好pth后，手动将/usr/local/test下的有关内容move到/usr的对应目录下，并且做好连接。

Ｑ：为什么我一运行chinput，xwindow就死掉了，但是Chinput报告Chinput
Load Successfully？
Ａ：最可能的原因是你没有配置好chinput.ad这个文件。这个文件中有四个部分是需要我们注意的：
chinput.gblocale = zh_CN.GB2312
chinput.big5locale = zh_CN.GB2312
...
chinput.gbfont = -*-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0
chinput.big5font = -*-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0
以上是在RedHat 6.2，glib 2.1.3，locale-0.97环境下的改动，如果你是使用的RedHat 7+glibc 2.2+编译glibc 2.2中文定义zh_CN产生的zh_CN.gb23212：
chinput.gblocale = zh_CN.gb2312
chinput.big5locale = zh_CN.gb2312
没有繁体支持的主要原因是RedHat没有繁体中文字库。

注意：在配置chinput.ad时，用tab替代空格。

二：ＫＤＥ的中文化问题

经过我们的一番中文化工作之后，startx，如果你使用的桌面环境是gnome，中文显示和输入是应该没有问题的！但是KDE却不行。KDE的中文化主要集中在QT
的中文支持上，我发现了一个qt 1.42的中文补丁，以后版本的中文补丁就都找不到了，根据台湾Clem's XEmacs pages的介绍，好像是qt 1.42以后的版本都可以很好的支持中文了，但是我发现好像并不是这样的？我把RH 7上的qt以及
KDE相关的包都删掉，装上Xteam 3.2的相关包，发现中文的显示和输入都是没有问题的。stable网友也做了差不多的测试：

     kde的问题比较奇怪, rh6.1上有两个qt lib, qt-1.44和qt-2.01, kde桌面是用 qt-1.44编译的, 但缺省的却是qt-2.01? qt-1.44要支持中文的话,需要打补丁, 我将rh6.1的qt-1.44库换成TLC的打过补丁 的版本,但kde起不来. 后来听TLC的人说, 他们是先给qt-1.44打i18n的补丁, 编译通过,再编译 整个kde src. （--TurboLinux 4.02中文化初探）

看来，想要使用中文的kde，我们要么就是把其他中文linux的qt拿过来，在这个基础上重新编译kde，要么就干脆把qt和kde一块拿过来！但是最好的办法是有一个相应版本的qt中文补丁，但是谁来写他而且把他公开出来呢？？？？？

上面说到的那个qt 1.42的补丁，我还没有测试过，有没有人帮我一下！

三：ＫＥＲＮＥＬ的中文支持

我对kernel src了解的太少太少，在这里只是介绍一下相关的资料！kernel的中文支持，最主要的就是修改kernel src中的输入和输出两个部分，TLC有一个
kernel的unicon补丁计划，现在好像已经做的很好了，有兴趣的朋友可以到相关的网站去看一看！

四：mo文件的介绍

我这里搜集了一些中文mo，如果你已经安装好中文环境和输入法，把他拷贝到/usr/share/locale/zh_CN.GB2312/LC_MESSAGES/下面， 你会发现xwindows的
窗口菜单和消息变成中文了，有一些，比如gftp，就整个中文化了，是不是很爽！你可以猜到这些东西是干什么的吧。它的翻译工作到目前为止还做的相当不完整，下表是翻译进度：

Module | Translated | Fuzzy | Untranslated | %
balsa | 132 strings | 161 strings | 303 strings | 22%
bug-buddy | 89 strings | - | 24 strings | 78%
control-center | 293 strings | 17 strings | 7 strings | 92%
dia | 41 strings | - | 555 strings | 6%
gdm2 | 123 strings | 18 strings | 8 strings | 82%
gedit | 39 strings | 55 strings | 112 strings | 18%
gfloppy | 26 strings | 3 strings | 5 strings | 76%
ggv | 77 strings | - | 54 strings | 58%
ghex | 79 strings | 11 strings | 17 strings | 73%
glade | - | - | - | 0%
gnome-applets | - | - | - | 0%
gnome-core | 437 strings | 163 strings | 179 strings | 56%
gnome-db | - | - | - | 0%
gnome-games | 350 strings | 121 strings | 162 strings | 55%
gnome-libs | 293 strings | 18 strings | 67 strings | 77%
gnome-media | 87 strings | 19 strings | 143 strings | 34%
gnome-pilot | - | - | - | 0%
gnome-pim | 360 strings | 37 strings | 65 strings | 77%
gnome-utils | 371 strings | 117 strings | 198 strings | 54%
gnomeicu | - | - | - | 0%
gnorpm | 222 strings | 35 strings | 81 strings | 65%
gnumeric | 201 strings | 384 strings | 1002 strings | 12%
gtk+ | 100 strings | - | 5 strings | 95%
gtm | - | - | - | 0%
gtop | 242 strings | 18 strings | 17 strings | 87%
libgtop | 239 strings | 13 strings | 56 strings | 77%
magicdev | 11 strings | - | - | 100%
mc | 688 strings | 374 strings | 459 strings | 45%
rp3 | 207 strings | - | 1 strings | 99%
sawfish | - | - | - | 0%
xchat | - | - | - | 0%
Total | 4707 | 1564 | 3520 | 35%

国内有一个http://www.i18n.org.cn，说他们是专们维护这个中文翻译计划，现在看起来也不过是虚有其名罢了！如果你想加入翻译工作，最好还是和网友
wu yulun联系。－－为Linux的中文化作一份工作吧！


汉化你的RedHat全功略(五)

一、机器配置
   开始之前，我必须先要自报一下爱机的配置：PIII 450 + 128M Ram + 20G
HardDisk + Dimond V770 + Dimond S90。整个配置编译过程足足花了我２４个小时，其中编译kernel，整个QT+KDE，Unicon Source花足了起码２２个小时。所以，各位fans的机器如果还低于这个配置的话，应该想象一下编译这些sources所花的时间了。

二、关于这篇文章
  我是在自己的机器上成功的汉化了RedHat，但我并不保证凡是看完这篇文章的朋友都能。本文只是一个参考。本文所需要的软件包和补丁，你可以到我的主页http://www.linuxorb.net下载。

三、汉化后的RedHat是个什么样子？
  采用TurboLinux提供的Unicon 3.0加上内核提供的GBK code page，我们能够得到一个支持中文编码的内核，一个彻底的中文终端，还有Xwindows下中文文件名的支持。
  采用glibc-2.2，我们可以得到更好的中文locale支持。
  采用XFree86 4.01，我们可以得到更多显卡的支持和TrueType字体的支持。
  采用Qt-2.2.2 + codec patch + vim patch能够让KDE比较完美的支持中文显示和中文输入。
  采用KDE-2.01，我们能够得到一个比Win 98还漂亮的桌面环境。
  采用cxterm得到中文的xterm。

四、RedHat 7.0的中文locale的问题
  RedHat 7.0采用的glibc-2.1.96，对中文的支持已经是很好了。我们仅仅需要修改 /usr/lib/gconv/gconv-modules ，加入一行：

alias GB2312-1980// EUC-CN//

把LC_ALL环境变量export为Zh_CN，zh_CN.GB2312，zh_CN.GBK都可以支持简体中文。如果你做了上面的修改，启动到Gnome环境，看看Gnome是不是能够支持中文。最明显的是Gnome桌面的时钟变成中文的了。

五、重新编译内核
  RedHat 7.0所使用的内核是2.2.16，Unicon 3.0有Kernel 2.2.17和kernel 2.4.0test10的补丁，我使用的是kernel 2.2.16 + kernel 2.2.17-patch。如果你采用kernel 2.4test10 + kernel 2.4test10-patch，最后效果可能会更好一点。安装方法和本文介绍的类似。

１、下载Unicon-3.0release.tar.gz，并解包。
# cp unicon-3.0release.tar.gz /tmp
# tar -zxvf unicon-3.0release.tar.gz

２、确定安装了kernel-source，若没有，安装上。
# rpm -Uvh kernel-source*

３、取出其中相应的kernel patch，并给kernel打补丁。
#cp /tmp/unicon-3.0/kernel-patch/kernel-2.2.17.patch.gz /usr/src
#cd /usr/src
#gunzip kernel-2.2.17.patch.gz
#patch -p0<kernel-2.2.17.patch

４、编译内核
#cd /usr/src/linux
#make mrproper
#make menuconfig

Code maturity level options
+-Prompt for development and/or incomplete code/drivers

Console Driver
+-Support Frame Buffer Devices
+-Unicon Support
+-VESA VGA Graphics Console

File system->Native language support
+-Code page 936(GBK)

大多数情况下，我们的机器都是以单机方式运行的，所以在编译内核时，我建议是够用就好，比如说USB、SCSI、ISDN这些设备如果你没有的话，就可以不选了，Network driver这一项，大多数情况下，我们也只需要把PCI n2k或者是ISA n2k选上就可以了，其他的可以统统不要。

#make dep
#make bzImage
#make modules
#make modules_install

如果没有问题的话， /usr/src/linux/arch/i386/boot/下面会产生一个bzImage，这就是新内核了。

５、使用新内核开机
#cp /usr/src/linux/arch/i386/boot/bzImage /boot

编辑/etc/lilo.conf，加入：

image=/boot/bzImage
vga=771
label=zhLinux

注意：vga=771，771表示使用帧缓冲模式：256色，800x600分辨率。其它的显示模式参见下表：

 | 640x480 | 800x600 | 1024x768 | 1280x1024
256 | 769 | 771 | 773 | 775
32K | 784 | 787 | 790 | 793
64K | 785 | 788 | 791 | 794
16M | 786 | 789 | 792 | 795

#lilo
#reboot

然后选择新内核开机。

六、编译安装Unicon 3.0

１、我不确定unicon 3.0是不是需要pth的支持，反正到时候安装chinput的时候也需要它，就先把它安上再说。前一段时间有网友来信询问编译pth时遇到这样那样的问题，现在终于有了pth的rpm4包。安装pth-1.37-2.i386.rpm：

#rpm -Uvh pth-1.37-2.i386.rpm

２、由于 Unicon 包含核心组件，所以要做一下内核的备份。要不然当你以后再编译一些第三方内核模块程序时会出问题的。

# cd /usr/include
# mv linux linux.old
# ln -s /usr/src/linux/include/linux linux

３、我们还需要一些改动一下Unicon 3.0的原码，因为有些编译记号和头文件的错误。 在 unicon/unicon 目录内，需在 ImmHzInput.cpp 和 UniKey.cpp 的头部加入语句 ：

#include <string.h>

在 tools 目录内，在 Makefile.in 中，用 CFLAGS += -V2.96 -I， 替换掉原来的CFLAGS标记。

４、然后开始编译 Unicon。

# cd /tmp/Unicon-3.0
# ./confugre --prefix=/usr/local
# make
# make install
# make data　<--这一步需要一些时间
# make data-install

５、测试

# insmod unikey
# insmod encode-gb
# loadunimap /usr/local/lib/unicon/direct.uni
# unicon --gb

没有问题的话，就可以看到下方的输入条了。
#export LC_ALL=zh_CN.GBK
#date
你应该看到中文日期了吧！

６、让开机时自动启动Unicon

修改/etc/rc.d/rc.local，把下面的这段代码加到最后：

#Start UNICON support
insmod unikey
insmod encode-gb
loadunimap /usr/local/lib/unicon/direct.uni
/usr/local/bin/unicon --gb

这样的话，每次开机Unicon都会自动启动了。

七、使用中文man pages

１、cman是中国linux谈论推出的一个中文man pages计划，如今已经有它的0.2
版本了。但是他还是相当的不完整，大家如果想加入这个计划的话，可以到：http://www.cmpp.net看看。

２、解包
#cp cman-0.0.2-alpha.tar.gz /tmp
#tar -zxvf cman-0.0.2-alpha.tar.gz

３、安装cman
#cd /tmp/cman
#./install.sh

４、重新登陆
#Ctrl+d

５、测试cman
#cman socket

看看现在的中文socket man page吧。


汉化你的RedHat全功略(六)

八、TrueType字体的使用

１、前面已经说过了中文locale的问题，所以就直接开始TrueType字体部分。很抱歉，我仅仅只用过Win98 SE和Win me的simsun.ttf字体。别的字体是不是也可以，我还不知道！据说英文IE5.5中的mssong.ttf也可以很好的被支持。开始前，请先关掉xfs。

#setup
#system service->xfs->去掉前面的*

２、得到TrueType字体
# mkdir /usr/X11R6/lib/X11/fonts/TrueType
# cp windows/fonts/simsun.ttf /usr/X11R6/lib/X11/fonts/TrueType
# cd /usr/X11R6/lib/X11/fonts/TrueType
# ttfmkfdir>fonts.dir
我获得的fonts.dir如下：
4
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1
修改为：
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-ascii-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-fcd8859-15
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-gb2312.1980-0
simsun.ttf -misc-SimSun-medium-r-normal--0-0-0-0-p-0-iso8859-1

#cp fonts.dir fonts.scale

３、修改/etc/X1/XF86Config-4， 找到Section "Files"段，加入字体搜索路径， 并注释掉FontPath "unix/:7100：

Section "Files"
#FontPath "unix/:7100"
FontPath "/usr/X11R6/lib/X11/fonts/local/"
FontPath "/usr/X11R6/lib/X11/fonts/misc/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/:unscaled"
FontPath "/usr/X11R6/lib/X11/fonts/Type1/"
FontPath "/usr/X11R6/lib/X11/fonts/Speedo/"
FontPath "/usr/X11R6/lib/X11/fonts/75dpi/"
FontPath "/usr/X11R6/lib/X11/fonts/TrueType/" <--TrueType字体的路径
EndSection

在Section "Module" 段中加入xtt解析：
Section "Module"
Load "GLcore" Load "dbe"
Load "dri" Load "extmod"
Load "glx" Load "pex5"
Load "record" Load "xie"
Load "v4l"
Load "xtt" <--加入这一行
EndSection

４、为了让Gnome支持新的TrueType字体，修改/etc/gtk/gtkrc.zh_CN：

style "gtk-default-zh-cn" {
"-misc-SimSun-medium-r-normal--12-0-0-0-p-0-*-*"
}

KDE本身提供了字体选择，稍候我们再详细的说。这样的话，当你设定好中文环境变量以后，就可以在Gnome看到TrueType字体了。

九、Chinput 3.01的安装

１、为了省略编译出错的麻烦，我们可以尽量采用i386.rpm包，前面我已经介绍了pth包的安装，如果你当时没有安装，安装之。我的网站收录了Wuyulun做的Chinput 3.01的 rpm4软件包，下载回来。安装之。同时请下载unicon2-im.tar.gz

#rpm -ivh Chinput-3.0.1-1.i386.rpm --nodeps
#cp unicon2-im.tar.gz /usr/lib
#cd /usr/lib
#tar -zxvf unicon2-im.tar.gz
#rm unicon2-im.tar.gz

２、安装好上面的这些软件包后，还需要一些修改：

#cd /usr/lib
#ln -s libstdc++-2-libc6.1-1-2.9.0.so libstdc++-libc6.1-2.so.3

并且保证/usr/lib/ZWinPro/Chinput.ad 的相关部分是下面的样子：

...
chinput.gblocale = zh_CN.GBK
chinput.big5locale = zh_CN.GBK

...
chinput.gbfont = -*-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0 chinput.big5font = -*-*-medium-r-normal--16-*-*-*-c-*-gb2312.1980-0

３、为了让每次登陆的时候都是中文环境，修改 ~/.bashrc 文件，在末尾加上下面的语句：

export LC_ALL=zh_CN.GBK
export LANG=zh_CN.GBK
export XMODIFIERS=@im=Chinput

把环境变量LC_ALL和LANG设置成zh_CN.GBK是为了让Gnome和KDE都能比较好的支持中文。

４、重新登陆，看看你的Gnome是不是能够支持中文输入了。（打开gedit，按下Ctrl+空格，看看是不是有输入条出现）。此时，KDE还是不能支持中文显示和输入。


汉化你的RedHat全功略(七)

十、KDE 2.01的安装和中文化

１、KDE 2.0和Gnome 1.2相比，无论是视觉感受还是功能上我都觉得是KDE更好一些，这可能也是国内的Linux发行商一致采用KDE作为桌面环境的原因吧。由于QT的问题，RedHat上KDE的中文化一直没有什么进展，直到最近我才在日本的
KDE站上找到了中文补丁。我的网站上收录了qt-2.2.1、qt-2.2.2、KDE 2.01的中文补丁。

２、由于RedHat 7.0采用的是qt-2.2.0和KDE-1.1.2，基本上没有我们用的到的东西，所以我们要自己编译整个qt-2.2.2和KDE-2.01的source。大家如果使用的是RedHat 7.0的标准安装盘的话，应该是2 CD的，其中第二张CD的preview目录下面有KDE-2.0的包，可千万不要安装它！否则它会搞得你的locale一团糟。

３、为了方便大家安装，我在我的网站上还提供了下载Qt-2.2.2和KDE-2.01的连接。其实上基本的KDE安装只需要下面的几个包：

qt-x11-2.2.2
kdeadmin-2.0.1
kdesupport-2.0.1
kdebase-2.0.1
kdelibs-2.0.1

由于编译Qt+KDE的source需要极长的时间（上面这几个软件包在我的机器上足足编译了８个小时），大家在下载完相关的软件包和中文补丁后，最好是写一个shell来自动编译。

４、找一个空目录，比如说/tmp，解开qt和kde包，并打补丁

#cp qt-x11-2.2.2.tar.gz /tmp
#cp kdeadmin-2.0.1.tar.bz2 /tmp
#cp kdebase-2.0.1.tar.bz2 /tmp
#cp kdesupport-2.0.1.tar.bz2 /tmp
#cp kdelibs-2.0.1.tar.bz2　/tmp
#cp *.diff /tmp
#cd /tmp
#bunzip2 *.bz2
#tar -zxvf qt-qt-x11-2.2.2.tar.gz
#tar -xvf kdeadmin-2.0.1.tar
#tar -xvf kdebase-2.0.1.tar
#tar -xvf kdesupport-2.0.1.tar
#tar -xvf kdelibs-2.0.1.tar

比如说给Qt-2.2.2打vim的补丁（只有打上这个补丁，才能在KDE中使用中文输入法Chinput）：

#cd /tmp
#patch -p0<qt-2.2.2-xim-20001125-20001128.diff

Qt-2.2.2总共有十个补丁，最好都打上。同时也请打上KDE-2.01的相关补丁。然后：

#mv qt-2.2.2 /usr/lib

５、为了编译Qt-2.2.2和KDE，我们修改一下~/.bashrc，把下面这段shell加到
~/.bashrc的末尾并且重新登陆。

QTDIR=/usr/lib/qt-2.2.2 　## <<---qt-2.2.2的位置##
KDEDIR=/opt/kde2　## <<--kde-2.01的安装路径##
PATH=$KDEDIR/bin:$QTDIR/bin:$PATH MANPATH=$KDEDIR/doc/man:$QTDIR/doc/man:$MANPATH LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
export KDEDIR QTDIR PATH MANPATH LD_LIBRARY_PATH

６、编译qt source：

#cd /usr/lib/qt-2.2.2
#./configure -sm -system-jpeg -gif （可以./configure --help看看选项）

然后qt会询问你一个版权许可的问题，回答yes即可。

#make <--需要几个小时
#make clean

７、写一个shell来编译kde source

#/tmp/install.sh
#! /bin/bash

#Specify where is your kde orginal codes. /tmp is default!

INSTALL_DIR=/tmp

export INSTALL_DIR

#we must compile kdesupport-2.0.1 first!
cd $INSTALL_DIR/support-2.0.1
./configure
make
make install
make clean

#and then,we must compile kdelibs-2.0.1!
cd $INSTALL_DIR/kdelibs-2.0.1
./configure
make
make install
make clean

# then,we must compile kdebase-2.0.1!
cd $INSTALL_DIR/kdebase-2.0.1
./configure
make
make install
make clean

# after the 3 packages,we can free compile any kde packages!
cd $INSTALL_DIR/kdeadmin-2.0.1
./configure
make
make install
make clean

#other kde packages can be compiled here!
#
#end compiled!

#rm /tmp/* -rf
#halt your machine!
halt

这样的话，kde会被安装到/opt/kde2下面。这个过程需要很长的时间，你可以睡觉！

７、编译完成以后，你可以享受KDE 2.01了，RedHat默认的桌面环境是Gnome，所以我们需要在~/.xinitrc（如果没有，自己建立一个）加入一行

/opt/kde2/bin/startkde

同时保证~/.bashrc有下面的语句：

QTDIR=/usr/lib/qt
KDEDIR=/opt/kde2
PATH=$KDEDIR/bin:$QTDIR/bin:$PATH MANPATH=$KDEDIR/doc/man:$QTDIR/doc/man:$MANPATH LD_LIBRARY_PATH=$KDEDIR/lib:$QTDIR/lib:$LD_LIBRARY_PATH
export KDEDIR QTDIR PATH MANPATH LD_LIBRARY_PATH

export LC_ALL=zh_CN.GBK
export LANG=zh_CN.GBK
export XMODIFIERS=@im=Chinput

８、中文mo翻译文件
我在KDE.org的kde-2.01下面没有找到kde-i18n-zh_CN.GB2312相关包，所以就用了RedHat 7.0安装盘上的这个包（在第二张盘的 preview 目录下面）。默认情况下，它会被安装到/usr/lib/kde2下面，我们要把它移动到正确的KDE2安装目录下的相应位置。

#rpm -ivh kde-i18n-zh_CN*
#cd /usr/lib/kde2/share/locale
#cp zh_CN.GB2312 /opt/kde2/share/locale
#cd ..
#cd doc/HTML
#cp zh_CN.GB2312 /opt/kde2/share/doc/HTML
#cd /opt/kde2/share/doc/HTML
#ln -s zh_CN.GB2312 default

注：由于我的记忆力有限，这些文件名和目录名可能不是完全正确，但大概是这个样子的！

９、这时候startx可以进入中文KDE了，如果没有中文，改一下Control Center
--> Personalization --> Country&Language，改成与Chinese GB2312相关的就可以了。顺便改一下Control Center --> looks&feels -->fonts，改成我们安装的中文TrueType字体。重新启动KDE。可以看到中文了吧，运行chinput，看看能不能输入中文。下面是我的中文KDE。

图一：（配置语言环境）

  图二：（配置字体）


汉化你的RedHat全功略(八)

十一、中文文件名

在前面编译内核的时候，我让大家选择了：

File system->Native language support
+-Code page 936(GBK)

如果你这样做了，尝试一下：

#mount -t vfat -o iocharset=cp936 /dev/hdxx /mount point

然后启动KDE，kedit应该可以支持fat32分区上的中文文件名了。但是在中文终端环境下面，那些中文文件名看起来还是乱码。早些版本的2.2内核有一个中文文件名补丁，现在kernel-2.2.16的这种补丁我还没有找到。为了每次不用输入这么长的命令，我们可以修改/etc/fstab，让每次开机的时候系统给我们自动挂上。下面是我的/etc/fstab

LABEL=/ 　 / 　　　　 ext2 　 defaults 　　　　　　　1 1
/dev/cdrom /mnt/cdrom iso9660 iocharset=cp936,noauto 0 0
/dev/fd0 　/mnt/floppy auto 　noauto,owner 　　　　　0 0
none 　　　/proc 　　　proc 　defaults 　　　　　　　0 0
none 　　　/dev/pts 　 devpts gid=5,mode=620 　　　　0 0
/dev/hda9 　swap 　　　swap 　defaults 　　　　　　　0 0
/dev/hda6 /mnt/hda6 　 vfat 　iocharset=cp936 　　　 1 1
/dev/hda1 /mnt/hda1 　 vfat 　iocharset=cp936 　　　 1 1

十二、Chinese team

１、 在console环境下，有很多中文终端，比如说cce等等，我们有unicon，这些中文终端就不需要了。倒是有一些ctelnet之类的程序我们可以好好利用一下他们。console环境下的中文编辑器，我还没有找到！

２、在 X 环境下，我们需要一个中文终端，很早开始就有一个cxteam的工具，你几乎在哪个ftp服务器上都能找到。我的网站上也收录了一个。

十三、GNOME

Gnome对于中文locale的支持非常好，需要我们做的非常少，差不多是把环境变量LC_ALL设置成为zh_CN.xxx就可以了。而且在前面的文章当中，我几乎全部在介绍Gnome的问题，就不再重复了。

十四、剩下的问题

１、大家知道KDE有一个非常好的开发工具Kdevelop，可惜的是这个东西相对于
qt的发展是太慢了。最新的Kdevelop-1.3BETA，需要1.44<=qt<2.0，这也是为什么几乎是所有的Linux发行版本都有两个qt的原因了。我有一个qt-1.44的中文补丁，拿它来编译kdevelop时，qt是没有问题了，但是kdevelop又说我的KDE2.01有问题，尝试了好久，也没有成功。

２、中文终端下中文文件名显示仍然是一个问题，也不知道这个补丁的最新版本什么时候才能找到。可喜的是， KDE环境下已经可以支持中文文件名了。

３、中文终端下面，vim默认情况下不支持双字节输入，我也不知道该怎么办。
哪位大虾知道的话，告诉小弟一声，谢了！在很早的时候有一些emacs的中文输入补丁，好久没有留意了。不知道现在怎么样！

４、使用ghostscript来解析postscript进行中文postscript字体打印的问题我几乎是一无所知，不敢多言。

十五、总结

到现在，大家应该有了一个比较满意的中文RedHat Linux了，虽然还有不少问题。如果对文章当中有不明白的地方，欢迎大家到　http://www.linuxorb.net/
的中文化谈论询问，我将力所能及的解答。同时更希望我的文章能够起到宣传的作用，鼓励更多的人为Linux的本地化做出贡献。对于本文中我还没有解决或者是解决得不好的问题，欢迎大家给我意见。

[上一页]


首页

中 华 电 脑 书 库
http://www.pcbookcn.com
声明：本站所制作的书籍仅供个人学习,交流,研究之用。版权归原 作者和原出版物所有。如要作其它用途请直接与版权所有者联系。