xgettext与gettext的区别

12

我有几个问题:

我知道gettext是什么。我读了一些帖子,他们提到了xgettext,我很好奇两者之间的区别。

如何在Windows上安装xgettext?

最后,是否有人有关于安装库php-gettexthttp://savannah.nongnu.org/projects/php-gettext/的教程(这个通常不包含PHP)?我在一篇文章中读到了它,但不确定如何在Windows中让它工作。事实上,有时更改后,您需要重新启动Apache才能看到带有PHP的gettext中的新数据(但使用该库则不需要),因此我想在开发中使用该库。谢谢!


你可能想把第二部分和第三部分拆成单独的问题。 - CW Holeman II
4个回答

16
关于这个问题:
我知道什么是gettext。我读过一些帖子,他们提到了xgettext,并且对两者之间的区别感到好奇。
简而言之,gettext()是一个函数,xgettext是从源代码中提取信息的实用程序。
长话短说,SO的answer回答了Complete C++ i18n gettext() “hello world” example,其中显示了C ++源代码文件 hellogt.cxx 的一部分:
gettext("hello, world!")
< p > gettext() 函数接收一个文本字符串,该字符串用作在运行时使用的消息的索引。它返回指定语言的消息,该语言可以在代码中指定或在调用程序时指定。

然后它显示:

xgettext --package-name hellogt --package-version 1.2 --default-domain hellogt --output hellogt.pot hellogt.cxx

这是一个在编译时使用的实用程序,用于检查源代码文件hellogt.cxx中传递给gettext()的文本字符串。 这些字符串被提取并用于创建便携式对象模板文件hellogt.pot

翻译人员在交付二进制翻译消息文件hellogt.mo之前,会使用.pot文件模板进行翻译,该文件在运行时由gettext()使用。


4
安装Cygwin并选择gettext-devel包。
这将安装xgettext.exe。
Zend框架有一个gettext Zend_Translate适配器,不需要php gettext扩展。

0

能帮我解决这个问题吗 -> http://stackoverflow.com/questions/1351259/php-string-variables-in-gettext-forgot-one-case-scenario? - Kentor

-6

在线函数参考参考告诉我没有xgettext。

也许他们指的是其中之一

ngettext dgettext dngettext dcgettext dcngettext

将“x”视为通配符


xgettext 是一个预处理函数,用于解析您的源代码文件并从 gettextngettextdgettext 和其他指定的函数中提取所有字符串。 因此,xgettext 不是一个函数,而是一个被调用的程序。 - Dan Nissenbaum

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接