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

退出打印视图

更新时间: 2014 年 7 月
 
 

传统语言环境

虽然 Oracle Solaris 中的缺省系统语言环境使用 UTF-8 编码,但也可以使用很多传统语言环境。


注 - GNOME 桌面环境仅支持 UTF-8 语言环境。

system/locale/extra 软件包中包含传统语言环境支持。运行以下命令以安装传统语言环境支持:

# pkg install pkg:/system/locale/extra

要启用对特定语言的支持,请将相应语言环境侧面设置为 true。例如,要安装 da_DK.ISO8859-1 语言环境(实际上是所有 da_DK 语言环境),可以按如下所示启用 facet.locale.dafacet.locale.da_DK

# pkg change-facet facet.locale.da=True
# pkg change-facet facet.locale.da_DK=True

语言环境别名

虽然主要的操作系统通常都能很好地支持最常见的语言环境,但在很多情况下各语言环境的名称会不同。例如,Oracle Solaris 使用 fr_FR.UTF-8 作为法国所说法文的语言环境名称(采用 UTF-8 编码),而 IBM AIX 使用 FR_FR,HP-UX 11.11 和 RHEL 5.4 使用 fr_FR.utf8。在异构环境中或迁移到 Oracle Solaris 时,此不一致可能会带来麻烦。

为了解决该问题,Oracle Solaris 11 的 libc 中引入了对语言环境别名的支持。语言环境选择过程(如 setlocale(3C) 中所指定)和消息对象或消息目录处理(如 gettext(1)catopen(3C)gettext(3C) 手册页中所指定)期间,语言环境名称别名将被接受并映射到相应的规范语言环境名称(如果有)。

此外,为了提供与以前的 Oracle Solaris 发行版更好的兼容性,消息传送功能现在将使用过时的 Solaris 语言环境名称(如 frfr_FR)来查找消息对象或目录。有关更多信息,请参见 Oracle Solaris 11 - End of Feature Notices(Oracle Solaris 11-功能终止通知)页上的 "Localization"(本地化)部分中的 "Short Form Locales"(短格式语言环境)。

典型使用案例主要是 Linux 环境,在该环境下,Linux 样式语言环境名称将用于用户的 shell 初始化文件的语言环境通知中。例如,命令 setenv LANG ja_JP.utf8 包含于 $HOME/.login 中,起始目录已挂载 NFS。在此网络环境中,当用户登录到 Oracle Solaris 11 系统时,内部的语言环境别名支持机制会将语言环境名称透明地映射到相应 Oracle Solaris 语言环境名称(即 ja_JP.UTF-8),并接受和支持用户指定的语言环境名称。同样,当将非 Solaris 语言环境名称通过 ssh(1) 传递到远程 Oracle Solaris 11 计算机时,系统将会识别出、接受和支持这些名称。

有关更多详细信息,请参阅 locale_alias(5) 手册页,其中也包含语言环境名称映射的完整列表。