Понимаю что для кого-то баян, кто-то и так всё знал. Это больше памятка для себя.
Периодически у меня возникает желание переводить на русский язык некоторые CMS и плагины к ним. Так вот. Известно, что у кого-то языковые файлы лежат открытым текстом и доступны для прямого редактирования, а кое-где языковые файлы содержатся в формате PO и MO. Особенно это касается плагинов Wordpress.
Я немного погуглил и вот что я нашёл:
Редактирование PO-файлов
Вообще говоря файлы PO – это тоже текстовые файлы, и их тоже можно редактировать простым текстовым редактором (желательно с поддержкой UTF8). Но гораздо удобнее делать это с помощью специальных средств.
Под Linux а именно под KDE есть программа kbabel. Я с ней не работал, не знаю, только в интернетах читал. Если кто сталкивался – расскажите. А поскольку я пока сижу под Windows, меня больше устроила программа . Кстати POEDIT также может работать и под Linux, правда требует дополнительных библиотек.
Создание MO-файлов
MO-файлы уже не являются простыми текстовыми файлами, и их нереально набрать с текстового редактора. Но их можно создать из PO-файлов.
На Linux для этого есть команда msgfmt из пакета gettext.
Пример команды:
1 | altesack@home$ msgfmt file.po -o file.mo |
Codestyling Localization
- плагин для Wordoress для локализации плагинов Wordoress
Всё что делают выше описанные программы можно сделать и без них с помощью плагина . Кому что проще – смотрите сами.
С помощью плагина Codestyling Localization можно создать новый PO-файл, отредактировать существующий, добавлять новые строки, изменять старые. В общем редактировать. Соответственно web-интерфейс доставляет определённые трудности при работе, но работать можно, или скорее по-быстрому исправить неудачную фразу.
После редактирования PO-файла можно одним нажатием кнопки создать MO-файл. Вот эта опция мне понравилась больше.
После этого файлы локализации собственно готовы.
Вот собственно и всё. =)
Если кто-то решает проблемы с переводами по-другому – пишите.
Посты по теме:
RSS-подписка
Йоптыч! У тебя, похоже, есть все ответы на мои вопросы…
Впрочем, я пока не задавался целью, но как-то тут тоже было желание поправить один перевод…