6.36. Gettext-0.14.5
最后更新于:2022-04-01 22:50:18
# 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 程序使用的函数,是私有库。 |
';