<< Back to shouce.jb51.net

6.30. Gettext-0.14.3

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 程序使用的函数,是私有库。