MENU

Как я перестал бояться и начал переводить android-приложения

Думаю, начало истории вы знаете — в феврале 2013 CGE анонсировали цифровую версию Galaxy Trucker, а в декабре 2014 она появилась в Google Play и единственным ее недостатком было отсутствие русского языка.
 
Никаких анонсов по поводу добавления языков не было, но когда я взглянул на содержание apk-файла поближе, то понял, что задел под другие языки есть — отдельная папка с названием localization_strings говорила об этом прямо и недвусмысленно.

Следует отметить, что перевод приложения — это далеко не то же самое, что перевод правил или даже пнп. Как с технической стороны, так и с точки зрения… скажем так, распространения. Если на «нелицензионный» перевод правил автор, скорее всего, закроет глаза (а то и поблагодарит), то выложенное для всеобщего скачивания переведенное приложения — откровенное пиратство. И если в случае ПК-версии можно извернуться каким-нибудь «русификатором» (тоже, строго говоря, сомнительным с точки зрения авторских прав), то с андроид-приложением этот вариант не пройдет.

В общем, исходя из этих соображений (а также в связи с тем, что я никогда не работал с андроид-приложениями), я решил пойти «официальным» путем и написал разработчикам, что, мол, так и так, hello from Russia, увлекаюсь настолками, попутно перевожу всякое, в том числе и к играм CGE, в частности, перевел правила ко всей линейке Galaxy Trucker, а тут у вас приложение вышло, хотите, помогу с переводом?
 
Через какое-то время пришел ответ «да, круто, мы думали переводить и на русский тоже, спасибо, если что — свяжемся». Получив пару таких писем выждав какое-то время, я понял, что не стоит  ждать милостей от издателя, разобраться с приложением самостоятельно — вот наша задача.
 

 

Проблема первая — сборка-разборка

Первой задачей было не столько разборка (apk в общем случае открывается любым архиватором), сколько сборка приложения обратно в apk так, чтобы это все работало. Гугление дает довольно много инструкций по этому поводу, но почему-то в моем случае самые простые и популярные методы  (Apktool, APK MultiTool, APK Studio, Eclipse, Android Studio и пр.) не сработали. Уж не знаю почему. А вот Virtuous Ten Studio справился (хотя я бы предпочел консольный apktool).
 
Про всякие подробности типа подписи приложения, генерации ключей и прочее рассказывать не буду — в сети все подробно расписано. Отмечу только, что мой скепсис касательно всяких программ для автоматического и полуавтоматического перевода apk-приложений оправдался… Хотя я понимаю, что случай не показательный, для перевода чего-нибудь попроще и постандартней они могут вполне подойти.
 

Проблема вторая — шрифты

Причем в данном случае это не только обычная  «где бы взять такой же, но с кириллицей», а сам формат шрифта. В Galaxy Trucker используются bitmap-шрифты, то есть даже имея какой-нить ttf аналог с русскими буквами, его нельзя просто так взять и добавить в приложение. Проблема осложнялась тем, что bitmap-шрифты, как оказалось, бывают нескольких видов, а утилиты для работы с ними (в основном, самописные) заточены под конкретную программу, то есть на выходе получается что угодно кроме того, что понимает приложение. Плюс отсутствие внятных мануалов и полное отсутствие у меня опыта работы со шрифтами как таковыми. Но, тем не менее, потратив около трех дней на эксперименты и перелопатив тонны гугла (доходило даже до каких-то жутких софтин с корейских форумов) мне все же удалось заставить игру писать на русском.
 

Проблема третья — видеоролик

Я никогда раньше не работал с видео и не занимался озвучиванием. Но не оставлять же ролик на английском) Поэтому я решил, что лучшим выходом в этой ситуации будут субтитры. Правда, субтитры я тоже раньше не делал, но мне это показалось проще, чем писать отдельную дорожку, как-то вычищать оригинальную от английского голоса, сводить их и пр. Благо, что мануалов по сабам в сети тоже предостаточно. В общем, всего за сутки у меня получился ролик с хардсабами (вшитыми субтитрами), который не сильно превосходил размерами оригинальный и корректно проигрывался в приложении.
 
Итого — приложение распаковывается/запаковывается, русский шрифт есть, ролик на русском играется. «Дело за малым — просто перевести текст», — подумал я. Но я ошибся)

Во-первых, текста оказалось много. Очень много. По примерным подсчетам — почти в два раза больше, чем в допе к Space Alert (про перевод которого я писал в прошлый раз). Или почти столько же, сколько суммарно содержат правила базы и всех допов настольного Galaxy Tracker.
 
Во-вторых, рода и склонения. Если текст правил можно назвать статичным, то здесь построение фраз часто зависит от переменных типа «имя игрока», «пол игрока» или «количество чего-нибудь». В английском-то с этим проще, фразы вида [name]’s ship loses [n] crew members или It is [name]’s turn пишутся одинаково для любого имени и любого n. А в русском если 1, то  астронавт, 2 или 4 астронавта, а 5 или 8  — уже астронавтов. И если это Петя’s ход можно довольно безболезненно заменить на ходит Петя, то сделать Петин корабль/корабль Пети из имени Петя (причем так, чтобы одновременно с этим из Яна получался корабль Яны, из Олег Олега, а из Лео Лео), значительно сложнее. Ну и всякие потерял/потеряла, который/которая и прочие великие и могучие особенности.
 
В-третьих, согласование фраз. Обычно текст идет «сплошным потоком» и ты видишь всю картину целиком (хотя бы в рамках одного диалога/абзаца).  Здесь же текст состоит из отдельных частей, которые могут сочетаться в различных комбинациях — кампания же нелинейная, а текст — отдельные фразы диалога. И заранее (в процессе перевода) можно лишь предполагать, как эти диалоги будут строиться, а проверить все комбинации «живьем» можно только многократно проходя кампанию и каждый раз выбирая другие варианты ответов и пытаясь создать новые игровые ситуации.
 
Ну и в-четвертых, перевод это не только текст, но и картинки. Правда, тут сложностей почти не возникло — мой давний друг Дмитрий Мольдон любезно согласился перевести все игровые картинки на русский язык. Спасибо ему еще раз)
 
Короче говоря, оказалось, что это далеко не «просто перевести текст». Особенно с учетом того, что основной его объем занимает «художка», диалоги, разговорные выражения. А ведь хочется сделать не просто перевод, а именно локализацию/адаптацию, а это значит — тщательный поиск идиом-аналогов, работа над стилистикой и лексикой (грубо говоря, чтобы речь гламурной дальнобойщицы на дизайнерском космолете отличалась от речи мелкого жулика, разводящего тебя на выпивку в местном баре). И, разумеется, хотелось как можно точнее передать замечательный юмор Влаада Хватила (для чего часто приходилось ориентировался на обе версии — английскую и чешскую).

Начавшись в самом конце декабря, работа над переводом заняла все новогодние праздники (благо они были длинные, а мои домашние с пониманием отнеслись к этому моему увлечению), потом еще неделю, а потом и остаток января. И в первых числах февраля я снова написал разработчикам, но теперь это было уже не просто  абстрактное «предлагаю помощь», а вполне конкретное «имею перевод, готов путешествовать», ну, то есть что-то типа «я тут приложение перевел, но у меня возникли сложности тут, тут и тут, а пока переводил, нашел несколько багов — тут, тут и тут (вот скриншоты)». 
 
Через пару дней пришел ответ «Хм, погодите, сейчас я свяжу вас с коллегой». А потом коллега ответил (ура!) и понеслась: багрепорты, вопросы и ответы, дополнительные разъяснения («да, действительно, в настолке летящий сзади метеорит можно сбить только пушкой в том же столбце, а в цифровой — в том же или соседнем, но это не баг, а фича»), множественные тестирования и согласования форматов. Выяснилось, что как раз в это время CGE начало готовить некую централизованную схему, призванную упростить работу с переводом на любые языки. Правда, в моем случае это было не совсем удобно — пришлось построчно вытаскивать перевод из готовых файлов, чтобы в итоге он также построчно загонялся в эти же файлы, но уже на их стороне.
 
Разумеется, помимо взаимодействия с CGE все это время шла работа над полировкой текста, менее удачные обороты заменялись более удачными, отлавливались опечатки, перефразировались выражения, вот это все.

Кстати, забавный курьез, вызванный, видимо, двойным языковым барьером (русский — английский — чешский — английский — русский): то, что у меня есть не просто переведенные тексты, а фактически рабочее приложение на русском языке, выяснилось чуть ли не через месяц после начала активного сотрудничества, причем, похоже, случайно, по очередной партии скриншотов (…but that they are already implemented to the app. How did you do that? :-O It is not so trivial. So not only you speak Russian, you like board games, but you are good programmer! At least it looks like it 🙂

А я по началу никак не мог понять, почему они постоянно предлагают мне помощь в интегрировании перевода в приложение =)
В итоге, несмотря на то, что перевод технически был готов еще в начале февраля (ну и на основную полировку текста ушло недели три-четыре), полноценные бета-версии «от разработчика» начали появляться только в апреле. На момент написания этой статьи русская (а точнее — мультиязычная, к начальным двум добавилось еще четыре языка) версия  все еще находится в стадии активного тестирования, но основная часть работы уже позади. Остались только технические и перфекционистские нюансы, типа небольших сложностей с субтитрами — по понятным причинам пришлось отказаться от хардсабов, а субтитры в виде отдельных файлов просто так поверх видео не выводятся (то есть они выводятся, но не совсем так, как хотелось бы). Ну или, например, мои любимые кавычки-елочки и тире (а не просто дефисы-минусы) появились в шрифте только неделю назад, а это значит, что нужно заново пересмотреть весь текст и внести необходимые правки.


В общем, следите за новостями. Release Is Coming)
 

Подытожу

Перевод приложений — это не так страшно, как кажется. Да, это не всегда просто, но весьма интересно. А главное — ВОЗМОЖНО. Даже если вы раньше никогда этим не занимались.
 
Энтузиазм, тщательность, внимание к мелочам, терпение и снова энтузиазм. Ну и гугл, который и значение идиомы объяснит, и работать со спецутилитой научит, и контакты разработчиков подскажет. 
 
Дерзайте, товарищи, возможно всё!

Апрель, 2015


Galaxy Trucker (App)