问题
正如我在Timber文档中看到的,可以添加多语言支持,例如this:
// 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主题并实现多语言支持的最佳和最可靠的方法是什么。
有没有最佳做法?
答案 0 :(得分:2)
多语言WordPress是一个关于如何最好地进行辩论的话题。所以目前可能没有一种最好,最可靠的方法。
在构建普通的WordPress主题时,将多语言与Timber一起使用与您接近它的方式并没有太大的不同。请注意,Timber与Twig不同。 Timber使用Twig,这是一个模板引擎,可以更容易地将数据和逻辑与显示(HTML)问题分开。因此,如果您想了解如何添加多语言支持,您首先要了解如何使用Timber / WordPress方式。您可能不需要Twig’s i18n Extension 提供的任何功能,您已经迈出了第一步。
阅读关于Multilingual WordPress的Codex页面以开始使用。
如果您想要从数据库中提取内容,您可能希望使用插件。我自己使用的流行的是:
当您安装了其中一个并且您的内容已准备好多种语言时,您就可以开始了。您不必在主题中更改任何内容以使基础工作正常。添加语言切换器或链接到菜单之外的其他帖子有点不同。在那里你必须参考你将要使用的插件的文档。
如果您的主题中有静态字符串,您也想要翻译,则必须考虑在主题中添加internationalization (i18n)。
从Timber 1.x版开始,您可以在Twig文件中使用大部分common translation functions权限。有关于internationalization in the Timber Docs的指南。