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

Mig*_*ira 6 gettext poedit blade laravel-blade

我遇到了Laravel的刀片模板语法问题.当有类似的东西:

<input placeholder="{{ __('My Tooltip') }}" />
Run Code Online (Sandbox Code Playgroud)

该字符串不会由POEdit创建.但是在同一个文件中,如果我有这个:

<span>{{ __('My Tooltip') }}</span>
Run Code Online (Sandbox Code Playgroud)

没关系.

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

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

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

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

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

有人可以帮帮我吗?

Vác*_*vík 3

你对 Poedit 关于这些文件的内容撒了谎,假装它们是 Python,即使它们很明显不是。\xe2\x80\x99 不符合你的喜好一点也不奇怪。如果确实如此,那将是令人惊讶的在这种情况下,原因似乎很清楚: xgettext\xe2\x80\x99s Python 解析器天真地相信你,结果无可救药地感到困惑,将其中的 视为"不带前缀的字符串文字的开头__,因此跳过它。

\n\n

按照文档所述修复此问题:使用专用工具提取字符串。在 laravel-gettext 的情况下,这意味着使用以下命令:

\n\n
php artisan gettext:update\n
Run Code Online (Sandbox Code Playgroud)\n\n

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

\n