我找到了这个很酷的js gettext库 - > http://code.google.com/p/gettext-js/但我不明白如何实现它。我正在使用poedit来编辑翻译,我可以看到它在我签出项目并运行演示文件时有效,但是当我对文本进行更改时,.po文件不会更新,我看不到新文本。有人有什么想法吗?谢谢!
答案 0 :(得分:9)
“我还必须在gettext命令中强制使用python”:
*.py;*.js
xgettext --language=Python --force-po -o %o %C %K %F
完成。
感谢Kentor的leading me:)
答案 1 :(得分:4)
我认为xgettext --language = perl --force-po -o%o%C%K%F(使用perl而不是python)应该是更好的选择,因为python导致javascript注释包含单个问题引用(未终止的字符串错误)。
答案 2 :(得分:0)
您必须调用xgettext
才能将字符串解压缩到.pot文件中,然后运行msgmerge
来更新.po文件。 gettext
manual包含所有血腥细节。
答案 3 :(得分:0)
我最初尝试使用这两种配置,Python& Perl但有一些复杂的下划线模板,嵌套引号和双引号,转义字符等。两个解析器都报告了大量错误的过时字符串,所以我无法从源代码中正确更新.pot或.po文件。
我也测试没有成功http://code.google.com/p/gettext-js/
经过大量的试用和试验错误我发现我可以使用链接解析,它在poedit 1.5.7上工作正常。这些是应该为最佳匹配同时启用的配置参数
从Mac版的Library / Preferences / net.poedit.Poedit.cfg中提取,您可以简单地复制并粘贴在对话框上
[Parsers/js]
Extensions=*.js;*.html
Command=xgettext --language=Python --force-po -o %o %C %K %F
KeywordItem=-k%k
FileItem=%f
CharsetItem=--from-code=%c
[Parsers/PHP]
Extensions=*.php;*.js;*.html
Command=xgettext --language=PHP --force-po -o %o %C %K %F
KeywordItem=-k%k
FileItem=%f
CharsetItem=--from-code=%c
请注意,您可能不需要在扩展名中包含* .html,我这样做是为了解析我的下划线模板。希望它有助于使我真的感到沮丧:)