牛骨文教育服务平台(让学习变的简单)

6.36. Gettext-0.14.5

Gettext 用于系统的国际化和本地化,可以在编译程序的时候使用本国语言支持(NLS),可以使程序的输出使用用户设置的语言而不是英文。

预计编译时间: 1 SBU所需磁盘空间: 65 MB

6.36.1. 安装 Gettext

为编译 Gettext 做准备:

./configure --prefix=/usr

编译软件包:

make

要测试结果,请运行:make check 。这需要大约 5 SBU 。

安装软件包:

make install

6.36.2. Gettext 的内容

安装的程序: autopoint, config.charset, config.rpath, envsubst, gettext, gettext.sh, 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 通过在消息列表中查找,来将一种自然语言的消息翻译成用户的本地语言
gettext.sh 主要作为一个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 程序使用的函数,是私有库。