5

Локализация .NET-игры на коленке (devlog игровой разработки)⁠⁠

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

Diclaimer: в эту задачку я погрузился с места в карьер, вообще не изучая готовые решения и инструменты, со словами «я программист или как?» Итак...

Перевод интерфейса

Шаг 1. Заводим CSV-файлик для хранения айдишников и строк для каждого языка.

Шаг 2. Генерируем CS-файл из него с enum-ом и собственно строками текста.

Шаг 3. Используем в коде как-то так с помощью класса-менеджера, который подставит нужную строку в зависимости от языка.

Да-да, я буквально одной консолькой, написанной на C#, генерирую второй файлик, написанный на C# и включённый в другой проект. При этом я генерирую его тупо как текст, без каких-то хитрых библиотек и валидаций. И работает же! Ну а чего бы ему не работать то?)

Не перевод озвучки

Да, в случае с озвучкой я сразу решил, что не буду делать озвучку на других языках, но сделаю субтитры в роликах…

...и расшифровку голосовых сообщений.

Причём, как видите, обе фичи получились полезными и для русскоязычных игроков — как для имеющих ограниченные возможности, так и для тех, кто просто терпеть не может голосовые сообщения.

Перевод картинок

Да-да, часть присылаемых по сюжету картинок таки требуют перевода! Там, где я картинку делал сам — то просто перевёл в редакторе и подставил текст в новую вёрстку. В более сложных же местах я просил ИИ-шку перерисовать картинку, и там она справилась на ура.

Перевод историй

Самая болезненная часть, для понимания которой вам просто необходимо изучить мой пост про скрипты, хранящиеся в Obsidian. Прочитали? Вернулись? Отлично, тогда продолжаем: после обработка obsidian-файла у меня получаются файлики с такой структурой.

Т.е., в них хранится прямо текст вопросов и ответов, а не ID-строчек. Поэтому мой пайплайн из нескольких маленьких консолек выглядит так:

  • загрузить json-файл, распарсить его и работать уже с понятной структурой

  • вытащить все строчки в пары «ID – текст», где ID является хэшем от содержимого строки

  • сохранить эти пары в CSV-файл, одноимённый файлу с диалогом

  • перевести содержимое файла

  • другой консолькой сделать копию квеста с суффиксом, соответствующим имени квеста, например для английского будет очевидное «_en»

  • игра знает, какой язык выбран и в зависимости от этого загружает файл с нужным суффиксом

Причём консольки получились достаточно умные: например, если файл уже существует, он не перетирается с нуля, а дополняется и обновляется. Если я отредактировал строку в русском файле — у неё сменится хэш, и нужно будет заново перевести только такие строки. Удобно? Вполне)

Что дальше

Игра релизнится 14 июля, и через месяц-два я вернусь с рассказом о том, насколько (без)успешно она продалась, как я выводил деньги из Steam, платил за всё это дело налоги и т.п. Если интересно — подписывайтесь, чтоб не пропустить ;-)

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества

Недвижимость и ремонт

Теги

Популярные авторы

Сообщества