手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

gencat(1)

名称

gencat - 生成格式化的消息目录

用法概要

gencat catfile msgfile...

描述

gencat 命令将消息文本源文件 msgfile 合并到一个格式化的消息数据库 catfile 中。如果数据库 catfile 尚不存在,则会创建该数据库。如果 catfile 已经存在,则会将其消息放入新的 catfile 中。如果集合编号和消息编号冲突,则 msgfile 中定义的新消息文本将替换 catfile 中当前包含的旧消息文本。输入到 gencat 的消息文本源文件(或文件集)可以包含集合编号和消息编号,也可以只包含消息编号(在这种情况下将采用集合 NL_SETD)(请参见 nl_types.h(3HEAD))。

消息文本源文件格式

消息文本源文件的格式定义如下。请注意,消息文本源行的字段由单个 ASCII 空格字符或制表符分隔。任何其他 ASCII 空格或制表符都被视为后续字段的部件。

$set n comment

其中,n 指定后续消息(直至遇到下一个 $set$delset 或文件结尾)的集合标识符。n 必须是 (1–{NL_SETMAX}) 范围内的一个数字。单个源文件中的集合标识符不需要是连续的。集合标识符后的任何字符串都被视为注释。如果消息文本源文件中未指定 $set 指令,则所有消息都位于缺省的消息集合 NL_SETD 中。

$delset n comment

从现有消息目录中删除消息集合 n。集合编号后的任何字符串都视为注释。(注意:如果 n 不是有效的集合,则它将被忽略。)

$comment

如果某行以美元符号 $ 和紧随其后的一个 ASCII 空格或制表符开头,则会将其视为注释。

m message-text

m 表示消息标识符,而且是 (1-{NL_MSGMAX}) 范围内的一个数字。message-text 将使用由上一个 $set 指令指定的集合标识符以及消息标识符 m 存储到消息目录中。如果 message-text 为空,且存在一个 ASCII 空格或制表符字段分隔符,则会将一个空字符串存储到消息目录中。如果消息源行具有一个消息编号,但没有字段分隔符或 message-text,则会从目录中删除该编号对应的现有消息(如果有)。消息标识符不需要是连续的。message-text 的长度必须在 (0–{ NL_TEXTMAX}) 范围内。

$quote c

此行指定一个可选的引号字符 c,可用来将 message-text 括起来,从而使尾部的空格或空消息在消息源行中可见。缺省情况下,或者如果提供了一个空 $quote 指令,则不会将 message-text 用引号字符括起来。

消息文本源文件中的空行将被忽略。

文本字符串可以包含下表中定义的特殊字符和转义序列:

说明
符号
序列
换行符
NL(LF)
\n
水平制表符
HT
\t
垂直制表符
VT
\v
退格键
BS
\b
回车
CR
\r
换页符
FF
\f
反斜杠
\
\\
位模式
ddd
\ddd

转义序列 \ddd 由反斜杠后跟 1 到 3 个八进制位组成,用来指定所需字符的值。如果跟在反斜杠后的字符并非指定字符,则会忽略反斜杠。

后跟 ASCII 换行符的反斜杠也用来在下一行延续字符串。因此,下面的两行描述的是单个消息字符串:

1 This line continues \
to the next line

这等同于:

    1 This line continues to the next line

操作数

支持下列操作数:

catfile

格式化的消息目录的路径名。如果指定了 −,则将使用标准输出。

msgfile

消息文本源文件的路径名。如果为某个 msgfile 实例指定了 −,则将使用标准输入。“消息文本源文件格式”中定义了消息文本源文件的格式。

环境变量

有关影响 gencat 执行的以下环境变量的描述,请参见 environ(5):LANG、LC_ALL、LC_CTYPE、LC_MESSAGES 和 NLSPATH。

退出状态

将返回以下退出值:

0

成功完成。

>0

出现错误。

属性

有关下列属性的说明,请参见 attributes(5)

属性类型
属性值
可用性
text/locale
CSI
enabled(已启用)
接口稳定性
Committed(已确定)
标准
请参见 standards(5)

另请参见

mkmsgs(1)catgets(3C)catopen(3C)gettxt(3C)nl_types.h(3HEAD)attributes(5)environ(5)standards(5)