Начиная с версии Airtime 2.3.0, административный интерфейс можно локализовывать для разных языков, используя стандартный метод GNU gettext. Использование GitHub для этой задачи означает, что вы не должны заниматься всей локализацией в одиночку. Сделайте столько, сколько можете.
Во-первых, вы должны проверить, не идет ли уже работа над переводом интерфейса на выбранный вами язык. Чтобы проверить это нужно заглянуть в репозиторий GitHub для Airtime по адресу https://github.com/sourcefabric/Airtime/tree/devel. Кроме того, вы можете задать этот вопрос на форуме разработчиков Airtime здесь http://forum.sourcefabric.org/categories/airtime-development. На этом же форуме вы можете найти членов сообщества, которые могут помочь вам с переводом.
GNU gettext означает использование файла .po для каждого языка или диалекта. Это особым образом форматированный текстовый файл с группами из трех или более строк. Вот пример такого файла из локализации Airtime на корейский язык:
#: airtime_mvc/application/configs/navigation.php:57 msgid "Media Folders" msgstr "미디어 폴더"
Первая из этих трех строк начинается с символа # и ссылки на месторасположение данной строки текста в исходном коде с указанием имени файла и номера строки. Если данная строка текста в коде встречается более одного раза, вы увидите здесь указание и на другие места. Вторая строка содержит msgid, это оригинальная версия текста. В третьей строке находится msgstr, это перевод указанной строки для того языка, к которому относится данный .po файл.
Если вы пользуетесь межплатформенной программой Poedit (http://www.poedit.net/) для редактирования .po файлов, этот формат будет скрыт простым в использовании GUI. Пакет poedit можно установить на основную часть дистрибутивов GNU/Linux при помощи стандартного установщика ПО. Версии Poedit для Mac и Windows можно скачать бесплатно на странице проекта.
Прежде чем приступить к переводу строк в Poedit с нуля, поищите онлайн-сервисы перевода, которые могут заполнить многие строки msgstr вместо вас. Например, Google's Translation Toolkit (http://translate.google.com/toolkit/)? поддерживающий файлы gettext .po. После вы можете использовать Poedit для точной регулировки локализации и исправить любые ошибки, возникшие при автоматическом переводе.
Если у вас нет акаунта GitHub, вы можете подписаться на странице https://github.com/signup/free. Зарегистрировавшись там, вы можете создать копию проекта Airtime (https://help.github.com/articles/fork-a-repo). Работа над следующей версией ПО делается в разделе devel каждого проекта, поэтому именно этот раздел требует отладки после того, как вы создали исходный git clone.
Код de_DE, de представляет немецкий язык, а суффикс_DE указывает на диалект, на котором говорят в Германии. Некоторые языки имеют множество диалектов, разницу между локализациями для которых можно обозначить суффиксами. Вам нужно обновить информацию в заголовке файла .po, которая включает код языка и страны, руководствуясь одним из имеющихся файлов .po.
Создав клон Airtime git репозитория, убедитесь, что вы в разделе devel:
git branch * devel master
Создайте новую папку (например, airtime_mvc/locale/de_DE/LC_MESSAGES/ для немецкого языка, используемого в Германии):
mkdir -p airtime_mvc/locale/de_DE/LC_MESSAGES/
Скопируйте шаблон airtime.po в новую папку:
cp airtime_mvc_locale/template/airtime.po airtime_mvc/locale/de_DE/LC_MESSAGES
и обновите информацию заголовка в новой копии файла airtime.po при помощи редактора nano:
nano airtime_mvc/locale/de_DE/LC_MESSAGES/airtime.po
Для примера с немецким заголовок файла теперь должен выглядеть следующим образом:
# GERMAN (de_DE) translation for Airtime. # Copyright (C) 2012 Sourcefabric # This file is distributed under the same license as the Airtime package. # Sourcefabric <contact@sourcefabric.org>, 2012. # msgid "" msgstr "" "Project-Id-Version: Airtime 2.3\n" "Report-Msgid-Bugs-To: http://forum.sourcefabric.org/\n"
Использовав вначале работы онлайн-сервис перевода, вы можете загрузить .po file в Poedit и завершить перевод. Оставьте контактную информацию команды локализации в Poedit's Edit -> Preferences and Catalog -> Settings dialogs, и она будет добавлена в файл .po. После сохранения файла .po в Poedit автоматически создается соответствующий бинарный файл .mo.
Наконец, git add, git commit и git push эти новые .mo и .po файлы в вашу GitHub копию проекта и отошлите запрос git pull (https://help.github.com/articles/using-pull-requests) разработчикам Airtime. В следующий релиз Airtime будет добавлена ваша локализация.
Если вы не хотите работать с git, не проблема - загрузите копию файла-шаблона .po, отредактируйте заголовок, пропустите его через автоматический переводчик и проверьте в Poedit. Затем отправьте файл по email команде Airtime в виде приложения к сообщению - мы будем очень рады получить ваш вклад! Тем не менее, изучение git тоже хорошая идея, потому что с ним вы можете напрямую работать с исходным кодом, делить работу по локализации с сообществом Airtime, что поможет избежать случайного дубля перевода.
There has been error in communication with Booktype server. Not sure right now where is the problem.
You should refresh this page.