|
|
发表于 2004-10-29 15:52:51
|
显示全部楼层
什麽是 locale? 简单说就是一组「地区语言」的资讯。它包括了 (详见 man setlocale):
LC_CTYPE: 字元定义
LC_MESSAGES: 讯息显示
LC_TIME: 时间显示格式
LC_NUMERIC: 数字显示格式
LC_MONETARY: 货币显示格式
LC_COLLATE: 字母顺序与字串比较
其中,与一般使用者最有关系的,是 LC_CTYPE 与 LC_MESSAGES 。 LC_CTYPE 直 接关系到某些字元或内码在目前的 locale 下是否可印? 要如何转换? 对应到那 一个字? .... 等等。 LC_MESSAGES 则关系到软体的讯息输出是什麽样的语文。真 正完整的 locale 支援,是当我们在 shell prompt 下,直接设好环境变数,则我 们马上就能切换到那个语文了。例如:
bash: export LC_CTYPE=zh_TW.Big5
有了 locale 的「协定」,使得任何地区的语文,只要在加入适当的 locale data 之後, libc 就能正确地处理它了,而我们的「中文」当然也不例外。由於前人与 CLE group 的努力,目前我们已有自己的 locale data 了。有安装 CLE 的朋友可 以到 /usr/share/locale 下看看, zh_TW.Big5 就是我们的 locale data, 虽然还 不够完整,但已能 work。
目前 Linux 对於 locale 的支援如何? 可以大概地说,西方语系差不多没问题了, 但东方语系还有不少问题。如果您的 Linux 系统是用 libc5 (例如 Slackware) 的话,那差不多可以说支援得相当差,几乎只能靠「七拼八凑」的方法来有限度地 使用中文。如果是用 libc6 (glibc2) 的话,那就有相当的 locale 支援了
http://www.6168.com/CLDP/gb/doc/i18n-introduction.html
http://www0.ccidnet.com/tech/os/2001/07/31/58_2811.html
大概就先找到这些了。兄弟们共励。还是要靠自己的。 |
|