Komunitní fórum stránek Svět Might and Magic

Obecná diskuze => O hrách a hraní obecně => Téma založeno: tono Březen 22, 2023, 20:30:40

Název: Ultima Underworld 1 a 2 - preklad
Přispěvatel: tono Březen 22, 2023, 20:30:40
Zdravím.

Už nejaký čas som uvažoval o preložení dialógov tejto skvelej série. Problém prečo to asi nikto nerobil bolo, že súbor obsahujúci tento text bol zapakovaný Huffmanovím kódom. Nedávno som narazil na utilitku, ktorá by mala tento súbor dokázať rozbaliť a po úprave(preklade) zbaliť do pôvodného formátu.

Prvá časť teda "unpack" prebehla bez problému a výstupný texťák obsahuje všetko tak, ako by to malo byť.

strpak.exe unpack UW1_STRINGS.PAK UW1_STRINGS.TXT

strpak - ultima underworld game strings pack and unpack tool

loading game strings from file UW1_STRINGS.PAK ...
181 huffman tree nodes, 122 string blocks.
writing output file UW1_STRINGS.TXT ...
done!


Bohužiaľ keď som tento textový súbor bez úpravy skúsil znova zapakovať, výsledný súbor bol už iný než pôvodný originál.

strpak.exe pack UW1_STRINGS.TXT UW1_STRINGS_NEW.PAK
strpak - ultima underworld game strings pack and unpack tool

loading raw game strings from file UW1_STRINGS.TXT ...
building huffman tree ...
huffman tree: 89 characters, 178 nodes
writing output file UW1_STRINGS_NEW.PAK ...
blocks: ...
done.


UW1_STRINGS.PAK      221,90 kB
UW1_STRINGS_NEW.PAK   204,01 kB

Ak by sa niekomu s tým chcelo pohrať, dal som do prílohy okrem samotnej utilitky aj súbory obsahujúce dialógy z oboch dielov.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Elemir Březen 23, 2023, 07:45:38
Odkud si to stáhnul? V dokumentech mají být popisky kódů pro formátování, ta menší velikost totiž bude to, že program při packování vynechává volné řádky.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: tono Březen 23, 2023, 13:47:59
Stránka je už nejaký čas nedostupná, ale našiel som zdroj. Je to súčasť nástrojov pre MODovanie tejto hry.

https://vividos.github.io/UnderworldAdventures/index.html (https://vividos.github.io/UnderworldAdventures/index.html)
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Elemir Březen 24, 2023, 06:36:31
Aha, já si říkal, že to nebude mít zas tolik společného s tím Unity portem na GIThubu. Zkusím na to kouknout.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Elemir Březen 25, 2023, 14:04:40
Co jsem zkoušel, tak pack funguje dost divoce. Zřejmě to nebude jen obrácený postup unpacku. Respektive unpack zřejmě provádí s těmi daty ještě nějakou úpravu, kterou pak pack provede přinejmenším v jiném pořadí. Výsledkem je menší soubor s odlišnou strukturou.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: tono Březen 25, 2023, 16:19:23
Našiel som ešte nejaký pokec o tom formáte, ale múdrejší z toho nie som :(

https://wiki.ultimacodex.com/wiki/Ultima_Underworld_II_transcript#.22uw2-codes.txt.22 (https://wiki.ultimacodex.com/wiki/Ultima_Underworld_II_transcript#.22uw2-codes.txt.22)

https://wiki.ultimacodex.com/wiki/Ultima_Underworld_internal_formats#Strings_.28data.2Fstrings.pak.29 (https://wiki.ultimacodex.com/wiki/Ultima_Underworld_internal_formats#Strings_.28data.2Fstrings.pak.29)
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Elemir Březen 25, 2023, 20:10:27
Koukal jsem na zdroják toho prográmku a těžko říci. Vypadá to, že komplikace bude zřejmě už v samotné SDL2.dll.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: tono Březen 26, 2023, 19:08:28
Koukal jsem na zdroják toho prográmku a těžko říci. Vypadá to, že komplikace bude zřejmě už v samotné SDL2.dll.

To znie logicky, ale napríklad verzia 04 cheesecake je bez tej knižnice.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Elemir Březen 26, 2023, 22:11:48
Aha, na ty starší verze jsem nekoukal. To by pak spíš znamenalo, že sice ví, jak to zhruba obrátit, ale neumí to zapsat ve správném pořadí. Ve finále to může být taky úplná blbost, která se třeba schovává v tom txt výstupu. To by chtělo spíš kontaktovat přímo vividose. Možná by dokázal pomoci i Jurgen, který dělá překlady starých her. Jde o to, aby se k tomu vyjádřil někdo povolanější, jestli je to třeba vůbec reálné.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: tono Březen 26, 2023, 22:33:45
Aha, na ty starší verze jsem nekoukal. To by pak spíš znamenalo, že sice ví, jak to zhruba obrátit, ale neumí to zapsat ve správném pořadí. Ve finále to může být taky úplná blbost, která se třeba schovává v tom txt výstupu. To by chtělo spíš kontaktovat přímo vividose. Možná by dokázal pomoci i Jurgen, který dělá překlady starých her. Jde o to, aby se k tomu vyjádřil někdo povolanější, jestli je to třeba vůbec reálné.

Teraz som to chvíľu skúšal. Keď v txt súbore nechám len prvý blok (block: 0001; 512 strings.), môžem to ľubovolne pakovať a následne rozpakovať a je to vždy OK. Takže ono to funguje, len tam bude nejaká blbosť.

Edit: 2 bloky taktiež prešli. Len treba pred pakovaním odstrániť tú hlavičku (UW2_STRINGS.PAK: 136 string blocks.) a nechať prvý a posledný riadok prázdny. Mrknem na to ešte zajtra.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Elemir Březen 26, 2023, 22:48:09
Jo, to je jedna z věcí, co mě napadla - upravit ten prográmek tak, aby každý blok uložil do samostatného souboru. Finální soubor by pak byl složený z x souborů v daném pořadí. Nicméně mi právě pořád vrtá hlavou, proč to nejde z jednoho souboru, když to ty identifikátory bloků má.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Elemir Březen 27, 2023, 08:52:54
Je to zajímavé, ale mě to ve finále nefunguje vůbec :) ... když ten upravený txt zapakuju a pak rozpakuju, tak neobsahuje stringy, ale jen výpis o počtu bloků.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: tono Březen 27, 2023, 09:22:07
Je to zajímavé, ale mě to ve finále nefunguje vůbec :) ... když ten upravený txt zapakuju a pak rozpakuju, tak neobsahuje stringy, ale jen výpis o počtu bloků.

Dnes mám v práci blázinec. Testovať budem až večer. Keď išli úspešne zapakovať 3 bloky, musia ísť aj ostatné. Podľa mňa tam bude len chyba na nejakom riadku. Prinajhoršom budem postupne pridávať ďalšie bloky a následne to testovať :)
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: tono Březen 27, 2023, 19:41:15
Tak sa zdá, že sa to nakoniec rozbehlo :) Použil som ten (un)pakovač bez tej knižnice.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Elemir Březen 27, 2023, 22:12:09
Perfektní, vypadá to skvěle. Budu držet palce.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: tono Březen 29, 2023, 16:05:41
Nedalo mi to a tak som sa pustil aj do prvého dielu. Neobišlo sa to bez komplikácii pri pakovaní, ale už to ide. Nahrubo som to nakŕmil SK prekladom, len na skúšku či hra nebude padať. Keď s tým budem robiť, budem musieť ísť riadok po riadku a preklad usmerniť tak, aby vety dávali aj zmysel :) Niektoré staty ako DEX, STR atď ktoré sú v tabuľke, nechám asi v originále, lebo tam je málo miesta. Názvy predmetov alebo zbraní by mali byť v pohode.
Mám ešte rozrobené nejaké projekty, ale neskôr by som sa chcel pustiť aj do tohoto.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Elemir Březen 31, 2023, 08:29:19
Zkus sem pak ještě postnout podrobné info o těch komplikacích s pakováním a jak si to vyřešil.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: tono Duben 03, 2023, 20:15:19
No všetky pracovné testovacie súbory som už zmazal, aby sa mi to neplietlo. Po rozpakovaní sa v súbore vyskytovali náhodné chyby, hlavne niekde chýbali ":" alebo medzery.
Do prílohy som dal rozpakované a opravené súbory. Stačí ich už "len preložiť" a následne zapakovať. Výsledný .pak bude mať menšiu veľkosť, ako originál, ale to nevadí. Podstatné je aby pri pakovaní nevypisovalo chyby na riadkoch a počet characters a nodes presne zodpovedal riadkom dole.

UW1
strpak pack UW1_STRINGS.txt STRINGS.PAK
huffman tree: 89 characters, 178 nodes

UW2
strpak pack UW2_STRINGS.txt STRINGS.PAK
huffman tree: 103 characters, 206 nodes
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: tono Prosinec 19, 2023, 18:23:10
Tak som sa k tomu po 3/4 roku zase vrátil. Po počiatočnom nadšení ma čakalo vytriezvenie a keby som to už niekomu nesľúbil, tak by som sa na to vykašlal.
V čom je problém. Táto hra (resp. UW1 a UW2) nebola určená k tomu aby ju niekto dodatočne prekladal. A tak sa aj správa. Síce obsahuje súbor kde je takmer všetok text ale.
V súbore strings.pak (UW2 v ňom má takmer 13 500 riadkov textu) sú všetky dialógy. To by bolo ok. Ale všetky oslovenia, názvy predmetov a všetkého v hre, ich vlastnosti a správanie a pod. sú samostatne na riadkoch. Ale vety sa z nich vyskladajú až v samotnej hre.
A aby to nebolo tak jednoduché, tak všetky často sa opakujúce slová, ako empty, more, full, Yes/No, read, alebo spojky, členy a pod. sa nachádzajú v iných súboroch.
Napríklad úplne jednoduchá veta:
"You see a perfect silver ring of Protection" sa vyskladáva:

Slová You see - zoberie s uw2.exe
Člen a - zoberie buď so strings.pak alebo s uw2.exe, záleží od príslušného parametru na riadku
Slovo perfect - zoberie riadok v strings.pak
Slovo silver - zoberie riadok v strings.pak
Slovo ring - zoberie riadok v strings.pak
Spojku of - zoberie s uw2.exe
Slovo Protection - zoberie riadok v strings.pak

Takže ak by som riešil len preklad v strings.pak, výsledok by bol takýto:
You see a skvelý strieborny prsteň of Ochrany

Slovenčina nepoužíva členy ako a/an/the a aj tie sa hrozne ťažko univerzálne prekladajú tak, ako aj spojky ako je "Out of" a pod. Navyše v ENG stačí pridať za slovom "S" a je z toho množné číslo. V SK je iný tvar slova v jednotnom čísle a iný v množnom čísle.

Súbor uw2.exe je možné editovať(hex editor!), ale treba prísne dodržať presný počet písmen/medzier z pôvodného slova čo z hľadiska prekladu a rozdielov jazykov je veľmi frustrujúce.

Tak napríklad som slovo "You see" preložil ako "Hladíte" a doplňujúci člen a/an ako "na".
Čo vo výsledku hra vyhodnotila ako: Hladíte na skvelý strieborný prsteň.

Schválne som použil množné číslo, ktoré je spoločné pre oslovenie pre mužskú aj ženskú postavu. Preto aj bude hra hráčovi vykať. Bohužiaľ slovo "skvelý" je spoločné pre všetky tri rody, teda skvelý prsteň, skvelý kožená vesta, skvelý svetlo.
A na koniec to bude všetko o kompromise a na 100% to podľa SK pravopisu určite nebude :) Našťastie samotných dialógov s postavami sa to dotkne len okrajovo. Tam bude treba zabezpečiť "už len" aby tie vety navzájom dávali zmysel.

Ďalšie omedzenia. V súbore strings.pak nie sú všetky riadky rovnocenné. V niektorých sú ignorované číslice, inde zase malé písmená. Niekde hra ignoruje premenné, alebo v niektorých riadkoch keď sa dá medzera pred vetu, tak hra sama doplní člen a/an alebo The. Takže často ostáva len metóda pokusu a omylu.
No a samozrejme že niektoré nemenné texty(tlačítka save, restore a pod.) sú súčasťou bitmáp, takže tie meniť nebudem.

Čo ale hodlám urobiť a vlastne som to už aj spravil je, že žiaden modifikovaný súbor nesmie pri inštalácii prekladu, prepísať originálne herné súbory. To znamená že všetky modifikované súbory dostali iné názvy. Hra má aj dva spustiteľné súbory UW2.EXE a UW2_SK.EXE.
UW2.EXE bude používať originálne EN súbory a UW2_SK.EXE zase tie modifikované.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: tono Leden 08, 2024, 18:22:40
Tak som sa s tým nakoniec nejako popasoval. Preložil a dohral som aj prvý diel a teraz ich už majú moji obľúbený beta testeri :) Stále to ešte chce doladiť dialógy, tak aby tie rozhovory nezneli ako celok divne, ale dohrať tie hry samozrejme idú. Mám už pripravené podklady aj pre vytvorenie jednoduchého inštalačného balíčku. Našťastie pri inštalácii nebude treba nič mazať ani prepisovať.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Elemir Leden 09, 2024, 13:43:44
Na to, jak si nedávno popisoval peripetie s přiřazováním textu, tak se ti výsledek vydařil na výbornou. Nějak výrazně kostrbaté mi to nepřijde.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: tono Leden 09, 2024, 20:58:04
Na to, jak si nedávno popisoval peripetie s přiřazováním textu, tak se ti výsledek vydařil na výbornou. Nějak výrazně kostrbaté mi to nepřijde.

No dokončil som to ako sa hovorí v hodine dvanástej. Ani neviem či si nájdem čas na konečnú korekciu. Našťastie tie dva diely sú dosť podobné, aj keď niektoré predmety, alebo názvoslovia sú odlišné a samozrejme aj iné dialógy. Najpomalšie to išlo v súboroch kde bolo treba presne dodržať počet písmen.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Araneo Leden 10, 2024, 20:37:26
Ten preklad je niekde verejne stiahnutelny? Dnes som si to na gog kupil za drobny peniaz.

Edit:
Tak asi mi to nepojde, lebo nemam tam subor UW2.exe a ani strings.pak
mam tam len jeden velky subor s menom game.gog a podla mna hra je v nom
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Elemir Leden 11, 2024, 21:25:28
Soubor game.gog je iso původního CD, ty soubory jsou vskutku v něm. Můžeš ho klidně editovat a potřebné soubory nahradit -> přejmenovat soubor na game.iso, otevřít v nějakém programu pro editaci iso formátu a potřebné soubory nahradit za ty upravené. Potom uložit a přejmenovat zpět na game.gog.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Araneo Leden 12, 2024, 21:18:54
Dakujem. Pozeral som a v jednom tom game.gog je aj UW aj UW2. Oba su rovnake. (teda ten isty je pri oboch hrach).
Snad mi bude dopriate skusit ich editovat. Zmurk na Tona.
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Milhaus Leden 28, 2024, 23:42:07
Lze tedy ten překlad někde stáhnout, mohl bych jej též vyzkoušet, alespoň spustit :).
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: pedromagician Červen 07, 2024, 09:05:57
Pripajam sa, da sa niekde stiahnut?
Název: Re:Ultima Underworld 1 a 2 - preklad
Přispěvatel: Elemir Červen 09, 2024, 09:08:36
Předevčírem jsem psal Tonovi. Překlad je hotový, ale ještě stále probíhá testování, na které teď nemá zrovna moc času, takže to ještě nějakou chvilku potrvá.