Stellaris
44 평점
Перевод модов, исправление текста в модах
Y'Heetaak Koriik 님이 작성
Руководство посвящено переводу модификаций и восстановлению «поломанного текста» из модификаций в игре, типа «trait_*name*_desc»
Ключевые слова: как перевести моды стелларис перевод модов стелларис моды на стелларис не работает описание исправить текст модов стелларис
2
3
2
   
어워드
즐겨찾기
즐겨찾기됨
즐겨찾기 해제
Вступление
Если вы просто хотите «починить» текст модов, то вам необходимо прочесть и первый, и второй пункты, иначе вы рискуете не разобраться в порядке действий. И, пожалуйста, сначала прочтите руководство как минимум в указанном объёме, а после начинайте действовать сверяясь с ним, таким образом, вы умножите свои шансы на успешное решение проблем в разы. И избавите меня от возможных вопросов.

Далее идет большое лирическое отступление, его можно пропустить. Нет, я не шучу.

Вообще, я не супер знаток английского, у меня даже голова закипает, когда я читаю большие тексты на англе. Первый перевод я делал в скайриме на какой-то сабмод для реквиема и улучшенной алхимии. Правда, я после этого как-то забросил игру, удалил все моды на скайрим и саму игру… ну, у меня даже лицензии не было тогда. Да и сейчас пока что нет, хе-хе, ну да ладно. Короче, тогда я понял, что это не так уж сложно. После первого перевода мода для Стеллариса я в этом убедился. Не обязательно даже иметь образование переводчика, как у Слидана какого-то (рекомендую, четкий чел), достаточно иметь средний уровень английского, чтобы понять, о чем говорится в тексте. Но гораздо важнее хорошо знать свой язык и уметь им пользоваться. Собственно, зачем перевод, если за автором ещё на человеческий надо переводить? Но это мое видение. И надо различать локализацию и перевод. Свои работы я отношу к первым. Главной задачей локализации является не только передача информации на понятном языке, но и её адаптация под регион игрока или атмосферу игры. Как Индрих и Генри из Кингдом Кам (♥♥♥) или как-его-там. На мой взгляд, лучшим примером локализации является украи́нская версия Deep Rock Galactic. И где-то когда-то я видел цитату, которую не смог найти в интернете, мол, если вы переводите книгу и там есть название города Коррапшн, то вы обязаны его перевести как Коррупция, но никак не сохранить Коррапшн согласно правилам, а всякие «Горные-Золотые-Дождливые-Реки» и пр. — оставить оригиналом. Вот она является отличным описанием разницы между переводом и локализацией. Мда. В цитате звучало лучше.

Это было небольшое отступление для горячих голов, которые хотят пуститься в перевод модов для Стеллариса. Или каких-то там ХОИ, Викторий и тд, хотя там наверняка будут свои нюансы с размещением файлов, их структурой или форматом, как, например для Маунт энд Блэйд файлы текста вообще в экселе. Если я не ошибаюсь, а я могу. Короче, руководство может показаться долгим, но оно просто получилось подробным. Если вам оно действительно надо, то осилите. Если нет – ну, ладно.
Первый этап: находим мод, с которым работаем
Итак, начнем. Сначала нам нужно найти файлы мода.
Модификации для Стеллариса из Стима загружаются сюда:

…\SteamLibrary\steamapps\workshop\content\281990

281990 — очевидно, это id стеллариса. Я бы не рекомендовал переименовывать папки.

Далее, когда мы заходим в папку «281990», мы видим…



Да, это жёстко. Каждая папка является работой в мастерской, а её название — id этой работы. Я сортирую папки по дате изменения, вы же можете оставить по имени, как хотите: сортировка почти ничего не решает. Ниже я опишу, как я разбираюсь где какой мод.

Сразу создайте папку со своими переводами. Не стоит хранить исходники своих переводов в папках с модами, ТК они могут обновиться и перезаписаться или вы можете их удалить, отписавшись от работы в мастерской, я храню переводы в папке «!Мои переводы», закрепив её в панели быстрого доступа. Если вы поступите так же и создадите хранилище в «281990», то обязательно ставьте восклицательный знак в начале названия папки, таким образом, она всегда будет вверху, если вы будете сортировать файлы по имени.

Чтобы найти нужный мод, который вы хотите переводить, мы отправляемся обратно в мастерскую Стеллариса. Заходим в наши подписки:



Вверху должна быть выбрана вкладка «Предметы мастерской». В ней находим мод, с которым будем работать. В моем случае это Extended Necroids, заходим на страницу нужного нам мода и жмем ПКМ по свободной области слева или справа, копируем ссылку на мод. Особое внимание уделите именно ЛЕВОЙ части скриншота:


Ничего такой мод, судя по тому, что я там уже перевел. Рекомендую к ознакомлению.

И-и-и, вот она, ссылка:
ht tps://steamcommunity. com/sharedfiles/filedetails/?id=2802188203

Я «разрезал» ссылку, чтобы сохранить её именно как текст. Нас она интересует только своим id, а именно числом 2802188203. Чтобы получить id, можете вставить ссылку в блокнот или браузер – короче, куда вам удобно – и скопировать его.

Итак, получив id, мы возвращаемся в папку с файлами мастерской Стеллариса на жестком диске, она же «281990», вставляем id в поиск и находим папку с модом:


Мне почему-то казалось, что можно прямо из мастерской прыгнуть в файлы модификации, но у меня не получилось.
Второй этап: «ремонт» текста и перевод модов
Для начала я оправдаю ту часть названия руководства, где говорится о «ремонте» текста в модах. Возможно, вы когда-то устанавливали моды, которые даже вроде как имеют локализацию, но в них были text_text_desc и так далее. Короче, поломанные названия/описания чего-либо. Это значит, что перевод устарел, а мод обновился и обзавелся новыми фичами. Либо перевода вообще нет, а вы готовы играть с английским текстом, лишь бы не вот это вот:



Для этого вы в оригинальной папке мода (в нашем случае 2802188203) заходите в папку localisation, там будет одна папка english, в ней же содержится файл «MEN_l_english.yml», в котором содержится весь текст модификации. Собственно, отсутствие других папок и файлов локализации (или, при её устаревшей версии, отсутствие в ней нужных строк) и вызывает эту ошибку.

Чтобы это исправить создаем в папке localisation папку russian (если вы играете на другом языке, то и папку называйте соответственно), далее копируем файл «MEN_l_english.yml» и переименовываем его в «MEN_l_russian.yml», кавычки, само собой, не нужны. Далее открываем файл в блокноте (но лучше, конечно, в Notepad++, он же у всех всегда установлен, правда?) и первую строку меняем с «l_ english:» на «l_russian:». Не упустите двоеточие. Сохраняем изменения в файле. Собственно, графически результат будет продемонстрирован далее на скриншоте. Обратите внимание на путь в строке проводника, она вам поможет, если вы запутались в моих описаниях:



Крайне важно!
Название файла с текстом из модификации зависит от того, как его назовет автор мода, «MEN_l_english.yml» возможен лишь в случае мода, ссылка на который оставлена выше. На скриншоте, который демонстрирует ошибку над решением которой мы работает, используется другой мод — Extended Humanoids , но с ним производятся аналогичные манипуляции. Как и с другими модами. Так же в модификациях разных авторов могут различаться «внутренности» папки с локализациями, но общий принцип работы с ними не меняется. Я не буду объяснять, как это работает с точки зрения программы, и так уж очень многА букАв.

Результат наших действий:

Как видите, мы всё отремонтировали, можно играть с русской версией игры и модами без русификатора. А теперь перейдем к части с непосредственно переводами.
Третий этап: перевод!
Если вы прочли прошлый раздел руководства и произвели описанные в нём действия, то у вас уже имеется файл «*название мода*_l_russian.yml». Для удобства копируйте его в папку, где будете хранить свои переводы. Можете сразу скопировать саму папку с модификацией, как-то её отметить и работать в ней, а после скопировать готовый файл перевода и вставить его в оригинальную папку с модификацией, заменив «ремонтный» файл из второго раздела или создав, как описано в том же разделе, папку с вашей локализацией.

Пока я копировал модификации полностью и отмечал их как-то так:


Итак, заходим в наш файл «*название мода*_l_russian.yml». В первой строке, само собой, вписываем «l_russian:» (кавычки не нужны, конечно же). Как я уже писал выше, работать будет удобнее в Notepad++, но тут уж решайте сами. Собственно, слева законченный файл перевода, справа – оригинал:



Как переводить? Ну, с английского на русский, наверное. Или на какой язык вы хотите. Из инструментов рекомендую словарь и переводчик, можно гугл, ещё не будет лишним сверятся с грамматикой; в любом случае машинный перевод нередко придется редактировать.


  • В тексте присутствует нечто подобное тегам: L, Y, R, \n и иные. Первые три отвечают за цвет текста, \n является абзацем. Если перед текстом идет какой-либо из этих символов, то начинаем вводить переведенный текст сразу после него, как на левой половине скриншота выше.

  • Обратите внимание на кавычки в файле, они являются своего рода границами текста, потому при их необходимости используйте «‎ёлочки».
    Alt-код символов: Alt+0171 и Alt+0187 («»)

  • Для модификаций, что скачаны из других источников, всё, скорее всего, аналогично: создаем папку (или только файл), называем его правильно, редактируем первую строку, а дальше уже решайте сами, переводить его или нет.

  • Некоторые символы игры имеют специальные "теги" в названиях, как то: £unity£, $VALUE$, их не нужно переводить.

  • Осторожно используйте функцию замены! По отзывам экспертов, она может поломать перевод. Думаю, не только на смысловом уровне, но и на программном. Потому будьте осторожны.

  • Так же внимательно смотрите на синтаксис, как рекомендует knon_20, особенно с кавычками ( " ) в начале и конце строк.

  • Очень важный момент, на который необходимо обратить внимание и который указал knon_20: с простым UTF-8 локализация работать не будет, нужен именно UTF-8 с BOM. Так что в процессе удостоверьтесь, что у вас кодировка в Нотпаде именно такая, как на изображении:
Инструментарий
Как уже было отмечено, перевод рекомендуется делать в Notepad++. Коллега под ником knon_20 дал отличный совет, что для него можно использовать плагины, которые в значительной мере упростят вашу работу:

Compare
Позволяет сравнить два файла. Можно взять оригинал мода/устаревшую версию перевода и свой файл, таким образом не придется прыгать из вкладки во вкладку.

DSpellCheck
Проверка наличия ошибок в тексте. Проверяет только орфографию!

Оба этих плагина можно загрузить непосредственно в Notepad++ через "Управление Плагинами...", все упомянутое выделено на изображении ниже:



От 01.04.2025:
Рекомендую к прочтению https://stellaris.paradoxwikis.com/Localisation_modding, это статья официальной вики по Стелларису, где описывается процесс локализации, в ней указаны всяческие команды и коды (увидел я её, кстати, буквально через несколько дней, когда закончил первую версию этого руководства, но ссылку не приложил, надо исправлять);

А ещё рекомендую замечательный веб инструмент для перевода Deepl, переводит лучше переводчика Гугл; ниже в руководстве написано о нём и об использовании ИИ.
Обновление от 01.04.2025 — ИИ, инструменты, дополнения
Давно запланированное обновление. За время, прошедшее с написания оригинала, у нас появилась куча новых инструментов, например ИИ, да ещё и возможность выбрать, какой использовать, их десятки.

Как писал в комментариях наш коллега Red fox200 31-го марта:

"Хочу посоветовать deepseek для машинного перевода, он более качественный чем гугол перевод, и если его настроить правильно он не будет трогать файлы мода, а только локализацию".

Deepseek — один из ИИ ассистентов, которые вы можете использовать для перевода модификации. Я попросил комментатора написать руководство, как его использовать, он его прописал в комментарии, а после сделал и "полноразмерную" версию, вот она, рекомендую к ознакомлению:

https://sp.zhabite.com/sharedfiles/filedetails/?id=3455470810

То, что было написано в комментах, чтобы оно не поплыло по страницам, я тоже перенесу его сюда:

Red fox200 31 Mar @ 2:19am
Это довольно легкий процесс. Просим ИИ Deepseek Не трогать файлы до строчки :
ИИ сам все поймет, если будет только после первой строчки то указываем что команда не трогать файлы работает с каждой строчки заново.

Например:

l_english:
NAME_M87: "M87"
NAME_PlanetOfLight: "The Planet Of Light"
NAME_IonSparkle: "Ion Sparkle"
NAME_IonSparkleController: "Controller"
NAME_M87_CLUSTER: "M87 Cluster"

И получаем перевод

l_russian:
NAME_M87: "M87"
NAME_PlanetOfLight: "Планета Света"
NAME_IonSparkle: "Ионная Искра"
NAME_IonSparkleController: "Контроллер"
NAME_M87_CLUSTER: "Скопление M87".

Или для начала просим ИИ узнать как переводить моды для Стелларис, он будет в курсе контекста и начнет переводить именно названия, а не системные файлы.
К сожалению он иногда делает ошибки, но не в системных файлах, а переводе например если в оригинале будет например Micro-killer то он оставит оригинал я старался это фиксить но видимо это проблема ИИ.

И еще он позволяет закидывать маленькие файлы для перевода. И если ИИ поймет общую концепцию перевода, а он поймет довольно быстро. То можно закидывать файлы напрямую. Он будет переводить все сам, нам останется лишь скопировать перевод из deepseek потому что он не умеет передавать файлы, а после переназвать из условного bonus_techs_l_english.yml в bonus_techs_l_russian.yml.

Ремарка: в первом предложении, вероятно, имеется в виду не трогать текст до двоеточия.
Ремарка 2: я попробовал дать ИИ ссылку на https://stellaris.paradoxwikis.com/Localisation_modding. Таким образом, я думал немного "обучить" ИИ, но он не может перейти на страницу. Как вариант, вы можете скопировать всё её содержимое и передать ИИ иными способами. Но, как заявляет Red fox200, Дипсик и без этого справляется с задачами перевода.

Ссылки на ИИ:
https://www.deepseek.com/en
https://chatgpt.com — здесь я бы порекомендовал порыться в "джипитисах" (GPTs) — приложениях на основе ChatGPT. С этим я ещё не разбирался сам, но, возможно, у вас получится найти что-то более подходящее для переводов, чем дефолтный GPT.

Так же для "ручного" перевода и перепроверки себя я бы порекомендовал Deepl — переводчик типа Гугл Транслейт, но, как заявляет описание, "это не просто онлайн-переводчик, а комплексная платформа языкового ИИ, позволяющая компаниям эффективно взаимодействовать, преодолевая языковые барьеры, учитывая культурные нюансы и раскрывая потенциал новых рынков". Он довольно точно переводит тексты, лучше, чем Гуголь воспринимает контекст, в нём удобнее редактировать полученный результат.
Из недостатков: в бесплатной версии есть ограничение на объём текста, а ещё, если внести правки в переводимый текст, то хоть сколь-нибудь изменённый переведённый текст сбросится до перевода ИИ. Всё. Других пока не замечал.
Ссылка: https://www.deepl.com

Grammarly — ещё один ИИ ассистент для работы с текстами, с ним я не знаком, но, по заявлениям экспертов, функционал вполне неплохой:
https://www.grammarly.com/

С ИИшками разобрались. Итак, мы перенесли наш перевод, как это описал Red fox200, в текстовик. Теперь нам необходимо все "english" заменить на "russian". Тут я тоже сошлюсь на один из комментариев, теперь от Evil Grimoire:

Ну и дополю еще раз, как все разом поменять. Для этого нужны две проги: нотепад+ и ReNamer.
Первым выделяем все файлы и открываем нотепадом. Далее f+ctrl и заменяем I_english: на l_russian: Там есть функция заменить во всех открытых файлах.
Второй прогой разница в действиях небольшая. Выделяем все файлы, вставляем, добавляем два правила: добавить после I_ (русский) и убрать english.
Все, готово!

И тут же я напомню слова knon_20: "Очень осторожно нужно пользоваться возможностью "Замены текста", так как можно поломать вообще весь перевод".

На этом обновление руководства всё! Возможно, немного улучшу его внешний вид, но в целом накопившееся за три года разобрали.
Заключение
Может показаться, что подготовительные работы занимают больше времени, чем работа в самом файле. Конечно, это не так. На перевод у всех уйдет разное количество времени, у всех они наверняка будут отличаться друг от друга.

Теперь можно не ждать «до поздней игры», когда переводчик займется модом, который вы попросили перевести, а самому это сделать за несколько вечеров. Или стать некрофагом и оживить мертвую локализацию, для себя ли или для сообщества. Ну, а если вы и не собираетесь переводить моды, то сможете починить ошибку со сломанным текстом.
На этом все. Лайки, колокольчик, ПРЫЖОК В ДВАМАКСКУЮ ПОХЛЁБКУ, БЫСТРО, ЕДА!!!!!11!1

Благодарности:
knon_20 — за отличные советы по улучшению руководства;

Evil Grimoire — тоже за советы по улучшению;

Cho'Giki — за перепроверку функционирования всего этого добра, что мы тут понаписали;

Red fox200 — за дополнение руководства описанием работы с ИИ, щас это крайней актуально и полезно.

Руководство по работе с сохранёнными гос-вами:

https://sp.zhabite.com/sharedfiles/filedetails/?id=2847553821

Проверить мою сборку модов. ХЗ, вроде недавно играл, вполне актуальна. Она должна быть не самой плохой, если не самой лучшей:

https://sp.zhabite.com/sharedfiles/filedetails/?id=2727738845
댓글 31
Y'Heetaak Koriik  [작성자] 2025년 4월 3일 오전 1시 21분 
Ну, "завтра" малёха затянулось, так бывает. Приложил ссылку, спасибо! :cool_seagull:
Y'Heetaak Koriik  [작성자] 2025년 4월 1일 오전 11시 54분 
Мегахарош, спасибо!
Перечитаю уже завтра наверное и приложу ссылку
Red fox200 2025년 4월 1일 오전 11시 52분 
Вот небольшая помощь для deepseek там все написано.
https://sp.zhabite.com/sharedfiles/filedetails/?id=3455470810
Y'Heetaak Koriik  [작성자] 2025년 4월 1일 오전 11시 27분 
Обновили руководство. Спасибо всем за комменты, коллеги!
Red fox200 2025년 3월 31일 오전 12시 10분 
Сделал небольшое руководство.
Red fox200 2025년 3월 30일 오후 4시 29분 
И еще он позволяет закидывать маленькие файлы для перевода. И если ИИ поймет общую концепцию перевода, а он поймет довольно быстро. То можно закидывать файлы напрямую. Он будет переводить все сам, нам останется лишь скопировать перевод из deepseek потому что он не умеет передавать файлы, а после переназвать из условного bonus_techs_l_english.yml в bonus_techs_l_russian.yml.
Red fox200 2025년 3월 30일 오후 4시 19분 
Или

Для начала просим ИИ узнать как переводить моды для Стелларис, он будет в курсе контекста и начнет переводить именно названия, а не системные файлы.
К сожалению он иногда делает ошибки, но не в системных файлах, а переводе например если в оригинале будет например Micro-killer то он оставит оригинал я старался это фиксить но видимо это проблема ИИ.
Не знаю как делать руководство так что оставлю на ваше усмотрение как и что сделать.
Red fox200 2025년 3월 30일 오후 4시 19분 
Это довольно легкий процесс. Просим ИИ Deepseek Не трогать файлы до строчки : ИИ сам все поймет, если будет только после первой строчки то указываем что команда не трогать файлы работает с каждой строчки заного.
Например
l_english:
NAME_M87: "M87"
NAME_PlanetOfLight: "The Planet Of Light"
NAME_IonSparkle: "Ion Sparkle"
NAME_IonSparkleController: "Controller"
NAME_M87_CLUSTER: "M87 Cluster"
И получаем перевод
l_russian:
NAME_M87: "M87"
NAME_PlanetOfLight: "Планета Света"
NAME_IonSparkle: "Ионная Искра"
NAME_IonSparkleController: "Контроллер"
NAME_M87_CLUSTER: "Скопление M87".
Y'Heetaak Koriik  [작성자] 2025년 3월 28일 오후 7시 21분 
Кстати, отличное замечание, спасибо! Когда я это всё писал, ещё не так были распространены всякие ИИшки. Я обязательно, О-БЯ-ЗА-ТЕЛЬ-НО малость обновлю это руководство и добавлю рекомендации по ИИ :cool_seagull:
А можете поподробнее написать, как его настроить? Или создайте руководство, я приложу на него ссылку, так даже лучше будет, на мой взгляд
Red fox200 2025년 3월 28일 오후 2시 45분 
Хочу посоветовать deepseek для машинного перевода, он более качественный чем гугол перевод, и если его настроить правильно он не будет трогать файлы мода, а только локализацию.