В интернете подавляющее большинство тем WordPress на английском языке. Часть из них переведена на русский язык. Однако, довольно часто можно встретить пробелы в таких переводах. Вследствие вышесказанного, у многих веб-мастеров возникает вопрос: «Как перевести тему WordPress?».
Неправильный перевод темы WordPress
Многие блогеры переводят или «допереводят» свои темы, заменяя английские слова на русские в исходных файлах *.php тем. Делается это очень просто. Допустим, требуется перевести «Categories» на «Категории». В Total Commander через поиск ищутся файлы, содержащие данное словосочетание.
Найденные файлы открываются в текстовом редакторе «Notepad ++» и уже через его поиск находится искомое словосочетание, в нашем случае «Categories» и заменяется на «Категории».
Без такого способа не обойтись, если тема не подготовлена к переводу и в ее архиве отсутствует папка «Languages». Такое возможно, если шаблон взят с неофициального источника.
Такой перевод темы «не есть хорошо», ведь он меняет исходный код файлов, который должен быть на английском. Кроме этого, после обновления темы автором, вам опять придется ее переводить.
Как правильно перевести тему WordPress
Воспользуемся для перевода темы бесплатной и самой удобной на сегодняшний день для переводов программой Poedit. Скачать ее можно отсюда.
Poedit переводит тему в файле с расширением po, затем автоматически компилирует его в файл с расширением mo. Оба файла находятся в папке «Languages» темы.
Итак, откройте программу Poedit и создайте новый каталог перевода, перейдя в меню программы «Файл» → «Создать каталог из POT файла«.
В папке «Languages» вашей темы выберите файл шаблона для перевода с расширением pot или po при отсутствии предыдущего.
После этого программа предложит заполнить небольшую форму и сохранить ваш перевод. Сохраняйте его как ru_RU.po в папке «Languages» темы.
Для внесения изменений в перевод темы достаточно открыть в программе файл ru_RU.po.
- В окне 1 выделите надпись на английском, которую надо перевести.
- В окне 2 появится исходный текст, готовый к переводу.
- В окно 3 впишите перевод надписи. Если вы не владеете английским, в помощь придет Google переводчик.
- В окне 4 появится наш перевод надписи.
После того, как тема будет переведена, не забудьте сохранить перевод, и скопируйте вновь созданные или отредактированные файлы ru_RU.po и ru_RU.mo в папку «Languages» темы сайта по ftp или установите и активируйте новую переведенную тему с этими файлами.
Между прочим, аналогичным образом, вы теперь сможете не только темы переводить, но и плагины. Вот где непочатый край для работы. Желаю успеха.
А не подскажите, как перевести тему нестандартную платную купленную за бугром?
А как при переводе учесть склонение слов в русском языке?
Я нашел следующее решение. Из pot-файла новой версии плагина в Poedit создал новый перевод. А потом в меню Каталог -> Заполнить из памяти переводов. Программа сама подставила все ранее использованные переводы, правда отметила их, как неточные. Хотя она спросила, как заполнять, я может не совсем вник в варианты заполнения. Но пробежать по пунктам и снять пометку НЕТОЧНО не составило большого труда.
Спасибо Роман, отличное решение! Рано или поздно твоя методика пригодится, и не только мне.
Добрый день, Роман.
Я сделал через POEDIT перевод плагина — всё отлично. Но вышло обновление плагина, в котором как-раз доработано подключение языков в том числе.
pot-файл новой версии тоже немного изменился: видоизменились некоторые фразы на английском + добавились новые. Соответственно и в плагине теперь не «всё гладко». Сопоставлять заново 400 строк не очень хочется. Есть ли возможность привязать перевод из нового pot-файла к уже существующему, чтобы он сопоставил уже имеющиеся и неизменившиеся позиции и только доперевести новые? Или надо полностью делать перевод снова?
Здравствуйте, Роман. Я тоже сталкивался с подобной ситуацией. Но, у меня было проще, я просто закачал старый файл перевода. Решения, как использовать старый файл, чтобы не переводить по новой, не нашел. Может оно и есть, просто плохо искал? Если Вы решите эту задачу, пожалуйста, сообщите как.
Роман, я использовал «неправильный» перевод прямо под админкой в консоле в редакторе внешнего вида. Поменял английсткие слова на русские во всех интересующих файлах *.php. И тут проблема — пока я под админкой все корректно перевелось (отобразилось) и т.п. Вхожу на сайт как пользователь без паролей все опять английское. Что посоветуете?
Денис, Вы используете кэширование? Если да, то очистите кэш. Администратору показываются настоящие страницы, а остальным посетителям из кэша.
Тема (Cherry) не реагирует на перевод. Переводил с помощью Codestyling Localization, потом с Poedit. Закидывал переведенные файлы .po и .mo в файл lang темы и в папку languages в wp-content корня сайта.
Менял и присваивал WPLANG значение ‘ru_RU’.
*/ define(‘WPLANG’, ‘ru_RU’);
Менял с ru_RU.po на ru.po и с ru_RU.mo на ru.mo
Не реагирует и все тут. И эта тема не первая… Хоть убей не пойму в чем дело, может вы сталкивались с чем то подобным???
Роман, у меня получилось. Большое спасибо за поддержку. Оказалось, что надо было в Notepad поставить кодировку UTF-8. И тогда файл загружается нормально.
Видел, теперь совсем другое дело. Поздравляю!
Никак не идет. Что-то все-таки с этой темой не так.
Спасибо. Сейчас попробую. Только у меня в теме нет папки «languages». Эта папка у меня в общей папке, где все темы. А в моей просто файлы с po и mo. Может тогда и проблема в том, что не в ту папку попала информация?
Роман, я попробовала обоими вышеописанными способами. и правильным и неправильным. Файлы c po и mo нормально с хостинга выгрузились и обратно загрузились. Ничего не изменилось. Видимо надо тему менять или так и оставить.
Тема интересная и менять ее жалко. А так оставлять точно не стоит. Наши темы написаны в одном редакторе и мой файл локализации должен вам подойти (выслал на почту). Скопируйте его в папку «languages» темы на хостинге.
Подскажите, пожалуйста. Перевела с помощью плагина CodeStyling Localization. В директиве темы появились файлы ru_RU.mo и ru_RU.po. И тема в принципе русифицирована, лишь немного слов на страничке не переводятся. После моих долгих изысканий, на странице ничего не поменялось. Хотя я вручную забила все значения переводимых слов. Может еще какая-то хитрость есть?
Да, видел, не переведены стандартные слова типа опубликовано, читать далее, метки и так далее. Попробуйте моим способом перевести, правильным или неправильным :-). Хитростей тут никаких нет.
Я пыталась, программу скачала. Но не смогла файл ru_RU.po выгрузить с хостинга и загрузить в эту программу.
Почему не смогли выгрузить ru_RU.po? Попробуйте «неправильный» метод перевода. Это я его так назвал, хотя многие именно так переводят свои темы и вполне успешно.
Не знаю где взять папку «Languages». Помогите, пожалуйста!
Перейдите на сервере public_html ? wp-content ? themes ? Папка вашей темы ? Languages
Если этой папки и файла перевода в ней с расширением pot или po не найдете, значит тема к переводу не подготовлена и останется только неправильный вариант перевода. Не бойтесь этого слова, в интернете тысячи сайтов с таким переводом и они вполне успешно развиваются.
Время проходит а тему вы так и не перевели до конца. Не получается что-то или просто еще не занимались? Если есть сложности, вышлите мне свой шаблон, переведу вам.
Хорошая статья, но хочу добавить, что онлайн-переводчики не всегда дадут нужный(правильный) перевод. Здесь нужно учитывать технически-смысловой перевод!
Я перевожу тему http: //alxmedia.se/themes/hueman/
Первый опыт! очень интересно. Скоро сделаю! Кому нужно обращайтесь.
Спасибо за статью. Действительно, даже не знал, что есть какой-то другой метод, кроме замены английских слов в исходных файлах.
А я дальше ковырнул свой плохо переведенный плагин Theme My Login , про который выше писал. В принципе автор так и пишет, что переводил этой программой, но некоторые слова программа не обнаружила и переведено не всё, а в код он лезть не стал, потому что это неправильно. Так что прога хорошая но 100% перевода не даёт!
Хорошая статья, подробный мануал.
Всегда избегал английские темы. Особенно выводили меня из психического равновесия статьи а-ля «10 новых стильных бесплатных тем для WP», где обозреваемые WP-шаблоны оказывались на языке англо-саксонцев. Не то чтобы я не могу перевести, просто такой перевод — это для меня мега-труд (каждый должен делять свое дело). В следующий раз воспользуюсь алгоритмом из данной статьи («Как перевести тему WordPress»).
Theme My Login — вот, нашел его перевод с расширением .po (только тогда я не знал, откуда он берется). Тупо вычатал, что типа скопируйте к себе в плагинс/имя плагина/лангугес. Вот все сделал, но какого то особого эфекта не заметил. Сейчас думаю, може некачественный перевод был. Я то думал *.po — это какие то официальные переводы )))
Вот это да, опять я всё зделал не так. Придется все переделывать 🙂 Очень полезная статейка. Будем разбираться. Столько убитого времени 🙁 Теперь понятно откуда берутся переводы. Только не очень понятно как их цеплять. Пытался такой вот PO положить в лангугес, но эффекта не последовало. Как их соединять, или это у меня конкретный глюк был? Могу поподробней описать если интересно, с каким плагином я это пытался проделать.