Несколько языков WordPress. Плагин qTranslate
4) Для изменения языка в названиях виджетов используем такую конструкцию:
1 | define('QT_SUPPORTED_WP_VERSION', $wp_version); |
4) Для изменения языка в названиях виджетов используем такую конструкцию:
1 |
1 2 3 4 5 | /pre> Внимание: в Вашем случае вместо eng пишите en, а вместо rus пишите ru! 5) Если нужно динамически переводить текстовые блоки в теме, то используем такую конструкцию: |
6) Если нужно динамически выводить какой-либо функциональный элемент темы, например, меню, то можем пользоваться такой конструкцией (источник: http://bizikov.ru/2013/07/multilanguage-wordpress/):
Регистрируем в functions.php нужные меню:
1 2 3 4 5 | <?php if(get_locale() == 'ru_RU') { ?> Русский текст <?php } else { ?> English text <?php } ?> |
Далее в админке WordPress наполняем эти меню и сохраняем. Для вывода меню, вставляем в нужном месте следующий код:
1 2 3 4 5 | if ( function_exists( 'register_nav_menu' ) ) { register_nav_menus( array('ru'=>__('RU Menu'),'en'=>__('EN Menu'),) ); } |
На сегодня всё))
P.S. Со времени написания статьи появился новый плагин qTranslate X (https://wordpress.org/plugins/qtranslate-x/). Благо, в нём ничего не нужно править на уровне кода, поскольку разработчики уже учли все баги оригинального qTranslate. От себя замечу один нюанс с выводом дат на страницах WordPress: в админке рекомендую отметить пункт «Преобразование Даты/Времени» — STRFTIME вместо даты с заменой форматов предопределенных для каждого языка.
Также на заметку следует взять следующий способ вывода текста в зависимости от языка:
1 2 3 4 5 | if(get_locale() == 'ru_RU') { wp_nav_menu(array('theme_location' => 'ru')); } elseif(get_locale() == 'en_US') { wp_nav_menu(array('theme_location' => 'en')); } |