7

我正在使用Gettext.js库来本地化从 JS 文件生成的内容。现在的情况是,我必须手动创建和编写每个 po 文件。我知道我们可以使用 PoEdit 扫描 php 文件中的 gettext 字符串。那么,是否可以使用PoEdit扫描 JS 文件中的 gettext 字符串?

4

4 回答 4

8

通过在 PoEdit 中创建一个新的 python 语言解析器来实现这一点。

文件 > 首选项 > 解析器 > 新建

语:

JS

扩展名列表:

*.js

解析器命令:

xgettext --language=Python --force-po -o %o %C %K %F

关键字列表中的项目:

-k%k

输入文件列表中的项目:

%f

源代码字符集:

--from-code=%c

我在搜索这个时找到了这个教程,这帮助我达到了这里教程的情况>>

实际上教程是法语的,链接是谷歌翻译的(英语)。

于 2013-05-31T04:55:08.260 回答
5

从xgettext 0.18.3版本开始,您可以使用JavaScript 作为语言参数

这个版本的 xgettext 至少从 1.6.2 版开始在 Poedit 中使用。

于 2013-12-16T15:30:59.177 回答
1

xgettext命令行程序用于扫描源代码,可以解析以下语言:

C、C++、ObjectiveC、Shell、Python、Lisp、EmacsLisp、librep、Scheme、Java、C#、awk、Tcl、Perl、PHP、GCC 源代码、Glade

尽管 JavaScript 没有被列为一门语言,但我只是尝试了一些,Perl 确实有效。尝试这个:

echo " testFunc('foo');" > test.js;
xgettext --keyword=testFunc --output=- test.js --language="perl";

要从 POEdit 执行此操作,请打开Preferences > Parsers > Perl添加;*.js到文件扩展名列表并在解析器命令字段中添加--language=Perl之后。xgettext这对我有用,我能够以这种方式从 JS 文件中获取新字符串。

虽然我不知道 gettext.js 是如何工作的,但更好的方法可能是将 PO 文件转换为原生 JavaScript 文件格式

于 2013-05-15T13:26:17.910 回答
1

xgettext现在原生支持 JavaScript,所以命令很简单:

xgettext --output=output.pot --language=JavaScript *.js
于 2017-07-17T15:55:31.957 回答