четверг, 17 января 2008 г.

Русификация WordPress

Русификация WordPress

Продолжаем техническую подготовку проекта, а точнее — будем конфигурировать наш движок для блога WordPress. И поскольку я решил всё-таки работать во благо постсоветского информационного пространства (у буржуев своих писак хватает), то, думаю, перевод интерфейса на русский будет совсем не лишним.





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

1. Русифицировать административный модуль

Забираем самый свежий русский перевод для WordPress, распаковываем его и переписываем файл wp-includes\languages\ru_RU.mo в созданную папку wp-includes\languages.

Редактируем в конфигурационном файле wp-config.php одну строку, добавляя значение ru_RU.

define ('WPLANG', 'ru_RU');

Проверяем на работоспособность. Не работает? Поздравляю, вы счастливый обладатель хостинга с предустановленным php5 (можете на всякий случай проверить правда это или нет) и это значит, что русификация работать не будет. Если есть время и желание, то описание данной проблемы можете прочитать сами, а вот решение заключается в том, чтобы заменить файл gettexp.php на пропатченную версию.

Должно заработать, у меня, по крайней мере, заработало сразу же. Но это ещё присказка, сказка будет впереди.

2. Русификация темы

Собственно большинство пользователей WordPress останавливают свой выбор на данном движке из-за большого количества бесплатных плагинов и тем. Да, да — встречают по одежке. Я, как постоянный читатель Smashing Magazine, остановил свой выбор на Smashing Magazine Theme.

Немного теории
WordPress поддерживает стандартный фраймфорк для локализации, именуемый GNU gettext. Он позволяет разработчику отметить в коде куски текста, которые могут быть динамически переведены в дальнейшем. Основываясь на результатах анализа кода, при помощи специальной утилиты автоматически создаётся файл локализации. Дизайнеру остаётся перевести выбранные куски текста.

Текст маркируется при помощи специальных PHP методов-обёрток. Основных метода два и вам необходимо разбираться, когда и какой следует применять.

  • __($text, 'tag') — ищет перевод для $text и возвращает результат (если не было найдено совпадения, будет использовать значение $text), tag — уникальный идентификатор вашей темы.
  • _e($text, 'tag') — это тоже самое, что и echo __($text, 'tag')

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

Проявить свои знания в php придётся также при редактировании файла function.php.

if (WPLANG != ''){
load_theme_textdomain('tag');
}

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

  • 1. Для этого будем использовать кросс-платформенную графическую утилиту poEdit
  • 2. После запуска программы, выполняем Файл → Создать каталог и заполняем аналогично информацию на всех закладках.
    Info tab (изображение недоступно)
    Path to sources (изображение недоступно)
    Gettext keys (изображение недоступно)
  • 3. После нажатия на ОК, вы увидите в окне полный список всех английских фраз, которые вам останется перевести, после чего сохранить проект с именем ru_RU.po.
    Редактор (изображение недоступно)

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

3. Перевод текста, который написан на картинках

Если не владеете навыками работы в графических редакторах, то в данном случае я вам советую просто попросить кого-то из знакомых. Ну, или в крайнем случае пройти курс молодого бойца по Фотошопу. Потому как всё необходимо выполнить с точностью до пикселя.

Перевод текста на кнопках (изображение недоступно)

4. Даты на странице

Даты вроде «12 январь 2008» или «1 август 2008» очень режут глаза и слух, поэтому устанавливаем плагин Russian Date. После его активизации в админской панели все даты начнут выглядеть по-человечески: 12 января 2007, 1 августа 2008 .

Итак, всё готово для того, чтобы начать писать статьи по теме scrum, про его реальное использование, про те грабли, на которые наступали мы, и решения которые помогут вам.

Автор: alexsun.

Интересное...




Другие посты по этой теме:



Комментариев нет: