mkmsgs [-o] [-i locale] inputstrings msgfile
mkmsgs 实用程序用于创建可使用文本检索工具访问的文本字符串文件(请参见 gettxt(1)、srchtxt(1)、exstr(1) 和 gettxt(3C))。使用该程序可以输入特定地理语言环境的文本字符串文件(请参见 setlocale(3C))以及创建采用 gettxt(1) 和 gettxt(3C) 都可检索的格式的文本字符串文件。通过使用 –i 选项,可以在 /usr/lib/locale/locale/LC_MESSAGES 目录下安装创建的文件(locale 对应于写入文本字符串所用的语言)。
inputstrings 是包含原始文本字符串的文件的名称。msgfile 是输出文件的名称,mkmsgs 在该文件中写入的字符串采用 gettxt(1) 和 gettxt(3C) 可读取的格式。msgfile 的名称的长度最多为 14 个字符,但不能包含 \0(空)或者 /(斜杠)或 :(冒号)的 ASCII 代码。
输入文件包含一组特定地理语言环境的文本字符串。文本字符串用换行符分隔。非图形字符必须表示为字母转义序列。消息按顺序转换并从 inputstrings 复制到 msgfile。要在 msgfile 中生成空消息,可在 inputstrings 中的正确位置留下一个空行。
通过编辑文件 inputstrings 就可更改字符串。必须仅将新字符串添加到文件的末尾;然后必须在正确的位置创建和安装新的 msgfile 文件。如果不遵循此过程,检索函数将检索错误的字符串,并会破坏软件的兼容性。
支持以下选项:
覆盖 msgfile(如果存在)。
在 /usr/lib/locale/ locale/LC_MESSAGES 目录中安装 msgfile。只有超级用户或 bin 组的成员可以在此目录中创建或覆盖文件。如果 /usr/lib/locale 下的目录不存在,则将创建它们。
以下示例展示了一个输入消息源文件 C.str:
File %s:\t cannot be opened\n %s: Bad directory\n . . . write error\n . .示例 2 使用来自 C.str 的输入字符串在文件中创建文本字符串
以下命令使用来自 C.str 的输入字符串在当前目录下的文件 UX 中以相应的格式创建文本字符串:
example% mkmsgs C.str UX示例 3 使用来自 FR.str 的输入字符串在文件中创建文本字符串
以下命令使用来自 FR.str 的输入字符串在目录 /usr/lib/locale/fr/LC_MESSAGES 下的文件 UX 中以相应的格式创建文本字符串:
example% mkmsgs –i fr FR.str UX
如果设置了环境变量 LC_MESSAGES=fr,然后调用在“描述”部分的开头列出的文本检索工具之一,则将访问这些文本字符串。
mkmsgs 创建的消息文件
有关下列属性的说明,请参见 attributes(5):
|
exstr(1)、gettxt(1)、srchtxt(1)、gettxt(3C)、setlocale(3C)、attributes(5)