Коллективный перевод с помощью crowdin.net
В недавнем посте про перевод OutWiker я уже коротко рассказывал о таком интересном сервисе для коллективного перевода как http://crowdin.net. На этот раз рассмотрим его возможности более подробно.
Честно говоря, меня удивляет тот факт, что подобных сервисов перевода существует так мало. Казалось бы, проектов с открытыми исходниками сейчас полно, многие из них умеют подстраивать свой интерфейс под различные языки, переводы делают энтузиасты из разных стран. Почему бы потенциальным переводчикам не облегчить работу, зачем их заставлять разбираться с форматами файлов локализаций, используемых в проекте? Но вот почему-то сервисов или движков для облегчения перевода существует очень мало, те, что мне удалось найти, можно перечислить по пальцам одной руки. Одним из таких сервисов является Crowdin.
В общем случае доступ к Crowdin является платным, причем я бы не сказал, что дешевым. Например, если для проекта требуется перевод всего 300 строк, то подписка для такого проекта обойдется в $9 в месяц, 1000 строк — $15 и т.д. Для сравнения, OutWiker с плагинами сейчас содержит чуть больше 400 переводимых строк (справка сюда не входит). Но в то же время для проектов с открытыми исходниками разработчики Crowdin дают пользоваться своим сервисом бесплатно без каких-либо ограничений. Кроме того, чтобы понять, подходит ли вам этот сервис, есть 30-дневный триальный период.
Давайте теперь рассмотрим, какие возможности предоставляет данный сервис. Все скриншоты я буду показывать на примере проекта OutWiker.
Будем считать, что вы уже зарегистрировались на сайте и создали проект, все это делается интуитивно, кроме того, для регистрации пользователя можно использовать вход через аккаунты Gmail или Facebook.
Подготовка проекта
После регистрации аккаунта желательно указать ваш родной язык, а также языки, которые вы понимаете. В этом случае, если вы захотите помочь с переводом другому проекту, языки, которые вы знаете, будут выделены отдельно.
После создания проекта нужно заполнить некоторые его настройки, такие как описание, публичность проекта (кто может участвовать в переводе — все или только те, кого пригласили в проект), могут ли посторонние лица скачивать получившиеся файлы перевода, и некоторые другие параметры.
После этого открываем вкладку «Languages», нажимаем на кнопку «Add/Edit Languages» и выбираем языки, на которые мы хотели бы перевести интерфейс. В открывшемся окне ставим галки напротив языков, которые нас интересуют, а можем нажать на кнопку «Select Top 30 Internet Languages», чтобы добавить 30 наиболее популярных языков. К сожалению, языки для перевода может устанавливать только админ проекта. Хотя мне кажется, что было более логично, если бы потенциальные переводчики сами бы могли предлагать перевод на язык, который они знают.
Теперь можно добавить файлы для перевода. Для этого идем на вкладку «File Manager» и загружаем на сервер файлы со строками которые нужно перевести. Надо сказать, что Crowdin позволяет работать с довольно большим количеством различных форматов. Например, есть поддержка формата gettext (.po, .mo, .pot), форматы локализаций под различные мобильные системы, такие как Android (.xml), iOS (.strings), BlackBerry (.rrc), Symbian, поддержка локализаций для библиотек и языков, таких как QT, .NET, Java. Есть даже поддержка файлов переводов для локализации плагинов браузеров Mozilla Firefox и Google Chrome. Кроме того, можно переводить обычные текстовые файлы. Полный список поддерживаемых форматов приведен на странице Translation formats and development platforms supported by Crowdin, более того, там же есть призыв писать авторам сайта, если вы не нашли в этом списке нужного вам формата.
После того, как файлы с исходными фразами закачаны, можно перейти непосредственно к переводу. Для этого нажимаем большую зеленую кнопку «Go to Translation» и оказываемся в разделе, где перечислены все добавленные языки.
Здесь сверху выделены те, языки, которые вы знаете, затем перечислены остальные языки, а в самом низу показаны языки, перевод на которые на данный момент завершен.
Если мы выберем какой-нибудь язык, то попадем на список файлов, которые можно перевести.
Состояние перевода может характеризоваться тремя цветами: серый — фразы еще не переведены, красный — фразы переведены, но еще не проверены модератором (на скриншоте таких фраз нет), и зеленый — фразы переведены и одобрены.
Рядом с каждым файлом написан прогресс перевода, количество строк в файле, и сколько осталось не переведенных фраз. Справа расположены кнопки, количество которых зависит от формата файла. В дальнейшем я буду демонстрировать перевод на примере файлов формата gettext и обычных текстовых файлов.
Самая первая кнопка предназначена для скачивания исходных файлов в текущем состоянии для того, чтобы их перевести в офлайне. То есть, если часть фраз уже переведена, то в скачанном файле эти фразы также будут переведены. При использовании формата gettext (наверняка и при использовании других форматов, но другие форматы я не пробовал) появляется кнопка Upload, с помощью которой можно закачать уже существующие файлы перевода. Если вы только создали проект на сервере, то наверняка у вас уже есть какие-то переведенные фразы, чтобы из не вводить вручную, и предназначена эта кнопка. При этом вы можете сразу утвердить закачанный перевод, чтобы после закачки не пришлось каждую фразу помечать как верную.
Если мы будем переводить обычные текстовые файлы, то такой кнопки для закачки перевода не будет.
После этого расположены две кнопки: Proofread, предназначенная для проверки полученных переводов, и Translate для, собственно, перевода. Вот про перевод сейчас и поговорим.
Перевод
Окно перевода выглядит достаточно громоздким, но на самом деле оно очень удобное.
Слева расположен список фраз, которые содержит открытый файл. В зависимости от статуса слева от фразы могут располагаться различные значки, обозначающие, что фраза еще не переведена, переведена, но не проверена и т.п.
Центральная часть предназначена для собственно перевода. Поле ввода предназначено для того, чтобы предложить свой вариант перевода. Предложенные варианты перевода одной и той же фразы перечислены чуть ниже.
Если вы обладаете правами для модерации, то можете тут же принимать или отклонять предложенные варианты. При этом показано, кто именно предложил тот или иной перевод.
Кроме того, если вы понимаете несколько языков, то у вас будут показаны соответствующие вкладки, чтобы можно было посмотреть, как эта фраза была переведена в других локализациях (это еще один повод указать в настройках профиля языки, которые вы понимаете).
Ниже предложенных вариантов перевода, предлагается машинный перевод. В настройках профиля можно указывать ключ для использования Google Translate, но у меня почему-то все время виден только Microsoft Translator.
В правой части окна расположены две вкладки — «Комментарии» и «Термины». Благодаря комментариям можно вести обсуждение того, как должна переводиться та или иная фраза.
Если к какой-то фразе написаны комментарии, то это будет помечено в левом списке соответствующим значком:
Словарь терминов позволяет устранить неоднозначность при переводе отдельных слов. Например, как мы будем переводить слово «Options»? Настройки? Опции? Для общности мы можем создать термин, который будет показан справа в том случае, если он входит в переводимую фразу.
При создании термина можно также добавлять более подробное описание на языке оригинала и на языке назначения.
Если у вас есть права на проверку перевода, то для вас будет доступна кнопка «Proofread». Данный раздел выглядит следующим образом:
Здесь вы можете подправить перевод, а также принять или отклонить предложенные варианты перевода. Также есть кнопки для группового принятия или отклонения переводов.
Перевод текстовых файлов (.txt) выглядит несколько иначе:
Здесь уже отдельные фразы не разбиты на строки, а выделяются отдельные предложения. Из-за того, что в результате происходит обычная замена предложения на одном языке на предложение на другом языке, то для текстовых файлов затруднительно делать более художественный переводы, когда какие-то предложения добавляются, а какие-то выкидываются.
Приятной мелочью при использовании Crowdin является наличие горячих клавиш при переводе, которые, к тому же могут настраиваться с помощью кнопки , расположенной в правом верхнем углу экрана.
Если вы не админ проекта, то не сможете принимать или отклонять переводы, но зато сможете голосовать за тот или иной вариант (поставить плюс или минус). В этом случае у вас вместо режима «Proofread», будет показан похожий режим «Vote». Цифры около перевода как раз и показывают средний балл, набранный данным вариантом перевода:
Подобным образом можно голосовать и в режиме перевода. Здесь же можно пожаловать на конкретный перевод админу проекта.
После того, как все фразы (ну или хотя бы их часть) переведены, можно
экспортировать полученный результат в соответствующий формат (в зависимости от того, в каком формате хранятся исходные файлы). Для этого идем в настройки проекта на вкладку «Downloads» и нажимаем кнопку «Build Fresh Package». Сервер немного подумает и соберет все локализации в один архив. Прямо здесь можно скачать zip-файл со всеми переводами. Содержимое этого архива будет выглядеть следующим образом:
А внутри будут файлы, соответствующие тем, что были закачаны:
Кроме того, если зайти в выбранный язык, то можно скачать архив перевода, который относится только к данному языку.
С экспортом файлов в формате gettext я столкнулся с неприятным глюком. Вроде бы экспортируемый язык был украинский, но в настройках файла .po/.mo был прописан все-равно английский язык.
Другие возможности
Что касается непосредственно переводов, основные возможности мы рассмотрели. Давайте теперь коротко пробежимся по другим возможностям, которые предоставляет сервис Crowdin для организации самого процесса перевода. Выше уже было сказано, что для каждой переводимой фразы можно писать комментарии, и там же вести обсуждения. Но кроме комментариев сервис предоставляет так называемые группы, что по сути представляет собой форумы, разделенные по языкам. Вот, например, как выглядит украинская группа проекта OutWiker:
Правда, у меня почему-то в общем списке групп все группы размножились, при этом ссылки ведут на одни и те же группы, похоже на глюк.
Другой приятной возможностью является экспорт последних изменений в проекте в формат RSS (эта информация расположена в самом низу страницы с информацией о проекте, например, http://crowdin.net/project/outwiker ). Таким образом удобно следить за обновлениями.
Там же расположен рейтинг активных переводчиков.
Вы можете щелкнуть на пользователя и посмотреть информацию о нем, а также увидеть, где он проявлял активность. А если зайти в настройки проекта, а затем открыть вкладку «Translators», то можно получить еще некоторую статистику о пользователе и там же повысить его в правах или забанить.
Кроме того, для проекта можно посмотреть статистику: количество фраз, активность переводчиков, активность голосующих, процент перевода для разных языков и т.п.
Еще из приятных фич Crowdin можно отметить возможность работы сервиса на вашем домене.
Из известных проектов, которые используют Crowdin можно отметить Minecraft и Freecad.
PS. Вы можете подписаться на новости сайта через RSS, Группу Вконтакте или Канал в Telegram.
Kosse:
Очень красиво написана статья! Я предлагаю вам также взглянуть на https://poeditor.com, это еще один перевод коллективной платформы, которая работает действительно хорошо. Трудно сделать выбор между этими двумя, но это, кажется, имеют интерфейс, более дружественным с пользователями. Было бы хорошо, чтобы увидеть сравнение может быть.
18 ноября 2013, 6:01 ппJenyay:
Спасибо за ссылку, посмотрю. Когда я искал подобные системы этот сайт не попадался.
18 ноября 2013, 7:56 пп