8

我对 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

任何人都可以帮助我吗?

4

1 回答 1

3

你就这些文件的内容向 Poedit撒谎,假装它们是 Python,即使它们很明显不是。它不符合您的喜好也就不足为奇了。如果确实如此,那将是令人惊讶的在这种情况下,原因似乎很清楚:xgettext 的 Python 解析器天真地信任您,结果令人绝望地感到困惑,将"其中的 视为没有前缀的字符串文字的开头,__因此跳过了它。

按照文档中的说明进行修复:使用专用工具提取字符串。在 laravel-gettext 的情况下,这意味着使用这个命令:

php artisan gettext:update

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

于 2015-12-13T08:07:51.620 回答