Пользовательские строки для перевода с помощью плагина Polylang

24 янв. 2013 г., 00:11:37
Просмотры: 53.9K
Голосов: 9

Я использую WP 3.5 и плагин Polylang 0.9.8 для создания переводов на разные языки.

Всё работает хорошо, и плагин функционирует нормально, но сейчас я столкнулся с проблемой -- мне нужно переводить пользовательские строки, например, строки внутри виджетов.

Что вы можете порекомендовать для решения этой проблемы?

ДОБАВЛЕНО: Например (я говорю о тексте в виджетах, но не в шапке), могу ли я добавить какие-то строковые константы или что-то подобное и записать их из php-кода на мою страницу -- и получить возможность переводить их на странице String translation в Polylang?

2
Комментарии

В текущем виде на этот вопрос сложно дать конкретный ответ. Способ перевода этих строк во многом зависит от того, как написаны ваши плагины и тема, и это довольно обширная тема.

s_ha_dum s_ha_dum
24 янв. 2013 г. 01:53:22

Как можно конкретизировать вопрос?

NG_ NG_
27 янв. 2013 г. 21:01:47
Все ответы на вопрос 1
2
14

Используйте это

pll_register_string()

в файле functions.php

Используйте это так:

pll_register_string

Позволяет плагинам добавлять свои строки в панель "перевод строк". Функция должна вызываться на стороне администратора (файл functions.php подходит для тем).
Использование:

pll_register_string($name, $string, $multiline);
‘$name’ => (обязательно) имя для удобства сортировки (например: ‘myplugin’)
‘$string’ => (обязательно) строка для перевода
‘$multiline’ => (опционально) если установлено в true, поле ввода перевода будет многострочным, по умолчанию false

Итак:

pll_register_string('Заголовок', 'Текст, который вы хотите отобразить');

Затем в настройках панели управления, в разделе языков, вы найдете вкладку "строки". Там вы увидите эту новую созданную строку и поле для ввода перевода для каждого активного языка вашего сайта. Введите переводы, а затем используйте функции:

pll_e() для прямого вывода или pll__() для ручного вывода. Используйте это так:

pll_e('Текст, который вы хотите отобразить'); или
echo pll__('Текст, который вы хотите отобразить');

Вот и всё! :)

13 февр. 2013 г. 12:16:36
Комментарии

Спасибо! Вот в чем была проблема! Странно, что вопрос простой, но долго никто не отвечал.

NG_ NG_
14 февр. 2013 г. 11:35:19

Разве pll не должен вызывать имя переменной, а не её содержимое? -> pll_e('Header Title'); ?

red-o-alf red-o-alf
20 июл. 2018 г. 12:12:42