Europa Universalis V Українською

Europa Universalis V — 179 098 рядків, 8 743 576 знаків. Це найбільша гра в спільній базі: друга за розміром удвічі менша, а вся Brotato поруч із нею — 0,5% обсягу. Робота тривала майже весь серпень 2026.
Форма корпусу пояснює, чому саме стратегія Paradox виявилась такою великою: 94 591 рядок із 179 098 коротший за 15 знаків. Понад половина — це назви провінцій, династій, правителів і титулів. Найдовший рядок усього 1 793 знаки. З загальної кількості 31 258 — пінені таблиці власних назв самого застосунку.
Не патч, а мод
Paradox тримає весь текст у localisation\*_l_english.yml у простому форматі КЛЮЧ:0 "текст". Тому застосунок не чіпає файли гри взагалі: він збирає звичайний мод, який заміняє англійські файли, і кладе його в теку модів у Documents — поза інсталяцією.
Наслідок для гравця приємніший, ніж здається. По-перше, застосунок навіть не питає дозволу на запис у гру, бо писати в неї нема чого. По-друге, відкіт — це не «відновити з резерву», а просто вимкнути мод у лаунчері. І по-третє, переклад переживає оновлення гри.
Прапори, що стали «BRA!»
Формат Jomini повний токенів, які мусять пережити переклад недоторканими: $VARIABLE$, кольори §Y…§!, іконки £icon£, скриптові виклики [ScriptFunction], спрайти @icon! і форматування #italic … #!. Усі вони маскуються перед перекладом і відновлюються після.
Але важливий не лише перелік — важливий порядок масок, і ми дізналися це з екрана. Динамічний спрайт @[Fn]! треба маскувати перед голим [Fn]: інакше маскуються тільки дужки, модель зʼїдає символ @ — і замість прапора Бранденбургу в тексті зʼявляється `BRA! Brandenburg`. Так само #! мусить іти перед відкривальним #, інакше закриття читається як початок нового формату й ламає підказку цілком.
62,9 мегабайта однією відповіддю
Розмір цієї гри коштує не лише перекладу. Завантаження — це 179 098 рядків, і сервер спершу будував їх одним масивом у памʼяті: 295 МБ на ОДИН запит. Воркер помирав посеред відповіді, клієнт бачив 502, а потім 503 від перезапуску — і виглядало це як «сервер спить», хоча він саме навпаки, помирав від навантаження.
Посторінково по 2 000 рядків той самий запит тримається в 58 МБ, а байти на дроті не змінюються жодним чином. Друга половина була на боці клієнта: він не надсилав Accept-Encoding, тож ті самі дані їхали як 62,9 МБ замість 17,0 МБ у gzip — у 3,7 раза більше, ніж потрібно.
Якщо завантаження цієї гри здається довгим — воно справді довге. Але тепер довге чесно, а не тому, що щось падає.
Шрифт, якого не довелося робити
EU5 — гра на Jomini, і її TTF-шрифти вже покривають кирилицю, включно з і ї є ґ. Це рідкість: у старших іграх Paradox на Clausewitz — HOI4, EU4, CK2, Stellaris — шрифти інтерфейсу це растрові атласи без кирилиці взагалі, і українська в них перетворюється на суцільні ?. Для тих ігор застосунок генерує окремий шрифтовий мод: читає визначення шрифтів із interface/*.gfx, робить кириличний атлас відповідного розміру й дописує його до оригінального. Тут нічого з цього не знадобилось.
Переклад цієї гри вже доступний у застосунку — завантажити.