Перевести китайский хоррор оказалось сложнее, чем пройти его: как я делал русификатор для 衔蝶 / Cat Carried Butterfly (Лонг)
Всем привет!
Свершилось! Я наконец-то закончил русификатор для 衔蝶 / Cat Carried Butterfly. Перевёл, отшлифовал, перепроверил, отполировал и, кажется, вылизал почти каждую строку. После этого прошёл игру несколько раз - уже не только как переводчик, но и как обычный игрок. И каждый раз всё сильнее убеждался: я очень рад, что взялся за этот проект. Изначально я думал, что передо мной просто небольшая инди-игра: 2D-бродилка с мистикой, парой загадок и атмосферной картинкой, но как же я ошибался. Когда я прошёл её до конца, понял, что пару раз был буквально на грани слёз, а сюжет оказался куда глубже, чем я ожидал. Это не просто хоррор, а тяжёлая психологическая мистика про семью, взросление, которая может стать пугающей местами.
Ссылка на игру -
Ну что же. Начинаю свой второй или уже третий лонг на этом сайте и на этот раз хочу рассказать, как я переводил игру, которая оказалась намного сложнее, чем казалась на первый взгляд.
Я думал, что перевожу небольшую китайскую хоррор-игру. В итоге несколько недель разбирался в семейной трагедии, демонах, дневниках, китайских поверьях, Godot-файлах и фразах, где одно неверно выбранное слово могло сломать понимание всего сюжета. У игры есть английский перевод, но довольно быстро я понял, что опираться только на него нельзя. Я бы даже сказал, что английский здесь ощущается не как полноценная локализация, а скорее как вариант "чтобы был". Пройти игру на английском можно, и общий смысл вы, скорее всего, поймёте. Но по мере прохождения у вас неизбежно начнут появляться вопросы.
Почему? Потому что сам разработчик говорил, что плохо знает английский. Судя по некоторым строкам, английская версия могла делаться либо через машинный/ИИ-перевод, либо с помощью знакомых, которые просто помогли передать общий смысл. А китайский язык сам по себе очень контекстный. Одно и то же сочетание иероглифов может по-разному раскрываться в зависимости от сцены, предмета, персонажа и даже того, что игрок уже успел увидеть.
Например:
Китайский:
"嘶...这是哪户人家的钥匙来着?"
Английский перевод:
"Hiss... which room is this key for again?"
Если переводить от английского, получится что-то вроде:
"Хм... от какой комнаты этот ключ?"
Звучит нормально, пока не видишь сцену в игре. Персонаж подбирает ключ, рассматривает его, и на самом ключе уже указано, от какой он комнаты. То есть она не пытается понять, какую дверь он открывает, она пытается вспомнить, кто жил в этой комнате. Поэтому в русском варианте гораздо логичнее передать это так:
"Ох... ключ от 1015... кто там жил?"
На первый взгляд разница небольшая, но именно из таких мелочей складывается понимание сюжета. И таких моментов в игре очень много.
Ещё один пример. Без сильных спойлеров, но он хорошо показывает проблему. В одном очень важном и эмоциональном письме встречается обращение:
"师妹"
В английском это переведено как:
"Junior Sister"
Когда читаешь это по-английски, можно легко подумать:
"Подождите... она ему сестра?" и на секунду вообще выпасть от понимания этой сцены/сюжета. Но в китайском 师妹 - это не родная сестра. Это обращение к младшей по обучению, ремеслу, труппе, школе или общему делу. В контексте игры это человек, с которым персонаж был очень близок ещё с юности, но не кровная родственница. Перевести это буквально как "младшая сестра" было бы ошибкой: русскоязычный игрок почти наверняка понял бы это неправильно. Поэтому в русском варианте я ушёл от буквальности и передал обращение через имя - Пин. Так сохраняется близость между персонажами, но не появляется ложный намёк на родство.
После первого прохождения на английском у меня было примерно такое выражение лица:
Поэтому игру пришлось проходить ещё раз - уже не просто как игроку, а как переводчику, который сверяет английский с китайским, проверяет сцены, контекст, предметы, дневники и пытается понять, что автор действительно хотел сказать.
Что из себя представляет игра?
Если совсем просто, это 2D-бродилка в детективно-мистическом сеттинге, где вы пытаетесь собрать воедино свои воспоминания, жизнь, эмоции и ответить на главный вопрос: "Кто я?". По сути, почти всю игру вы будете искать ответ именно на него.
На первый взгляд Cat Carried Butterfly может показаться небольшой инди-игрой с простым геймплеем: ходим по локациям, изучаем предметы, читаем записки, решаем несложные загадки, но чем дальше проходишь, тем сильнее понимаешь, что игра работает совсем не за счёт механик. Она работает за счёт истории. В сюжете хватает моментов из серии "так вот оно что". И если в нужный момент у вас сложится картинка, игра действительно может удивить. Причём удивить так, как в последнее время не всегда получается даже у куда более крупных проектов.
Истории других персонажей здесь в основном раскрываются через записки, дневники, детали окружения и флешбеки. Но сделано это очень грамотно: к финалу ты почти наверняка понимаешь, кто есть кто, какие у этих людей были мотивы и почему всё пришло именно к такому итогу.
И, что особенно круто, у игры есть неожиданная реиграбельность. Формально она максимально линейная, но после первого прохождения, когда ты уже знаешь сюжет, второй заход ощущается совсем иначе. Начинаешь замечать детали, на которые раньше не обратил внимания: фразы, предметы, намёки, поведение персонажей. То, что сначала казалось просто атмосферной странностью, внезапно получает смысл.
Отдельно стоит сказать про культурный слой.
Игра построена вокруг китайского фольклора, детских сказок, поверий, демонов, обрядов и представлений о душе. Здесь много говорится о вере, Будде, загробном мире и сверхъестественном, но не в привычном для нас смысле "светлого и великого". Скорее игра показывает разные формы веры, разные способы объяснить боль, страх и чувство вины. И постоянно подбрасывает вопрос: а мы сами точно люди? Или внутри нас тоже живут демоны, чудовища и тёмные желания, которые мы привыкли отделять от себя?
В русском языке ведь тоже есть похожие выражения: "будто бес вселился", "человек сам не свой", "его будто подменили". И в какой-то момент начинаешь думать: может, в этом действительно есть доля правды - хотя бы метафорически.
Из-за этого при переводе пришлось немного погрузиться в китайский фольклор: что такое демоны в контексте этой истории, как устроены представления о душе, что значат три души, переселение, обряды, проводники в загробный мир и почему некоторые существа в игре не являются однозначным злом.
Визуально игра выполнена в полупиксельном стиле. Она не пытается напугать вас сверхреалистичной картинкой или внезапными скримерами. Да и, честно говоря, такой графике трудно пугать именно визуально. Но игра берёт другим - гнетущей атмосферой. Она медленно нарастает с самого начала. Сначала ты просто чувствуешь странность происходящего. Потом появляется тревога. Потом начинаешь понимать, что за каждой детской записью, каждой газетной заметкой и каждой надписью на стене скрывается что-то гораздо более тяжёлое. А к финалу эта атмосфера складывается в несколько сцен, которые лично для меня стали одними из самых сильных игровых эмоций за последний год.
В один момент я поймал себя на том, что я начинаю сопереживать на удивление странным, на первый взгляд, персонажам. И тогда я понял простую вещь: если сценарий написан хорошо, сильную историю можно построить вокруг чего угодно - даже вокруг маленькой хоррор-игры, которую сначала воспринимаешь как обычную 2D-бродилку.
После второго прохождения я понял, что в переводе нужно обязательно сохранить это повествование. Не просто передать смысл строк, а сделать так, чтобы финальные сцены действительно ударили по чувствам.
К сожалению, английский перевод этого ощущения почти не давал. Он часто был слишком размытым, местами сухим, а иногда просто не попадал в нужный эмоциональный тон. Поэтому русскую версию пришлось собирать не только как перевод текста, но и как попытку вернуть игре тот драматический вес, который был заложен в китайском оригинале.
Сам себе задаю этот вопрос. Зачем?
После Birds Watching я сказал себе: всё, хватит. Опыт был отличный, я
с удовольствием перевёл короткую игру, получил много полезного опыта, но сколько же нервов это стоило. Сколько раз я ложился спать уже под утро, сколько раз что-то ломалось, не работало, не патчилось, не отображалось как надо.
Но в итоге оно того стоило.
Тогда я был уверен, что на этом с переводами игр закончу. Сделал один русификатор, получил опыт, довёл дело до конца - и хватит. Больше заниматься переводами я не собирался.
И вот я снова здесь. На этот раз передо мной была игра намного длиннее, с оригиналом на китайском и английским переводом в духе "и так сойдёт". С одной стороны, это звучало как плохая идея. С другой - движок у игры был тот же, что и у Birds Watching, значит, какой-никакой опыт у меня уже был. А главное, сама игра мне очень понравилась.
После прохождения я понял, что хочу, чтобы её смогли оценить и русскоязычные игроки. Не через размытый английский перевод, не через догадки и постоянное "а что тут вообще имелось в виду?", а нормально - с понятным сюжетом, сохранённой атмосферой и эмоциями, которые автор явно закладывал в оригинал.
Кстати, перед началом работы я написал разработчику и спросил, можно ли мне заняться русской локализацией. Он ответил, что был бы только рад. После этого отступать уже было поздно.
Моя переписка с ним в STEAM.
Я ему еще написал на почту, что хорошо было бы всё таки использовать в STEAM английское название игры, а не только китайское, потому что в поиске вы не найдете игру на английском, что кардинально уменьшает охват очень хорошей игры.
Ну короче подумав, подумав я принял решение, что нужно ещё раз попробовать свои силы в переводе, но уже в проекте намного сложнее чем мой первый.
Инструменты, которые я использовал для перевода:
1. gdre_tools - для извлечения данных из игры на Godot.
2. Godot 4.4.1 stable - сам движок Godot, чтобы открыть проект и запускать игру в "сыром" виде. Версия 4.4.1 была нужна потому, что игра собрана именно на ней.
3. DeepL - как вспомогательный переводчик. На мой взгляд, он часто лучше Google Translate передаёт общий смысл, особенно при работе с китайским.
4. Photoshop - для работы с текстурами и изображениями.
5. Некоторые ИИ-инструменты - когда нужно было быстро убрать фон, восстановить часть изображения, подправить текстуру или подготовить основу для дальнейшей ручной правки.
6. Notepad++ - очень важный инструмент для поиска, просмотра и редактирования файлов.
7. Windows PowerShell - когда нужно было быстро и точнее найти нужные данные внутри файлов игры.
Сразу предупрежу: в этом разделе будет много технической части. Возможно, кому-то это будет интересно, особенно если вы тоже захотите попробовать переводить игры на Godot.
Опишу именно свой опыт. Не исключаю, что какие-то вещи можно было сделать быстрее, правильнее или красивее, но я во многом разбирался по ходу работы и учился прямо в процессе.
Всё начинается с простого вопроса: на каком движке сделана игра?
Понять это можно несколькими способами. Самый простой - зайти в папку, куда установлена игра, и посмотреть на файлы, библиотеки и структуру папок. Иногда название движка можно заметить буквально по файлам рядом с ".exe". Иногда помогает документация, страница игры или комментарии разработчика. А иногда приходится немного покопаться.
В моём случае мне повезло. Я почти сразу нашёл файлы, которые с вероятностью 99,9% указывали на Godot. Да и сама структура игры очень напоминала Birds Watching, которую я уже переводил раньше.
Поняв, что игра сделана на Godot, а все основные данные лежат не в отдельных архивах, а в формате ".pck", я сначала подумал: технически
извлечь файлы будет проще.
Ага, конечно. Размечтался.
С помощью "gdre_tools" я распаковал данные игры и начал искать самое главное: где здесь вообще лежит текст?
К счастью, разработчик оказался совестным: структура папок была достаточно понятной. Но даже так мне понадобилось примерно 3-4 часа, чтобы разобраться, где находится большая часть игровых строк.
В итоге я нашёл главный файл с переводом: "all_in_one.en.translation" Именно в нём хранилась почти вся текстовая часть игры: диалоги, описания предметов, дневники, интерфейсные строки и большая часть сюжетного текста.
Следующим шагом было привести этот файл в удобный для работы вид.
Для себя я выбрал Excel. Сначала распарсил ".translation" в ".xlsx", убрал лишние данные, привёл таблицу в читаемый формат и добавил отдельную колонку "RU".
Идея была простая: в одной колонке остаётся оригинальный английский текст, рядом китайский оригинал, а в колонке "RU" - мой русский вариант, который потом должен заменить английскую строку в файле перевода.
После этого началась самая долгая часть работы - сам перевод.
После всех правок таблицу нужно было сохранить в ".csv", а затем пропатчить файл "all_in_one.en.translation".
Схема была такая: в игре уже существовала английская локализация, и именно её я использовал как основу для русификатора. В таблице у каждой строки был свой ключ, английский текст, китайский оригинал и моя колонка "RU".
Дальше скрипт брал русский текст из колонки "RU" и подставлял его в "all_in_one.en.translation" вместо английского значения по тому же ключу. То есть для движка это всё ещё была английская локализация "EN", но фактически внутри неё уже лежал русский текст. Грубо говоря, английский слой игры превращался в русский.
Отдельно в игре хранились имена персонажей.
Они находились уже в другом файле - "all_in_one.csv.import". С ним я проделал примерно те же манипуляции: вытащил строки, привёл их в удобный вид, перевёл и затем вернул обратно.
Но это если говорить совсем поверхностно.
На практике оказалось, что далеко не весь текст лежит в одном удобном файле перевода. В игре были сцены, описания предметов, подсказки и отдельные надписи, которые были вписаны прямо в сами сцены Godot.
То есть мало было просто перевести таблицу. Иногда приходилось открывать сцену в движке, искать нужный "Label", "RichTextLabel" или другой UI-элемент, проверять, где именно спрятан текст, и менять его уже вручную.
И вот тут началось самое интересное. Потому что одно дело - заменить строку в таблице. Совсем другое - понять, почему в игре осталась китайская надпись, если в файле перевода её вроде бы уже нет. В такие моменты приходилось буквально идти по сценам, открывать узлы, смотреть свойства элементов и искать, где разработчик оставил текст напрямую.
Но, пожалуй, самым сложным техническим моментом стали шрифты.
Сейчас покажу, как выглядела папка со шрифтами и сколько их вообще было в игре:
Всего в игре оказалось 9 шрифтов, и все они действительно использовались.
Диалоги, кат-сцены, описания предметов, всплывающие надписи, мини-игры, флешбеки - всё это могло использовать разные шрифты, иногда сразу несколько в одной сцене.
Первым делом я проверил, поддерживают ли оригинальные шрифты кириллицу. Ответ оказался ожидаемым: нет.
Из-за этого русский текст мог разъезжаться, становиться слишком прозрачным, отображаться криво, а некоторые буквы были просто нечитаемыми.
И вот тут я, наверное, совершил свою главную техническую ошибку: попытался добавить в игру новые шрифты.То есть я скачивал шрифты с поддержкой кириллицы и пытался заставить игру использовать именно их.
Боже, сколько нервов мне это стоило. Это всё чуть не стоило моей клавиатуры.
Примеры в шрифтах: слева китайский, справа кириллица уже сделанная правильно. Я хотел насадить кириллицу на китайский... Не повторяйте такое дома.
Часть шрифтов игра принимала, часть - нет. И дело было не только в самих файлах. В Godot есть своя система связей между ресурсами: сцены могут обращаться к шрифтам через UID, пути, темы, LabelSettings и другие зависимости. А таких файлов в проекте были сотни, если не больше тысячи.
В какой-то момент я понял: если я буду вручную править шрифты для каждой сцены, каждой реплики и каждого отдельного элемента интерфейса, я просто не вывезу. На это ушли бы месяцы, если не больше. В итоге решение оказалось гораздо проще и очевиднее, чем я хотел признавать.
Я не стал создавать новые шрифты и перепривязывать их по всему проекту. Вместо этого я просто заменил оригинальные файлы шрифтов своими, но оставил им те же имена и структуру.
Игра продолжила обращаться к тем же самым ресурсам, только внутри уже лежали мои шрифты с поддержкой кириллицы.
Вуаля - всё заработало.
После нескольких часов боли это было колоссальным облегчением.
Вообще сам перевод текста - это, наверное, только 30-40% всей работы.
Я, наверное, воспринимаю себя не просто как человека, который "перевёл строки и забыл", а именно как переводчика-локализатора. Потому что особенно больно видеть машинные переводы, где сначала вроде бы всё понятно, а к середине игры ты уже теряешь нюансы: не понимаешь, как работает механика, что чувствуют персонажи, какой у них характер, почему они говорят именно так, а не иначе.
Мне хотелось сделать перевод так, чтобы игра была понятна русскоязычному игроку, но при этом не потеряла себя.То есть адаптировать русский язык, сделать фразы живыми и естественными, но не перегнуть палку. Не заменить китайскую культуру русской, не выкинуть особенности общения, поведения, веры и традиций, а аккуратно провести игрока через них.
В этой игре это было особенно важно, потому что игра очень сильно завязана на Китае: на фольклоре, семейных отношениях, манере говорить, старых поверьях, обрядах, демонах, представлениях о душе и смерти.
Поэтому задача была не просто "перевести на русский". Задача была сделать так, чтобы русскоговорящий игрок понял, что происходит, почувствовал эмоции сцены, но при этом всё ещё ощущал, что перед ним именно китайская история.
Как пример:
Например, в одной сцене двое детей качаются на качелях и напевают:
笃笃笃,买糖粥...
Сначала я долго не мог понять, как это нормально перевести. Если передавать совсем грубо, получается что-то вроде:
"Тук-тук, сладкую кашу продаю..."
И тут сразу возникает вопрос: кто продаёт? Кому продаёт? Это что-то важное по сюжету? Это местная фраза в игре или просто детская песенка?
Оказалось, что это китайская детская считалочка/припевка:
"Тук-тук-тук, сладкую кашу продаю,Три фунта орехов - четыре фунта скорлупы.Мякоть съем, скорлупу верну..."
Если перевести буквально как "сладкую кашу продаю", русскоязычный игрок может подумать, что дети действительно что-то продают. Поэтому я решил оставить это как обрывок детской считалочки:
"Тук-тук-тук... сладкая кашка..."
Вместе с озвучкой и сценой становится понятно, что дети просто напевают что-то детское, ритмичное и знакомое им с ранних лет.
Конечно, я мог бы пойти дальше и заменить это на что-то вроде:
"Эники-беники ели вареники..."
Для русского игрока такая адаптация была бы моментально понятна. Но проблема в том, что она полностью стёрла бы китайский культурный контекст. Это уже были бы не китайские дети из этой истории, а будто дети из совсем другой культуры. А мне не хотелось русифицировать игру настолько, чтобы она перестала ощущаться китайской. Поэтому в таких местах я старался искать баланс: сделать фразу понятной для русского игрока, но не заменить Китай на Россию.
Ещё один интересный пример - слова "заморский" и "иностранный".
В оригинале разработчик часто делает на них акцент. И это не случайность. Действие игры происходит в начале XX века, примерно в период Китайской Республики. Для многих персонажей всё иностранное тогда воспринималось как что-то необычное, дорогое, модное и почти недосягаемое.
В игре постоянно встречаются заморские вещи: панорамы, фотографии, сладости, предметы быта, разные диковинки. Для персонажей это не просто "импортные штуки", а часть времени и среды. Кто-то работал у иностранцев, кто-то мечтал о лучшей жизни, кто-то видел в этих предметах признак достатка или другого мира.
Поэтому я старался не заменять такие слова на сухое "иностранный предмет" или "зарубежная вещь". В некоторых местах лучше работало именно "заморский": чуть старомодно, чуть сказочно, но при этом понятно по-русски. Например, "заморская панорама" звучит намного атмосфернее, чем просто "иностранная панорама". А "заморские пирожные" сразу дают ощущение времени, любопытства и детского восторга перед чем-то необычным.
Ещё один пример - сцена с часами.
Девочка удивляется:
"Почему эти часы идут назад?"
В оригинале и английском текст звучит так:
"Huh? Why is this Western clock running backwards?"
То есть буквально:
"Почему эти западные часы идут назад?"
Сначала кажется, что слово "западные" нужно обязательно сохранить. Но в русском варианте такая фраза начинает звучать странно. Если в каждой сцене оставлять подобные уточнения буквально - "западный стол", "западные часы", "западный дневник" - игрок может решить, что это важная сюжетная деталь, хотя в конкретной сцене акцент совсем не на этом. Для китайского игрока такое уточнение считывается естественнее: предмет иностранный, необычный, из другого культурного слоя. Но для русскоязычного игрока постоянное повторение "западный" может лишний раз перегружать текст и отвлекать от смысла сцены. Поэтому в таких местах я убирал уточнение, если оно не влияло на сюжет. В этой сцене важно не то, что часы западные. Важно то, что они идут назад.
А вот там, где "иностранное" действительно работает на атмосферу, эпоху или сюжет, я это сохранял. Например:
"Foreign pastry on the table; in the bowl, half a talisman ground to powder -what for?"
В русском варианте:
"На столе заморское пирожное, а в чаше - половина талисмана, растёртая в порошок. Для чего это?"
Здесь "заморское пирожное" важно оставить, потому что оно подчёркивает редкость, дороговизну и необычность предмета. Это уже не лишнее описание, а часть мира игры.
Были и другие сложности, которые на первый взгляд вообще не кажутся проблемой. Например, пол персонажа.
В китайском языке многие фразы можно построить так, что по самой реплике невозможно понять, говорит её мальчик или девочка. В английском иногда происходит то же самое: предложение может оставаться нейтральным. А вот в русском почти сразу приходится выбирать: "видел" или "видела", "сказал" или "сказала", "испугался" или "испугалась". И если ошибиться, персонаж в переводе может внезапно стать не тем, кем он является в сцене.
В одной из сцен реплику произносит персонаж в синем. По озвучке он звучит неоднозначно: то ли мальчик, то ли девочка. Я посмотрел на внешний вид и сначала подумал: наверное, девочка. Одежда длинная, чем-то похожа на платье, голос мягкий - сомнения были до самого конца. Но позже, в одном из флешбеков, главная героиня вспоминает, что в детстве её задирали именно мальчишки, с которыми она водилась. Упоминаний девочек там не было.
В итоге я решил пойти на компромисс: реплики этого персонажа перевести в мужском роде, а кличку оставить более нейтральной - "Худышка". Да, слово грамматически женское, но в русском оно может работать как прозвище по внешности и звучит мягче, чем, к примеру - "Тощий".
Самой ответственной и сложной частью оказались не только перевод текста, но и доработка сцен для понимания сюжета, а также перевод текстур.
Главный пример - одна из первых головоломок в игре.
В начале прохождения игрок находит книгу, название которой в оригинале оставлено только на китайском. На первый взгляд это мелочь, но именно она сильно влияет на восприятие сцены. Если не понимать, что это за книга, теряется её ценность и дальнейший смысл эпизода. Почему разработчик не добавил хотя бы английскую версию этой текстуры - для меня загадка.
Когда я впервые проходил игру, я вообще не понял, зачем эта сцена нужна и почему книга так важна. Поэтому в русификаторе я решил не ограничиваться только текстовыми строками. Некоторые изображения и надписи пришлось переводить отдельно, прямо на текстурах, чтобы русскоязычный игрок получал тот же объём информации, что и игрок, читающий китайский оригинал.
В оригинале книга была полностью на китайском.
Я решил, что такой важный сценарный момент обязательно нужно перевести.
Но тут возникла проблема: перевести текст прямо внутри самой книги оказалось практически невозможно.
Дело в том, что этот фрагмент запускает отдельную анимационную сцену, которая завязана именно на китайские надписи. Иероглифы появляются, исчезают, снова собираются вместе и в итоге складываются в один большой символ. То есть это не просто статичная картинка с текстом, которую можно аккуратно перерисовать. Это полноценная анимация, построенная вокруг китайской письменности. Если бы я просто заменил иероглифы на русский текст, сцена бы потеряла смысл, а сама анимация, скорее всего, начала бы выглядеть странно или вообще сломалась визуально.
После этого героиня удивляется - и сцена просто заканчивается.
И вот тут у меня при первом прохождении возник вопрос: что это вообще было? Почему имена сложились именно так? Что это за символ? Почему героиня так реагирует?
Игра никак не объясняет это игроку, если он не знает китайский.
Я разобрал сцену и понял, что внутри книги написаны имена, а финальный большой иероглиф, в который они складываются, означает "смерть". То есть сцена на самом деле гораздо сильнее, чем кажется при прохождении на английском: имена буквально складываются в знак смерти. Но если ты не читаешь по-китайски, этот смысл почти полностью теряется.
Поэтому здесь я взял на себя смелость немного дополнить сцену. Я не стал ломать оригинальную анимацию и заменять китайские символы русским текстом - это бы разрушило визуальную идею. Вместо этого я добавил небольшую реплику героини, чтобы русскоязычный игрок понял, что произошло:
"Почему имена сложились в иероглиф "Смерть"?"
Для меня это был важный момент. Я не хотел переписывать игру за автора или добавлять лишние объяснения там, где они не нужны. Но конкретно здесь без знания китайского игрок теряет не просто деталь, а смысл всей сцены.Поэтому я посчитал, что такая маленькая реплика не ломает оригинал, а наоборот помогает русскоязычному игроку увидеть то, что китайский игрок понимает сразу.
Ещё одной сложной задачей стал перевод названий глав.
Здесь было важно не только сохранить смысл, но и передать визуальную атмосферу оригинала. Названия глав в игре выглядят не просто как обычный текст - они работают как часть стиля, поэтому заменить их стандартным шрифтом было бы слишком грубо.
Пришлось отдельно думать, как могла бы выглядеть кириллица, если бы она была написана в духе китайской каллиграфии и визуального языка игры.
После множества проб и ошибок я постепенно вывел подходящий стиль и перерисовал названия глав так, чтобы они не выбивались из общей атмосферы.Покажу только два примера, чтобы не спойлерить.
Как мне кажется, у меня получилось.
Отдельной неожиданной болью стала кириллица на ярком фоне.
Китайский шрифт в оригинале почему-то спокойно читался даже на светлых участках сцены. А вот мой русский шрифт, который я подобрал для субтитров, местами начинал просто теряться в свете.
Сначала я думал, что придётся снова менять шрифт, но в итоге решение оказалось проще: добавить лёгкую тень вокруг букв. И это не только решило проблему читаемости, но и неожиданно сделало субтитры симпатичнее. Текст стал выглядеть плотнее, мягче и лучше вписался в общую атмосферу игры.
Ещё одна техническая проблема - сумка героини.
На первый взгляд это просто инвентарь: туда попадают найденные предметы, их описания, заметки и карта. Но именно эта сумка потрепала мне нервы едва ли не сильнее всего.
Дело в том, что игра дублирует туда почти всё, что вы находите, но использует для этого отдельные шрифты, размеры текста и собственную вёрстку. То, что нормально помещалось на китайском, на русском внезапно начинало разъезжаться, вылезать за границы или выглядеть слишком мелко/крупно.
В итоге мне пришлось лезть уже не только в перевод, а в саму структуру интерфейса: уменьшать расстояния между элементами, подбирать размер шрифта и настраивать перенос текста. Отдельно помогла функция автопереноса, которую поддерживает Godot - "WORD (SMART)". Благодаря ей текст стал переноситься аккуратнее, не ломая слова и не превращая описание предмета в кашу.
Я сделал всё, что было в моих силах, чтобы дневник предметов читался приятно и не выглядел как место, куда русский текст просто запихнули силой.
С этой же сумкой был связан ещё один важный момент: героиня постепенно рисует в ней карту, когда открывает новые места, а также записывает текущие задачи. И вот здесь ошибиться было особенно опасно. Если неправильно перевести короткую заметку или цель, игрок мог просто не понять, что делать дальше. Поэтому такие строки приходилось не только переводить, но и отдельно проверять в контексте: куда ведёт задача, что уже знает игрок, какой предмет он нашёл и не запутает ли его формулировка.
Опять же без спойлеров, тут персонаж записывает свои мысли, но эти мысли не текст, а картинки и их будет 40+!!!!! Сколько времени на это ушло... Я даже говорить не хочу
Вот пример карты, красным это задания, а остальное - это то что она увидела по пути. Опять же - это всё картинки.
При этом я не пытался переводить абсолютно все текстуры подряд. В игре есть надписи, которые почти никак не влияют ни на сюжет, ни на атмосферу. Некоторые из них вообще выглядят скорее как декоративный шум или намеренно странные фразы. Поэтому я решил переводить в первую очередь то, что игрок действительно должен знать и понимать.
Хороший пример - момент с комнатой 2014.
В одной из сцен нужно найти нужную комнату. Над ней есть стрелка и надпись на китайском. Причём даже в английской версии эта надпись не переведена - она остаётся только на китайском. А смысл там важный: эта комната для персонажа не просто очередная точка на карте, а дом. И вот это сильно меняет восприятие сцены. Игрок уже не просто выполняет задание "найти комнату 2014", а понимает, что идёт к месту, которое для персонажа что-то значит. Это добавляет сцене веса и делает её эмоциональнее.
Отдельная история - мини-игра с маджонгом.
В игре есть полноценный эпизод, связанный с маджонгом, и его описание изначально явно рассчитано на людей, которые уже понимают правила. Позже разработчик даже выпустил патч и добавил авто-маджонг для тех, кто не хочет или не может разбираться в этой механике вручную.
Но сам маджонг - это только половина беды.
До партии ещё нужно добраться. Перед этим игроку нужно решить головоломку, и вот здесь английское описание, на мой взгляд, максимально путает. Оно буквально направляет игрока не туда и создаёт ощущение, что от тебя требуется совсем другое действие.
Из-за этого я около получаса не мог понять, что игра вообще от меня хочет. В итоге случайно собрал нужное решение, потом загрузился, повторил всё ещё раз, затем загрузился снова - уже чтобы убедиться, что понял механику правильно.
После этого я немного изменил описание задания в русском переводе: не стал расписывать всё в лоб, но убрал двусмысленность, из-за которой игрок мог уйти в неправильную сторону.
Позже я дал этот момент протестировать другому человеку. И стало понятно, что с новым описанием мини-игра проходится намного лучше: игрок всё ещё думает сам, но уже не борется с кривой формулировкой. Вот это, на мой взгляд, хороший пример того, где локализация - это не просто перевод слов. Иногда нужно понять, что именно игра просит от игрока, и сформулировать это так, чтобы загадка оставалась загадкой, а не превращалась в борьбу с пониманием.
Как ни странно, самым сложным диалогом для перевода оказался эпизод с маджонгом.
Там в одной сцене сходятся сразу несколько персонажей, и у каждого - свой характер, своя манера говорить и свой внутренний конфликт. Если неправильно перевести хотя бы одну реплику, начинает сыпаться вся сцена: тон меняется, мотивация персонажа становится мутной, а сюжетный смысл проседает.
Этот диалог я переписывал, наверное, раз 12-13.
Сначала переводил по тексту, потом проходил сцену в игре, ловил контекст, пересматривал поведение персонажей, возвращался к китайскому оригиналу и снова правил. Где-то нужно было поставить восклицательный знак, чтобы реплика звучала резче. Где-то, наоборот, убрать лишнюю эмоциональность. Где-то добавить старомодное слово, чтобы персонаж звучал ближе к эпохе. А где-то - сохранить внешнюю вежливость, но так, чтобы под ней чувствовалась грубость и напряжение.
В итоге я понял, что хороший диалог - это не просто правильно переведённые предложения. Это ритм, характер, паузы, подтекст и ощущение, что персонаж говорит именно своим голосом.Так что да, маджонг после этой игры ещё надолго останется в моём сердце. И, возможно, в моих ночных кошмарах тоже.
Ещё одна проблема, которая преследовала меня почти весь перевод, громоздкость кириллицы.
Китайский и английский текст часто намного компактнее русского. Там, где в оригинале фраза могла состоять из двух-трёх слов, русский вариант даже при аккуратном переводе легко разрастался до пяти-шести. Из-за этого текст начинал вылезать за пределы окна, ломать вёрстку или просто выглядеть убого.
И это касалось не только диалогов. Страдали описания предметов, всплывающие подсказки, надписи в интерфейсе, задания, текст на текстурах и отдельные элементы сцен.
Приходилось постоянно искать баланс: сократить фразу так, чтобы она влезла на экран, но при этом не потерять смысл, тон и эмоцию. Иногда достаточно было переформулировать предложение, а иногда приходилось снова лезть в Godot: менять размеры текстовых блоков, уменьшать шрифт, двигать элементы интерфейса или заново подгонять надпись на изображении.
На словах звучит просто, но на практике это было немного сложно, кхм, кхм.
Потому что русский текст должен был не просто "поместиться". Он должен был выглядеть так, будто изначально был частью игры.
Отдельная боль - имена.
В китайском языке имена и обращения работают немного иначе, чем в русском. Там легко встретить полное имя, фамилию, прозвище, детское обращение, обращение по роли или по степени близости. И если не понимать контекст, можно очень быстро запутаться: кто о ком говорит, к кому обращаются в письме и почему один и тот же персонаж внезапно называется иначе. Из-за этого игру пришлось проходить несколько раз, постоянно сверяя записи, дневники, письма и реплики персонажей.
Хороший пример - Люй Пин.
В одном письме к ней обращаются как к Сяо Пин. Сначала я долго не мог понять, почему разработчик использует другое имя, хотя по контексту было очевидно: речь именно о Люй Пин.
Позже стало понятно, что это не другое имя, а более ласковое и близкое обращение. В китайском к имени часто добавляют 小 - "сяо", что можно передать как что-то вроде "маленькая", "младшая", "дорогая", в зависимости от контекста. То есть Люй Пин в более личном обращении становится Сяо Пин.
То же самое может быть и с другими именами: например, человек с именем Фан в близком или детском обращении может стать Сяо Фан.
Я решил оставить такие обращения в игре, потому что они передают китайскую культуру общения. Если везде заменить их на привычные русские уменьшительно-ласкательные формы, часть оттенков просто пропадёт. Надеюсь игроки смогут разобраться почему "сяо".
Ещё один отдельный случай - имя Хуэйгу.
Изначально по прямой транскрипции у меня получалось "Хуйгу". Формально это было близко к звучанию, но в русском языке такое имя в некоторых сценах могло полностью разрушить атмосферу. Особенно в эмоциональных диалогах, где любое случайно комичное звучание сразу убивает драму. Поэтому я немного скорректировал передачу имени и остановился на варианте "Хуэйгу". Такой вариант звучит мягче, лучше читается по-русски и не выбивает игрока из сцены.
Это один из тех случаев, когда перевод имени - не просто вопрос правильной транскрипции. Иногда нужно ещё учитывать, как слово будет восприниматься носителем русского языка прямо во время сцены.
Я всё ещё начинающий переводчик игр. Мне это нравится - и одновременно я это ненавижу.
После перевода игры, которая проходится за 6-8 часов, хочется просто лечь и не вставать месяц, чтобы мозг наконец перестал думать, что можно еще что-то исправить, переделать, а просто отключился.
Но в этом есть и огромный кайф.
Когда ты даёшь другу поиграть в игру со своим переводом, а после прохождения он начинает вместе с тобой разбирать сюжет, вспоминать персонажей, обсуждать мотивы и понимать, о чём на самом деле была история, в этот момент приходит очень важное ощущение. Значит, всё было не зря. Значит, перевод сработал.
Для меня цель - не дословно переложить текст с одного языка на другой. Моя цель - передать смысл, эмоции и атмосферу так, чтобы история на русском языке трогала так же сильно, как в оригинале.
Под конец хочу упомянуть ещё один интересный момент с переводом.
В игре есть сцена, где персонаж находит серебряную монету и удивляется, откуда она здесь. Сначала я подумал перевести её просто как "монета Юань Шикая" - ведь на ней действительно изображён Юань Шикай, один из ключевых политических деятелей ранней Китайской Республики. Но потом я начал разбираться и понял, что для атмосферы времени это будет не совсем то.
В народе такие серебряные юани называли "Юань Датоу" - буквально что-то вроде "Юань с большой лысой головой". Название закрепилось из-за крупного портрета Юань Шикая на самой монете. И вот это уже звучит совсем иначе. Для персонажей того времени это не просто официальная "монета с Юань Шикаем", а бытовое, живое название, которое могли использовать в разговоре.
Поэтому в переводе я решил оставить именно "Юань Датоу". Да, для русского игрока это звучит необычно, но зато сохраняет исторический и культурный оттенок сцены. Такие мелочи легко пропустить, но именно из них собирается ощущение эпохи.
Всем спасибо, кто дочитал, кому было интересно. Надеюсь, что игра вам понравится, а также вы сможете проникнутся атмосферой с помощью моего русификатора.
Русификатор доступен на GitHub в разделе Releases.
Там же находится установщик, инструкция по установке, SHA-256 хеш файла и вся дополнительная информация по проекту.
Установка максимально простая: скачиваете установщик, запускаете его и указываете папку, где установлена игра 衔蝶 / Cat Carried Butterfly. Установщик сам заменит нужный файл игры и создаст резервную копию оригинала.
Файл установщика был проверен на вирусы, а для самостоятельной проверки на GitHub также опубликован SHA-256 хеш и информация о проверке через VirusTotal.