admin管理员组

文章数量:1567552

汉化你的RedHat全功略  ( Rayi々)

汉化你的RedHat全功略(一)

  前言: 

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

能够自己动手享受中文. 

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

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

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包,安装它吧! 

他会生成3个环境定义 

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" 

  采用16点的汉字,这样会看起来舒服一点. 

  二.安装中文输入法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.

汉化你的RedHat全功略(二)

 

  前言: 

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

点吧。最好的办法当然是让Redhat接受TrueType字体。 

如果你使用的不是Redhat 7.0的话,很不幸,他们所附带的Xf86对TrueType字体的支持并不是很好,甚至可以用非常的差来形容。所以,确定你

的Xfree86版本是4.0以上版本是非常必要的。(RH 6.2的Xfree86是3.3.6版本) 

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

  一.XFree86 

  1-1 确定Xfree86的版本 

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

  1-2 获得Xfee86 4.01 

下载下面这些软件包(from xree86)
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 

总共大概是20M,一个多小时可以下载完毕! 

  1-3 升级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环境! 

  二 字体 

  2-1 xfs 

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

  2-2 得到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改成了下面的样子. 


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 

  2-3 让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) 

  2-4 让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. 

事情到这里看起来好像是非常完美了,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 ) 

二 简体中文环境的安装 

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

2-2 测试简体中文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字体有着良好的支持。 

2-1 xfs字体服务 
默认情况下,RH 7采用了xfs,请关闭它:setup->system service->去掉xfs前面的*。同时请更改/etc/X11/XF86Config.4,把 FontPath 

"unix/:7100" 这一行注释掉。 

2-2 获得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改成了下面的样子. 


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 

2-3 让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 

2-4 让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就

可以了。 

汉化你的RedHat全功略(四)

 

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

有解决的问题的解决方法, 

一:FAQ

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

Q:为什么在RedHat 6.x平台上安装中文环境用locale-0.97,而在RedHat 7.0
平台上用zh_CN.gz中文环境的定义文件?
A: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给我们用了,所

以只好用定义文件自己做一个。

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

了。

Q:我在编译pth的时候出错,报告ln ... error! permition denied.
A:因为我推荐configure --prefix=/usr,将pth安装到/usr/lib下面,免得在编译Chinput的时候还要指定pth的位置,所以在make install是

可能会出现这个问题。最简单的解决办法是configure --prefix=/usr/local/test,安装好pth后,手动将/usr/local/test下的有关内容move到

/usr的对应目录下,并且做好连接。

 

Q:为什么我一运行chinput,xwindow就死掉了,但是Chinput报告Chinput
Load Successfully?
A:最可能的原因是你没有配置好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替代空格。

二:KDE的中文化问题

经过我们的一番中文化工作之后,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的中文支持

我对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,说他们是专们维护这个中文翻译计划,现在看起来也不过是虚有其名罢了!如果你想加入翻译工作,最好还是和网友
wu yulun联系。--为Linux的中文化作一份工作吧!

汉化你的RedHat全功略(五)

一、机器配置  
  开始之前,我必须先要自报一下爱机的配置:PIII 450 + 128M Ram + 20G
HardDisk + Dimond V770 + Dimond S90。整个配置编译过程足足花了我24个小时,其中编译kernel,整个QT+KDE,Unicon Source花足了起码

22个小时。所以,各位fans的机器如果还低于这个配置的话,应该想象一下编译这些sources所花的时间了。

二、关于这篇文章
 我是在自己的机器上成功的汉化了RedHat,但我并不保证凡是看完这篇文章的朋友都能。本文只是一个参考。本文所需要的软件包和补丁,你

可以到我的主页http://www.linuxorb下载。 

三、汉化后的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,最后效果可能会更好一点。安装方法和本文介绍的类似。

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

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

3、取出其中相应的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

4、编译内核
#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,这就是新内核了。

5、使用新内核开机
#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

1、我不确定unicon 3.0是不是需要pth的支持,反正到时候安装chinput的时候也需要它,就先把它安上再说。前一段时间有网友来信询问编译

pth时遇到这样那样的问题,现在终于有了pth的rpm4包。安装pth-1.37-2.i386.rpm:

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

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

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

3、我们还需要一些改动一下Unicon 3.0的原码,因为有些编译记号和头文件的错误。 在 unicon/unicon 目录内,需在 ImmHzInput.cpp 和

 UniKey.cpp 的头部加入语句 :

#include <string.h>

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

4、然后开始编译 Unicon。

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

5、测试

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

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

6、让开机时自动启动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

1、cman是中国linux谈论推出的一个中文man pages计划,如今已经有它的0.2版本了。但是他还是相当的不完整,大家如果想加入这个计划的

话,可以到:http://www.cmpp看看。

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

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

4、重新登陆
#Ctrl+d

5、测试cman
#cman socket

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

汉化你的RedHat全功略(六)

 

八、TrueType字体的使用 

1、前面已经说过了中文locale的问题,所以就直接开始TrueType字体部分。很抱歉,我仅仅只用过Win98 SE和Win me的simsun.ttf字体。别的

字体是不是也可以,我还不知道!据说英文IE5.5中的mssong.ttf也可以很好的被支持。开始前,请先关掉xfs。

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

2、得到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如下:

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

3、修改/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 

4、为了让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的安装

1、为了省略编译出错的麻烦,我们可以尽量采用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

2、安装好上面的这些软件包后,还需要一些修改: 

#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

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

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

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

4、重新登陆,看看你的Gnome是不是能够支持中文输入了。(打开gedit,按下Ctrl+空格,看看是不是有输入条出现)。此时,KDE还是不能支

持中文显示和输入。

汉化你的RedHat全功略(七)

 

十、KDE 2.01的安装和中文化

1、KDE 2.0和Gnome 1.2相比,无论是视觉感受还是功能上我都觉得是KDE更好一些,这可能也是国内的Linux发行商一致采用KDE作为桌面环境的

原因吧。由于QT的问题,RedHat上KDE的中文化一直没有什么进展,直到最近我才在日本的KDE站上找到了中文补丁。我的网站上收录了qt-

2.2.1、qt-2.2.2、KDE 2.01的中文补丁。

2、由于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一团糟。

3、为了方便大家安装,我在我的网站上还提供了下载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需要极长的时间(上面这几个软件包在我的机器上足足编译了8个小时),大家在下载完相关的软件包和中文补丁后,

最好是写一个shell来自动编译。

4、找一个空目录,比如说/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

5、为了编译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 

6、编译qt source:

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

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

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

7、写一个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下面。这个过程需要很长的时间,你可以睡觉! 

7、编译完成以后,你可以享受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 

8、中文mo翻译文件
我在KDE的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

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

9、这时候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

1、 在console环境下,有很多中文终端,比如说cce等等,我们有unicon,这些中文终端就不需要了。倒是有一些ctelnet之类的程序我们可以

好好利用一下他们。console环境下的中文编辑器,我还没有找到!

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

十三、GNOME

Gnome对于中文locale的支持非常好,需要我们做的非常少,差不多是把环境变量LC_ALL设置成为zh_CN.xxx就可以了。而且在前面的文章当中,

我几乎全部在介绍Gnome的问题,就不再重复了。 

十四、剩下的问题

1、大家知道KDE有一个非常好的开发工具Kdevelop,可惜的是这个东西相对于qt的发展是太慢了。最新的Kdevelop-1.3BETA,需要1.44<=qt

<2.0,这也是为什么几乎是所有的Linux发行版本都有两个qt的原因了。我有一个qt-1.44的中文补丁,拿它来编译kdevelop时,qt是没有问题

了,但是kdevelop又说我的KDE2.01有问题,尝试了好久,也没有成功。 

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

件名了。

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

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

十五、总结 

到现在,大家应该有了一个比较满意的中文RedHat Linux了,虽然还有不少问题。如果对文章当中有不明白的地方,欢迎大家到

http://www.linuxorb/的中文化谈论询问,我将力所能及的解答。同时更希望我的文章能够起到宣传的作用,鼓励更多的人为Linux的本地化

做出贡献。对于本文中我还没有解决或者是解决得不好的问题,欢迎大家给我意见。


本文标签: 汉化全功略redhat