Sourcefabric Manuals

 English |  Español |  Français |  Italiano |  Português |  Русский |  Shqip

Airtime 2.3 для радиостанций

Локализация интерфейса

Начиная с версии 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.