POEdit不会在HTML标记中提取字符串

时间:2015-12-12 18:13:32

标签: blade gettext poedit laravel-blade

我对Laravel的刀片模板语法有疑问。 当有类似的东西时:

<input placeholder="{{ __('My Tooltip') }}" />

该字符串不会由POEdit创建。但如果我有这个,请在​​同一档案中:

<span>{{ __('My Tooltip') }}</span>

没关系。

我已经添加了一个带有后续配置的新提取器,但问题仍然存在。

  

命令: xgettext --language = Python --add-comments =翻译: - force-po -o%o%C%K%F

     

关键字列表中的项目: -k%k

     

输入文件列表中的项目:%f

     

源代码字符集: --from-code =%c

任何人都可以帮助我?

1 个答案:

答案 0 :(得分:3)

谎言关于这些文件的内容,假装它们是Python,即使它们非常明显不是。根据自己的喜好,这并不奇怪。令人惊讶的是,如果做了。在这种情况下,原因似乎很清楚:xgettext的Python解析器,天真地信任你并且无可救药地混淆了结果,看到$.each(myArray , function(i){ var Id = $.trim(myArray[i]); if($('#'+Id).length > 0){ $('#'+Id +' input[type="checkbox"]:checked').each(function(){ alert($(this).val()); }); } }); in作为一个字符串文字的开头没有前缀",所以跳过它。

通过执行the documentation所说的修复它:使用专用工具提取字符串。在laravel-gettext的情况下,这意味着使用此命令:

__

(即将推出的Poedit 2.0将直接支持这样的模板语言,但在此之前,您需要使用CLI工具。)