localedef - 定义语言环境
localedef [-c] [-f charmap] [-i sourcefile] [-u code_set_name] [-x extensions_file] localename
localedef 实用程序会将语言环境类别的源定义转换至函数和实用程序可用的格式,这些函数和实用程序的操作行为由语言环境变量的设置来确定;请参见 environ(7)。
该实用程序会为一个或多个语言环境类别读取源定义,这些语言环境类别属于来自 –i 选项(如果指定)中命名文件的或来自标准输入的相同语言环境。
每个类别源定义都由对应的环境变量名称来确定,且以 END category-name 语句结束。支持以下类别。
定义字符分类和大小写转换。
定义整理规则。
定义在货币信息格式设置中使用的格式和符号。
为非货币数值编辑定义十进制分隔符、分组以及分组符号。
定义日期和时间信息的格式和内容。
定义肯定性和否定性响应的格式和值。
支持以下选项:
创建永久性输出,即使已经发出警告消息。
指定包含由字符符号和整理元素符号向实际字符编码映射的文件的路径名。如果使用了符号名称(而不是在 collating-symbol 关键字中定义的整理符号),则必须指定此选项。如果没有出现 –f 选项,则将使用缺省字符映射。
包含源定义的文件的路径名。如果未出现此选项,则会从标准输入中读取源定义。
指定用作字符符号和整理元素符号(其编码值根据 ISO/IEC 10646-1: 2000 标准位置常量值进行定义)目标映射的代码集的名称。请参见“附注”部分。
指定列出各种 localedef 选项的扩展文件的名称。请参见 locale(7)。
支持下列操作数:
指定环境变量。如果名称包含一个或多个斜杠字符,则 localename 将解释为路径名称,创建的语言环境定义将存储在该路径名中。可能只有具有相应特权的用户才可以使用该功能。(指定一个 localename 的结果是,尽管可以在一次执行中处理多个类别,但只能处理属于同一语言环境的类别。)
localedef 在当前目录中为 32 位和 64 位环境生成名为 localename 的语言环境数据文件。
必须将该语言环境数据文件移至 /usr/lib/locale/localename/localename 才能使其作为语言环境被识别并获得支持。
有关影响 localedef 执行的以下环境变量的定义,请参见 environ(7):LANG、 LC_ALL、LC_COLLATE、LC_CTYPE、LC_MESSAGES 和 NLSPATH。
将返回以下退出值:
没有发生任何错误,语言环境已成功创建。
发生警告,语言环境已成功创建。
语言环境规范超过实现限制,或者所使用的一个或多个编码字符集不受实现支持,所以没有创建语言环境。
实现不支持创建新语言环境的功能。
发生警告或错误,没有创建输出。
如果检测到错误,则不会创建永久性输出。
说明系统中使用什么通用 EUC 语言环境作为扩展文件。缺省情况下会使用此文件。
说明系统中用作扩展文件的通用单字节文件。
32 位和 64 位环境的语言环境数据文件。
有关下列属性的说明,请参见 attributes(7):
|
locale(1)、iconv_open(3C)、nl_langinfo(3C)、strftime(3C)、attributes(7)、charmap(7)、environ(7)、extensions(7)、locale(7)、standards(7)
如果发生警告,则在指定了 –c 选项时会创建永久性输出。以下条件将导致发出警告消息:
如果在 charmap 文件中没有找到的符号名称用于 LC_CTYPE 或 LC_COLLATE 类别的说明(对于其他类别,这将是一个错误条件)。
如果源中存在不受实现支持的可选关键字。
使用不再支持的选项和选项参数,如 –C、–L、–m 和 –W。
如果使用了 –u 选项,则 code_set_name 选项参数会解释为 ISO/IEC 10646-1: 2000 标准位置常量值转换到的代码集名称。对字符映射文件中的值进行编码时,ISO/IEC 10646-1: 2000 标准位置常量值和其他格式(十进制、十六进制或八进制)都有效。代码集可以是受系统上 iconv_open(3C) 函数支持的任何代码集。
如果 code_set_name、mb_cur_max 或 mb_cur_min 的字符映射文件规范与由 –u 选项参数 code_set_name 表示的代码集的对应值之间产生冲突,则 localedef 实用程序将由于错误而失败。
如果为可移植字符集的字符符号名指定的字符映射编码值与由 US-ASCII 定义的字符编码值之间产生冲突,则结果将不确定。
如果字符映射中非可输出字符指定了不为 -1 的宽度,则 localedef 会生成警告。
选项(如 –C、–L、–m 和 –W)及其选项参数仍被接受,但不使用和支持它们。使用任何这些选项将会显示警告消息,指出不再需要它们。