Všechny hry Paradoxu mají co do textů společný základ a pravidla, i když se v některých drobnostech liší. Texty jsou řazeny po řádcích a na každém řádku je vždy jedna proměnná se svým textem. Pro lepší představu vždy uvedu na jednom řádku patřičné příklady.

Příklad:

guardian.104c.desc:0 "The Muutagan Merchant Guild welcomes you. Would you like to make a deal?"

guardian.104c.desc: – tohle je proměnná, do které se načte text. Je ukončena dvojtečkou. Do této proměnné se za žádných okolností nesmí zasahovat a nepřekládá se! Proto v editoru při překladu používáme hromadné nahrazování jen velmi opatrně a po zralé úvaze. Mohl bych vám sáhodlouze vyprávět, jak velkou pakárnu jsem si udělal, když jsem na toto pravidlo zapomněl.

0 – číslo za proměnnou je symbolem události, nebo případně času, kdy se má text této proměnné zobrazit na monitoru. Pokud se při překladu nebo opravách a změnách uklepnete a místo 0 tam zapíšete + (záměna české a anglické klávesnice), hra tento řetězec nenačte, v horším případě od této chyby nenačte žádné řetězce.

„The Muutagan Merchant Guild welcomes you. Would you like to make a deal?“ – tohle je text, tedy „řetězec“, který se překládá a v patřičnou chvíli se zobrazí na monitoru. Co do něj napíšete, to se zobrazí.

Některé řádky začínají znakem #. To jsou takzvané komentáře (programátoři vědí), které program (hra) ignoruje a proto se nepřekládají. I když si s nimi dáte práci a přeložíte je, bude to k ničemu. Nikde se to nezobrazuje. Jako kdyby to tam nebylo.

Příklad:

#Flag category keys are generated like "FLAG_CATEGORY_" + <name of folder in common/flags/>

Všechny texty se načítají při startu hry. Pokud něco změníte a chcete to vyzkoušet, musíte restartovat celou hru.

Ve tvaru proměnných a jejich textů v různých hrách jsou drobné odlišnosti.

Pro Hearts Of Iron 4 a Stellaris platí tvar řádku:

guardian.104c.desc:0 "The Muutagan Merchant Guild welcomes you. Would you like to make a deal?"

Pro Europa Universalis 4 platí tvar řádku:

MAPMODE_ACCEPTEDCULTURES: "Accepted Cultures Mapmode"

Všimněte si, že ve starší hře Europa Universalis NENÍ za dvojtečkou číslo.

Pro Crusader Kings2 a Victoria 2 platí tvar řádku:

AIREASON_STRENGTH;Power;Pouvoir;Macht;;Poder;;;;;;;;;x

V těchto ještě starších hrách je řazení textů zcela odlišné. Proměnná není od textů oddělena dvojtečkou, ale středníkem. Středníkem jsou odděleny i jednotlivé jazykové mutace. Zatímco HOI4, Stellaris a EU4 mají jazykové mutace striktně oddělené v různých souborech, Crusader Kings 2 a Victoria 2 mají na řádku vždy proměnnou a všechny řetězce v použitých jazycích. Protože se s tím špatně pracuje, softwarově na všech řádcích odstraním všechny verze kromě anglické, kterou pak přeložím.

POZOR NA FORMÁT!

Soubory s texty mají podle své hry různý formát. Stellaris, Hearts of Iron 4 a Europa Universalis 4 jsou ve formátu UTF-8. Crusader Kings 2 a Victoria 2 jsou ve formátu ANSI. Tyto formáty je nutné striktně dodržet, zejména u novějších her, jako je například Stellaris. Pokud hra neuzná, že vaše UTF-8 je správné UTF-8, prostě texty nezobrazí a pak vás čeká dlouhá a hodnotná zábava při zjišťování, proč se to děje.

To, že máte správný formát, samo o sobě nestačí. Hra také musí podporovat správnou znakovou sadu. To znamená, že pokud máte v Europa Universalis texty s plnou diakritikou a spoléháte na UTF-8, máte smůlu. Hra totiž neobsahuje znakovou sadu pro naši diakritiku a pro správné zobrazní znaků by ji někdo musel dodělat. Stellaris a HOI4 mají lokalizaci do polštiny a ruštiny, které tyto znaky obsahují. Proto překládané texty ve finále převádím na polskou verzi.

Dále se podíváme na některé zrady a pasti překladů. Až na řídké výjimky platí generálně pro všechy lokalizace všech her.

DVOJITÉ UVOZOVKY NA ZAČÁTKU A KONCI ŘETĚZCE

(neplatí pro CK2 a Vic2). Zapomeňte na všelijaké typografické nesmysly českých uvozovek (počáteční dole a podobně), uvozovky musejí být v prostém textu – je to programování, takže žádný Word nebo jiná zvěrstva!

Ani jedna uvozovka se nesmí vynechat! Od vynechané uvozovky se nenačte do proměnných žádný text!

Jestliže nedodržíte toto zcela zásadní pravidlo, místo textu z níže uvedeného příkladu se vám zobrazí jen jméno proměnné, tedy guardian.104c.desc. Jistě uznáte, že informační hodnota takového sdělení je nulová. Pak musíte hledat v textových souborech a najít chybu. Od řádku s chybou už se do proměnných nenačtou žádné řetězce a zobrazí se jen jména proměnných, takže pozor na to! Všimněte si v příkladu uvozovek na začátku a konci řetězce.

Příklad:

 guardian.104c.desc:0 "The Muutagan Merchant Guild welcomes you. Would you like to make a deal?"

Do textového řetězce mohou být kvůli zvýraznění textu vloženy další uvozovky. Mohou být jak dvojité, tak jednoduché. V tomto případě záleží na libovůli toho kterého vývojáře Paradoxu a na funkci to nemá vliv. Pro překlad však platí jedno železné pravidlo. Všechny vložené dvojté uvozovky se přepisují na jednoduché. Je to proto, že po dokončení překladu kontroluji soubory speciálním programem, který vyhledává chybějící párové znaky – mimo jiné i uvozovky. Mohlo by ho to splést. I program je jen člověk…

Příklad:

guardian.510.a.reply:0 "... the sole survivors of some "big crunch."\n\nThe dragon ..."
guardian.510.a.reply:0 "... the sole survivors of some 'big crunch.'\n\nThe dragon ..."
PROMĚNNÁ, NEBO NE?

Do textu (řetězce) mohou být vloženy další proměnné, do kterých se načte text odjinud a většinou vůbec nemáte tušení odkud. Proměnné jsou obvykle ohraničeny znakem dolar $, nebo hranatými závorkami. V obou řádcích příkladu jsou řetězce složené z proměnných, ohraničených znakem $. Nic z toho se nesmí překládat.
Proměnné – $SORT_BY$,  $COST$ a  $food$. Celý řetězec je barevně zvýrazněný (znaky §H – začátek a §! – konec barvy )

Příklad:

EXPANSION_PLANNER_SORT_COST:0 "§H$SORT_BY$ $COST$§!"
EXPANSION_PLANNER_SORT_FOOD:0 "§H$SORT_BY$ $food$§!"

V dalším příkladu je barevně zvýrazněná proměnná v hranatých závorkách §H[unrest_planet.GetName]§! a jak už bylo řečeno, vložená proměnná se nepřekládá.
Barevně zvýrazněné texty §HEnslaved Pops§! §RSlave Unrest§! a §Y4 years§! se ovšem překládají.
Příklad:

faction.10.a.tooltip:0 §HEnslaved Pops§! on §H[unrest_planet.GetName]§! gain the §RSlave Unrest§! modifier for §Y4 years§!.
faction.10.a.tooltip:0 §HZotročené populace§! na §H[unrest_planet.GetName]§! získávají na §Y4 roky§! modifikátor §Rotrocký nepokoj§!.

V následujícím řetězci proměnná není. §R6§! je číslo 6 vypsané červeně (§R red, §Y yellow, §G green atd.)

FACTION_ACTION_MALCONTENT_SLAVES_INTERSTELLAR_RAILROAD_TOOLTIP_2:1 "There are at least §R6§! Pops in the faction."

Ani v tomto řetězci není proměnná, jen barevně zvýrazněný text. Přeloží se.

EXPANSION_PLANNER_FILTER_HABITABILITY_DESC:0 "§HMinimum Habitability§!"
EXPANSION_PLANNER_FILTER_HABITABILITY_DESC:0 "§HMinimální obyvatelnost§!"
SLOVOSLED

Syntaxe češtiny a angličtiny se zásadně odlišují. Popis odlišností by vydal na samostatnou knihu a zde pro něj není prostor. Je však jasné, že pro kvalitní překlad je nutné přeházet slovosled anglické věty tak, aby překlad nevyzněl křečovitě a neurážel krasocit hráče.

war_demand_war_philosophy:0 "Our §Y$policy_war_philosophy$§! policy does not allow this war demand."
war_demand_war_philosophy:0 "Naše politika §Y$policy_war_philosophy$§! tento válečný požadavek nedovoluje."

SUBJECT_DESC_tributary:0 Tributaries are a type of subject which is mostly independent but pays §Y25%§! of their monthly Energy Credits and Minerals in tribute to their Overlord.
SUBJECT_DESC_tributary:0 Poplatníci jsou typ poddaných, kteří jsou většinou nezávislí, ale platí ze své měsíční produkce energokreditů a minerálů svým vládcům §Y25%§! tribut.
 
ACTION_KICK_FROM_ALLIANCE_VOTE_FAILED:0 The vote to kick §H[Recipient.GetName]§! from the §H[Actor.GetAllianceName]§! failed.
ACTION_KICK_FROM_ALLIANCE_VOTE_FAILED:0 Vyhození §H[Recipient.GetName]§! z §H[Actor.GetAllianceName]§! bylo hlasováním zamítnuto.

Někdy je nutné prohodit i pořadí proměnných:

 ACTION_DEMAND_TRIBUTARY_NOTIFICATION:2 §H[From.GetName]§! made a Tributary out of §H[Root.GetName]§!.\n\nThey will now pay a share of their income in exchange for safety.
 ACTION_DEMAND_TRIBUTARY_NOTIFICATION:2 §H[Root.GetName]§! se stává poplatníkem §H[From.GetName]§!.\n\nNyní bude výměnou za bezpečí odvádět část svého příjmu.
RODY, SKLOŇOVÁNÍ A JINÉ LAHŮDKY ČEŠTINY

Netykáme, nevykáme, oslovujeme množným číslem s malým v. Familiární tykání v Grand Strategy nemá místa a patří do pitomostí typu pokemoni.

guardian.104c.desc:0 "The Muutagan Merchant Guild welcomes you. Would you like to make a deal?" 

guardian.104c.desc:0 "Vítá vás Muutaganský obchodní spolek. Chcete uzavřít nějaký obchod?"

nebo

QUIT_DESC:0 "Opravdu chcete opustit hru a vrátit se do Windows?" 

DELETE_SAVEGAME_CONFIRM_DESC:1 "Opravdu chcete vymazat uloženou hru $NAME|H$?"

V drtivé většině případů překládáme do rodu mužského. Ano, je to nespravedlivé, je to genderově nekorektní a je to projev odporného mužského šovinismu, ale prostě to tak je. Hry tohoto typu jsou povětšinou záležitost mužů. Kromě toho neexistuje rozumný způsob, jak to udělat tak, aby to bylo univerzální pro všechny tři rody. Někdy máme z kontextu jistotu, že je na místě rod ženský. Pak není co řešit a přeložíme to do rodu ženského.

Když nemáme jistotu, jaký rod bude v proměnné, vždy volíme rod mužský:

HEIR_DEATH:0 "Our §Y$HEIR$§!, $HEIRNAME|Y$ has died!"
HEIR_DEATH:0 "Náš §Y$HEIR$§!, $HEIRNAME|Y$, zemřel!"

Mohla samozřejmě zemřít i dcera – dědička – ale to při překladu nevíme a stejně s tím nemůžeme nic dělat. Vždycky je nutné zvolit tu nejméně blbou variantu. Jak ji poznáte? Jedině praxí…

Angličtina zná pouze první pád. Proto se při překladu musíte snažit vystihnout obsah proměnné a podle toho přizpůsobit překlad. Občas to jde samo, občas kvůli tomu musíte přeházet slovosled textu nebo proměnné, někdy musíte pozměnit celou větu při zachování jejího smyslu a někdy to prostě nejde. Pak se nedá nic dělat a holt to bude tak, že „Můj dcera právě přijel do Praha.“. Rozhodně varuji před zoufaleckou snahou typu „Můj potomek, dcera, přijel(a) do města, jímž je Praha.“ To je ještě blbější, než předchozí věta a spisovná čeština přitom tiše pláče 5000 kilometrů za Prahou.

Paradox se v poslední době vyžívá v genderové korektnosti, takže zavedl proměnnou pro ON – ONA. Když narazíte v textu na vloženou proměnnou typu [From.GetSheHeCap], máte skoro 100% jistotu, že ji můžete bez obav zlikvidovat.

Příklad

[From.GetSheHeCap] has now made a public statement...

On (Ona) nyní zveřejnil prohlášení...

Z příkladu jasně vidíte, že takovou proměnnou můžete s klidem vymazat. Jen se u toho musí myslet.

FORMÁTOVACÍ A JINÉ ZAJÍMAVÉ ZNAKY

V zobrazeném textu (při hře) se často vyskytují drobné obrázky, takové ikonky, které jsou v textovém souboru uvedeny znakem libra (například £influence). Nikdy je nepřekládáme. Znak libra říká programu (hře), že má do textu vložit obrázek a slovo za znakem určuje, který obrázek to bude.

Příklad:

war_demand_stop_atrocity_tooltip_content:0 "[parameter:country.GetName] will be forced to ban Slavery and Purging. We will also gain §G100§! £influence."

Zkuste si cvične rozebrat, co v příkladu vidíte. Ano, správně. Našli jste vloženou proměnnou [parameter:country.GetName] , barevně zvýrazněné číslo §G100§!, které není proměnná a zmiňovaný obrázek £influence – slovo, které se nepřekládá. Kdybyste ho přeložili, obrázek se nenačte a v horším případě hra spadne. To samozřejmě nechceme.

V textu se často vyskytuje znak zalomení řádku (\n) – začne další text na dalším řádku, případně zalomení o dva řádky (\n\n) – vynechá řádek a začne další text na novém řádku.

Příklad:

EXPANSION_PLANNER_CANCEL_EXPANSION_ENTRY_TOOLTIP:0 "§GClick to open Confirmation Dialog.\nHold £ctrl and click to cancel immediately.§!"
EXPANSION_PLANNER_CANCEL_EXPANSION_ENTRY_TOOLTIP:0 "§GKlik pro otevření potvrzovacího dialogu.\nPodržte £ctrl a klikněte pro okamžité zrušení.§!"

ACTION_DEMAND_SIGNATORY_NOTIFICATION:2 "§H[From.GetName]§! had §H[Root.GetName]§! sign their galactic peace treaty.\n\nThey have given up their diplomatic independence in exchange for safety."
ACTION_DEMAND_SIGNATORY_NOTIFICATION:2 "§H[Root.GetName]§! podepisuje s §H[From.GetName]§! galaktickou mírovou smlouvu.\n\nMění svou diplomatickou nezávislost za bezpečí."

Jestliže zapomenete, smažete nebo jinak zahlušíte ono „n“ a zůstane vám tam jenom zpětné lomítko (\), v lepším případě hra od tohoto řádku nenačte žádné řetězce, v horším případě rovnou klekne. Protože je to skutečně kritická chyba, kontroluji to programem, nicméně je třeba na to dávat veliký pozor.

Probrali jsme ty nejzákladnější věci a ostatní případní zájemci získají praxí. Vidíte sami, že na tom vcelku nic není. Jen množství. Takových řádků, které jsou zde uvedeny jako příklady, může být v jednom souboru 10 nebo také 15 000.

Nemusíte se ničeho bát. Pokud byste si s něčím nevěděli rady, necháte to v originále a já se s tím potom nějak poperu. A třeba vás to začně bavit.

Na další stránce (Co budete potřebovat?) probereme, jaké programy jsou pro překlad nezbytné.