проблема
Как я видел в документации по 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. Поэтому я уверен, что есть лучший способ реализовать поддержку мультиязычности с темой WordPress, написанной с помощью Timber.
Вопрос
Я хотел бы знать, каков наилучший и самый надежный способ создания WordPress Theme с Timber и реализации мультиязычной поддержки для него.
Есть ли лучшие практики?
Многоязычный WordPress — тема, в которой еще много споров о том, как это сделать лучше всего. Так что в настоящее время, вероятно, нет лучшего и надежного способа сделать это.
Использование мультиязычности с Timber на самом деле не отличается от того, как вы подходите к нему при создании нормальной темы WordPress. Имейте в виду, что Timber — не то же самое, что Twig. Timber использует Twig, который является механизмом шаблонов, чтобы упростить отделение данных и логики от проблем отображения (HTML). Поэтому, если вы хотите узнать, как добавить поддержку мультиязычности, вы сначала посмотрите, как это сделать способом Timber / WordPress. Вы, вероятно не нужно никаких функций, предоставляемых Расширение Twig I18N, с которой вы сделали свои первые шаги.
Прочитайте страницу Кодекса о Многоязычный WordPress для начала.
Вы, вероятно, захотите использовать плагин, если хотите, чтобы контент, извлекаемый из базы данных, был переведен. Среди популярных, которые я использовал сам:
Если у вас установлена одна из этих программ и ваш контент готов на нескольких языках, тогда все готово. Вам не нужно ничего менять в своей теме, чтобы заставить работать основы. Добавление переключателей языка или ссылок на другие сообщения за пределами меню немного отличается. Там вам нужно будет обратиться к документации плагина, который вы будете использовать.
Если у вас есть статические строки в вашей теме, которую вы также хотите перевести, вы должны рассмотреть вопрос о добавлении интернационализация (i18n) к вашей теме.
Начиная с версии 1.x вы можете использовать большинство общие функции перевода прямо в ваших файлах Twig. Есть руководство по интернационализация в Timber Docs.
Других решений пока нет …