翻译在树枝模板中呈现的 ACF 字段

Translate ACF field that renders in twig template

我在一个网站上工作,我在 twig 中呈现通过 ACF 字段设置的内容。目前我正在实施翻译并且想知道我将如何做,因为它不是真正的字符串,它的树枝。

Php 文件:

$context = Timber::get_context();

$context['header'] = array(
    'title' => get_field('header_title')
);

Timber::render('/templates/index.twig', $context);

我的模板是这样的。

<header>
    {% if header.title %}
        <h1>
            {{ header.title }}
        </h1>
    {% endif %}
</header>

但对于翻译工具(po 文件),语法为:

{{ __("string to translate") }}

那么我怎样才能将 {{ header.title }} 传递给它呢?

您不能将 header 标题传递给 __()。只有在您的代码中编写的静态字符串才会使用 __() 等 gettext 函数进行处理。他们don’t work with variables。如果您有数据库中的字符串,您不会使用字符串翻译函数。相反,您需要 WordPress 的多语言解决方案。

阅读有关 Multilingual WordPress 的 Codex 页面以开始使用。如果您想翻译从数据库中提取的内容,您可能需要使用插件。其中最受欢迎的是: