从coffeescript文件中提取gettext消息

时间:2012-07-14 06:23:22

标签: coffeescript gettext babel

是否有任何库可以直接从coffeescript文件中提取gettext消息,或者我是否需要将它们编译为javascript并仅提取?

我一直在使用python babel模块进行消息提取,如果存在coffeescript提取功能可能会很好。

3 个答案:

答案 0 :(得分:2)

据我所知,没有coffeescript的提取器 - 如果你找到了,请please drop us a note。补丁也欢迎: - )

答案 1 :(得分:1)

只要符合这些条件,就可以使用简单的旧xgettext使用--language = C从.coffee文件中删除消息,而不需要任何额外的工作:

  1. gettext函数参数必须始终包含在里面 括号
  2. 字符串参数必须始终在双引号内(它们不能用单引号)
  3. 与这两个条件的任何偏差都会导致xgettext忽略该消息

答案 2 :(得分:1)

Poedit我的成绩很好;我用它检查我的源咖啡文件与

之类的字符串
t('Translatable str')

您必须在首选项中添加coffeescript解析器并按如下方式进行配置:

  • 语言:Coffee
  • 扩展程序列表:*.jade,*.js,*.coffee
  • 分析器命令:xgettext --language=perl --force-po -o %o %C %K %F
  • 关键字列表中的项目:-k%k
  • 输入中的项目:%f
  • 源代码字符集:--from-code=%c

我有一个* .po文件,其中包含我的翻译..我进一步创建a grunt plugin以帮助我将po转移到JSON:)

备注

  • Poedit将忽略以破折号开头的字符串,因为它认为它们是评论; #{t('This wont be translated!')}
  • 您还可以尝试在解析器命令Python中使用language;它会检测到更多字符串但有警告!