Создание мультиязычных сайтов на CMS WordPress

[vc_message color=»alert-info»]
Статья в процессе написания.
Начинал писать ее в 2013 году, потом все менялось и постоянно удалялись черновики.
Сейчас хочу привести статью по локализации шаблонов к какому-то полноценному завершенному виду.
А пока что буду добавлять сюда информацию отрывочно, чтобы потом из обрывков мыслей сложить полноценную инструкцию.
[/vc_message]

Для начала в файле functions.php указываем папку с локализованными переводами и даем понять, что шаблон мультиязычен:

add_action( 'after_setup_theme', 'my_theme_setup' );
function my_theme_setup(){
    load_theme_textdomain( 'crea', get_template_directory() . '/languages' );
}

В шаблоне в папке /languages должны находиться файлы с переводами в формате .po и .mo

В самом шаблоне статические тексты оборачиваем в функцию _e() или __()

<?php _e('Contact us', 'crea'); ?>

Так же можно (но не нужно), вместо функций _e() или __() использовать функции pll__(), pll_e() вместе с pll_register_string() и переводить фразы в админке WordPress на странице настроек Polylang. Документация.

В хеде используем определение языка для html

<html lang="<?php echo pll_current_language('slug'); ?>">

Для перевода шаблона из админки подойдет плагин Loco Translate

Полезные ссылки по локализации шаблонов на CMS WordPress:

Localization

Создание вариативных товаров в WooCommerce (создание вариаций)

Создаем вариации для товаров в WooCommerce. 1. Во вкладке Product data выбираем Variable Product 2….

Меняем внешний вид вариаций — вместо селектов делаем радио-кнопки

Задача — сделать красивый внешний вид для вариаций товаров в WooCommerce. По умолчанию, стандартный вид…

Выводим таймер обратного отсчета для продукта в WooCommerce

Задача такая — выводить для различных товаров таймер обратного отсчета, когда заканчиваются скидки или акции…

Выводим цену товара в WooCommerce в произвольном месте

Выводим базовую цену товара в WooCommerce: Выводим цену со скидкой, а если она не менялась,…

Ответить