当前位置:Linux教程 - Linux - TurboLinux 4.02中文化初探 2

TurboLinux 4.02中文化初探 2



         c8 ed bc fe 21

    wcstombs() -> length 17, 测试Locale的软件!

    ptr 测试Locale的软件!, mblen 1, wchar b2

    ptr 馐訪ocale的软件!, mblen 1, wchar e2

    ptr 试Locale的软件!, mblen 1, wchar ca

    ptr 訪ocale的软件!, mblen 1, wchar d4

    ptr Locale的软件!, mblen 1, wchar 4c

    ptr ocale的软件!, mblen 1, wchar 6f

    ptr cale的软件!, mblen 1, wchar 63

    ptr ale的软件!, mblen 1, wchar 61

    ptr le的软件!, mblen 1, wchar 6c

    ptr e的软件!, mblen 1, wchar 65

    ptr 的软件!, mblen 1, wchar b5

    ptr 软件!, mblen 1, wchar c4

    ptr 软件!, mblen 1, wchar c8

    ptr 砑?, mblen 1, wchar ed

    ptr 件!, mblen 1, wchar bc

    ptr ?, mblen 1, wchar fe

    ptr !, mblen 1, wchar 21





    在TLC4.02下locale为zh_CN:

    MB_CUR_MAX 3

    string 测试Locale的软件!, length 17

    mbstowcs() -> num 12, 6d4b 8bd5 4c 6f 63 61 6c 65 7684 8f6f 4ef6 21

    wcstombs() -> length 17, 测试Locale的软件!

    ptr 测试Locale的软件!, mblen 2, wchar 6d4b

    ptr 试Locale的软件!, mblen 2, wchar 8bd5

    ptr Locale的软件!, mblen 1, wchar 4c

    ptr ocale的软件!, mblen 1, wchar 6f

    ptr cale的软件!, mblen 1, wchar 63

    ptr ale的软件!, mblen 1, wchar 61

    ptr le的软件!, mblen 1, wchar 6c

    ptr e的软件!, mblen 1, wchar 65

    ptr 的软件!, mblen 2, wchar 7684

    ptr 软件!, mblen 2, wchar 8f6f

    ptr 件!, mblen 2, wchar 4ef6

    ptr !, mblen 1, wchar 21


    这里有个很怪的问题, 装上这个包后,

    在rh6.1下locale为zh_CN, 极不正常,

    MB_CUR_MAX 3

    string 测试Locale的软件!, length 17

    mbstowcs() -> num -1,

    wcstombs() -> length 0,

    ptr 测试Locale的软件!, mblen -1, wchar 0



    在rh6.1下locale为zh_TW.Big5, 要好些

    MB_CUR_MAX 3

    string 测试Locale的软件!, length 17

    mbstowcs() -> num -1,



    ptr 测试Locale的软件!, mblen 2, wchar 8046

    ptr 试Locale的软件!, mblen 2, wchar 5f78

    ptr Locale的软件!, mblen 1, wchar 4c

    ptr ocale的软件!, mblen 1, wchar 6f

    ptr cale的软件!, mblen 1, wchar 63

    ptr ale的软件!, mblen 1, wchar 61

    ptr le的软件!, mblen 1, wchar 6c

    ptr e的软件!, mblen 1, wchar 65

    ptr 的软件!, mblen 2, wchar 8154

    ptr 软件!, mblen -1, wchar 8154





    怀疑TLC对glibc打过补丁, 就用TLC4.02的glibc 2.1.1替换RH6.1的

    glibc2.1.2,得强行替换

    # rpm -e glibc; rpm -i --nodeps glibc-2.1.1-4.i386.rpm

    然后就正常了, 没搞明白, glibc 2.1开始不就完全支持locale了吗,

    还要动什末,:(



    export LC_ALL=zh_CN后, 就中文locale就可以用了,这时如果你在TLC

    下, 运行mc, 菜单就是中文的啦, RH6.1下的mc也是符合i18n的可惜没有

    中文message, 菜单自然不是中文啦, 可以用TLC的mc包换掉RH6.1的.

    另外, 程序的出错提示也是中文的啦, 可以用TLC的gettext换掉rh6.1的,

    运行gettext, 看看中文的提示信息, hehe



    不过TLC作的不彻底, 只提供了很少的几种软件的中文message,不知道其他

    中文Linux的locale作的怎末样
    3. X-Windows的中文化

    按照TLC的说法, 采用freetype + zwinpro的外挂方案, 不用改动X-window

    这里比较麻烦,步骤很多:

    (1)安装中文字库

    zh-ttf-1.1-7.i386.rpm

    在/usr/X11R6/lib/X11/fonts/tt/安装华天中文字库



    rpm -ivh zh-ttf-setup-1.1-2.i386.rpm

    在/usr/X11R6/lib/X11/fonts/tt/下, 字库的fonts.dir

    和fonts.alias



    (2)配置Xfs( X font server)

    将路径/usr/X11R6/lib/X11/fonts/tt/加入到XF86config中的FontPath

    列表中去

    同时将该路径加入到/etc/X11/fs/config的catalogue中去

    kill -HUP xfs的pid重起Xfs



    (3)安装Zwinpro 3.0

    zh-pcf和ZWinPro。最好一齐装,他们相互之间有dependencies,也可,rpm -i

    --nodeps。 我用的是北京linux俱乐部的版本,已经有cxterm了. 如果你的rh没有,请

    先安装它, 因为Zwinpro使用了cxterm的输入法,使用zh-pcf的字库.

    Zwinpro由三部分组成:

    输入法chinput,wrap库libZWin.so,字典xdict

    从中文化的角度看, 前两者更重要些。

    用gtk widget的程序很奇怪,明明调用一下gtk_set_locale()就可以有国际化支持,

    但却偏不用(象GXedit),gtk的作者也不在gtk_init()里调用一下。没办法,只好

    硬弄个wrapper.so 用LD_PRELOAD加上去。



    (我先安装的是binary的包,gnome的中文界面出来了,但在xterm中启动chinput时

    X-window跟死了似的,可能是哪个库冲突了)

    还是用TLC站点的繁体版的ZWinpro3.0的source编译(简体版只有2.0版,还不支持

    XIM).再用简体版的配置文件覆盖之(主要是/usr/lib/ZWinpro目录下的

    Chinput.ad, ZWinPro.ad和zwincontrol.rc)

    这样就可以看到chinput的输入条了,:)




    4)设置gtk



    在/etc/gtk里要有gtkrc.zh,没有自己new一个,要有类似下面的语句:

    (我比较懒,直接从TLC拷过来)

    style \"default\" {

    fontset = \"-adobe-helvetica-medium-r-normal--12-*-*-*-*-*-iso8859-1,\\

    -*-song-medium-r-*--12-*-*-*-*-*-gb2312.1980-0\"

    }



    class \"GtkWidget\" style \"default\" (关键是这行)



    (5)设置环境变量

    export LC_ALL=zh_CN

    export LANG=zh_CN

    export LD_PRELOAD=/usr/lib/libZWin.so



    这时startx进入gnome, 就已经是中文环境了, GXedit可以完美的支持中文, 不会出现

    删除时半个汉字的情况.









    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.



    这样看来, 要在rh6.1下拥有中文的kde环境, 要末将TLC的kde包统统弄来, 要末使用

    中文X-server, 外挂方案是不可行啦.不知道BluePoint的中文X-server是怎么回事,

    采用这种方案, 需不需要对qt-1.44打i18n补丁?





    我个人觉得TurboLinux的最大贡献是: gbk locale和zwinpro, 当然与台湾的CLE

    路子很象(big5 locale和xcin), 工作也差不多. 其实象中文man这样的工作也很值得

    作, 不过好像大家都不以为然, 很不屑的样子. Linux要打桌面的话,没有中文的帮助

    怎末说的过去?



    有不对的地方请大家指正


    发布人:Crystal 来自:linux之家