Poedit — перевод скриптов с поддержкой gettext
В предыдущей записи я обещал, что расскажу, как с помощью Poedit заниматься переводом Zenphoto. С помощью этой же программы можно переводить все скрипты и программы, у которых фразы написаны при использовании технологии gettext, например: Wordpress, Zenphoto, Drupal, Gnome и многие другие.
Для начала разберемся, как действует gettext на примере Zenphoto. В исходном тексте скрипта все фразы написаны на английском языке, но обрамлены в специальную функцию:
echo gettext(”Welcome to Zenphoto! This page will set up Zenphoto on your web server.”);
Или более короткий вариант — символ нижнего подчеркивания:
echo _(”Welcome to Zenphoto! This page will set up Zenphoto on your web server.”);
При выборе локализации в панели администратора из файлов записанных по стандарту gettext берутся фразы на языке локализации и ставятся на место оригинальных. Если какая-то фраза не переведена, то на ее место ставится оригинальная.
Плюс такого подхода заключается в том, что оригинальные фразы являются идентификаторами подстановки. Программисту не надо контролировать правильность подстановки нужно идентификатора, а переводчику становится более наглядно, что, где и, самое главное, как переводить нужную фразу.
Что же делает Poedit?
Она рекурсивно обходит каталог скрипта, собирает все фразы, которые обрамлены в теги gettext и записывает в специальный .po-файл. Далее этот файл открывается в удобном виде для перевода. После сохранения перевода Poedit создает .mo-файл.
.po-файл (от portable object) — текстовый, который непосредственно и переводят.
.mo-файл (от machine object) — бинарный файл, который использует скрипт/программа для подстановки перевода.
Почему Poedit?
Во-первых, программа Poedit с открытыми исходниками и кроссплатформенная. Дистрибьютив доступен для Windows, MacOS X и Linux-систем. Во-вторых, в статье по рекомендациям перевода Zenphoto она была показан в виде примера, на котором и строился мой перевод. Пример оказался понятным и удобным, смысла что-то менять не было.
С чего начать?
Скачайте последнюю версию Poedit с официального сайта, если требуется русский интерфейс, то и перевод. Скачайте последний перевод Zenphoto:
[download id="13"]
Далее откройте перевод в Poedit и редактируйте. Не забывайте постоянно сохраняться — иногда Poedit неожиданно закрывается с ошибкой и вся проделанная работа теряется.
Полученный результат присылайте мне на почту nalim [собака] 1nc.ru.
Удачного вам перевода!
27 Ноябрь 2008 в 22:53
Если возникнут какие-либо трудности, то непременно обращайтесь.
Спасибо вам за помощь!