0

xgettext 能够从各种源语言中提取字符串进行翻译。

   -L, --language=NAME
          recognise  the  specified  language (C, C++, ObjectiveC, PO,
          Shell, Python, Lisp, EmacsLisp, librep, Scheme, Smalltalk,
          Java, JavaProperties, C#, awk, YCP, Tcl, Perl, PHP, GCC-source,
          NXStringTable, RST, Glade, Lua, JavaScript, Vala, Desktop)

(您的确切列表可能因平台而异)

它还根据文件扩展名猜测类型,因此:

$ xgettext -o out.pot in.php

将使用 PHP 解析器而不需要-L PHP.

但是,我希望翻译不是这些语言的文件。是否可以直接将字符串列表提交到 xgettext 中?还是教它一门新语言?

例如,考虑一些使用自定义辅助函数的 Handlebars 模板__,如下所示:

<title>{{__ 'My Website'}}</title>

可以使用 grep 从文件中提取所有字符串:

$ grep '\{\{__ (.+?)\}\}' -Ero views
views/index.hbs:{{__ 'My Website'}}

但是有什么方法可以将此信息输入 xgettext 以生成有效的 pot 文件?

注意:虽然我很欣赏这种特定情况的解决方案,但问题实际上是关于未知语言的一般情况。

4

0 回答 0