Сегодня пришлось поковыряться в недрах WordPress. Т.к. я сторонник правильной правки кода (т.е. согласно стандарту разработчиков), то перевод темы решил делать неизвестным для меня способом, а именно редактированием *.po и *.mo файлов. В сети много талмутов о том, как совершать перевод тем и плагинов WordPress на другие языки, но сегодня речь конкретно о *.po и *.mo, а вернее о том, как правильно использовать freeware программу для редактирования и создания переводов Poedit и сэкономить 30 минут времени, которые потратил я, чтобы решить вопрос с Poedit и заставить ее работать «как надо».
В папке перевода темы или самого WordPress (например language, lang, translate etc.) каждый язык представлен двумя файликами *.po и *.mo, например us_US.po и us-US.mo
Если *.po файлик представляет собой вполне обычный текстовый документ, доступный для редактирования даже блокнотом (хотя это и не очень удобно), то с *.mo вы ничего особо не сделаете, т.к. этот файлик компилируется в виде специального кода и не доступен для редактирования текстовыми средствами.
Для создания и редактирования языков интерфейса WordPress через *.po и *.mo в сети существует классная тула — Poedit. Она разработана что приятно практически для всех известных настольных ОС Unix, Linux, Windows, MacOS. Поклонникам командной строчки известно и другая тула, но я не очень-то помню ее название. Наша же Poedit выглядит так:
Простой и незамысловатый интерфейс, где слева представлен базовый перевод на английском языке, а справа наш перевод на любой (хоть на подонский, хоть на коми). Незаполненные поля будут выводить английский вариант, что предотвращает баги и прочие ошибки.
Так в чем же проблема потраченных 30 минут борьбы с Poedit?
Как оказалось отредактировать просто *.po файл мало, нужно еще скомпилировать *.mo, но вот его Poedit упорно не хотел создавать. Я качал разные версии, выбирал каталоги, но все не помогало. При этом многие пользователи (какой-то видимо особой версии) не испытывали ровно никакой проблемы.
Без компилированного файла *.mo WordPress не применял исправления перевода, которые я внес.
Решение проблемы
Как всегда просто, когда знаешь где. Идем в Файл->Установки и видим там сразу вкладку Редактор. Ставим там галочку, от которой капитан Очевидность будет в шоке. При сохранении автоматически компилировать файл .mo
Если честно я не очень понял, почему эта галочка не активна по умолчанию?! Вуаля, теперь после редактирования вы получите оба требуемых для создания своего перевода файла. О том, что с ними делать можно прочитать в сети, не буду повторяться :)
Добрый день! Если Вы заинтересованы в локализации web-ПО, ПО для персональных компьютеров, ПО для мобильных устройств либо иного вида программного обеспечения, я рекомендую Вам использовать этот инструмент на базе web: http://poeditor.com/ POEditor является интуитивным, хорошо проработанным инструментом, обладающим рядом полезных свойств, которые помогают организовать процесс управления переводом. Он поддерживает множество популярных форматов файлов и обладает собственным API, что обеспечивает лучшую автоматизацию. Желаю Вам больших успехов в Ваших проектах!