timber/wp-i18n-twig

该软件包最新版本(v1.0.0)没有可用的许可信息。

使用 WP-CLI 提取 WordPress 的 Twig 文件翻译

资助软件包维护!
Open Collective
timber

安装量: 1,579

依赖项: 0

建议者: 0

安全性: 0

星级: 7

关注者: 3

分支: 1

开放问题: 0

类型:wp-cli-package

v1.0.0 2024-04-25 19:48 UTC

This package is auto-updated.

Last update: 2024-08-25 20:43:29 UTC


README

tests

在 Twig/Timber 模板中解析 WordPress 翻译一直是古怪且不太方便的。尤其是在 WordPress 开始从多个来源获取翻译(主题样式表、{block,theme}.json、块编辑器 JS、PHP 文件)并且现在也以多种格式输出(po、php)之后。

WP-CLI 是创建/更新 POT 文件的推荐方式,因此 timber/wp-i18n-twig 通过覆盖默认的 wp i18n make-pot 提供了(几乎原生)的 Twig 翻译提取。

安装

由于 WP-CLI 默认命令不应该被覆盖,安装 timber/wp-i18n-twig 有两种有效的方法

全局

如果您想与全局安装的 wp(例如 /usr/local/bin/wp)一起使用,您必须将其作为 WP-CLI 软件包安装

wp package install timber/wp-i18n-twig

本地

您还可以使用 composer 在项目级别安装此软件包,并从本地 vendor/bin/wp 运行 WP-CLI

composer require timber/wp-i18n-twig

用法

用法与 wp i18n make-pot 命令相同。

wp i18n make-pot /path/to/my/theme languages/my-theme.pot

--debug 标志在您想要检查已解析的模板(并监视解析错误)时很有用

wp i18n make-pot /path/to/my/theme languages/my-theme.pot --debug

有关更多信息,请参阅 wp i18n 命令文档

为了匹配 wp i18n make-pot 的行为,已添加 --skip-twig 标志,以便在需要跳过 Twig 文件提取时使用。

翻译

timber/wp-i18n-twig 处理与 wp i18n 相同的翻译函数和功能范围 功能

它还支持翻译者注释,但代价是巨大的

在您的 Twig 模板中添加翻译者注释的方式类似于 PHP,将其放在与翻译字符串相同的行或其前面的行

{# translators: Translators 1! #}
{{ __( 'hello world', 'foo-theme' ) }}

{# Translators: Translators 2! #}
{{ __( 'foo', 'foo-theme' ) }}

{# translators: this should get extracted. #} {{ __( 'baba', 'foo-theme' ) }}

{# translators: boo #} {# translators: this should get extracted too. #} {# some other comment #} {{__( 'bubu', 'foo-theme' ) }}

自定义标签

当与 Twig 一起工作时,您可能需要注册自定义标签的流行 Twig 库(例如 {% dump %}{% cache %} 等)。timber/wp-i18n-twig 将自动加载以下标签的令牌解析器

重要

为了加载令牌解析器,您必须使用本地版本的 timber/wp-i18n-twigvendor/bin/wp)。

限制

为了使此软件包在任何 Twig 环境中工作,模板不会编译成 PHP,而只会解析。这个主要好处是它(几乎)没有配置需求(自定义过滤器、函数、模板位置)。

然而,由于 Twig 是高度可配置的,因此仍有一些(较小的)限制。

  • 除了支持的标签之外的自定义标签会导致解析错误。
  • 不支持使用非默认的区块/注释/变量标签,并且可能永远都不会支持。