我发现这个很酷的js gettext库 - >http://code.google.com/p/gettext-js/但我不明白如何实现它。我使用poedit来编辑翻译,我可以看到它在我签出项目并运行演示文件时起作用,但当我对文本进行更改时,.po文件不会更新,而且我也看不到新的文字。有人有任何想法吗?谢谢!使用gettext翻译.js文件
回答
“我也只好用力蟒蛇在gettext的命令”:
- 文件|偏好|解析器
- 编辑的Python
- 编辑 “扩展名列表..”:
*.py;*.js
- 编辑“Parser表示:”
xgettext --language=Python --force-po -o %o %C %K %F
完成。
感谢leading me有Kentor :)
您必须调用xgettext
才能将字符串提取到.pot文件中,然后运行msgmerge
来更新.po文件。 gettext
manual有所有的血淋淋的细节。
我觉得--language了xgettext的perl = --force-PO -o%Ø%C%K%F(用perl而不是蟒蛇)应该是一个更好的选择,因为Python会导致包含单引号(未终止的字符串错误)的javascript注释问题。
我试过你的解决方案,警告没有显示。但一些翻译没有在js文件中找到(对于Python版本,他们被发现)...所以我更喜欢Python版本,即使有警告...... :( – Andron 2013-04-01 14:27:19
我最初尝试了两种配置,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,我是这样做的,以解析我的下划线模板。希望它有助于导致我真的很沮丧:)
- 1. 没有使用gettext翻译
- 2. 用PHP和gettext翻译XSL文件
- 3. getText crowdfounded翻译
- 4. gettext未翻译
- 5. 如何组织gettext翻译文件?
- 6. PHP gettext不翻译
- 7. 如何同时使用多个.mo文件进行gettext翻译?
- 8. Gettext不同的翻译
- 9. gettext没有翻译显示
- 10. 使用gettext翻译ajax调用中的电子邮件
- 11. Zend Framework 2翻译使用gettext变量的文本
- 12. 如何在链接到翻译文本时使用gettext?
- 13. 翻译php应用程序与gettext
- 14. PHP gettext翻译不起作用
- 15. Django模型翻译:在数据库中存储翻译或使用gettext?
- 16. 使用Babel:如何保护GNU gettext PO文件中的翻译者评论(以及旧翻译)?
- 17. 在翻译js文件钢轨
- 18. 翻译文本文件使用谷歌翻译API或其他
- 19. 翻译在JS?
- 20. Gettext的翻译字符串链接
- 21. 通过AJAX返回的Gettext未翻译
- 22. 在Python和gettext中切换翻译
- 23. 翻译在JavaScript中像PHP中的gettext?
- 24. Gettext的或数据库翻译
- 25. 使用谷歌翻译自动翻译django.po文件
- 26. 翻译文件,使用此代码谷歌翻译的Java API
- 27. 使用预先存在的/系统翻译与gettext?
- 28. 如何使用gettext进行列表或设置可翻译?
- 29. 使用ZF的gettext适配器翻译路由段
- 30. 在php项目中使用gettext - 只有一种语言翻译
我能弄清楚我遇到的问题。事情是,当修改语言时,我不得不用Poedit重新扫描所有文件。所以我必须先为该项目添加正确的路径,然后我必须将Python的解析器用于* .js文件。我还必须在gettext命令中强制python,否则Poedit会抱怨.js文件不被理解,并会尝试使用C/C++来解析它们。 – Kentor 2010-01-29 18:35:34