第五十章 本地化

介绍

IRIS 支持本地化,以便可以为多个国家或多个地区开发应用程序。

首先,在客户端:

  • 对于一组固定的语言,管理门户以浏览器设置指定的本地语言显示字符串。
  • 也可以为自己的应用程序提供本地化字符串。

在服务器端,还有其他注意事项:

  • IRIS 提供了一组预定义的语言环境。 IRIS 区域设置是一组元数据,指定特定国家或地理区域的用户语言、货币符号、格式和其他约定。

区域设置指定写入 IRIS 数据库时要使用的字符编码。它还包括处理与其他字符编码之间的字符转换所需的信息。

  • 当安装 IRIS 服务器时,安装程序会设置该服务器的默认区域设置。

安装后无法更改此设置,但如果需要,可以指定进程使用非默认区域设置。

IRIS 语言环境和国家语言支持

IRIS 区域设置是一组元数据,用于定义适用于特定国家或地理区域的存储和显示约定。区域设置定义包括以下内容:

  • 数字格式
  • 日期和时间格式
  • 货币符号
  • 单词的排序顺序
  • 由标准(ISOUnicode 或其他)定义的默认字符集(该区域设置的字符编码)。

请注意,IRIS 使用短语“字符集”和“字符编码”,就好像它们是同义词一样,但并非在所有情况下都严格如此。

  • 一组转换表(也称为 I/O 表),用于在字符与其他受支持的字符集之间进行转换。

给定字符集(例如CP1250)的“翻译表”实际上是一对表。一个表指定如何从默认字符集转换为外来字符集,另一个表指定如何反向转换。在 IRIS 中,惯例是将这对表视为一个单元。

IRIS 使用术语国家语言支持 (NLS) 来统指区域设置定义以及用于查看和扩展它们的工具。

管理门户提供了一个页面,可以在其中查看默认区域设置、查看任何已安装区域设置的详细信息以及使用区域设置。下面显示了一个示例:

第五十章 本地化-LMLPHP

还可以使用此页面查看可用转换表的名称。这些名称特定于 IRIS。 (在某些情况下,有必要知道这些表的名称。)

IRIS 还提供了一组类(在 %SYS.NLSConfig.NLS 包中)。

默认 I/O

在任何区域设置的定义之外,给定的 IRIS 实例默认配置为使用特定的转换表来进行输入/输出活动。具体来说,它指定在以下场景中使用的默认转换表:

  • IRIS 进程通信时
  • 与 终端通信时
  • 读取和写入文件时
  • 读取和写入 TCP/IP 设备时
  • 读取和写入作为参数(例如文件名和路径)发送到操作系统的字符串时
  • 读取和写入打印机等设备时

例如,当 IRIS 需要调用接收字符串作为参数(例如文件名或路径)的操作系统函数时,它首先将字符串传递给适当称为 syscallNLS 转换。该转换的结果被发送到操作系统。

文件和字符编码

每当读取或写入数据库外部的实体时,该实体可能使用与 IRIS 不同的字符集。最常见的场景是处理文件。

在最低级别,可以使用“打开”命令打开文件或其他设备。此命令可以接受一个参数,该参数指定在将字符转换为该设备或从该设备转换字符时要使用的转换表。然后 IRIS 使用该表根据需要翻译字符。

同样,当使用基于对象的文件 API 时,可以指定文件的 TranslateTable 属性。

(请注意,production适配器类反而提供属性来指定外来字符集 - 用作输入数据的预期字符编码系统和输出数据的所需字符编码。在这种情况下,指定一个标准字符集名称,从支持的集合中进行选择。)

手动翻译字符

IRIS 提供 $ZCONVERT 函数,可以使用该函数手动将字符转换为另一个字符集或从另一个字符集转换字符。

10-08 09:56