Как локализовать тему или плагин для блога WordPress

10
Как Локализовать Тему или Плагин для Блога WordPress

description

Электронная книга в формате PDF, в которой описывается процесс локализации (перевода на необходмый язык) тем или плагинов WordPress.

Transcript of Как локализовать тему или плагин для блога WordPress

Page 1: Как локализовать тему или плагин для блога WordPress

Как Локализовать Тему или Плагин для Блога WordPress

Page 2: Как локализовать тему или плагин для блога WordPress

2Игорь Очеретный

Инструменты Продаж на Блоге WordPress http://wpsells.com

КаК лоКалИзовать тему ИлИ ПлагИн для Блога WordPress

3

Разрешается свободное бесплатное распространение данного издания само-стоятельно, совместно с другими бесплатными продуктами или в виде бесплатно-го приложения (бонуса) к платным продуктам без внесения каких-либо изменений или дополнений в его текст, структуру или оформление.

Продажа данного издания запрещена.

(с) Игорь очеретный, 2011 г.

Page 3: Как локализовать тему или плагин для блога WordPress

3Игорь Очеретный

Инструменты Продаж на Блоге WordPress http://wpsells.com

КаК лоКалИзовать тему ИлИ ПлагИн для Блога WordPress

Существует два способа локализации (перевода на определенный язык) тем или плагинов для WordPress: «неправильный» и «правильный». Суть первого за-ключается в выискивании слов и фраз, которые необходимо перевести, непосред-ственно в скриптах и шаблонах темы. Второй способ – редактирование специаль-но для этого предназначенных языковых файлов (файлов локализации), которые разработчики в большинстве случаев включают в дистрибутив своего творения.

Такие файлы носят расширение .po, .mo и .pot и находится они могут как в корневой папке темы, так и в специально предназначенной для этого директории lang, langs, languages или с другим соответствующим смыслу названием.

Второй способ, однако, не исключает первого, так как, то ли по недосмотру, то ли по другим каким причинам, но даже после перевода языкового файла, в теме кое-где могут оставаться непереведенные фразы, которые приходится вычищать вручную. И тем не менее, второй способ все же предпочтительнее, хотя бы по при-чине своего удобства – на нем мы и остановимся подробнее.

Для работы нам понадобятся две программы: текстовый редактор с расши-ренными возможностями Notepad++ (http://notepad-plus-plus.org/download) и программа для редактирования каталогов локализации Poedit (http://www.poedit.net/download.php). Процедура их установки ничем не отличается от установки других программ на компьютер, так что этот момент я пропускаю и перехожу к сути вопроса.

Переводить тему удобно на запущенном на локальном сервере (для этих це-лей великолепно подходит пакет Denwer (http://www.denwer.ru/)) блоге WordPress с установленной темой.

Итак, если в Вашей теме или плагине уже имеются файлы локализации, за-пускаем Poedit, в меню выбираем «Файл -> Открыть» и находим исходный язы-ковый файл в каталоге своей темы. Как правило, это файл англоязычный, поэтому он называется en_GB.po или en_US.po (в зависимости от разновидности языка – британский английский, американский английский или какой-либо другой англий-ский – ориентируемся по наличию «en_» в названии файла).

При этом мы увидим область экрана, разделенную на две колонки: «Исходная строка» и «Перевод» (если при установке программы Вы пропустили момент, когда

Page 4: Как локализовать тему или плагин для блога WordPress

4Игорь Очеретный

Инструменты Продаж на Блоге WordPress http://wpsells.com

КаК лоКалИзовать тему ИлИ ПлагИн для Блога WordPress

5

можно было выбрать русский язык интерфейса, сделать это можно из меню «File --> Preferences --> Change UI Language» и выбрать Russian).

Левая колонка заполнена фразами на английском, правая – пустая.

Идем снова в меню и выбираем «Файл -> Сохранить как». При этом в каче-стве имени файла указываем ru_RU (расширение .po программа подставит сама) – таким образом мы создаем собственный языковый файл, который сейчас отре-дактируем.

Кликаем по строке, которую хотим перевести, правой кнопкой мыши, и в кон-текстном меню выбираем «Скопировать исходный текст в поле перевода» - это поле находится в нижней области экрана – после чего заменяем исходную фразу, появившуюся в поле перевода, на ее русскоязычный аналог. Нажимаем Ctrl+S или «Файл -> Сохранить».

Page 5: Как локализовать тему или плагин для блога WordPress

5Игорь Очеретный

Инструменты Продаж на Блоге WordPress http://wpsells.com

КаК лоКалИзовать тему ИлИ ПлагИн для Блога WordPress

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

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

Запускаем Notepad++, заходим в меню «Поиск -> Найти в файлах» (или Ctrl+Shift+F), выбираем папку со своей темой и в поле «Что искать» вводим ту фразу или слово, которое мы нашли непереведенным. Нажимаем кнопку «Найти все!».

При этом в нижней части экрана у Вас появится список всех файлов, в кото-рых встречается данная фраза. Открываем эти файлы по одному и, прежде всего, идем в меню: «Кодировки -> Преобразовать в UTF-8 без BOM» и сохраняем файл на тот случай, если он у Вас открылся в какой-нибудь другой кодировке, что обычно и происходит.

Page 6: Как локализовать тему или плагин для блога WordPress

6Игорь Очеретный

Инструменты Продаж на Блоге WordPress http://wpsells.com

КаК лоКалИзовать тему ИлИ ПлагИн для Блога WordPress

7

Нажимаем Ctrl+H (или меню «Поиск -> Замена…») и в поле «Что искать» снова вводим найденную непереведенную фразу, а в поле «Заменить на» - пере-вод этой фразы, и нажимаем кнопку «Заменить все».

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

Но что же делать, если файлов локализации нет? Конечно же, создать их са-мим!

Сначала необходимо подготовить файлы темы – заходим в директорию «wp-content/themes/ваша-тема/», открываем содержащиеся там файлы (кроме фай-лов стилей с расширением .css) и исследуем их на предмет наличия в выводимых тестовых сообщениях специальных функций-контейнеров, благодаря которым становится возможным их мультиязычная обработка.

Таких функций в WordPress две: __() и _e(). Первая предназначена для со-общений, которые находятся в каких-либо других функциях, возвращающих свое содержимое для дальнейшей обработки, а вторая – для сообщений, непосред-ственно выводимых в браузер (по аналогии с php-функцией echo).

Другими словами, если Вы видите в файлах темы примерно такую картину:

<p>This is my blog</p>

значит это надо привести к виду

< ?php _e( 'This is my blog', 'theme-domain'); ?>

Соответственно, сообщения, вложенные в другие функции (например, в фай-ле functions.php), должны принять такой вид:

< ?php __( 'Please, login to view the comments!', 'theme-domain'); ?>

Page 7: Как локализовать тему или плагин для блога WordPress

7Игорь Очеретный

Инструменты Продаж на Блоге WordPress http://wpsells.com

КаК лоКалИзовать тему ИлИ ПлагИн для Блога WordPress

Где 'theme-domain' – это обычно название папки, в которой находятся файлы Вашей темы (на самом деле - это имя языкового домена, с помощью которого ката-лог локализации определяет, какие файлы он должен обрабатывать для перевода содержащихся в них текстовых сообщений).

После завершения этой процедуры запускаем программу Poedit, меню «Файл->Создать каталог»:

Заполняем поля во вкладке «Информация о проекте» по примеру, изобра-женному на картинке и СТОП!!! Тут палец сам тянется кликнуть по кнопке «ОК», но ни в коем случае не делайте этого сейчас! – я лично несколько раз прокалывался на этом поначалу .

Переходим на вкладку «Пути» и делаем следующее (хотя без разницы, где в директории темы Вы будете хранить языковые файлы, советую Вам, все-таки, предварительно создать там для этих целей папку langs, если такой папки там еще нет), - так вот, если языковые файлы мы собираемся хранить в такой вложенной

Page 8: Как локализовать тему или плагин для блога WordPress

8Игорь Очеретный

Инструменты Продаж на Блоге WordPress http://wpsells.com

КаК лоКалИзовать тему ИлИ ПлагИн для Блога WordPress

9

директории, значит ДОПИСЫВАЕМ (а не исправляем существующий путь «.») но-вый путь вида «../», нажав обведенную желтым кружком пиктограмму. После этого снова ни в коем случае не нажимайте «ОК»!

Открываем последнюю вкладку «Ключевые слова» и видим примерно такую картину:

Page 9: Как локализовать тему или плагин для блога WordPress

9Игорь Очеретный

Инструменты Продаж на Блоге WordPress http://wpsells.com

КаК лоКалИзовать тему ИлИ ПлагИн для Блога WordPress

Воспользовавшись пиктограммой с крестиком удаляем имеющиеся здесь за-писи и вместо них добавляем две свои, введя имена уже известных нам функций локализации «__» и «_e», кликнув по второй пиктограмме «Новый пункт»:

И только теперь нажимаем «ОК».

Появляется окно «Сохранить как…». Выбираем с помощью проводника нашу папку «/mytheme/lang/», указываем тип файла «All files» (все файлы), вводим на-звание каталога, соответствующее названию папки с темой и ВРУЧНУЮ дописы-ваем расширение «.pot».

Page 10: Как локализовать тему или плагин для блога WordPress

10Игорь Очеретный

Инструменты Продаж на Блоге WordPress http://wpsells.com

КаК лоКалИзовать тему ИлИ ПлагИн для Блога WordPress

После нажатия кнопки «Сохранить» в наш каталог автоматически добавля-ются все текстовые сообщения из файлов темы, заключенные в функции __ и _e. Теперь делаем «Файл->Сохранить как», добавляем к названию «-ru_RU» (если мы создаем русскую локализацию) и сохраняем с предлагаемым по-умолчанию расширением «.po». Теперь переводим все слова и фразы и не забываем снова сохранить файл.