Gettext 用于系统的国际化和本地化,可以在编译程序的时候使用本国语言支持(NLS),可以使程序的输出使用用户设置的语言而不是英文。
预计编译时间: 1.2 SBU
所需磁盘空间: 65.1 MB
安装依赖于: Bash, Binutils, Bison, Coreutils, Diffutils, Gawk, GCC, Glibc, Grep, Make, Sed
6.30.1. 安装 Gettext

为编译 Gettext 做准备:

./configure --prefix=/usr

编译软件包:

make

要测试结果,请运行:make check ,请注意,这个测试的时间很长,大约 7 SBU 。

安装软件包:

make install

6.30.2. Gettext 的内容
安装的程序: autopoint, config.charset, config.rpath, envsubst, gettext, gettextize, hostname, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq, ngettext, xgettext
安装的库: libasprintf.[a,so], libgettextlib.so, libgettextpo.[a,so], libgettextsrc.so
简要描述
autopoint     

将标准的 gettext infrastructure 文件拷贝到源码包中
config.charset     

产生一个依赖于系统的字符编码表
config.rpath     

输出依赖于系统的变量,描述如何在可执行程序中设置库文件的实时查找路径。
envsubst     

替换 shell 格式化字符串中的环境变量
gettext     

通过在消息列表中查找,来将一种自然语言的消息翻译成用户的本地语言。
gettextize     

拷贝所有的标准 Gettext 文件到软件包的顶层目录下,以进行国际化。
hostname     

用不同的格式显示一个网络主机名
msgattrib     

根据翻译目录中消息的属性过滤它们,并且操作这些属性。
msgcat     

将给定的 .po 文件合并到一起
msgcmp     

比较两个 .po 文件,看它们是否包含相同的 msgid 字符串。
msgcomm     

找出不同 .po 文件中的相同信息
msgconv     

把一个翻译列表转化成另一种字符编码
msgen     

建立一个英文翻译目录
msgexec     

对一个翻译列表中的所有翻译执行同一个命令
msgfilter     

对一个翻译列表中的所有翻译使用同一个过滤器
msgfmt     

从翻译列表生成一个二进制的消息列表
msggrep     

将一个翻译列表中的所有符合给定格式或者属于给定源文件的消息展开
msginit     

生成一个新的 .po 文件,并使用用户环境中的消息来对这个文件进行初始化。
msgmerge     

将两个翻译合并成一个
msgunfmt     

将二进制翻译文件反编译成源文件
msguniq     

将翻译目录中重复的翻译合并成一个
ngettext     

显示依赖于数字格式的文本文件的本国语言翻译
xgettext     

从源文件中展开消息行, 用来创建起始翻译模板
libasprintf     

定义 autosprintf 类,使 C 的函数以 C++ 程序可使用的结构输出,与 <string> 字符串和 <iostream> 流一起使用。
libgettextlib     

包含多个 gettext 程序使用的函数,是私有库。
libgettextpo     

用来写处理 .po 文件的程序。当 Gettext 自带的标准程序(如 msgcomm, msgcmp, msgattrib, msgen)不能满足要求时,可以使用这个库。
libgettextsrc     

包含多个 gettext 程序使用的函数,是私有库。