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文件?
注意:尽管我希望能针对此特定情况提供解决方案,但问题实际上是关于未知语言的一般情况。