Polylang – бесплатный, легкий плагин мультиязычности WordPress

Сам плагин в целом не сложный
мы создаем страницу, заполняем ее и указываем язык страницы – русский.
После чего создаем новую страницу, на английском заполняем, указываем английский язык и добавляем сопоставление с первой страницей.
Теперь, если на первой странице мы нажимаем в меню английскую версию – у нас открывается вторая страница (с измененным url с добавлением префикса)

Вопрос: А у меня есть на сайте шорткоды, просто через php или файл выводится текст. Как его переводить?

Вариант 1:
Чтобы не создавать еще и для шорткодов и файлов копии на английском, можно попробовать прямо в коде указывать вариации перевода.

<?php if (pll_current_language() == 'ru'): ?>
    <span>© Заплата.ру, <?php echo date('Y'); ?>. Все материалы защищены.</span>
    
<?php elseif (pll_current_language() == 'en'): ?>
    <span>© Zaplata.ru, <?php echo date('Y'); ?>. All materials are protected.</span>
<?php endif; ?>

Вариант 2:
В плагине есть еще специальный раздел “Перевод строк” (Translations).
/wp-admin/admin.php?page=mlang_strings

Это специальное хранилище в базе данных для перевода коротких текстовых фрагментов, которые не являются ни записями, ни страницами, ни рубриками.

Текст не появляется там магическим образом. Его туда отправляет PHP-код. Есть три основных источника:

Настройки самого WordPress

Если в настройках Polylang (вкладка «Меню и виджеты») включена галочка, туда автоматически попадают: Заголовок сайта, Описание сайта и Заголовки текстовых виджетов.

Код сторонних плагинов и тем

Разработчики плагинов (например, Contact Form 7, WooCommerce или ваша тема) прописывают в своем коде специальную функцию pll_register_string(). Эта функция говорит Polylang: «Возьми этот текст и покажи его администратору на странице перевода строк».

Ваш собственный PHP-код
Добавите в functions.php такой код:

pll_register_string( 'Уникальное_имя_строки', 'солнечный дом', 'WordPress' );

На странице:

<h2 class="error-title"><?php pll_e('солнечный дом'); ?></h2>

В админке Translations сам перевод:

В итоге на сайте на английской версии у нас будет перевод (пример):

у меня большая ошибка.
в рубриках слетает язык
уже не первый раз
не пойму в чем причина

Попробуй убрать в Synchronization – Taxonomies

guest
Закрыть меню