下一页 上一页 目录

7. libc 5.4.x 及更高版本中的本地设置支持

libc 5.4.x 及更高版本改进了对本地设置的支持。如果您的系统已为本地支持做好准备,您可以避免第 4 章 调整某些应用程序以适应我们的字母表 中描述的许多单独的程序设置。如果您安装了 wg15-locale 软件包,Debian 发行版支持本地设置。如果您想在带有 libc 5.4.x 的非 Debian 系统上设置本地支持,请阅读Locales mini-HOWTO。如果您安装了 glibc-X.X.X-XX-i386.rpm 软件包,RedHat 发行版也从 5.0 版本开始支持本地设置。带有 GNU libc 2 (libc 6.x) 的系统也支持本地设置。

如果您的 Linux 发行版不支持塞尔维亚拉丁文本地设置,请使用以下技巧

  1. 首先,检查您的系统是否支持斯洛文尼亚语或克罗地亚语本地设置。 如果是这样,请跳到步骤 3。
    
    
  2. 在 Internet 上找到文本文件 sl_SIhr_HR,其中描述了克罗地亚语和斯洛文尼亚语的相应设置。
    
    
  3. root 身份登录系统。
    
    
  4. 如果您使用 RedHat 发行版,请转到目录 /usr/share/i18n/locales,或者 Slackware、Debian 或 Caldera 发行版上的相应目录。
    
    
  5. % cp sl_SI (或 hr_HR) /usr/share/i18n/locales/sr_YU
    
    
  6. % cd /usr/share/i18n/locales
    
    
  7. 使用您喜欢的编辑器,更改文件 sr_YU 中的以下行(列出的数字不一定准确,而是为了便于在文件中定位而给出的)
    4:    % Serbian Language Locale for Yugoslavia
    6:    % Address: 
    7:    %   
    8:    % Contact: 
    9:    % Email: 
    10:   % Tel: 
    12:   % Language: sr
    13:   % Territory: YU
    2117: yesexpr "<<(><d><D><y><Y><)/>><*><.>"
    2118: noexpr  "<<(><n><N><)/>><*><.>"
    2122: int_curr_symbol           "<Y><U><N><SP>"
    2123: currency_symbol           "<d><i><n>"
    2148:        "<u><t><o>";"<s><r><e>";/
    2161:        "<j><u><l>";"<a><v><g>";/
    2171:        "<a><v><g><u><s><t>";/
    2177: d_fmt  "<%><d><-><%><m><-><%><Y><.>"
    
  8. 执行命令
    localedef -c -i sr_YU -f ISO-8859-2 sr_YU
    如果一切顺利,您应该拥有塞尔维亚拉丁文本地支持。 要激活它,您应该设置环境变量
    LC_ALL=sr_YU
    此外,如果 sr_YU 不起作用,您可以尝试 sr_YU.ISO_8859_2。 要检查本地支持是否正常工作,请输入
    date
    您应该获得包含我们星期几和月份名称缩写的日期。 上述变量设置所有类别的本地支持。 您可以使用类别名称作为变量来设置单个类别。 本地类别是
    Lokalna kategorija      Primena
    ------------------      -------
    LC_COLLATE              Redosled sortiranja slova u stringu.
    LC_CTYPE                Klasifikacija i pretvaranje znakova.
    LC_MESSAGES             Prevod odgovora "da" i "ne".
    LC_MONETARY             Novcani format.
    LC_NUMERIC              Format ne-monetarnih numerickih vrednosti.
    LC_TIME                 Format datuma i vremena.
    LC_ALL                  Postavlja sve gorenavedene kategorije (i ima
                            prvenstvo u odnosu na sve).
    LANG                    Postavlja sve kategorije, ali moze da bude
                            nadjacana bilo kojom pojedinacnom lokalnom
                            kategorijom.
    
    某些程序(例如 bash 或 GNU emacs)仍然需要特殊的设置,如第 4 章 调整某些应用程序以适应我们的字母表 中所述,但大多数程序应该无需额外的“监督”即可工作。 以前无法使用 8 位字符的程序(例如 nvi)现在应该可以工作了。 随着基于 GNU libc 2 库的发行版的出现,本地支持应该会变得更加普及。 请注意,尽管 Red Hat Linux 5.0 包含 GNU libc 2,但本地支持不起作用。 要激活它,您需要执行以下脚本(忽略警告)
    #!/bin/sh
    localedef -c -i en_DK -f ISO-8859-1 en_DK
    localedef -c -i sv_SE -f ISO-8859-1 sv_SE
    localedef -c -i fi_FI -f ISO-8859-1 fi_FI
    localedef -c -i sv_FI -f ISO-8859-1 sv_FI
    localedef -c -i ro_RO -f ISO-8859-1 ro_RO
    localedef -c -i pt_PT -f ISO-8859-1 pt_PT
    localedef -c -i no_NO -f ISO-8859-1 no_NO
    localedef -c -i nl_NL -f ISO-8859-1 nl_NL
    localedef -c -i fr_BE -f ISO-8859-1 fr_BE
    localedef -c -i nl_BE -f ISO-8859-1 nl_BE
    localedef -c -i da_DK -f ISO-8859-1 da_DK
    localedef -c -i kl_GL -f ISO-8859-1 kl_GL
    localedef -c -i it_IT -f ISO-8859-1 it_IT
    localedef -c -i is_IS -f ISO-8859-1 is_IS
    localedef -c -i fr_LU -f ISO-8859-1 fr_LU
    localedef -c -i fr_FR -f ISO-8859-1 fr_FR
    localedef -c -i de_DE -f ISO-8859-1 de_DE
    localedef -c -i de_CH -f ISO-8859-1 de_CH
    localedef -c -i fr_CH -f ISO-8859-1 fr_CH
    localedef -c -i en_CA -f ISO-8859-1 en_CA
    localedef -c -i fr_CA -f ISO-8859-1 fr_CA
    localedef -c -i fo_FO -f ISO-8859-1 fo_FO
    localedef -c -i et_EE -f ISO-8859-1 et_EE
    localedef -c -i es_ES -f ISO-8859-1 es_ES
    localedef -c -i en_US -f ISO-8859-1 en_US
    localedef -c -i en_GB -f ISO-8859-1 en_GB
    localedef -c -i en_IE -f ISO-8859-1 en_IE
    localedef -c -i de_LU -f ISO-8859-1 de_LU
    localedef -c -i de_BE -f ISO-8859-1 de_BE
    localedef -c -i de_AT -f ISO-8859-1 de_AT
    localedef -c -i sl_SI -f ISO-8859-2 sl_SI
    localedef -c -i ru_RU -f ISO-8859-5 ru_RU
    localedef -c -i pl_PL -f ISO-8859-2 pl_PL
    localedef -c -i lv_LV -f BALTIC lv_LV
    localedef -c -i lt_LT -f BALTIC lt_LT
    localedef -c -i iw_IL -f ISO-8859-8 iw_IL
    localedef -c -i hu_HU -f ISO-8859-2 hu_HU
    localedef -c -i hr_HR -f ISO-8859-2 hr_HR
    localedef -c -i gr_GR -f ISO-8859-7 gr_GR
    

下一页 上一页 目录