Crusader Kings III

Crusader Kings III

Not enough ratings
Перевод модификаций для CK3.
By Сафари Долбоёб
Всем привет!
Это руководство по переводу модов со всеми возможными подводными камнями и трудностями, для Crusader Kings 3. Присаживайтесь поудобнее, заваривайте чай и берите печеньки, потому что нас ждёт полное погружение в мир б̵̍̈́̔̌ͅо̸̭̮͈͇̩̐̓͐̓̐͠л̵̭̼̤͒͊̾͂̚и̵̡̛͖̼͔̞̹̎̽͛̚ ̴̼̪̮̲̕и̶̡̫̫̿̉́̅̑̆ ̷̱͕͚̺͔̞̐̃у̵̢̘̱̳͓̬͗͗ж̴̪̪͎͓̲̀а̸̭̪̳͇̼̿͆͂̅̑͠с̷̢̙̄а̷̧͎͓̻͌̑̈́̓͛ кода и перевода.
   
Award
Favorite
Favorited
Unfavorite
Подготовка инструментария.
Discord[discord.gg] нашей команды переводчиков.

Для начала нам необходимо подготовить весь инструментарий который нам пригодиться при переводе. Начнём с редакторов текстов. Есть 2 стула, на одном пики точёные Atom[atom.io], на нём сижу я и почти вся наша команда, на другом... ну другой тоже ничего, Notepad++[notepad-plus-plus.org] удобен, неплох, есть функция компиляции, ничего более сказать не могу так как почти им не пользовался. Советую опробовать оба и найти для себя более подходящий, но всё же рекомендую отдать предпочтение Atom.

Теперь когда вы определились с текстовым редактором, вам нужно решить где будут хранится файлы мода который хотите перевести. Вы можете хранить файлы прямо в проводнике, скопировав папку мода и расположив где вам будет удобно. И это отличный вариант, но он не настолько удобен если вы переводите модификацию группой людей. Github[github.com] вот выбор настоящих безумцев что пожелают в будущем переводить громадные моды для ru коммьюнити и стать настоящими героями! Вкратце пройдусь о плюсах гита если вы переводите командой: не нужно кидаться друг с другом файлами, переводить и изменять можно прямо в гите, и изменения будут видеть все; ради мелких правок в файлах не нужно будет кидать весь огромный файл и заменять его; если у вас действительно большая команда вы можете поставить разрешения для одобрения изменения, так ваши редакторы если найдут ошибки могут указать на них и отклонить изменения, отправив их на переработку; а ну и главное, у каждого переводчика всегда будет последняя версия перевода.

Подготовка инструментария окончена, можем начать! Все примеры будут показаны на моде который в данный момент переводит наша команда, Godherja:The Dying World.
https://steamhost.cn/steamcommunity_com/sharedfiles/filedetails/?id=2736054122
Подготовка к переводу.
Ну-с начинаем! Для начала нам необходимо найти папку с модом, находится она по пути Steam\steamapps\workshop\content далее начинаются папки с цифрами, выбираем ту у которая самая недавняя дата изменения.
https://steamuserimages-a.akamaihd.net/ugc/1835782295704894161/DFE5758075A70EB11A28122C99B46331BBCCB5DA/?imw=256&&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false

Внутри папки будут все моды на которые вы подписаны в стиме, у меня здесь только один, но действуем точно по такому же принципу, выбираем последнюю папку по дате изменения.
https://steamuserimages-a.akamaihd.net/ugc/1835782295704920140/0557D4DD2562C11BB59973B9079CAD74A5FA7A29/?imw=256&&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false

Работать мы будем с теми файлами, что находятся в папке localization, открываем её, дублируем папку english и переименовываем в папку russia. Папку russian перемещаем либо на git, либо в ту директорию вашего компьютера, где вам будет удобно с нею работать, и ни в коем случае не оставляем её в папке с модом, так если мод вдруг обновится то вся ваша работа пойдёт на смарку. На этом в принципе всё, переходим к самому процессу перевода!
Процесс перевода.
"Никто не может нырнуть в бездну и вынырнуть прежним."
Предостережение для тех кто из вас, кто до сих пор не передумал, самую большую ошибку которую вы можете сейчас совершить, это продолжить читать это руководство, пожалуйста, ради вашего же блага, остановитесь...

Ну а кто меня не послушал, что ж, добро пожаловать в ад! Первым делом заходим в нашу папку russian, тут мы увидим кучу файлов и папок которые отвечают за различные тексты в игре, для примера будем работать с папкой bookmark(отвечает за стартовые даты мода и описания персонажей)
https://steamuserimages-a.akamaihd.net/ugc/1835782295705435912/CCBA16BF26BDBFDDC120DDADEEDFBE5FC13970EA/?imw=256&&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false

Заходим в неё и первым делом меняем окончания всех файлов с "...._english.yml" на "...._russian.yml". После открываем файл в редакторе и меняем первую строчку с "l_english:" на "l_russian:". И начинаем переводить весь текст который находится в кавычках: "english text"-"английский текст".)) Вот пример до и после перевода:
https://steamuserimages-a.akamaihd.net/ugc/1835782295705474168/429BC0FFFA549872BA9C0FCAB7FC46D47A2722FF/?imw=256&&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false

абракадабра, магия перевода, иии бах, текст переведён:

https://steamuserimages-a.akamaihd.net/ugc/1835782295706133218/4CFC22E0783B1B3D14F97729A69EA92FF8D1F02D/?imw=256&&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false

И казалось бы всё, чудо готово, но не тут то было мои дорогие друзья, перед нами появляется самый зловещий враг каждого переводчика, лень, концепт, но не стоит его боятся, сейчас я покажу и расскажу как с ним бороться.
https://steamuserimages-a.akamaihd.net/ugc/1835782295705515829/29BE42249E4CA7F579E4CE97E1E609B7E32EBCB8/?imw=256&&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false
Концепт и скрипты.
Ну разберём для начала основы, концепт, является словом которое отсылает нас к какому-то внутри игровому термину и при наведении на слово даёт нам описание этого термина, дальше будет пример из мода. [Слово|E] является не самим концептом а скриптом который отсылается на него. Самих скриптов при переводе можно встреть очень много, ниже разбираю все мне известные и что с ними необходимо делать.
https://steamuserimages-a.akamaihd.net/ugc/1835782295706477408/CFF59AAC9715B4EE9BFA79C6E12F6031D14E3183/?imw=256&&ima=fit&impolicy=Letterbox&imcolor=%23000000&letterbox=false

Сами концепты встречаются не во всех модах, так что и информация тут не для каждого переводчика, просто учтите что чем больше мод, тем больше шанс что в нём вам будут встречаться концепты, если мод является тотальной конверсией игры(Lotr, Godherja, The Way of Kings, Tales of Ireland) то концепты там определённо будут. В случае с модами немного меняющими игру, концепты вероятно будут браться из оригинальной игры и нам нужно будет их лишь подкорректировать. С глобальными модами история совсем другая, нам нужно будет для начала перевести новый файл концептов(он так же находится в папке мода). Теперь можно начать разбираться что делать с этим добром.

1)Нужно учесть что не все [слова|E] необходимо изменять, только если слово в изначальном варианте создаёт речевую ошибку, наш пример:
Многие называют Огьера "Огра", квинтэссенцией [antimagi|E], а многие - живым народным героем.

2)Допустим мы уже нашли файл концептов мода и перевели [antimagi|E] как антимаги.

3)Делаем так, скрипт [antimagi|E] изменяем на [Concept('antimagi', 'антимагии')|E]. Абракадабра и теперь концепт не создаёт речевых ошибок в тексте.

4)Разные буквы на конце скрипта отвечают за различные команды:
E- делает слово синим
L - подчеркивание
l - первое слово начинается с маленькой буквы
U - первое слово начинается с большой буквы
V - белый цвет

5)Ещё нужно учесть, что если в тексте есть прилагательное (adjective) конфессии или религии, то слово необходимо выделить #L #!, т.е. "[Faith.GetAdjective] warriors" в русском переводе должно выглядеть "#L [Faith.GetAdjective]ие#! воины". За исключением случаев, когда после Adjective стоит NoTooltip. И аналогичная ситуация с культурами. Культуры по умолчанию подчёркиваются игрой, поэтому необходимо вручную прописывать подчеркивание окончаний.

6)В игре есть разделение по полу. [Select_CString(ROOT.Char.IsFemale, 'Неравнодушная', 'Неравнодушный')] - пример такого плана. В ивенте и некоторых местах можно вместо ROOT.Char подставлять свои условия. Первое слово в кавычках после .IsFemale - если персонаж женщина, а второе если мужчина.

7) Так же в тему о поле персонажей [ROOT.GetCharacter.GetHerHis] скрипт который в зависимости от пола персонажа пишет её/его. [ROOT.GetCharacter.GetSheHe] она/он.
[ROOT.GetCharacter.GetHerHim] ему/ей.
Несколько моих личных советов.
В принципе вот и всё по переводу мы прошлись полностью, тут я оставлю свои маленькие советы подрастающему поколению локализаторов.
Если ваш уровень английского не слишком высок, то рекомендую пользоваться хорошими переводчиками. Обязательно! Cлышите меня? ОБЯЗАТЕЛЬНО! Откажитесь от гугл переводчика, если вы хотите делать хоть сколько то качественный перевод то вот лучший инструментарий для вас.
Советую использовать этот для перевода связанного текста: DeepL[www.deepl.com]
Этот для перевода непонятных слов (показывает синонимы и возможные варианты значения):Яндекс переводчик[translate.yandex.ru]
Этот показывает бексонечное кол-во примеров использования слов: Reverso[context.reverso.net]
Итог.
Ну в принципе вот и всё, о процессе перевода я рассказал, всё что сам знал, миру поведал, натыкаясь на нечто новое, обязательно руководство буду обновлять. Ну а всем вам удачи с переводами, друзья!

Изначально за основу брал руководство автора 5.11 | FURY. Большая ему благодарность за отличнейшее обучение основам, сами с командой учились на всём этом, но его руководство не говорило ни о концепта, ни о скриптах, это своеобразное дополнение от меня.

Помог с концептами и скриптами SShredy, большое ему спасибо за это, могу посоветовать всем его отличнейший мод на аутентичные шрифты[steamhost.cn/steamcommunity_com].

Если хотите присоединится к нашей большой команде переводчиков или есть дополнения для руководства - милости прошу к нам в наш Discord[discord.gg]
4 Comments
Лукавi Очi 1 Feb, 2024 @ 9:08am 
Имею проблемку которую нигде не нашел для решения:

вот пример "was killed $excavation_activity_suffix$"" #by $monster_small_generic$s

Вопрос:$excavation_activity_suffix$ надо переводить? и то что стоит в конце две скобки на что влияет ( из мода Unbound - Ruins )
Cukihun 3 Jul, 2023 @ 12:44am 
Спасибо за файл, а можете добавить как правильно склонять имена персонажей?
alex 11 Nov, 2022 @ 12:39pm 
где вы были восемь лет?
Danger Capitalist 8 Nov, 2022 @ 6:03am 
Коротко и простым языком, доступно для всех)