6.47. Gettext-0.20.1

Gettext 软件包包含用于国际化和本土化的工具。这允许用 NLS(Native Language Support,本地语言支持) 编译程序,使得能以用户的本地语言输出信息。

大致构建用时: 2.9 SBU
所需磁盘空间: 249 MB

6.47.1. 安装 Gettext

准备编译 Gettext:

./configure --prefix=/usr    \
            --disable-static \
            --docdir=/usr/share/doc/gettext-0.20.1

编译软件包:

make

用以下命令测试结果(需要较长一段时间,大概 3 SBUs):

make check

安装软件包:

make install
chmod -v 0755 /usr/lib/preloadable_libintl.so

6.47.2. Gettext 软件包内容

安装的程序: autopoint, envsubst, gettext, gettext.sh, gettextize, msgattrib, msgcat, msgcmp, msgcomm, msgconv, msgen, msgexec, msgfilter, msgfmt, msggrep, msginit, msgmerge, msgunfmt, msguniq, ngettext, recode-sr-latin, 和 xgettext
安装的库: libasprintf.so, libgettextlib.so, libgettextpo.so, libgettextsrc.so, 和 preloadable_libintl.so
安装的目录: /usr/lib/gettext, /usr/share/doc/gettext-0.20.1, /usr/share/gettext, 和 /usr/share/gettext-0.19.8

简要介绍

autopoint

复制标准 Gettext 基础文件到源码包

envsubst

shell 格式字符串的替代环境变量

gettext

通过查看信息目录中的转换将原来语言信息转换为用户语言

gettext.sh

主要作为 gettext 的一个 shell 函数库

gettextize

复制所有标准 Gettext 文件到指定软件包的顶层目录以开始国际化

msgattrib

根据属性过滤翻译目录的信息并操作属性

msgcat

连接和合并给定 .po 文件

msgcmp

比较两个 .po 文件以检查两者是否包含相同的 msgid 字符串集合

msgcomm

查找给定 .po 文件共同的信息

msgconv

转换翻译目录到不同的字符编码

msgen

创建一个英语翻译目录

msgexec

对翻译目录的所有翻译运行命令

msgfilter

对翻译目录的所有翻译应用过滤器

msgfmt

从翻译目录生成一个二进制信息目录

msggrep

从翻译目录中抽取所有符合指定模式或属于特定源文件的信息

msginit

创建一个新的 .po 文件,根据用户环境中的值初始化元信息

msgmerge

合并两个原译到一个单独的文件

msgunfmt

反向编译一个二进制信息目录为原译文本

msguniq

统一重复翻译为一个翻译目录

ngettext

显示语法形式取决于多种母语翻译的文本信息的本地语言翻译

recode-sr-latin

对 Serbian 文本从 Cyrillic 重新编码为 Latin 脚本

xgettext

从指定源文件中抽取可翻译信息行用于生成第一个翻译模板

libasprintf

定义 autosprintf 类,该类使 C 格式化输出在 C++程序中能和 <string> 字符串以及 <iostream> 流一起使用

libgettextlib

包括多种 Gettext 程序使用的常用例程的私有库;并不用于一般用途

libgettextpo

用来写处理 .po 文件的特殊程序;当 Gettext 附带的标准应用(例如 msgcommmsgcmpmsgattrib, 以及 msgen)不足够时会使用这个库

libgettextsrc

包括多种 Gettext 程序使用的常用例程的私有库;并不用于一般用途

preloadable_libintl

LD_PRELOAD 帮助 libintl 记录未翻译信息时使用的库