2015-12-12 36 views
3

我遇到了Laravel的刀片模板语法问题。 当具有类似:POEdit不提取HTML标记中的字符串

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

该字符串不会被poEdit的的基础上。但在同一个文件,如果我有这个:

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

这没关系。

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

命令: --language了xgettext的Python = --add-评论=翻译:--force-PO -o%Ø%C%K%F

在关键字列表中的一项: -k%K

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

源代码字符集: --from码=%C

任何人都可以帮到我吗?

回答

2

谎言到Poedit关于这些文件的内容,假装他们是Python,即使他们很明显不是。这并不令人惊讶,它不符合你的喜好。如果它是的话,会令人惊讶的是。在这种情况下,原因似乎很清楚:xgettext的Python解析器天真地相信你,并且因为结果而无望地感到困惑,因此将"看作是不以__作为前缀的字符串文字的开头,并跳过它。

通过做什么来修复它the documentation说:使用专用工具来提取字符串。在laravel-的gettext的情况下,这意味着使用这个命令:

php artisan gettext:update 

(即将poEdit的2.0将有这样的模板语言的直接支持,但在那之前,你需要使用命令行工具)

+0

感谢你的帮助!同时,我复制大约20/30条目并放入帮助文件,并且POEdit已经提取了该文件。我会等待Poedit 2.0。有任何发布日期了? –

+0

我上面描述的提取器是我发现的刀片输出语法(花括号)的破解,我解决了我的许多问题!我理解这些提取器的概念(我必须创建几个 - 对于模板的jade,对于javascript内部视图,以及其他更多),但我只想知道是否会有一个命令选项,我可以添加提取条目,甚至内引号。再次感谢您的建议,但现在负责管理翻译的人员没有技术技能来处理artisan/shell控制台,而且我还必须更改所有PO文件的位置。 –

+0

翻译者并不期望*处理此事。一个合理的开发者遵循GNU gettext手册告诉他们做的事情,即从源头准备POT文件(使用控制台对开发者来说不是问题,或者应该是)。 *这是翻译人员需要处理的唯一事情,并且不需要shell,不需要知识,也无需访问源代码。学习适当的gettext工作流程10分钟节省了很多麻烦...... –