手册页部分 1: 用户命令

退出打印视图

更新时间: 2014 年 7 月
 
 

gettxt(1)

名称

gettxt - 从消息数据库中检索文本字符串

用法概要

gettxt msgfile : msgnum [dflt_msg]

描述

gettxt 会从目录 /usr/lib/locale/locale/LC_MESSAGES 中的消息文件中检索字符串。目录名称 locale 对应于写入文本字符串时所用的语言;请参见 setlocale(3C)

msgfile

目录 /usr/lib/locale/locale/LC_MESSAGES 内从中检索 msgnum 的文件的名称。msgfile 名称的长度最多可以为 14 个字符,但不得包含 \0(空字符),也不得包含表示 /(斜杠)或 :(冒号)的 ASCII 代码。

msgnum

要从 msgfile 中检索的字符串的序列号。msgfile 中的字符串按照从 1n 的顺序编号,其中 n 是文件中的字符串数量。

dflt_msg

gettxt 未能从 msgfile 中检索到 msgnum 时,要显示的缺省字符串。非图形字符必须表示为字母转义序列。

要检索的文本字符串位于文件 msgfile 中,该文件由 mkmsgs(1) 实用程序创建,并安装在目录 /usr/lib/locale/locale/LC_MESSAGES 下。您可通过设置环境变量 LC_MESSAGES 来控制要搜索哪个目录。如果未设置 LC_MESSAGES,则会使用环境变量 LANG。如果未设置 LANG,则包含字符串的文件位于目录 /usr/lib/locale/C/LC_MESSAGES 下。

如果 gettxt 未能检索到使用所请求语言的消息,它将尝试从 /usr/lib/locale/C/LC_MESSAGES/msgfile 检索相同的消息。如果此操作也失败,而且 dflt_msg 存在且不为空,则它会显示 dflt_msg 的值;如果 dflt_msg 不存在或为空,则它会显示字符串 Message not found!!

示例

示例 1 环境变量 LANG 和 LC_MESSAGES。

如果环境变量 LANG 或 LC_MESSAGES 未设置为不同于缺省值的值,则以下示例:

example% gettxt UX:10 "hello world\n"

将尝试从 /usr/lib/locale/C/UX/msgfile 中检索第 10 条消息。如果检索失败,则会显示后跟换行符的 "hello world" 消息。

环境变量

有关影响 gettxt 执行的环境变量 LC_CTYPE 和 LC_MESSAGES 的描述,请参见 environ(5)

LC_CTYPE

确定 gettxt 如何处理字符。当 LC_CTYPE 设置为某个有效值时,gettxt 可以显示并处理包含对该语言环境有效的字符的文本和文件名。gettxt 可以显示并处理扩展 Unix 编码 (EUC) 字符,其中任意单个字符的宽度可以为 1、2 或 3 个字节。gettxt 还可以处理宽度为 1 个、2 个或更多个列的 EUC 字符。在 "C" 语言环境中,仅 ISO 8859-1 中的字符是有效字符。

LC_MESSAGES

确定如何显示诊断和信息性消息。这包括消息的语言和风格,以及肯定性和否定性响应的正确形式。在 "C" 语言环境中,消息使用在程序自身中发现的缺省形式显示(大多数情况下,为美式英文)。

文件

/usr/lib/locale/C/LC_MESSAGES/*

mkmsgs(1) 创建的缺省消息文件

/usr/lib/locale/locale/LC_MESSAGES/*

mkmsgs(1) 为各种语言创建的消息文件

属性

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

属性类型
属性值
可用性
text/locale
CSI
Enabled(已启用)

另请参见

exstr(1)mkmsgs(1)srchtxt(1)gettxt(3C)setlocale(3C)attributes(5)environ(5)