繁体   English   中英

使用gettext翻译.js文件

[英]translate .js files using gettext

我找到了这个很酷的js gettext库 - > http://code.google.com/p/gettext-js/但我不明白如何实现它。 我正在使用poedit来编辑翻译,我可以看到它在我签出项目并运行演示文件时有效,但是当我对文本进行更改时,.po文件不会更新,我看不到新文本。 有人有什么想法吗? 谢谢!

“我还必须在gettext命令中强制使用python”:

  1. 文件|偏好|解析器
  2. 编辑Python
  3. 编辑“扩展名列表”:
  4. *.py;*.js
  5. 编辑“Parser表示:”
  6. xgettext --language=Python --force-po -o %o %C %K %F

完成。

谢谢你带领我到肯特尔:)

我认为xgettext --language = perl --force-po -o%o%C%K%F(使用perl而不是python)应该是更好的选择,因为python导致javascript注释包含单引号的问题(未终结字符串错误)。

我最初尝试使用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,我这样做是为了解析我的下划线模板。 希望它有助于使我真的很沮丧:)

您必须调用xgettext才能将字符串解压缩到.pot文件中,然后运行msgmerge来更新.po文件。 gettext手册包含所有血腥细节。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM