我对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
任何人都可以帮助我?
答案 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工具。)