linux汉化大全(二)
[email protected]
六,REDHAT 7.0中GNOME的汉化
GNOME的中文显示
RedHat 7.0采用glibc2.2和XFree86 4.0.1,对国际化的支持有了很大的进步。GNOME是优秀的桌面平台,也
是目前Linux使用的对国际化支持最好的桌面平台之一。这里我主要讲如何实现在RedHat 7.0下面显示和输入简体中文。
为了简单起见,仅仅讲述GB2312编码的字符集。
因为XFree86 4.0.1对显卡的支持不如XFree86 3.3.6广泛,所以RedHat 7.0里面同时保留了XFree86 3.3.6
可以用xdpyinfo查看XFree86的版本号.方法
xdpyinfo | grep release | sed s/^.*[^[:digit:]]//
看看结果是不是4001或者4002,如果不是,表明版本不是4.0.x
1:升级glibc
RedHat 7.0自带的glibc版本为2.1.92,是2.2的测试版,bug比较多。后来RedHat公司提供了glibc的升级文件。
为了系统的稳定和更好的支持中文,应该将glibc升级到2.2-9版本或更高。下载地址:
ftp://ftp.gnuchina.org/pub/ISO/RedHat/updates/7.0/i386
最好将glibc,glibc-devel,glibc-profile都升级到2.2.9
升级方法:
rpm -Uvh glibc-2.2-9.i386.rpm
2:设置中文locale
Linux采用locale技术以实现对多语言的支持。因此首先要设置中文locale。
如果你使用的是bash,那么请编辑~/.bash_profile文件,加上
export LC_ALL=zh_CN
export LANG=zh_CN
然后运行. .bash_profile或者重新登录账号以使设置生效。
编辑~/.i18n文件,内容为:
LANG="zh_CN"
3:测试中文locale
在控制台上运行date命令,如果你能看到乱码证明中文locale已经生效。
此时运行startx进入GNOME桌面,你将看到任务栏上的时间已经变成中文显示了。如果你默认的不是
GNOME桌面则可以
运行switchdesk gnome切换到GNOME桌面。
4:显示Windows下的中文文件名
如果你还装了中文Windows 95/98/Me,那么现在就可以显示中文文件名了。RedHat 7.0采用2.2.16的内核,可以
支持
简体中文代码页。使用方法:在mount后加选项-o codepage=936,iocharset=cp936。为了永久生效,可以修改
/etc/fstab
文件。例如我的/etc/fstab文件内容为:
LABEL=/ / ext2 defaults 1 1
/dev/hda1 /mnt/c vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/hda7 /mnt/d vfat defaults,codepage=936,iocharset=cp936 0 0
/dev/cdrom /mnt/cdrom iso9660 noauto,owner,ro 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/hda10 swap swap defaults 0 0
5:安装中文TrueType字体(参看前文)
6:设置GNOME的TrueType中文字体
为了使我们设置的TrueType字体能够在GNOME下面使用,必须修改GNOME的资源配置文件。
编辑/etc/gtk/gtkrc.zh_CN文件,设置字体如下:
style "gtk-default-zh-cn" {
fontset = " -misc-simsun-medium-r-normal--14-0-0-0-p-0-*-* "
}
class "GtkWidget" style "gtk-default-zh-cn"
再编辑/etc/gnome/gtkrc.zh_CN文件,将所有的FontSet设置为:
fontset = "-misc-simsun-medium-r-normal--14-*-*-*-*-*-gb2312.1980-0"
此时运行startx进入GNOME桌面,就可以看到漂亮的TrueType中文字体啦!
七,kde2.1.1的汉化
KDE 2.1.1 于今年3月26日发行的最新版本. 该版本包括了linuxforum成员Rigel为 KDE 2.1 写的中文补丁. 同时 KDE 中文翻
译队伍的负责人Wan Jian 修正了有问题的 po 文件, 这样 KDE 2.1.1 就成了第一个无需补丁支持简体中文的 KDE 版本.
我得到消息后,第一时间下载到kde2.1.1的软件包,我用的是redhat 7.1B2版本,在网站上没有提供redhat 7的rpm包,我只有
用bz2软件包了。
我已经安装了qt-2.2.4的rpm包,所以就可以直接开始安装,其他同志最好用qt-2.3
注意:我用的是qt-2.2.4的rpm包,如果用qt-2.3的tgz版本,请注意修改相应部份.(PATH,QTDIR)
首先,安装kde2.1.1
首先把下载的bz2包拷贝到/usr/local/kde下,用bunzip2和tar解包
如:bunzip2 kdelibs-2.1.1.tar.bz2
tar xvf kdelibs-2.1.1.tar
注意:安装kde必须安装kdelibs和kdebase,强烈要求安装kdesupport,其它都为选装,我当然
全装了,我的机器为celeron 600,128M,足足用了两个晚上才编译完,怕麻烦的人还是等rpm包吧!!
修改~/.bash_profile
PATH=/usr/local/sbin:/usr/sbin:/sbin:$PATH:$HOME/bin:/usr/local/bin:/usr/lib/qt-2.2.4/bin:/usr/local/kde/bin
BASH_ENV=$HOME/.bashrc
USERNAME="root"
QTDIR="/usr/lib/qt-2.2.4"
KDEDIR="/usr/local/kde/"
export USERNAME BASH_ENV PATH QTDIR KDEDIR
export LANG=zh_CN.GB2312
export LC_ALL=zh_CN.GB2312
export XMODIFIERS=@im=Chinput
进入/usr/local/kde/kdelibs目录
./configure
make
make install
编译极耗时间,去喝喝茶吧!
接着编译其它软件包,完成后修改~/.xinitrc
rm ~/.xinitrc
cat >.xinitrc
startkde
Ctrl-D
接着,参照前文,安装中文字库和chinput
最后,调整kde
重启动后,用startx进入kde.修改字符集,改选字符,退出再进入kde
一切正常,所有的菜单都显现汉字,不过小问题总是有的, 都算不错了。用gedit编辑中文,用mozilla上网,一切
都棒极了,mozilla的书签中文显示也很正常。
八,中文打印
在 linux 下打印是件麻烦事, 中文打印由甚. 为什么哪? 将屏幕上看到的文字印到纸上, 要经过两步:
1. 应用程序生成postscript 文件;
2. 将该文件送到打印机 (直接或通过 ghostscript). 让我们先从第二步看起.
一. 如何打印中文 postscript 文件?
最大的问题是一般打印机不支持或不带中文字体. 一般我们使用 ghostscript, 但ghostscript 对中文字体的支持也不是很完美. 大多数情况下需要打补丁. 目前有以下几种解决方案:
1. 直接 patch ghostscript 使其支持 truetype 字体. 可参看该网站. 这是目前最为简单的方法. 缺点是需要 > 6.0 版的 ghostscript, 该版目前还没有以GPL施放, 任何 linux 都不会预装, 需要自己下载安装.
2. 使用 CID 字体. CID 是 adobe 为亚洲文字设计的字体, 打破了 type1 字体只能容纳 256 个字符的限制. ghostscript (> V5.5?) 直接支持 CID 字体, 无需补丁. 可参看同一网站如何设置. 本来这应该是最好的方案, 因为不要打补丁.可惜 CID 字体太少了.
3. Patch ghostscript 使其支持 VFlib, 通过 VFlib 支持 truetype 字体. 优点是支持老的 ghostscript 版本 (中文有 for 5.5 的 patch, 日文甚至有 for 4.x的), 支持字体变形等. 缺点是需要额外安装 VFlib. Turbolinux 6.0 以上及CLE v0.9p1以上均使用了该方法. 可以到它们相应的软件包中找补丁.
4. 陈向阳的 gbpfb 包, 将中文 truetype 字体转换成 type1 pfb 字体, 由于type1字体只能容纳 256 个字符的限制, 一个 truetype 字体将会生成 30-40个 pfb 字体, 再由一个前端文件控制. 当年这是我们中国人唯一知到的打印中文 postscript文件的方法. 我还记得用此法第一次从 netscape 打印出中文的惊喜. Turbolinux4.x 以下及蓝点等中文发布均使用了该方法. 但现在与前述的 1-3 法相比, 显得有些简陋, 存在一些难以克服的毛病, 已经越来越少的被使用了. 如果您想要可以在上面提到的几个中文 linux 中找到.
5. 在 postscript 文件中内嵌中文点阵字体. 优点是连 ghostscript 都不需要了,直接送到任何支持 postscript 的打印机上就可打印. 缺点是生成的文件庞大,打印出的质量欠佳.
最后, 使用 1-4 法都需要通过 ghostscript 将文件发往打印机. 有两种用法:
直接使用, 如: gs -q -dBATCH -sDEVICE=printer-type -sOutputFile=lpr -
或设置 filter 使 lpr 自动调用 ghostscript.
二. 我能打印中文 postscript 文件, 可是还是不能从 xxx 程序中打印中文!?
这就需要我们看看打印过程的第一步, 即应用程序生成postscript 文件. 目前有多少 linux 下的程序能生成支持中文的 postscript 文件? 少只又少, 真正不需要任何补丁就能 work 的我知道的有三个: netscape/mozilla/abiword(>=0.12).
主要问题是很少有程序能正确处理中文 font. 在 UNIX/LINUX 世界没有统一的打印API, 任何程序想打印, 必须自己写 code 生成 postscript 文件, 很难想像所有程序员都原意并有能力考虑中文 postscript 字体问题. 现在 gnome-print 和 QT printer class 都是试图产生一个公用 API 以便应用程序不必自己处理生成 postscript的问题. 可惜二者都处于起步阶段, 仅仅聚焦于 type1 字体, 还没顾的上考虑中文的问题. 也就是说目前所有 GNOME/KDE 应用程序, 只要使用这两个 API, 都不能生成正确的中文 postscript 文件, 不能印出中文字. 台湾有人(见CLE的QT包)写了 QT printer 的patch, 但还不是很完善; 没听说有 gnome-print 的中文 patch.
三,我是如何打印中文的
我用的是ghostscript-6.0-1.i386.rpm和gbpfb-1.1-2.i386.rpm来进行中文打印。
想要该软件的人可再http://www.linuxaid.com.cn/engineer/hubertzou/获得。
需要提醒的是,要先安装ghostscript-6.0-1.i386.rpm,用qs -help测试一下后再安装gbpfb-1.1-2.i386.rpm.
再netscape或mozilla中的print command中把lpr改为ns2cps - | lpr
这样,就可以用netscape来打印中文html和中文txt文件了。
至于其它的方法,我没有试过,但为了提供尽量多的方法,所以也提供给大家。
九,Mozilla的汉化
上网冲浪最重要的软件莫过于浏览器了。Linux下常用的浏览器有Netscape、Lynx等。这里我要向各位推荐的是
Netscape的新一代浏览器核心——Mozilla。Mozilla完全符合最新W3C标准,
目前最新版0.8.1无论是从功能还是稳定性上来说都已经做的相当不错了。
下载Mozilla 0.8.1
下载地址http://www.mozilla.org
安装
tar zxvf mozilla-i686-pc-linux-gnu-0.8.1.tar.gz
cd mozilla
./mozilla
这时mozilla就启动了。现在我们来做一些配置工作。首先选择Edit--Preferences,弹出对话框
选择Appearance--Fonts,在Language Encoding中选择Simplified Chinese,然后将Serif、
Sans Serif、Monospace都选择misc-simsun-gb2312.1980-0字体。Size设为14。
有些站点可以自动识别语言。这可以通过以下方法实现:
Navigator--Languages--Add...
选择Chinese/China [zh-cn]
点击Move Up,将中文语言放在最上面。
最后点OK完成配置,然后退出Mozilla。(注意:这一点很重要,因为mozilla退出时会改写配置文件。如果
没有退出mozilla做以下操作将无效!)
cd mozilla/defaults/pref,编辑unix.js
找到这样两行
pref("font.min-size.variable.zh-CN", 16);
pref("font.min-size.fixed.zh-CN", 16);
改为
pref("font.min-size.variable.zh-CN", 12);
pref("font.min-size.fixed.zh-CN", 12);
这样可以使网页看上去美观多了。
最后是对输入法的配置
cd ~/.mozilla
在里面找到pref.js文件,在文件最后加上这样一行
pref("xim.input_style","over-the-spot");
然后运行mozilla,就可以显示效果很好的中文网页了!显示效果一点不比IE 5.0差。
为了方便,可以在panel中增加mozilla的启动图标。mozilla有一个bug,当xmms正在播放的时候不能启动,
因此启动mozilla时需要停止xmms。
为了方便中文识别,可以选择View--Character Coding--Auto-Detect--Simplified Chinese以后mozilla会
自动识别中文代码页面。
十:glibc 2.2的汉化实验
glibc 2.2的一个重要方面就是彻底国际化,比如wchar_t内码为4字节Unicode(UCS-4)。对于最新国家
标准18030-2000的支持更是自然而然的事。
我的兴趣所在却是UTF-8。试验UTF-8的条件终于成熟了。
第一件事,去http://dickey.his.com/xterm/xterm.html取来最新的 xterm 源码包,
tar zxf xterm.tar.gz
./configure --enable-wide-chars
make
得到 xterm 执行码。调出一个新的 xterm 窗口,
./xterm -u8 -fn 9x18U &
在这个 xterm 窗口中,理论上说,所有的Unicode文件都能显示,中文自不例外。假如手头一时找不到
UTF-8编码的文件,转一个很容易。比如 A.GBK是一个国标文件,用 iconv -f GBK -t UTF-8 A.GBK >A.UTF-8马
上得到一个UTF-8文件。看一下对不对, cat A.UTF-8
第二件事,造一个使用UTF-8的中文环境。
先拿两个文件来,
cp /usr/share/i18n/charmaps/UTF-8.gz .;
gunzip UTF-8.gz cp /usr/share/i18n/locales/zh_CN
由这两个文件便可以生成UTF-8中文环境,
localedef -v -c -f ./UTF-8 -i ./zh_CN /usr/lib/locale/zh_CN.UTF-8
有了这一中文环境,就可以选用了,
LC_ALL=zh_CN.UTF-8; export LC_ALL
如何证明呢,看时间, date +%c结果是 2000年11月09日星期五EST下午10点39分15秒甚至ls -l也显示
出中文月份。至于中文输入,chinput,cce就可搞定!
发布人:netbull 来自:LinuxAid