Oracle® Solaris 11.2 国际语言环境指南

退出打印视图

更新时间: 2014 年 7 月
 
 

基于系统语言环境创建新的语言环境

要从现有语言环境定制并因此创建新语言环境,您需要准备至少三个语言环境定义源文件:

  • localedef 源文件-包含语言环境的必要定义。

  • charmap 源文件-包含代码点值与可读性较好的符号名称之间的映射。localedef 源文件中使用符号名称。charmap 源文件还包含其他定义,例如语言环境的代码集名称、语言环境代码点中可以表示的最大字节数等。

  • extension 源文件-包含内部语言环境方法的标准接口(如 strcoll(3C)fgetwc(3C))的映射,以及正确操作语言环境所需的其他信息。

系统提供的各语言环境在 source/locale/localedef 软件包中获取其各自的语言环境定义数据文件。仅当需要对现有系统语言环境进行略微更改时,这些文件才比较有用。

如何创建定制语言环境

  1. 通过键入以下命令安装所需的软件包:
    $ sudo pkg install system/header source/locale/localedef
  2. 确保 PATH 中包含 Oracle Solaris Studio C 编译器:
    $ export PATH=<oracle-studio-path>/bin:$PATH
  3. 使用以下命令准备好工作区:
    $ mkdir mynewlocale
    $ cd mynewlocale 
    $ mkdir amd64 
    $ cp /usr/lib/locale/common/methods_unicode.so.3 . 
    $ cp /usr/lib/locale/common/amd64/methods_unicode.so.3 amd64/ 
    $ cp /usr/lib/localedef/src/charmaps/UTF-8.charmap \
    /usr/lib/localedef/src/extensions/UTF-8.x \
    /usr/lib/localedef/src/locales/fr_FR.UTF-8.src .
  4. 根据需要对 localedefcharmapextension 源文件进行相应更改。
  5. 生成 64 位语言环境对象。
    $ localedef -m lp64 -f UTF-8.charmap -x UTF-8.x -i fr_FR.UTF-8.src \
    -L "-R\\\$ORIGIN/../../common/amd64 -Bdirect -M /usr/lib/ld/map.pagealign \
    -M /usr/lib/ld/map.noexdata" fr_FR.UTF-8@custom
    $ mv fr_FR.UTF-8@custom.so.3 amd64/
  6. 生成 32 位语言环境对象。
    $ localedef -m ilp32 -f UTF-8.charmap -x UTF-8.x -i fr_FR.UTF-8.src \
    -L "-R\\\$ORIGIN/../common" fr_FR.UTF-8@custom
  7. 安装定制语言环境。
    $ sudo mkdir -p /usr/lib/locale/fr_FR.UTF-8\@custom/amd64 
    $ sudo cp fr_FR.UTF-8\@custom.so.3 /usr/lib/locale/fr_FR.UTF-8\@custom/ 
    $ sudo cp amd64/fr_FR.UTF-8\@custom.so.3 /usr/lib/locale/fr_FR.UTF-8\@custom/amd64/
  8. 键入以下命令以开始使用该语言环境:
    $ export LANG=fr_FR.UTF-8@custom