Linux中文化之Linux的中文化问题简介[2]

[入库:2005年9月19日] [更新:2007年3月25日]

本文简介:

  以下我针对目前大家常用的系统,如何做到像 CLE 那样,有基本的 locale 环境,而 不必真的非装 CLE 不可 (因为常听大家说 CLE 太大)。虽然以下所说的对各位的中文
  环境可能改善不多 (因为目前大部分的软体都还没有 I18N 化),但就当做是为未来做准备。也希望对 source code 有兴趣,喜欢东玩玩、西摸摸 Linux 的网友们,能多多 熟悉这个领域,或者能加入这个领域与我们共同努力。
  以下的软体我以 tgz 为主,而不用 RedHat 的 RPM, 或 Debian 的 deb, 希望这个 「共通语言」在大部分的 Linux distribution 都能适用。
  请确定您的 Linux 的 libc 是 glibc-2.0.7 以上,若您还是用 libc5, 请参 考您的
  distribution 套件,将 glibc-2.0.7 装起来。若您有冒险的精神,想直接玩 glibc-2.1 的话, 可以在这□找到 source:
  glibc-pre2.1_*.tar.gz
  请注意,如果您决定玩 glibc-2.1, 您必须为自己负责,除非您是有经验者, 否则您要有「 Linux 可能会被我不小心玩挂掉」的心□准备。一个保险的做 法,是找一台空
  机器,或一个空的 partition 灌一个白老鼠系统来玩。如果 您不小心出差错而造成任何损失的话,本人不负任何责任。
  如果您是用 glibc-2.1 且一切正常的话,那麽恭喜您,您可以略过这一步。 如果您是 用 glibc-2.0.7, 请至 xcin.linux.org.tw 抓
  libwcsmbs-0.0.4.tar.gz
  wcsmbs-locale-0.4.7.tar.gz
  并将它们装起来。这两个套件其实是来自 CLE, 其中特别注意 wcsmbs-locale 这 个套 件,其原始套件不包函 zh_TW.Big5 locale data, 这个 locale data 是 Platin 加入的,有了它才有用。然後,在 /etc/profile 中加一行:
  export LD_PRELOAD=<路径名>/libwcsmbs.so
  如果您是使用 glibc-2.0.7 的话,请跳过这一步。若您是用 glibc-2.1, 您的系 统多半还没有 zh_TW.Big5 locale data, 此 locale data 可以在上述 wcsmbs-locale 套 件中找到。请将该套件抓回并解开後,找到 localedata 目录下的 zh_TW.Big5 及
  charmaps/BIG5 两个档,这两个分别是 locale def 与 charmap 档,您必须 将这两个档 compile 之後才能使用:
  localedef -i zh_TW.Big5 -f BIG5 -u charids.894 zh_TW.Big5
  (有关 localedef 的用法请见 localedef --help), compile 完成後的 locale data 会自动安装到 /usr/share/locale/zh_TW.big5 下,但由於我们的 locale 名是
  zh_TW.Big5, 所以请您自行将它改名,或做一个 symbolic link。
  请抓回
  ftp://xcin.linux.org.tw/pub/xcin/libwcs/XLC_LOCALE
  档,并放在 /usr/X11R6/lib/X11/locale/zh_TW.Big5 目录下 (您可能需要自 行建此目录) ,同时修改 /usr/X11R6/lib/X11/locale/locale.dir 档,在最 後加入这一行:
  zh_TW.Big5/XLC_LOCALE zh_TW.Big5
  您如果没有中文字型的话,必须抓几个回来装。我个人建议使用 twmoe 字型, 您应该 可以在
  ftp://linux.cis.nctu.edu.tw/pcakges/Chinese
  □头找到。 twmoe 字型非常多,您不用全抓,像我就只有
  kai14.pcf.gz kai15.pcf.gz kai16.pcf.gz
  kai18.pcf.gz kai20.pcf.gz kai24.pcf.gz
  而已。安装方式是: 造一个 /usr/X11R6/lib/X11/fonts/chinese 目录,将字 型档放 进去,在那个目录下执行 mkfontdir, 在 /etc/X11/XF86Config 中将
  /usr/X11R6/lib/X11/fonts/chinese 这个路径加入 FontPath 列表□头。最 後在那个 目录下写一个 fonts.alias 档,建议内容如下
  kai18 -twmoe-kai-medium-r-normal--18-180-75-75-c-180-big5-1
  kai16 -twmoe-kai-medium-r-normal--16-160-75-75-c-160-big5-1
  kai20 -twmoe-kai-medium-r-normal--20-200-75-75-c-200-big5-1
  kai14 -twmoe-kai-medium-r-normal--14-140-75-75-c-140-big5-1
  kai15 -twmoe-kai-medium-r-normal--15-150-75-75-c-150-big5-1
  kai24 -twmoe-kai-medium-r-normal--24-240-75-75-c-240-big5-1
  -twmoe-kai-medium-r-normal-fs-18-180-75-75-c-180-big5-0 (接下一行)
  -twmoe-kai-medium-r-normal--18-180-75-75-c-180-big5-1
  -twmoe-kai-medium-r-normal-fs-16-160-75-75-c-160-big5-0 (接下一行)
  -twmoe-kai-medium-r-normal--16-160-75-75-c-160-big5-1
  -twmoe-kai-medium-r-normal-fs-20-200-75-75-c-200-big5-0 (接下一行)
  -twmoe-kai-medium-r-normal--20-200-75-75-c-200-big5-1
  -twmoe-kai-medium-r-normal-fs-14-140-75-75-c-140-big5-0 (接下一行)
  -twmoe-kai-medium-r-normal--14-140-75-75-c-140-big5-1
  -twmoe-kai-medium-r-normal-fs-15-150-75-75-c-150-big5-0 (接下一行)
  -twmoe-kai-medium-r-normal--15-150-75-75-c-150-big5-1
  -twmoe-kai-medium-r-normal-fs-24-240-75-75-c-240-big5-0 (接下一行)
  -twmoe-kai-medium-r-normal--24-240-75-75-c-240-big5-1
  然後重新进入 X-Window 。
  到此为止,您的系统已具备 I18N 的环境了,如果应用程式有支援 I18N, 则只要您设
  以下的环境变数:
  export LC_CTYPE=zh_TW.Big5 (字元显示、转换为 zh_TW.Big5)
  export LC_MESSAGES=zh_TW.Big5 (讯息显示为中文)
  或
  export LC_ALL=zh_TW.Big5
  export LANG=zh_TW.Big5 (二者皆为所有的东东都变成中文)
  则应该马上可以见到效果。但由於大部分的程式都还没有 I18N 化,因此这□提供两个 例子供您测试:
  在 wcsmbs-locale 套件的 source 中,请到 test 目录 make 一下,执行 testmwm 程
  式,然後输入任意中英文字 (用 xcin & crxvt) 後按 return, 像这样:
  THH:thhpc $ testmwm
  我是居士 1234567
  mb -> wc, size: 13
  wc -> mb, size: 17
  a7 da ac 4f a9 7e a4 68 20 31 32 33 34 35 36 37 0a
  string in buffer *after* mb -> wc then wc -> mb
  我是居士 1234567
  表示 LC_CTYPE locale 成功了,若是
  THH:thhpc $ testmwm
  我是居士 1234567
  mb -> wc, size: -1
  wc -> mb, size: 0
  表示没有成功。可能原因是: 您没有设 LD_PRELOAD? 没有设 LC_CTYPE? 或您以上 的
  安装出错了?
  您可以在 xedit 中显示中文。但因为 Xlib 有一个 bug, 请您找这个软体回来
  compile:
  ftp://xcin.linux.org.tw/pub/xcin/libwcs/lcGen.tar.gz
  然後在您的 $HOME/.Xresources 中加入:
  xtDefaultFontSet: -*-big5-0,-adobe-*-iso8859-1
  xedit*international: True
  xedit*fontSet: -*-big5-0, -adobe-*-iso8859-1
  执行:
  xrdb merge ~/.Xresources
  LD_PRELOAD="<路径名>/libwcsmbs.so <路径名>/lcGen.so" xedit
  这时会跑出一个 xedit 视窗,您可以用 xcin & crxvt 在别的地方先打好一段 中英文 文字,然後用滑鼠 cut & copy 到 xedit, 是不是见到正确的中文了?

本文关键:Linux中文化之Linux的中文化问题简介
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top