如何使用 poedit 解析木材(树枝)模板并检测带引号的字符串以进行翻译
How to parse Timber (twig) templates with poedit and detect quoted strings to translate
我想用 poedit 解析 Timber 的 twig 模板,我需要翻译引用的内容。问题是我找不到不跳过引用内容的解析器。
示例:
<htmltag attribute="{{ __('value','textdomain') }}" />
有人知道用于检测引用内容(例如 html 属性内容)的 poedit 解析器吗?
当您使用 Poedit 时,不会自动识别 Twig 文件。要解决此问题,Timber’s documentation offers three options:
- 每个
.twig
文件以 {#<?php#}
开头
- 或者使用 The Twig Gettext Extractor,一种«poedit 友好的工具,可以从 twig 模板中提取翻译»。
- 或者使用 Python 解析器。请参阅documentation了解如何在 Poedit 中进行设置。
我选择了选项 3,效果很好。
我找到的解决方法是设置一个变量并将其用作我的属性值。
{% set attr_value = __('value', 'textdomain') %}
<a href='{{ attr_value }}'>link</a>
这样,PHP 和 Python 解析器就可以按照 Timber documentation 中的建议工作。
使用 Twig-Gettext-Extractor,由于无法识别 __() 函数,我得到一个 Twig-Error-Syntax。
与 OSX Sierra 有同样的问题,三个解决方案中的 none 对我有用:
- 在我的 .twig 文件上使用
{#<?php#}
导致 poedit 无法识别我的字符串
- 使用 Twig-Gettext-Extractor 抛出很多错误
- 使用python编译也抛出很多错误
我使用第一个选项({#<?php#}
在我的 .twig 文件之上)解决了问题,但我还编辑了 PoEdit PHP 提取器,以便它也可以在 .twig 文件中搜索。
我希望这可以帮助,
干杯!
我想用 poedit 解析 Timber 的 twig 模板,我需要翻译引用的内容。问题是我找不到不跳过引用内容的解析器。
示例:
<htmltag attribute="{{ __('value','textdomain') }}" />
有人知道用于检测引用内容(例如 html 属性内容)的 poedit 解析器吗?
当您使用 Poedit 时,不会自动识别 Twig 文件。要解决此问题,Timber’s documentation offers three options:
- 每个
.twig
文件以{#<?php#}
开头
- 或者使用 The Twig Gettext Extractor,一种«poedit 友好的工具,可以从 twig 模板中提取翻译»。
- 或者使用 Python 解析器。请参阅documentation了解如何在 Poedit 中进行设置。
我选择了选项 3,效果很好。
我找到的解决方法是设置一个变量并将其用作我的属性值。
{% set attr_value = __('value', 'textdomain') %}
<a href='{{ attr_value }}'>link</a>
这样,PHP 和 Python 解析器就可以按照 Timber documentation 中的建议工作。
使用 Twig-Gettext-Extractor,由于无法识别 __() 函数,我得到一个 Twig-Error-Syntax。
与 OSX Sierra 有同样的问题,三个解决方案中的 none 对我有用:
- 在我的 .twig 文件上使用
{#<?php#}
导致 poedit 无法识别我的字符串 - 使用 Twig-Gettext-Extractor 抛出很多错误
- 使用python编译也抛出很多错误
我使用第一个选项({#<?php#}
在我的 .twig 文件之上)解决了问题,但我还编辑了 PoEdit PHP 提取器,以便它也可以在 .twig 文件中搜索。
我希望这可以帮助,
干杯!