跳过导航链接 | |
退出打印视图 | |
手册页第 1 部分:用户命令 Oracle Solaris 11.1 Information Library (简体中文) |
- 从消息数据库检索文本字符串
gettext [-d textdomain | --domain=textdomain] [textdomain] msgid
gettext -s [-e] [-n] [-d textdomain | --domain=textdomain] msgid...
gettext 实用程序从 msgfmt(1) 生成的消息目标文件中检索与字符串 msgid 对应的已翻译文本字符串。如果提供了可选参数 textdomain,则会从该参数中派生消息目标文件名,否则会从 TEXTDOMAIN 环境中派生消息目标文件名。如果未指定任何域,或无法找到对应的字符串,则 gettext 会输出 msgid。
通常,gettext 在 /usr/lib/locale/lang/LC_MESSAGES 中查找其消息目标文件,其中 lang 是语言环境名称。如果已提供,TEXTDOMAINDIR 环境变量会将路径名组件替换为 lang。
此命令解释 C 语言中的转义序列(例如将 \t 解析为制表符 (tab))。使用 \\ 输出反斜杠。要一行生成一条消息,可在 msgid 的末尾输入 \n,或将此命令与 printf(1) 结合使用。
与 -s 选项一起使用时,gettext 的行为与 echo(1) 相同。但该命令不是仅仅将其参数复制到标准输出。而是翻译在选定目录中找到的那些消息。
支持以下选项:
如果未将 textdomain 指定为操作数,则会从域 textdomain 中检索已翻译的消息。
如果与 -s 选项一起使用,则会启用某些转义序列的扩展。
如果与 -s 选项一起使用,则会隐藏尾随的换行符。
行为与 echo(1) 相同(请参见上文的“描述”部分)。如果指定了 -s 选项,缺省情况下,不会执行 C 语言转义序列的扩展,且一个换行符会追加到输出中。
支持下列操作数:
用于检索消息的域名。如果提供了此操作数,它将覆盖 -d 或 --domain 选项指定的内容。
用来检索本地化消息的键。
指定语言环境名称。
指定消息语言环境,如果提供,则会覆盖消息的 LANG。
指定文本域名,它与不带有 .mo 后缀的消息目标文件名相同。
指定消息数据库的路径名。如果提供,则会替换 /usr/lib/locale。
有关下列属性的说明,请参见 attributes(5):
|
echo(1)、msgfmt(1)、printf(1)、gettext(3C)、setlocale(3C)、attributes(5)
该实用程序是库例程 gettext(3C) 的 shell 等效项。