问题标签 [xgettext]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
9437 浏览

php - 如何从翻译的 .po 文件生成新的 .pot 模板

从不完整的 gettext .pot文件开始,生成的.po翻译文件现在包含大量原本不在.pot文件中的翻译字符串。

如何从翻译的.po文件向后生成其他语言的.pot文件(带有空白翻译条目的字符串)?

谢谢你的帮助。

0 投票
3 回答
8217 浏览

python - gettext : 修改源后如何更新po和pot文件

我有一个带有国际化字符串的 python 项目。我修改了源代码,字符串的行也发生了变化,即在 pot 和 po 文件中,字符串的行没有指向正确的行。

那么如何将 po 和 pot 文件更新为文件中的新字符串位置。

0 投票
1 回答
6679 浏览

python - Django MakeMessages 在 Windows 中缺少 xgettext

在 Windows 7 上运行 Django。

我目前正在尝试使用 django 书第 19 章中的说明翻译几个 Django 模板。我在模板中添加了一个翻译标签,加载了 I18N,并修改了 django 设置。然后我运行 django-admin.py makemessages -l en 来创建 po 文件。创建了所有文件夹,但随后 django 终止并出现以下错误:

错误:在init上运行 xgettext 时发生错误.py 'xgettext' 未被识别为内部或外部命令、可运行程序或批处理文件。

阅读该问题后,我发现 django 将 gnu gettext 库用于基于 unix 的系统。为了解决这个问题,我安装了 cygwin,它下载并安装了 gettext 包版本 0.18.1.0,然后我将其添加到我的 PATH 中。可悲的是,这并没有解决任何问题。Cygwin 没有添加任何 xgettext 文件。

我现在的问题是这个。有没有一种简单的方法(或教程)来安装 xgettext 和 django 的国际化在 Windows 7 上需要的其他功能,而无需下载大量的各种 gnu 包。到目前为止,Django 在减少不必要的困难方面表现出色,而这些突如其来的困难根本不是 django 的特点。

0 投票
3 回答
2839 浏览

php - 使用 POEdit/xgettext 翻译变量

我正在使用PHPZend Framework和 Zend_Translate(gettext 适配器)。为了编辑翻译,我使用POEdit,它利用xgettext来获取要翻译的字符串。

POEdit (xgettext) 将搜索关键字以查找要翻译的字符串。因此,如果搜索关键字,当文本直接传递给翻译函数时translate,POEdit 将没有问题找到字符串,如:'Text to translate'

但是,在其他情况下,字符串将被传递给 Zend 函数,这些函数将为我进行翻译,调用带有变量作为参数的 translate 函数:

这将导致 POEdit (xgettext) 无法找到要翻译的字符串。在上面的示例中,我希望 POEdit 查找的字符串是'Another text to translate',但由于它没有直接传递给translate函数,因此找不到。

那么,如何解决问题呢?

我当前的解决方案是创建一个虚拟文件,其中包含 POEdit 未找到的所有字符串的长列表:

但是这个解决方案的缺点是更新字符串时,我都需要更改虚拟文件并找到原始字符串。这将使其更难维护。

我想到的另一个解决方案是在调用后将翻译字符串添加到评论中SomeZendFunction(参见上面的示例),但我无法让 xgettext 接受它,因为它忽略了评论。

那么,任何人都知道如何让 xgettext 接受评论中的字符串?或者任何人有任何其他可能更好的解决方案?

谢谢你的帮助!

编辑:

我不知道为什么我被否决了。但我试图澄清这个问题。

0 投票
1 回答
637 浏览

php - 让xgettext在评论中查找关键字

默认情况下,xgettext 会忽略在注释块中找到的任何关键字。

是否可以覆盖此行为?我尝试过添加//_为关键字,但这也失败了。似乎评论优先于关键字:

xgettext -o output.po --language=PHP -k_ -k//_ file.php

感谢帮助!

0 投票
1 回答
236 浏览

java - xgettext 提取错误的文字

我用它来提取所有需要翻译的字符串文字:

这些应该被提取:

这些不是:

但两者都出现在我的 .pot 文件中:

有什么办法可以解决这个问题吗?

0 投票
1 回答
760 浏览

gtk - 如何从 glade (Builder) 文件中提取可翻译的字符串?

在命令提示符下,我写道:

此版本是在没有外籍人士的情况下构建的。

我试图找到 libexpat,它与 xgettext.exe 一起存在,但仍然出现此错误,谁能指导我如何从 gade 文件中提取可翻译字符串?

我知道我做得对,但是这个错误很奇怪,在任何教程中都没有提到:(

我在 Windows 上使用带有 GTK+ - 2.0 的 Netbeans IDE 和带有 MSYS 的 MinGW。

0 投票
3 回答
7335 浏览

php - OSX 中的 xgettext 从 PHP 代码创建 .po 文件

我在 Mac OSX 上,我找不到解析 PHP 代码和提取可翻译字符串的好解决方案。

我已经尝试过 PoEdit,但它因反冗长的中继错误而失败: poEdit 反冗长错误

我也尝试过 Virtaal,但是当我单击“打开”时,应用程序崩溃,事件发生在浏览窗口出现之前。

我试过 OmegaT,但我认为它不支持 .po 文件。我不知道它是如何工作的:(

我也尝试过 xgettext.pl,它工作得非常好,只是它没有检测到 PHP dgettext() 函数,并且似乎没有像 poEdit 那样提供任何额外的选项来配置额外的关键字。手册页在这里:http ://www.unix.com/man-page/OSX/1/xgettext.pl/

到目前为止有什么解决方案吗?

0 投票
2 回答
3673 浏览

php - PoEdit 关键字 - 复数

我在我的应用程序中加入了类似 gettext 的本地化系统,但我的翻译功能如下所示:

我的 PoEdit 关键字:

  • t:2 告诉 PoEdit 解析$string,它显然工作
  • t:2,3 应该告诉 PoEdit 解析两者$string$plural_string- 但它不是:(

它只看到$string,所以我没有解析复数形式......我该如何解决这个问题?我不想将我的函数切换为不同的参数格式,因为我喜欢这个:(

此外,此函数的作用类似于 sprintf 替换:

  • 如果第三个参数 ($plural_string) 是一个数组,那么函数会将数组中的值视为 vsprintf 的参数
  • 如果第三个参数是字符串并且提供了 $number,该函数将考虑 $vprintf_arguments 作为 vsprintf 的参数(如果提供了),并且 $plural_string 作为 $string 的复数形式

无论如何,PoEdit 不应该干扰未引用的论点,对吧?我的意思是它只会将 $plural_string 解析为字符串,如果它看起来像'abc abc'

0 投票
2 回答
2444 浏览

gettext - 如何自动删除未使用的 gettext 字符串?

我有一个 Web 应用程序,其中我有几个使用 gettext 的翻译。但是现在我已经对应用程序进行了重大重写,虽然大多数字符串是相同的,但也有相当多的字符串被显着更改或删除。

我使用 xgettext 创建 .po 文件,很高兴能够在代码中找到新字符串并将它们添加到 .po 文件中,但我没有看到删除在代码中找不到的字符串的选项.

是否有一种自动方法可以从 .po 文件中删除不再在代码中的字符串?