Next Previous Contents

5. 在 libc 5.4.x 以上版本中支持区域化资料库 (locale)

libc 5.4.x 版本已经具备 locale 支持. 如果你的系统支持 locale, 你就不需要像 特定应用程序中的国际字元集 那样针对每个程序做设定. 欲在 Debian 中取得此支持, 你必须安装 wg15-locale 包裹. 具备 GNU libc 2 (libc 6.x) 的系统则预设支持 locale (详见本节内关于 Red Hat Linux 5.0 版本的信息.)

若你的系统不支持 locale, 你可以使用以下方法取得支持:

  1. 确定你使用最新的 libc 5.4.x library. 若没有, 你可以从 Yggdrasil Computing 取得.
  2. 确定你已安装 localedef. 这个程序是跟著 library 一起安装的.
  3. 取得 locale 来源档. 可从 DKUUG 取得. 你必须同时拥有 localecharmap 来源档.
  4. 将 locale 来源档放入 /usr/share/i18n/locales/, 并将 charmap 来源档放入 /usr/share/i18n/charmaps/.
  5. 执行 localedef 以建立 locale 资料档:
    localedef -ci da_DK -f ISO_8859-1:1987 da_DK
    
    (注, 给非丹麦语读者: 其他语言的 locale 也可以同样方式建立. 所有 locale 和 charmap 来源档都在 DKUUG 网站上.)

你可设定下列两个环境变数中的其中一个以取得丹麦语 locale 支持:

LANG=da_DK
LC_ALL=da_DK

如果 da_DK 行不同, 请试试 da_DK.ISO_8859-1.

这两个环境变数都会设定所有的 locale 目录. 若要设立一个单独的 locale 目录, 请将目录名设为环境变数. locale 目录如下:

Locale category         Application
---------------         -----------
LC_COLLATE              字串校对 (排序)
LC_CTYPE                字元分类及转换
LC_MESSAGES             yes 或 no 的信息翻译
LC_MONETARY             货币符号格式
LC_NUMERIC              非数字符号格式 
LC_TIME         日期与时间格式
LC_ALL                  以上所有的设定 (将会覆写以上所有的设定)
LANG                    设定所有目录, 但可被以上任一单独的目录覆写掉

在 Red Hat Linux 5.2 下, 你可以在文档 /etc/sysconfig/i18n 中设定环境变数 LANG 以及/或 LC_ALL:

LC_ALL=da_DK

某些程序, 像是 bashGNU emacs 仍需要如 特定应用程序中的国际字元集 中所述的特殊设定程序, 但大部份的程序就不需要进一步的修改. 在经过以上步骤后, 原先不接受 8-bit 字元的程序, 诸如 nvi, 应该就可以用了.

具备 GNU libc 2 的版本往往支持 locale, 但请注意: 虽然 Red Hat Linux 5.0 具备 GNU libc 2, 但它却不支持 locale. 你必须自己执行 localedef 以建立 locale 资料档. 以下指令将会建立丹麦语 locale 资料档:

localedef -c -i da_DK -f ISO-8859-1 da_DK

glibc-2.0.7-4.i386.rpm 的 library 中已包含 locale 资料档, 不需要额外的设定.


Next Previous Contents