'\" te .\" Copyright (c) 1992, X/Open Company Limited All Rights Reserved .\" Portions Copyright (c) 2003, Sun Microsystems, Inc. All Rights Reserved .\" Sun Microsystems, Inc. gratefully acknowledges The Open Group for permission to reproduce portions of its copyrighted documentation.Original documentation from The Open Group can be obtained online at http://www.opengroup.org/bookstore/. .\" The Institute of Electrical and Electronics Engineers and The Open Group, have given us permission to reprint portions of their documentation.In the following statement, the phrase"this text" refers to portions of the system documentation.Portions of this text are reprinted and reproduced in electronic form in the Sun OS Reference Manual, from IEEE Std 1003.1, 2004 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2004 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group.In the event of any discrepancy between these versions and the original IEEE and The Open Group Standard,the original IEEE and The Open Group Standard is the referee document.The original Standard can be obtained online at http://www.opengroup.org/unix/online.html.This notice shall appear on any product containing this material. .TH localedef 1 "2004 年 10 月 11 日" "SunOS 5.11" "用户命令" .SH 名称 localedef \- 定义语言环境 .SH 用法概要 .LP .nf \fBlocaledef\fR [\fB-c\fR] [\fB-C\fR \fIcompiler_options\fR] [\fB-f\fR \fIcharmap\fR] [\fB-i\fR \fIsourcefile\fR] [\fB-L\fR \fIlinker_options\fR] [\fB-m\fR \fImodel\fR] [\fB-u\fR \fIcode_set_name\fR] [\fB-W\fR cc, \fIarg\fR] [\fB-x\fR \fIextensions_file\fR] \fIlocalename\fR .fi .SH 描述 .sp .LP \fBlocaledef\fR 实用程序会将语言环境类别的源定义转换至函数和实用程序可用的格式,这些函数和实用程序的操作行为由语言环境变量的设置来确定;请参见 \fBenviron\fR(5)。 .sp .LP 该实用程序会为一个或多个语言环境类别读取源定义,这些语言环境类别属于来自 \fB-i\fR 选项(如果指定)中命名文件的或来自标准输入的相同语言环境。 .sp .LP 每个类别源定义都由对应的环境变量名称来确定,且以 \fBEND\fR \fIcategory-name\fR 语句结束。支持以下类别。 .sp .ne 2 .mk .na \fB\fBLC_CTYPE\fR\fR .ad .RS 15n .rt 定义字符分类和大小写转换。 .RE .sp .ne 2 .mk .na \fB\fBLC_COLLATE\fR\fR .ad .RS 15n .rt 定义整理规则。 .RE .sp .ne 2 .mk .na \fB\fBLC_MONETARY\fR\fR .ad .RS 15n .rt 定义在货币信息格式设置中使用的格式和符号。 .RE .sp .ne 2 .mk .na \fB\fBLC_NUMERIC\fR\fR .ad .RS 15n .rt 为非货币数值编辑定义十进制分隔符、分组以及分组符号。 .RE .sp .ne 2 .mk .na \fB\fBLC_TIME\fR\fR .ad .RS 15n .rt 定义日期和时间信息的格式和内容。 .RE .sp .ne 2 .mk .na \fB\fBLC_MESSAGES\fR\fR .ad .RS 15n .rt 定义肯定性和否定性响应的格式和值。 .RE .SH 选项 .sp .LP 支持以下选项: .sp .ne 2 .mk .na \fB\fB-c\fR\fR .ad .RS 23n .rt 创建永久性输出,即使已经发出警告消息。 .RE .sp .ne 2 .mk .na \fB\fB-C\fR \fIcompiler_options\fR\fR .ad .RS 23n .rt 将 \fIcompiler_options\fR 传递到 C 编译器 (\fBcc\fR)。如果指定了多个选项,则这些选项必须括在引号 (\fB" " \fR) 中。 .sp 这是一个旧的选项。请使用 \fB-W\fR \fBcc\fR,\fIarg\fR 选项代替。 .RE .sp .ne 2 .mk .na \fB\fB-f\fR \fIcharmap\fR\fR .ad .RS 23n .rt 指定包含由字符符号和整理元素符号向实际字符编码映射的文件的路径名。如果使用了符号名称(而不是在 \fBcollating-symbol\fR 关键字中定义的整理符号),则必须指定此选项。如果没有出现 \fB-f\fR 选项,则将使用缺省字符映射。 .RE .sp .ne 2 .mk .na \fB\fB-i\fR \fIsourcefile\fR\fR .ad .RS 23n .rt 包含源定义的文件的路径名。如果未出现此选项,则会从标准输入中读取源定义。 .RE .sp .ne 2 .mk .na \fB\fB-L\fR \fIlinker_options\fR\fR .ad .RS 23n .rt 将 \fIlinker_options\fR 传递到 C 源文件名之后的 C 编译器 (\fBcc\fR)。如果指定了多个选项,则这些选项必须括在引号 (\fB" " \fR) 中。 .sp 这是一个旧的选项。请使用 \fB-W\fR \fBcc\fR,\fIarg\fR 选项代替。 .RE .sp .ne 2 .mk .na \fB\fB-m\fR \fImodel\fR\fR .ad .RS 23n .rt 指定 \fBlocaledef\fR 是生成 64 位还是 32 位语言环境目标文件。 .sp 将 \fImodel\fR 指定为 \fBilp32\fR 以生成 32 位语言环境目标文件。指定 \fBlp64\fR 以生成 64 位语言环境目标文件。如果未指定 \fB-m\fR 选项,则 \fBlocaledef\fR 生成 32 位语言环境目标文件。如果没有指定 \fB-c\fR、\fB-f\fR 和 \fB-i\fR 选项之外的其他选项,且运行 \fBlocaledef\fR 的系统支持 64 位环境,则 \fBlocaledef\fR 会额外生成 64 位语言环境目标文件。 .RE .sp .ne 2 .mk .na \fB\fB-u\fR \fIcode_set_name\fR\fR .ad .RS 23n .rt 指定用作字符符号和整理元素符号(其编码值根据 ISO/IEC 10646-1: 2000 标准位置常量值进行定义)目标映射的代码集的名称。请参见“附注”部分。 .RE .sp .ne 2 .mk .na \fB\fB-W\fR \fBcc\fR,\fIarg\fR\fR .ad .RS 23n .rt 将 \fIarg\fR 选项传递给 C 编译器。每个参数与前一个参数之间只能以逗号分隔。可通过在逗号后面紧接反斜杠字符对其进行转义来使逗号成为参数的一部分;反斜杠将从结果参数中删除。 .sp 使用此选项代替 \fB-C\fR 和 \fB-L\fR 选项。 .RE .sp .ne 2 .mk .na \fB\fB-x\fR \fIextensions_file\fR\fR .ad .RS 23n .rt 指定列出各种 \fBlocaledef\fR 选项的扩展文件的名称。请参见 \fBlocale\fR(5)。 .RE .SH 操作数 .sp .LP 支持下列操作数: .sp .ne 2 .mk .na \fB\fIlocalename\fR\fR .ad .RS 14n .rt 指定环境变量。如果名称包含一个或多个斜杠字符,则 \fIlocalename\fR 将解释为路径名称,创建的语言环境定义将存储在该路径名中。可能只有具有相应特权的用户才可以使用该功能。(指定一个 \fIlocalename\fR 的结果是,尽管可以在一次执行中处理多个类别,但只能处理属于同一语言环境的类别。) .RE .SH 输出 .sp .LP \fBlocaledef\fR 创建可表示语言环境数据的临时 C 源文件。\fBlocaledef\fR 随后会调用 C 编译器来将此 C 源文件编译为共享目标文件。 .sp .LP 如果指定了 \fB-m\fR \fBilp32\fR 选项,则 \fBlocaledef\fR 会调用 C 编译器以生成 32 位目标文件和 32 位语言环境目标文件。如果指定了 \fB-m\fR \fBlp64\fR 选项,则 \fBlocaledef\fR 会调用 C 编译器以生成 64 位目标文件和 64 位语言环境目标文件。 .sp .LP 如果未指定 \fB-m\fR 选项,则 \fBlocaledef\fR 会调用 C 编译器以生成 32 位目标文件和 32 位语言环境目标文件。如果没有指定 \fB-c\fR、\fB-f\fR 和 \fB-i\fR 选项之外的其他选项,且运行 \fBlocaledef\fR 的系统支持 64 位环境,则 \fBlocaledef\fR 会额外调用 C 编译器以生成 64 位目标文件和 64 位语言环境目标文件。 .sp .LP 如果没有使用 \fB-W\fR、\fB-C\fR 或 \fB-L\fR 选项对 C 编译器明确指定选项,则 \fBlocaledef\fR 会以相应的 C 编译器选项调用 C 编译器以生成语言环境目标文件。 .sp .LP 如果指定了 \fB-m\fR \fBilp32\fR 选项,则 \fBlocaledef\fR 会生成 32 位语言环境目标文件,名称为: .sp .LP \fIlocalename\fR.so.\fIversion_number\fR .sp .LP 如果指定了 \fB-m\fR \fBlp64\fR 选项,则 \fBlocaledef\fR 会生成 64 位语言环境目标文件,名称为: .sp .LP \fIlocalename\fR.so.\fIversion_number\fR .sp .LP 如果未指定 \fB-m\fR 选项,则 \fBlocaledef\fR 会生成 32 位语言环境目标文件,名称为: .sp .LP \fIlocalename\fR.so.\fIversion_number\fR .sp .LP 如果合适,会生成 64 位语言环境目标文件,名称为: .sp .LP \fI64-bit_architecture_name\fR/\fIlocalename\fR.so.\fIversion_number\fR .sp .LP 必须将 32 位环境的共享目标文件移动到: .sp .LP \fB/usr/lib/locale/\fR\fIlocalename\fR\fB/\fR\fIlocalename\fR\fB\&.so.\fR\fIversion_number\fR .sp .LP 必须将 SPARC 上 64 位环境的共享目标文件移动到: .sp .LP \fB/usr/lib/locale/\fR\fIlocalename\fR\fB/sparcv9/\fR\fIlocalename\fR\fB\&.so.\fR\fIversion_number\fR .sp .LP 必须将 AMD64 上 64 位环境的共享目标文件移动到: .sp .LP \fB/usr/lib/locale/\fI\fR/amd64/\fI\fR\&.so.\fI\fR\fR .sp .LP \fBlocaledef\fR 也会生成名为 \fIlocalename\fR 的文本文件,仅用于提供信息。 .SH 环境变量 .sp .LP 有关影响 \fBlocaledef\fR 执行的以下环境变量的定义,请参见 \fBenviron\fR(5):\fBLANG\fR、\fB LC_ALL\fR、\fBLC_COLLATE\fR、\fBLC_CTYPE\fR、\fBLC_MESSAGES\fR 和 \fBNLSPATH\fR。 .SH 退出状态 .sp .LP 将返回以下退出值: .sp .ne 2 .mk .na \fB\fB0\fR\fR .ad .RS 6n .rt 没有发生任何错误,语言环境已成功创建。 .RE .sp .ne 2 .mk .na \fB\fB1\fR\fR .ad .RS 6n .rt 发生警告,语言环境已成功创建。 .RE .sp .ne 2 .mk .na \fB\fB2\fR\fR .ad .RS 6n .rt 语言环境规范超过实现限制,或者所使用的一个或多个编码字符集不受实现支持,所以没有创建语言环境。 .RE .sp .ne 2 .mk .na \fB\fB3\fR\fR .ad .RS 6n .rt 实现不支持创建新语言环境的功能。 .RE .sp .ne 2 .mk .na \fB\fB>3\fR\fR .ad .RS 6n .rt 发生警告或错误,没有创建输出。 .RE .sp .LP 如果检测到错误,则不会创建永久性输出。 .SH 文件 .sp .ne 2 .mk .na \fB\fB/usr/lib/localedef/extensions/generic_eucbc.x\fR\fR .ad .sp .6 .RS 4n 说明系统中使用什么通用 \fBEUC\fR 语言环境。缺省情况下会使用此文件。 .RE .sp .ne 2 .mk .na \fB\fB/usr/lib/localedef/extensions/single_byte.x\fR\fR .ad .sp .6 .RS 4n 说明系统中所使用的通用单字节文件。 .RE .sp .ne 2 .mk .na \fB\fB/usr/lib/locale/\fIlocalename\fR/\fIlocalename\fR.so.\fIversion_number\fR\fR\fR .ad .sp .6 .RS 4n 32 位环境的共享目标文件。 .RE .sp .ne 2 .mk .na \fB\fB/usr/lib/locale/\fIlocalename\fR/sparcv9/\fIlocalename\fR.so.\fIversion_number\fR\fR\fR .ad .sp .6 .RS 4n SPARC 上 64 位环境的共享目标文件。 .RE .sp .ne 2 .mk .na \fB\fB/usr/lib/locale/\fI\fR/amd64/\fI\fR\&.so.\fI\fR\fR\fR .ad .sp .6 .RS 4n AMD64 上 64 位环境的共享目标文件。 .RE .SH 属性 .sp .LP 有关下列属性的说明,请参见 \fBattributes\fR(5): .sp .sp .TS tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) . 属性类型属性值 _ 可用性system/core-os _ 接口稳定性Committed(已确定) _ 标准请参见 \fBstandards\fR(5)。 .TE .SH 另请参见 .sp .LP \fBlocale\fR(1)、\fBiconv_open\fR(3C)、\fBnl_langinfo\fR(3C)、\fBstrftime\fR(3C)、\fBattributes\fR(5)、\fBcharmap\fR(5)、\fBenviron\fR(5)、\fBextensions\fR(5)、\fBlocale\fR(5)、\fBstandards\fR(5) .SH 警告 .sp .LP 如果发生警告,则在指定了 \fB-c\fR 选项时会创建永久性输出。以下条件将导致发出警告消息: .RS +4 .TP .ie t \(bu .el o 如果在 \fIcharmap\fR 文件中没有找到的符号名称用于 \fBLC_CTYPE\fR 或 \fBLC_COLLATE\fR 类别的说明(对于其他类别,这将是一个错误条件)。 .RE .RS +4 .TP .ie t \(bu .el o 如果源中存在不受实现支持的可选关键字。 .RE .SH 附注 .sp .LP 如果使用了 \fB-u\fR 选项,则 \fIcode_set_name\fR 选项参数会解释为 ISO/IEC 10646-1: 2000 标准位置常量值转换到的代码集名称。对字符映射文件中的值进行编码时,ISO/IEC 10646-1: 2000 标准位置常量值和其他格式(十进制、十六进制或八进制)都有效。代码集可以是受系统上 \fBiconv_open\fR(3C) 函数支持的任何代码集。 .sp .LP 如果 \fIcode_set_name\fR、\fImb_cur_max\fR 或 \fImb_cur_min\fR 的字符映射文件规范与由 \fB-u\fR 选项参数 \fIcode_set_name \fR 表示的代码集的对应值之间产生冲突,则 \fBlocaledef\fR 实用程序将由于错误而失败。 .sp .LP 如果为可移植字符集的字符符号名指定的字符映射编码值与由 US-ASCII 定义的字符编码值之间产生冲突,则结果将不确定。 .sp .LP 如果字符映射中非可输出字符指定了不为 \fB-1\fR 的宽度,则 \fBlocaledef\fR 会生成警告。