Все кто пишет “В 2к25 не знать английский” - напишите комент и проходите мимо. Для нормальных, рассказываю, как я перепробовал несколько инструментов, чтобы перевести игру.
Задача:
Перевести большоеколичество текста (224 тысячи символов или 40 тысяч слов) для инди игры mudborne через нейросеть.
Нейросеть должна держать контекст, на протяжении всего перевода.
Все имена встречающиеся в игре должны переводиться всегда одинаково.
Это должен быть полуавтоматический процесс, который переведет игру «за один присест».
На входе должна быть csv таблица, где в первой колонке комментарий разработчика, во второй текст на английском, в третьей, должен быть текст на русском
Ну и основное просто пройти этот путь, получить опыт.
Какие инструменты я протестировал:
Начнём с базы
ChatGPT, Claude, DeepSeek — просто через чат эти нейронки после 1000 слов максимум начинают ныть и только небольшие куски тебе выдают. Качество отличное конечно, но вручную сидеть пол дня переводить по кускам, вообще не то.
Не для этих целей */10
Google Colab
С ChatGPT обсудили возможные вариант, как можно перевести. Одно из, того, что предложил это через Google Colab. ChatGPT даже собрал мне этот Collab, написал скрипт в котором ты загружаешь таблицу и он тебе переводит через нейронку от самого Google Translate. Короче, 40 минут он кряхтел, выдал ужасный перевод. Из хорошего, что он реально заполнил таблицу, вопросов нет. Но перевод «охлади моё траханье» буквально. Ну и это просто перевод, по сути ты не можешь ему объяснить контекст, может и можно было еще поколдовать, но перевод настолько плохой, что даже не стоит тратить время.

Слабо, долго 1/10
Smartcat

Он мне насчитал $35 при этом ещё и ты не можешь ему промтом объяснить, для чего и про что этот перевод. Просто слова переводит, короче ваще забей. Ну там у них еще прикол, что ты можешь реально переводчика подключить на проект. Мне не понравилось всё. С реальным переводчиком наверн норм, но это тебе ещё нужно будет самостоятельно оценивать его качество.
-1/10 - я не понимаю как такие инструменты ещё умудряются поднимать огромные раунды и как выживают. Видимо простой UI продает.
Yandex Переводчик документов

Бесплатно, супер быстро, за 30 секунд перевел мне весь документ. Вообще супер удивился, хоть эксель, хоть какой док ему загружай, быстро переводит. НО, это опять же просто обычный переводчик он “не понимает” что он переводит. То есть нет возможности объяснить ему, что он переводит игру, дать какой-то промт на вход.
6/10 - для других целей спокойно можно накинуть больше, какие-то интерфейсы, меню отлично хватит, очень быстро, 0 заморочек
Gemini 2.5 flash (preview)
А вот здесь Google абсолютные красавцы. Самый гигантский плюс, он имеет на входе 1млн токенов, а на выходе 65 тысяч (это примерно 50 тысячи слов)! Для сравнения в ChatGPT (3000-4000 слов) и это в plus версии. А Gemini тебе просто дают бесплатно. Я оставил его на минут 15 реально, сидел, переводил. Первый раз сессия прервалась и причем буквально слетел чат и не осталось его даже в архиве. Со второго раза он мне почти всё перевел. Пришлось ещё разделять перевод, иногда он крашился, Но! Это всё равно бесплатный перевод, огромного кол-во слов за раз. И ты объяснишь ему человеческим языком что и для чего он переводит. Промт я писал с ChatGPT. На вход я ему объяснил всю задачу, дал ссылку на игру в стим, и попросил что бы он подробно объяснил другой нейронке, как правильно переводить.

Короткий пример промта (потом я еще его дорабатывал с DeepSeek, про это дальше):
“Ты профессиональный локализатор видеоигр. Переводи строки с английского на русский.
Игра — это атмосферный симулятор управления прудом, в котором игрок выводит, изучает и генетически модифицирует лягушек. Мир разделён на бодрствующее и сновидческое измерения. Стиль игры — юмористический, уютный, с лёгким налётом абсурда. Названия лягушек и описания их особенностей часто звучат необычно и метафорично.
Переводи СТРОГО по номерам. На входе список строк с номерами (1., 2., 3., ...).
На выходе — точно такой же список переводов, одна строка на каждый пункт.
Не добавляй никаких комментариев, пояснений, заголовков или примечаний.
Не изменяй количество строк. Не объединяй и не пропускай ничего.
Сохраняй стиль, структуру и формат оригинала.” etc
Единственное, что Gemini на вход не берет csv файлы и мне ChatGpt подсказал, что лучше csv конвертнуть в json перевести с нейронкой а потом обратно в csv. Эт кстати реально полезный совет был, я потом экспериментировал нейронки так намного лучше переводят. С ChatGPT написали скрипт туда-сюда сконвертировали, отлично.
8,5/10 - буду пробовать ещё с другими играми, ну наверно единственные два минуса, это не совсем автоматически, как я хотел и иногда крашится в процессе перевода.
DeepSeek API
Ну и самое интересное я оставил на потом. Написать самостоятельно скрипт и подключиться к нейронке через API. В начале я попробовал с Claude, но там он мне за 3к символов сожрал доллар, перевод неплохой и в целом когда-то почему бы и не заплатить, тоже самое и с ChatGPT. Но зачем платить больше как говорится. DeepSeek API в разы дешевле и он никак не хуже понимает смысл, русский, и в целом переводит, а стоит раз в 100 дешевле.

Пришлось вайбкодить вместе с ChatGPT и Cursor. В целом не написав ни одной строчки кода, я написал скрипт который:
1. Конвертирует csv в json
2. Создает promt (вообще любой длины может быть)
3. Промт дополняется в процессе комментариями разработчика, которые в этой же csv таблице
4. Отправляет по API в DeepSeek батчами (по несколько строк сразу)
5. Переведённый файл отправляет на проверку! То есть открывается новый диалог, в котором уже новый promt что DeepSeek редактор, который проверяет перевод игры.
6. Конвертирует назад json в csv.
Ну, вот эту историю было круто пройти, не ожидал что с наскока получится написать скрипт и что реально всё очень хорошо сработает. Перевод и проверка заняли минут 20. Стоило это около 15 центов. Ну и это еще относительно небольшое кол-во текста. Что хорошо в этом скрипте, ты можешь перевести хоть игру warhammer отправляя вообще весь лор этой игры и он будет “держать в этой голове”. Там есть такая история, как кэширование промта. То есть даже если ты переводишь кусками, но в рамках одного conversation ID весь повторяющийся промт не считается за потраченные токены. При этом ты можешь дополнять промт в процессе.

Общий промт получился достаточно большой, несколько раз его с ChatGPT дорабатывали, важно сохранить и что бы он не сухо переводил и при этом полную отсибятину не начинал писать (регулируется температурой).
Также, в скрпите спокойно можно подменить DeepSeek на любую другую нейронку. По качеству всё же думаю, что ChatGPT где-то может быть получше. Если делаете свою игру и переводите на другие языки, думаю немного раскошелиться на ChatGPT можно (цена вопроса думаю пара баксов).
Очевидно невероятная сложность
Ну конечно, разработчик не заложился на поддержку кирилицы. И больше всего времени пришлось убить на это. Я не разраб и мне пришлось ну буквально по шагам разбираться, что происходит в коде.
Я буквально тыкался, как слепой котенок.

Разработчик использовал спрайты для шрифта. Я так понял, что это популярное решение для игр которые написаны на LÖVE. Поэтапно сидел с ChatGPT, думали, как это можно сделать.

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

Но через несколько иттераций получилось привести в целом его к норме:

То есть он даже не шакалит. Реально получилось добиться pixel perfect. Немного еще можно поколдовать со смещением (опустить ниже).
Но если честно признаться, под конец я задушнился и поленился. Некоторые спец символы некорректно отображаются. В идеале нужно было добавить спрайт, тогда бы не было проблем со смещением и спец символами.
Если кто-то хотел поиграть в эту игру, можем с вами вместе добить, думаю не много осталось что бы прям до оригинала довести по качеству. Выложить можно в steam workshop да и разработчику закинуть, что бы он сам в игру нативно добавил. Разбираться в чужом коде, не будучи программистом тот еще прикол.
Вывод
Наверняка, где-то я изобретал велосипед и гитхабе валяется куча готовых решений. Плюс потратил много времени на сам шрифт, с которым разбирающиеся люди разобрались бы за пол часа. Но получил опыт, протестировав все инструменты, сформировав своё мнение, как что работает.
Ушло где-то три вечера, по четыре часа каждый. Это было несложно и даже приятно. Для таких задач я понял, что идеальная связка ChatGPT + Cursor.
Сначала в ChatGPT описываешь проект, формируешь промт. Потом переходишь в Cursor, создаёшь пару Python-файлов с кодом, который выдал ChatGPT, и уже в процессе дорабатываешь. Рекомендую в Cursor выбирать именно Sonnet 3.7 он самый медленный, но показал себя лучше всего.
И да! С ChatGPT можно буквально писать ТЗ для Cursor. А ещё я убил два дня на этот долбаный шрифт.
Закидывайте игры которые, хотите локализовать, в целом, сейчас всё настроил так, что процесс быстрый и почти полностью автоматический.
В тг канале выложу скрипт и перевод игры:
p.s Статьи пишу сам, без ChatGPT, насколько же он дженерик пишет и насколько, это палится. Из разряда, хочешь сварить гречку? Давай я расскажу историю появления гречки в древнем Китае. Кстати, если видите в статье среднее тире «‑» это 99.9% что писал ChatGPT, нормальны люди никогда его не ставят.
p.s 2 Deepl — даже упоминать не стал. Плюс‑минус тот же яндекс переводчик, и то даже яндекс переводчик порой обходит Deepl с переводом с английского на русский. Доки и pdf спору нет хорошо переводит. И локально модели типа qwen3–0.6b запускал, но это на отдельную статью. Спойлер: без пк с несколькими видеокартами в нормальных переводах ловить нечего.
Комментарии (39)
Zenitchik
18.05.2025 11:01Просто слова переводит, короче ваще забей. Ну там у них еще прикол, что ты можешь реально переводчика подключить на проект.
Чувак! СмартКэт - это не сервис перевода, а среда для переводчиков. Если ты сам не переводчик, то он тебе ничего не даст. Аббревиатура CAT на это прямо указывает.
Непонятно, почему ты вообще в него полез.
doshamisha Автор
18.05.2025 11:01Буквальное позиционирование на их сайте. Защитники smartcat уверен был, что придут.
Zenitchik
18.05.2025 11:01Тогда пардон. Я даже не знал, что у смарткэт вообще есть такая функция.
Тогда скажу, что она у него не основная, и я бы на неё рассчитывал.
CAT-системы - это типа как IDE, только для переводчиков. Они про мелкую автоматизацию, а не про автоматический перевод. Их клиентами являются переводчики.
doshamisha Автор
18.05.2025 11:01Да я года 2-3 назад ими пользовался. Переводили приложения, всё оч удобно вообще вопросов нет.
Но то что они начали везде писать: изи ИИ перевод! Ну или пусть отвечают или позиционирование меняют.
pnmv
18.05.2025 11:01сколько, по времени, в итоге, занял процесс перевода всего объема текстов?
doshamisha Автор
18.05.2025 11:01Скриптом 15-20 минут примерно.
pnmv
18.05.2025 11:01а сколько ушло на работу с нейронными сетями, освоение дополнительного инструментария, под этот проект, и получение работающего кода от cursor?
doshamisha Автор
18.05.2025 11:01Где-то 3 вечера, по часа 4. И это было не сложно и приятно. Для таких задач понял, что идеальная связка ChatGPT + Cursor. С ChatGPT верхне уровнено описываете проект, делаете промт. Потом переходишь в Cursor пару python файлос создаешь с кодом который ChatGPT выдал и уже с ним допиливаете. Оч рекомендую в Cursor именно Sonnet 3.7 выбирать, самый долгий, но лучше всего себя показал.
И! С ChatGPT буквально можешь писать ТЗ для курсора. А ещё 2 дня убил на этот долбаный шрифт.
gfiopl8
18.05.2025 11:01p.s Статьи пишу сам, без ChatGPT, насколько же он дженерик пишет и насколько, это палится.
Блок Вывод в конце статьи - 146% маркер того что написано тупым американским роботом.
Я очень много читаю текстов от ллм и этот Вывод у меня уже в печенках сидит.
alexhu
18.05.2025 11:01где в первой колонке комментарий разработчика, во второй текст на английском, в третьей, должен быть текст на русском
Не понял, а зачем для этого задания применять Chatgpt и его аналоги? Нам бесплатно дают переводчики - это обученные нейронки для этих задач, прекрасно справляются с переводам, качество их работы недостижимо для llm общего назначения. Я делал переводы тысяч страниц, тоже через скрипты, гугол переводчик справлялся.
Push_Ok
18.05.2025 11:01У Гугл переводчика есть проблема для игр а том числе, так как там все разбито на лексемы на короткие части и часто реальная фраза от двух таких лексем состоит и переводчик не видит контекст и не видит связи в лексемах. Поэтому есть сервисы и софт для переводов потому что для приложений это не тоже самое что документ перевести
alexhu
18.05.2025 11:01там все разбито на лексемы на короткие части
Где там разбито на лексемы? Если вы знаете устройство модели переводчика google, то там токены разбиваются на подслова и всё это векторизуется нейронкой по контексту общему и локальному; это то, что они показывали 6 лет назад. Переводчику не нужно понимать контекст, предложение должно содержать полный законченный смысл, не оборванный на полусмысле и продолженный через 200 предложений. Если вы об этом, то я не пробовал такие модели.
В целом выбраны неправильные инструменты для перевода, llm немного могут, только проектировались они не для этих задач. Узкоспециализированная нейронка справится гораздо лучше.
doshamisha Автор
18.05.2025 11:01Переводчику не нужно понимать контекст
Эт как не нужно?))
GT (которой не знает контекст)
croakwork machines - машины для квашения
Pocket Snoozer - Карманный Снузер
Kroaka (NPC) - Кваканье
Quiet places, small spaces, warm embraces - Тихие места, небольшие пространства, теплые объятия
DS (которая знает контекст)
croakwork machines - квакательные механизмы
Pocket Snoozer - Карманный Дрыхун
Kroaka (NPC) - Квакша
Quiet places, small spaces, warm embraces - Тихие уголки, укромные местечки, тёплые объятия
Просто рандомне примеры, которые взял из перевода. small spaces - небольшие пространства. Вообще могут заруинить тебе игру, потому что, в игре именно, что про уют и они обитают не в "маленьких" пространствах, а уютных.
Может я не правильно комментарий понял, но как Google Translate может нормально перевести игру не понимая контекста?alexhu
18.05.2025 11:01Вот перевод от гугол переводчика - croakwork machines - Машины для кваканья
Pocket Snoozer - Карманный храпун
Kroaka (NPC) - Кроака (NPC)
Quiet places, small spaces, warm embraces -Тихие места, небольшие пространства, теплые объятия
Что вы там напереводили, я не понял. LLM модели рассчитаны на дописывания текста (произвольная интерпретация вывода на основе статистики последовательности слов ), а переводчики на подбор наиболее подходящих (точных) сочетаний переводного текста.
doshamisha Автор
18.05.2025 11:01Всё через гугл транслейт переводил. Как может гугл переводчик перевести загадку, где есть комментарий разработчика к этой загадке? «Переводчику не нужно понимать контекст» - это же абсурд. Ну либо ты просто тролишь, хз
ReinRaus
18.05.2025 11:01Лол. Почти любая нейронка переводит лучше, чем гугл-переводчик. Если разговор хоть немного использует сленг или идиоматические выражения, то гугл переводчик начинает писать чушь.
Пример:
RU: Меня пригласили на ёлку.
EN (GPT 4o mini): I've been invited to a Christmas party.
EN (Deepseek v3): I was invited to a New Year's party.
EN (Google Translate): I was invited to the Christmas tree.
В общем, продолжайте пользоваться гугл переводчиком, и не забывайте приглашать своих друзей на рождественское дерево.
alexhu
18.05.2025 11:01"Рождественская елка" - что не устраивает? Так там и говорят, не нужно учить их родной речи основываясь на своём понимании.
Zenitchik
18.05.2025 11:01Вы понимаете, что "ёлка" в данном случае - это название мероприятия, а не дерево?
Наиболее точный перевод из представленных: New Year's party
alexhu
18.05.2025 11:01Британцы много столетий понимают Рождественская елка" как party. Ну такая у них культура. Переводчик и добавил слово рождественская к слову "ёлка". Не дерево ёлка, а рождественское празднество. Там ещё и отмечают его не так как христиане, поскольку там множество католиков. Это страновые и культурные традиции.
Push_Ok
18.05.2025 11:01Пока лучший софт для переводов на мой взгляд это https://github.com/WeblateOrg/weblate у него есть конекты к апи ии и скриншоты с метками.
Newbilius
18.05.2025 11:01написал скрипт в котором ты загружаешь таблицу и он тебе переводит через нейронку от самого Google Translate
К слову, Google Translate как и Яндекс умеет принимать файл в формате эксельки для перевода, без всяких скриптов.
Astartes
18.05.2025 11:01Кстати, если видите в статье среднее тире «‑» это 99.9% что писал ChatGPT, нормальны люди никогда его не ставят.
Даже немного обидно стало. Мне нравится среднее тире – оно по ширине примерно как обычный символ и не портит пропорцию текста.
Zenitchik
18.05.2025 11:01Нормальные люди ставят минус ("-"). Потому что ничего другого на клавиатуре не предусмотрено.
Mingun
18.05.2025 11:01Нормальные люди ставят два минуса, которые в нормальных редакторах превращаются в тире (но к сожалению не здесь и не на гитхабе. А вот джира молодец).
Zenitchik
18.05.2025 11:01Простите, но это пижонство. Минус, отбитый пробелами - это тире.
Заморачиваться имеет смысл при подготовке к изданию. А в комментах и прочих постах - нецелесообразно.
Mingun
18.05.2025 11:01Два минуса ставлю просто на автомате. Даже если редактор не превращает их в тире, все равно это выглядит лучше, чем одиноко стоящий дефис, как будто обиженный отсутствием слов справа и слева. У меня дефис в таком виде вызывает ассоциации с невычищенным результатом OCR.
Zenitchik
18.05.2025 11:01Интересная привычка.
выглядит лучше, чем одиноко стоящий дефис
Не разделяю Вашу эстетику.
ri1wing
18.05.2025 11:01Если есть цифровой блок на клавиатуре, то alt + 0150 даст –
Для длинного тире alt + 0151 —
Zenitchik
18.05.2025 11:01Спасибо, я постараюсь запомнить. Но как правило оно того не стоит.
Я лично использую только °·± (градус, математическая точка, плюс-минус).
Остальное как-то никогда не требовалось.
zKeeper
Я Вас очень прошу - пропустите свой текст через Word, он Вам запятые поставит.
noncinque
А так бы начали жаловаться, что это нейросеть пишет про нейросети :)
doshamisha Автор
ахаха, да не говори)