Извините, вы уже голосовали за эту статью!
5       12345 1 голос
Ø
Жалоба:
 
Есть причина пожаловаться?

Статья добавлена 18 июля 2009, в субботу, в 17:02. С того момента...

2229
просмотров
0 добавлений в избранное
0 комментариев

Представлена в разделах:



Top 5 àвтора:

Научитесь переводить темы и плагины для Wordpress

Автор: yuriki
Тема:

Сообщение:
 
Написать автору
 

Вы узнаете, как русифицировать тему к Wordpress или новый, но очень полезный англоязычный плагин. Причем сделать это так, чтобы после обновления этой гипотетической темы или плагина не пришлось его переводить заново.

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

Как я подозреваю, этот способ работает не только с Wordpress'ом, но и с другими CMS и программами с открытым исходным кодом.

В инете есть куча статей с советами типа: «Открываем файл footer.php и заменяем все тексты, которые там нашли, на русский эквивалент (не забудьте про кодировку). Повторить для всех файлов в папке Вашей темы». И как только Вы послушались этого совета - тема взяла и обновилась, и Вам придется переводить все заново.

Что же предлагаю я?

Я предлагаю создать (или отредактировать уже существующий) файл локализации. Тогда при обновлении плагина или Wordpress темы перевод никуда не денется.

Что это за файл локализации? Теория.

Вы, наверное, часто видели файлы с расширением .po или .mo в папке с темой для Wordpress'а или в папке очень_полезного плагина? Если не нашел сразу, то они еще могут прятаться в папке "languages". Ну а если не видели, то сейчас услышите о них впервые (очень полезные и бесплатные файлы, между прочим).

.po файлы - если грубо, то это файлы локализации. Многие популярные языки программирования (C, C++, сценарии sh, Python, Perl, PHP, Java, Паскаль и куча других) имеют функцию gettext, ngettext или подобные, которыми размечают текст для будущего перевода. Но Вы скажете, что ничего подобного не видели в файлах footer.php, header.php или очень_полезный_плагин.php и будете правы. Поскольку эти функции, для удобочитаемости кода, заменяют коротким синонимом __ (два символа подчёркивания) или _e или _c или еще что-то.

В итоге код:

printf(gettext("My name is %s."), my_name)

выглядит так:

printf(__("My name is %s."), my_name)

Потом специальным экстрактором извлекают все такие строчки в специальный файл-шаблон с расширением .pot. Эта же строка в .pot файле будет выглядеть так:


#:header.php:19
msgid "My name is %s."
msgstr ""


где header.php - это тот файл, из которого извлекли строку "My name is %s.", а число 19 - это номер этой строки.

Потом переводчик создает из этого файла шаблона файл локализации с расширением .po. И вот в этот файл Вы можете вписать перевод строки. Выглядеть это будет так:


#: header.php:19
msgid "My name is %s."
msgstr "А зовут меня %s."


Но это еще не конец. Но уже и не начало :).

Как последний, штрих программа переводчик создает бинарный файл (откомпилированный) с расширением .mo, который и скармливается движку Wordpress'а.

Теперь пошагово расскажу как нужно действовать если у Вас ни с того ни с сего появилось непредсказуемое желание перевести плагин или тему под любимый CMS.

Последовательность действий для перевода плагина для Wordpress .

 

Источник: Невидимый горизонт

 
 
 
 

Ответов пока нет.

Комментàрии 


Комментариев к этой статье ещё нет.

Пожалуйста, подождите!
Комментарий: