Как перевести плагин wordpress

В статьях как написать плагин для WordPress ( часть 1 ) и Как создать плагин для WordPress ( часть 2 ), я детально рассказывал о создании своего плагина.Но, логично если мы его создали, то вероятно нам захочется представить его не только русскоязычному населению, но и тем, кто живет за пределами 1/6 части суши.
Рассказывать о том, как сделать перевод своих сообщений, надписей, кнопок и т.д., я буду в контексте предыдущих статей. Поэтому, чтобы было понятней, рекомендую с ними ознакомится. Но и без ознакомления все будет предельно ясно.
«Ну-с, продолжим», — как сказала мать сорока детей.
В плагине описанном в статье Как создать плагин ( часть 2 ), мы выводим сообщение посетителю, который незалогинился у нас на сайте ( страница запрещена к просмотру обычным посетителям ).
В коде есть такие строки
"<p>".__('Для просмотра этой страницы залогиньтесь!', 'my_restrict')."</p>
Что это означает?
Строка внутри функции __() будет переведена на язык сайта, который стоит в пункте админ-меню «Настройки» опция «Site Language«.
Через запятую стоит название текстового домена, по которому будет найден перевод. Название произвольное, лишь бы совпадало с названием загружаемого функцией
add_action( 'plugins_loaded', 'true_load_plugin_textdomain' );
function true_load_plugin_textdomain() {
load_plugin_textdomain( 'my_restrict', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' );
}
это значит, что файлы с названием нашего текстового домена будут загружены из папки нашего плагина из подкаталога languages, который нужно создать заранее.
Теперь самое основное — нужно как-то реализовать перевод. Сам Вордпресс за вас этого не сделает. А кто?
Программа Poedit (скачать)!
После установки программы — запустим ее!
Выбрав в меню «File->New»
Нам предлагается выбрать язык НА КОТОРЫЙ! будем переводить.
В моем случае это English(United States) — информация взята из админ-меню, пункт «Настройки».
ОЧЕНЬ ВАЖНО! То значение которое в скобках.
Перейдем в пункт меню «Catalog->Properties».
Далее напишем имя нашего проекта, выберем кодировку UTF-8.
Нажмем «Save».
Программа по умолчанию поставит имя en.po, вот здесь важно сохранить файл с именем в формате {наш текстовый домен}-{en_EN}.po.
В нашем случае имя будет my_restrict-en_US.po. Помните, что я говорил выше насчет «ОЧЕНЬ ВАЖНО! То значение которое в скобках«.
Если имя будет my_restrict-en_EN.po, то нихрена у вас не заработает!
Перейдем к следующей закладке. Source paths
Там где первый зеленый плюс, выберем файл, в котором у нас прописаны текстовые константы в таком формате
"<p>".__('Для просмотра этой страницы залогинтесь!', 'my_restrict')."</p>
в данном случае это наш plugin.php.
Далее посетим закладку Source keywords.
Выберем new item
Добавим __().
Т.е. чтобы просканировалось все что в качестве аргументов этой функции.
И нажмем ОК.
Нажмем кнопку Update.
Появилось окно с нашими просканированными строками.
Внизу для каждой строки напишем ее перевод в пункте Translation.
И снова нажмем Save.
Автоматически в папке с нашим языковым и понятным файлом my_restrict-en_US.po, который понимаем мы, если открыть его в текстовом редакторе, сгенерировался файл my_restrict-en_US.mo, который понимает WordPress.
И теперь у нас вместо русской строки «Для просмотра этой страницы залогинтесь!«, появилась английская версия «Please LogIn!«, которую мы написали в пункте Translation, напротив нашей строки. Ведь в моей версии WordPress на английском. У вас может быть на русском или украинском или на любом другом.
Таким образом можно делать перевод кнопок, сообщений вашего плагина на любой язык, создавая новые файлы формата {наш текстовый домен}-{язык_ЯЗЫК}.po.
Спасибо за внимание!
Один Ответ
Добрый день!
Спасибо за калькулятор, помогите пожалуйста разобраться, нужны следующие значения: процентная ставка в день 1,7%. минимальная сумма 100 (шаг 100) максимальная сумма 10000 (среднее значение 3000). Минимальный срок 1 максимальный 30 (средний 5).