问题
正如我在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主题并实现对它的多语言支持的最佳和最可靠的方法是什么。
有没有最佳做法?
#1多语言WordPress是一个话题, 关于如何做到最好, 仍然存在很多争论。因此, 目前可能没有最佳, 最可靠的方法。
与Timber一起使用多语言与构建普通的WordPress主题时所采用的方式并没有什么不同。请注意, Timber与Twig不同。 Timber使用Twig, 这是一个模板引擎, 可以更轻松地将数据和逻辑与显示(HTML)问题分开。因此, 如果你想了解如何添加多语言支持, 请先了解如何以Timber / WordPress方式进行。你可能不需要Twig的i18n扩展程序所提供的任何功能, 而你正是通过这些功能而开始的。
阅读有关多语言WordPress的Codex页面以开始使用。
如果你要转换从数据库中提取的内容, 则可能需要使用插件。在我惯用的流行方式中, 有:
- WPML
- 聚朗
如果你的主题中也有要转换的静态字符串, 则必须考虑在主题中添加国际化(i18n)。
【具有多语言支持的Timber和WordPress最佳做法】从Timber版本1.x开始, 你可以直接在Twig文件中使用大多数常用翻译功能。 Timber Docs中有关于国际化的指南。
推荐阅读
- Bootstrap, jumbotron和sticky footer
- Avada(WordPress主题)编译了CSS(它是从哪里编译的())
- 在WordPress 3.2.x中创建页面时缺少管理模板选择
- 在菜单顶部添加电话号码,并且应该可以在移动设备中查看
- 将WooCommerce注册表单添加到任何页面/模板
- 将小部件添加到主题激活的自定义WordPress侧边栏()
- 在WordPress中为Gravatar img添加类
- 将自定义顶级外部和自定义子菜单外部链接添加到WP Admin
- 在WordPress中使用CMB2添加具有自定义回调函数的自定义元框()