Как изменить стандартные надписи и подсказки в wordpress

2012-12-12 15:05:02 Блог

Задался я вопросом, как же в вордпресс изменить такие надписи как "Рубрика", подсказки "Посмотреть все записи в рубрике", "постоянная ссылка" и другие. Сначала на скорую руку я попытался найти решение в Интернете. Там предлагались различные хаки, плагины. Например так:

$categoriesVar = wp_list_categories("echo=0");
$categoriesVar = str_replace( "View all posts filed under " , ' ' , $categoriesVar );
echo $categoriesVar;

или

// For post category links
function the_category_remove_title_attributes($thelist) {
   if (get_option('rta_from_category_links') == 'on') {
      $thelist = preg_replace('` title="(.+)"`', '', $thelist);
   }
   return $thelist;
}
add_filter('the_category', 'the_category_remove_title_attributes');

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

Итак, ближе к делу. В вордпрессе есть папка

/wp-content/languages

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

ru_RU.po — исхдоный файл
ru_RU.mo — файл ru_RU.po переведённый в нужный формат

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

Приступим. Открываем файл ru_RU.po с помощью программы (я использовал для этого Poedit): И изменяем нужные русские выражения на свои. Сохраняем.

Теперь нам нужно создать файл .mo из исходника .po. Для этого воспользуемся утилитами, которые идут вместе с программой Poedit (я работаю на линуксе поэтому, все команды будут прописаны для данной системы, т.к. Poedit является кроссплатформенной программой. Ею можно будет воспользоваться и на windows с не значительными изменениями). Открываем консоль и вводим команду:

msgfmt /home/chas/workspace/wordpress/wp-content/languages/ru_RU.po -o /home/chas/workspace/wordpress/wp-content/languages/ru_RU.mo

Готово.


Обратная команда для перевода .mo в .po:

msgunfmt /home/chas/workspace/wordpress/wp-content/languages/ru_RU.mo -o /home/chas/workspace/wordpress/wp-content/languages/ru_RU.po