问题标签 [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 投票
2 回答
2867 浏览

python - 生成 POT 文件

PoEdit 会导致问题,因为它还会扫描不需要扫描的子目录中的 Python 源。所以我希望 PoEdit 从 POT 文件中获取有关字符串的新信息。据说这里xgettext可以让我从源代码创建一个 POT 文件。但我不知道怎么做。它总是生成一个 PO 文件。

如何创建 POT 文件xgettext?还是旧的pygettext可以接受?还是有其他工具?

0 投票
1 回答
5517 浏览

linux - 使用 xgettext 递归扫描文件

我需要递归扫描项目中的所有文件夹以查找 xgettext 字符串。如何在 Linux 上使用 xgettext 来做到这一点?

我当前的参数是:--default-domain=project -k_

0 投票
1 回答
200 浏览

php - 如何运行从 PHP 创建的初始 .pot 文件?

我正忙于编写一个需要正确本地化的应用程序,但一直手动创建可移植对象模板的行为很乏味。

谁能告诉我为什么这段代码:

什么也没做,但是当我在命令行中运行它时,它实际上会用它找到的条目填充 default.pot 文件?

0 投票
1 回答
1395 浏览

gettext - 我没有从 xgettext 得到任何输出

我将尝试使用 gnu-gettext 进行半大型软件项目的本地化,所以现在我正在尝试学习基础知识。问题是我陷入了一个非常基本的功能。当我尝试使用 xgettext 从源代码中提取字符串时,我什么也没得到。当 dll 丢失时它会抱怨,当参数错误时它会抱怨,但现在它只是默默地返回,而不产生任何 pot-file 或其他任何东西。

所以,我的问题是:有没有人认识到这个问题?有没有办法让 xgettext 更详细地说明它在做什么?

我尝试将 xgettext 放在源文件中并将源文件放在 gettext\bin 目录中,但无济于事。

我应该提到我正在使用 Win7 机器,我使用 gettext-tools-dev_0.18.1.1-2_win32。我已经安装了 MinGW。

我的测试代码锁是这样的:

如果有人可以帮助我解决这个问题,我将不胜感激。/罗伯特

0 投票
2 回答
2995 浏览

javascript - 使用 xgettext 从 JavaScript 中提取翻译器注释(在 Python 模式下)

我有一个运行良好的命令,可以从我的所有 .js 和 .html 文件(只是下划线模板)中提取字符串。但是,它似乎不适用于翻译评论。

例如,我的 .js 文件之一中有这个:

使用以下命令:

xgettext 应该从 .js 文件中提取注释并将其放入我的 .po 文件中,如下所示:

但事实并非如此。我在这里做错了什么还是翻译评论只是不能在 Python 模式下工作?

编辑:我已经接受 John Flatness 的回答是正确的,但是我确实找到了一种解决方法,使我仍然可以使用 Python 模式并提取翻译注释。它并不完美,因为它实际上在注释中留下了一些语法:

在我的tax.js文件中:

运行此命令:

结果在 .po 文件中:

如您所见,唯一的问题是:

  1. 我必须用两行写评论
  2. 注释终止符*/留在翻译注释中

不过,在大多数情况下,这应该不是什么大问题。

0 投票
2 回答
1691 浏览

php - PoEdit 不识别 _n() 复数

我在 POEdit 的源关键字中设置了这个:

它有效,但是当我使用_n()函数(二十一主题)时,我只得到第一个字符串:

<?php printf(_n('One Comment', '%s Comments', get_comments_number(), 'twentyeleven'), number_format_i18n(get_comments_number())); ?>

任何想法如何让它识别_n()?这正是我遇到的问题,但没有解决方案:http ://www.poedit.net/trac/ticket/307

0 投票
1 回答
628 浏览

php - xgettext 不会扫描复数形式

我将 Poedit 用于我的 gettext i18n,效果很好。我使用 ZF2 有视图助手来集成翻译。一个是translate,另一个translatePlural

用法:

在 Poedit 我添加关键字translatetranslatePlural. 正常的翻译工作正常,但对于复数形式,只找到“项目”(而不是“项目”)。仅出于测试目的,我将$this->translatePlural()调用替换为ngettext(),但最终得到相同的结果。我的结论:(我的版本)Poedit 无法扫描复数形式。

我应该输入什么作为关键字让 Poedit 也扫描第二个字符串?

0 投票
0 回答
494 浏览

translation - gettext 的合并过程 - 如何删除旧字符串

我想改进我的 gettext 翻译文件流程,所以我只有一个 .po 文件用于应用程序,以避免在将文件发送到翻译机构时重复翻译工作并减少加载合并。

挑战在于初始解析将始终创建两个单独的文件(一个使用 poedit 从 PHP 解析,一个使用 tsmarty2c.php 从 smarty 解析)。所以我查看了 msgcat 并想出了这个过程:

这可以正常工作,但有一个例外,现在仍然保留了在 1/2 中删除的不推荐使用的字符串,因为我需要在合并过程中包含 complete.po(因为它具有该机构的最新翻译)。

关于如何创建类似过程的任何提示,但也确保从 complete.po 中删除旧字符串?

0 投票
1 回答
272 浏览

xgettext - 如何使用 xgettext 从不同语言的文件中收集 i18n 的字符串

默认情况下xgettext会从扩展名中猜测文件类型。但是,我有.js当前无法理解的 JavaScript 文件(带扩展名)。所以,我必须手动指定语言,Java 似乎是一个不错的选择。但是,我也有 Glade 文件 (XML),显然不能将其解析为 Java ......当我--language在命令行上指定多个选项时,似乎只有最后一个有任何效果。

对于 xgettext 可以理解的文件类型(例如 C 和 Glade)的项目,这似乎不是问题。

0 投票
1 回答
472 浏览

python - 来自 csv 文件的 xgettext

我有一个包含所有要翻译的值的 csv...我想读取 csv 文件并生成一个 .pot 文件,但是当我加载并尝试调用 print _(value) 时,没有生成 .pot。不知道为什么不能从 csv 生成包含动态内容的 .pot 文件。

这是我的代码片段:

当我运行此脚本时,我会看到列出的所有值,但是如果我运行则不会生成 .pot 文件:

指定实际字符串与具有字符串值的变量(例如 print _('hello'))确实有效......任何帮助将不胜感激。