3

问题


正如我在 Timber 文档中看到的,可以像这样添加多语言支持:

// Set language to French
putenv('LC_ALL=fr_FR');
setlocale(LC_ALL, 'fr_FR');

// Specify the location of the translation tables
bindtextdomain('myAppPhp', 'includes/locale');
bind_textdomain_codeset('myAppPhp', 'UTF-8');

// Choose domain
textdomain('myAppPhp');

{% trans "Hello World!" %}

{% trans string_var %}

{% trans %}
    Hello World!
{% endtrans %}

问题是,像这样我有静态站点 - 将被翻译成法语,但我无法从 wp-backend 向它添加多语言内容。所以我确信有更好的方法来实现使用 Timber 编写的 WordPress 主题的多语言支持。

问题


我想知道用 Timber 构建 WordPress 主题并实现多语言支持的最佳和最可靠的方法是什么。

有没有最佳实践?

4

1 回答 1

2

多语言 WordPress 是一个关于如何做到最好的话题仍然存在很多争论。所以目前可能没有最好和最可靠的方法来做到这一点。

在 Timber 中使用多语言与构建普通 WordPress 主题时的处理方式并没有什么不同。请注意,木材与 Twig 不同。Timber 使用 Twig,这是一个模板引擎,可以更轻松地将数据和逻辑与显示 (HTML) 关注点分开。因此,如果您想了解如何添加多语言支持,您首先要了解如何以 Timber/WordPress 的方式进行。您可能不需要Twig 的 i18n Extension提供的任何功能,这是您迈出第一步的。

阅读有关多语言 WordPress的 Codex 页面以开始使用。

如果您想要翻译从数据库中提取的内容,您可能需要使用插件。我自己用过的流行的有:

当您安装了其中一个并且您的内容以多种语言准备就绪时,您就可以开始了。您实际上不必更改主题中的任何内容即可使基础工作正常。添加语言切换器或链接到菜单之外的其他帖子有点不同。在那里,您必须参考您将使用的插件的文档。

如果您的主题中有静态字符串还想翻译,则必须考虑将国际化 (i18n)添加到您的主题中。

从 Timber 1.x 版开始,您可以直接在 Twig 文件中使用大多数常用翻译功能。Timber Docs 中有关于国际化的指南。

于 2016-05-28T13:47:08.680 回答