%general-entities; ]> gettext &gettext-version;
&gettext-url;
Gettext-&gettext-version; Gettext <!--para>The Gettext package contains utilities for internationalization and localization. These allow programs to be compiled with NLS (Native Language Support), enabling them to output messages in the user's native language.</para--> <para>Gettext 软件包包含国际化和本地化工具, 它们允许程序在编译时加入 NLS (母语支持)功能, 使它们能够以用户的母语输出消息。</para> <segmentedlist> <segtitle>&buildtime;</segtitle> <segtitle>&diskspace;</segtitle> <seglistitem> <seg>&gettext-ch6-sbu;</seg> <seg>&gettext-ch6-du;</seg> </seglistitem> </segmentedlist> </sect2> <sect2 role="installation"> <title>安装 Gettext 首先,取消 test-lock 的两次执行,因为它在某些机器上会死循环: sed -i '/^TESTS =/d' gettext-runtime/tests/Makefile.in && sed -i 's/test-lock..EXEEXT.//' gettext-tools/gnulib-tests/Makefile.in 现在修复一个配置文件: sed -e '/AppData/{N;N;p;s/\.appdata\./.metainfo./}' \ -i gettext-tools/its/appdata.loc 准备编译 Gettext: ./configure --prefix=/usr \ --disable-static \ --docdir=/usr/share/doc/gettext-&gettext-version; 编译该软件包: make 输入以下命令以测试编译结果(需要较长时间, 大约 3 SBU): make check 安装该软件包: make install chmod -v 0755 /usr/lib/preloadable_libintl.so 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-&gettext-version;, 以及 /usr/share/gettext 简要描述 autopoint 将标准 Gettext 微架构文件复制到源代码包 autopoint envsubst 替换 shell 格式化字符串中的环境变量 envsubst gettext 通过查询消息目录中的翻译,将中性语言消息翻译成用户的语言 gettext gettext.sh 主要用于 gettext 的 shell 函数库 gettext.sh gettextize 将所有标准 Gettext 文件复制到软件包顶层目录中, 以开始国际化该软件包 gettextize msgattrib 根据属性过滤翻译目录中的消息,或修改这些属性 msgattrib msgcat 连接并合并给定的 .po 文件 msgcat msgcmp 比较两个 .po 文件,以检查它们是否包含相同的 msgid 字符串集合 msgcmp msgcomm 找出给定的多个 .po 中的公共消息 msgcomm msgconv 将翻译目录转换成另一种字符编码 msgconv msgen 创建英文翻译目录 msgen msgexec 对翻译目录中的所有翻译执行命令 msgexec msgfilter 对翻译目录中的所有翻译应用过滤器 msgfilter msgfmt 根据翻译目录创建二进制消息目录 msgfmt msggrep 找出翻译目录中所有匹配给定模式, 或属于给定源代码文件的消息 msggrep msginit 创建一个新的 .po 文件,以用户环境中的值初始化其元信息 msginit msgmerge 将两个原始翻译文件组合成一个文件 msgmerge msgunfmt 反编译二进制消息目录,生成原始翻译文本 msgunfmt msguniq 去除翻译目录中重复的翻译 msguniq ngettext 显示某条语法形式依赖于数字的文本消息的母语翻译 ngettext recode-sr-latin 将塞尔维亚语文本从西里尔字符转换为拉丁字符 recode-sr-latin xgettext 从给定源代码文件中提取可翻译消息,以生成最初的翻译模板 xgettext libasprintf 定义 autosprintf 类,使得 C 格式化输出子程序在 C++ 程序中可用,能够与 <string> 字符串和 <iostream> 流一起使用 libasprintf libgettextlib 一个内部库,包含若干 Gettext 程序的公共子程序; 不建议普遍使用 libgettextlib libgettextpo 用于编写处理 .po 文件的专用程序; 这个库在 Gettext 发行的标准程序 (如 msgcomm, msgcmp, msgattrib, 以及 msgen) 不能满足要求时使用 libgettextpo libgettextsrc 一个内部库,包含若干 Gettext 程序使用的公共子程序; 没有设计为普遍使用 libgettextsrc preloadable_libintl 一个被设计为由 LD_PRELOAD 预加载的库,帮助 libintl 记录未翻译的消息 preloadable_libintl