Magyarítások Portál
A csapat | Játékszinkron Stúdió | Közösségi fordítás | MorroHun Team | Steam | CoD klán | Fordítói oldalak

RSSHogyan fordítsunk játékprogramokat? V.

Írta: TGWH - 2012-04-02 17:38 - 16 hozzászólás - KÖZÖSSÉG
Hogyan fordítsunk játékprogramokat? V. Itt az újabb rész, ha sikerül, akkor néhány képpel illusztrálva. (Előre elnézést a kinézetért, de Panyinak még nem sikerült nekem is megfelelően kezelhető wyswyg-szerkesztőt készíteni.)

Köszöntök mindenkit, elérkeztünk sorozatunk ötödik részéhez, ahol is elkezdjük sorra venni, hogyan tudjuk kinyerni és szerkeszteni a szövegeket. Ezen kívül szó lesz a későbbi részekben mindarról, amit a tartalomjegyzékben olvashattok. Mostanra már úgy gondolom elég jól kifejtettük a fordítás folyamatának emberi oldalát, innentől a technikai részekre, részletekre terelődik a hangsúly.

Szükségünk lesz magára a programra, játékra, amit le szeretnénk fordítani, vagy legalább azokra a fájlokra, amik tartalmazzák a szövegeket. Ezen kívül kezelnünk kell ezeket, különböző műveleteket végrehajtva, valamint ki is kell alakítani egy környeztet, ahol kiigazodunk, akár csak az íróasztalunkon.

A játékot készítők sok esetben nem szeretik, ha mások is belenyúlhatnak a játékukba, nem ritkán ez nem is törvényes, a magyar, és a külföldi jogrendszert egyaránt figyelembe véve.

 

3.1, szövegek kinyerése

 

A szöveg kinyerésének három módja van, lejjebb sorra is vesszük ezeket. Ibrik honlapjáról már több segítséget is kaptunk, és mivel remekül leírja a lényeget, úgy gondoltam, én csak kiegészítem még néhány további példával, és gondolattal.

 

3.1.1, egyszerűen szerkeszthető

 

,,A legegyszerűbb eset, amikor egy olyan fájlban vannak tárolva a szövegek, amely(ek)et egyszerűen lehet szerkeszteni egy alap szövegszerkesztővel (pl. Notepad).

Ebben az esetben úgy lehet megtalálni a legegyszerűbben a szövegeket tartalmazó fájlt, hogy elindítjuk magát a játékot, és feljegyzünk magunknak pár jól azonosítható szöveget pl. a menüből (NEW GAME, OPTIONS, stb.), - ha vannak - az elvégzendő küldetések/feladatok szövegeiből (LOCATE AND DESTROY..., SNEAK IN..., INVESTIGATE..., stb.), és nem árt az összekötő videók és a játék közben elhangzó párbeszédek szövegeiből is csemegézni - természetesen csak akkor, ha ezek feliratozva vannak.

Nagyon hasznos eszköz a Total Commander. Indítsuk el és valamelyik oldali panelban lépjünk bele a játék telepített mappájába.

Alt+F7-el indítsuk el a TC beépített keresőjét, pipáljuk be a "Szöveg"-et, mellé gépeljük be a keresendő szövegrészletet, majd "Keresés indítása".

 

kereses

Ha esetleg a keresés nem jár eredménnyel, nem árt a keresést megismételni "Unicode" vagy "UTF8" beállítással. Ha így már van eredmény, akkor pl. szövegfájl esetén a kódolást is kiderítettük, amely hatással lehet a magyar ékezetes magánhangzók helyzetére.

Az eredmény - a fájl neve - bármi lehet (hozzátéve, hogy itt még mindig egyszerű szövegszerkesztővel módosítható fájlokról van szó), rengetegféle kiterjesztéssel: TXT, LANG, INI, INT, ENG, SCR, stb... Csak meg kell nyitni valamelyik kedvenc szerkesztővel (Notepad, UltraEdit, stb.)

 

Fontos

 A szerkesztéshez kapcsolódva több dologra is felhívnám a figyelmet:

- Kódolás: Ez a magyar ékezetes magánhangzók szempontjából fontos a számunkra. Sokszor előfordul - az angol ABC "szegénysége" és az ezt tartalmazó karakterfájl miatt -, hogy ezek a karakterek hiányosan, máshogy (pl. a hosszú "ő" és "ű" helyett "kalapos" karakterek) vagy egyáltalán nem jelennek meg.

- Szövegek tárolási módja a fájlban: A legegyszerűbb eset, amikor tényleg csak a fordítandó szövegek vannak soronként a szövegfájlban. Itt nincs gond - kivéve, ha nehezen azonosítható paraméterekkel keverve vannak eltárolva. A másik eset, amikor egy-egy sorban megtalálható a paraméter (a string azonosítója) és maga a fordítandó szöveg (a string értéke), amely utóbbi vagy mindkettő sokszor idézőjelek közé van téve. A fordításnál (szerkesztésnél) nagyon figyelni kell, hogy a string azonosítóba és az idézőjelekbe ne töröljünk bele, vagy ne módosítsuk azokat. Igen bosszantó hibákat okozhat a játék futtatásakor, és utólag igen nehéz megtalálni a hiba okát a sokszáz vagy sokezer bejegyzés között.

 

Példák:

szoveg

A legelső példában csak maguk a fordítandó szövegek vannak a szövegfájlban, nincsenek string azonosítók. Azokon kívül még lehetnek magyarázó szövegek, megjegyzések, szekciójelző címek is, amelyek nem jelennek meg a játékban. Mint látható, itt < és > jelek között. Használatosak még a pontosvessző, kapcsos, szögletes zárójelek, stb.

Itt egyértelmű, hogy az egyenlőségjelek jobb oldalán van a fordítandó szöveg:

szoveg1


 

A következőben idézőjeleket  használtak. A baloldali idézőjelbe tett "érték" az eredeti angol szöveg, a jobboldali pedig az adott nyelvre fordított változata lesz (azt kell átírni):
szoveg2

Az előző példa egy változata, amikor az eredeti (angol) szöveg egy string azonosítóval van helyettesítve (természetesen itt is a jobboldali "értéket" kell módosítani):''

szoveg3

/ibrik - http://ibrik.atw.hu/

 

Remekül össze van szedve, csupán néhány aprósággal szeretném kiegészíteni:

- van, hogy a játék cd/dvd lemezről indul, és összehasonlítja a merevlemezre feltelepített fájlokat a lemezen lévőkkel, például Three Kingdoms: Fate of the Dragon. Erre több megoldás is létezhet: iso képfájlban lemásolni a lemezt, a módosított fájlok mehetnek bele, így már egyezni fognak, netán crack fájlt alkalmazva elkerülhetjük ezt a fajta mechanizmust (a lemeznek is jót tesz, ha csak telepítésnél használjuk), illetve ha programozók vagyunk, mi magunk is kiiktathatjuk ezt a fajta védelmet. Természetesen a crack felesleges és illegális használatára nem buzdítok senkit! Ami tényleg jó játék, és játszol is vele, vedd meg eredetiben!

- vannak játékok, amik hexadecimális módban szerkeszthetőek, viszont létezik hozzá program, amivel máris megszűnnek a korlátok. Pl..: Knights and Merchants, lásd később.

- próbálkozni kell, többféle szövegszerkesztővel, hátha valamelyikkel sikerül. Értelemszerűen ha adatbázisban vannak a szövegek, átírjuk pl. a menüt, majd a játék megjeleníti, akkor nem is kell tovább keresgélnünk, fordíthatjuk.

- egyértelműen kell azonosítani a szövegfájlok helyét! Ha több, azonos fájl van, lehetséges hogy ellenőrzi, egyeznek-e! Netán magában a .exe fájlban van a szöveg, amivel ellenőrzi, erre később térek ki.

 

3.1.2, hexadecimális kihívás (karaktercsata)

 

,,Ezt a módszert egyetlen szóval tudnám jellemezni: rémálom...

Sajnos léteznek olyan szövegfájlok, amelyeket nem lehet szerkeszteni egyetlen ismert szövegszerkesztővel sem, vagyis nem létezik hozzájuk olyan szerkesztő, amely meg tudná nyitni a fájlt és pl. bejegyzésenként módosítaná a feliratokat.

Ezeket a fájlokat kizárólag valamilyen HEX-editorral lehet módosítani, aminek az a legnagyobb hátránya, hogy csak karakter-limitesen lehet átírni a szövegeket. Vagyis az angol szöveg magyar fordítása nem lehet hosszabb, mint az eredeti angol. Mondjuk egyes mondatoknál még jól lehet variálni az egyes szavak szinonímáival, rövidítéseivel vagy a mondat rövidebb/tömörebb átfogalmazásával, de az egyszavas bejegyzéseknél már vakarhatjuk a fejünket a magyar nyelv szavainak terjedelmesebb volta miatt.

Emellett másik hátrány, hogy igen nehéz így elkerülni a "magyartalanságokat" és a nyelvi hibákat a fordításban - erről még bővebben írok a Fordítás részben.

Én a magam részéről mindig kerülöm (kerültem) az ilyen megoldású játékok magyarítását.''

/ibrik - http://ibrik.atw.hu/

 

Lássunk rá példát, a már említett Knights and Merchants jó is lesz.

Így néz ki, ha szövegszerkesztő programmal szeretnénk megnyitni a Text.lib, és Setup.lib fájlokat:

hex_1


Nem kell megijedni, nézzük szépen sorban. Az eleje úgy ahogy van hülyeség, nem érdekel minket. Aztán, valahol a fájl közepén találunk értelmes dolgokat is. Kijelöltem a Kilépés szót, ez egy hét betűt tartalmazó kifejezés. A bal oldalon a karakterek hexadecimális kódja látható, kékkel, ott is kijelölt nekem hét karaktert (14-et, de kikövetkeztethető, hogy egy karakter két helyet foglal hexaban). 8 darab négyes csoport látható, mindegyik két betűt tartalmaz, így 16 karakter lehet egy hexa sorban (nem meglepő abból kiindulva, hogy 16-os számrendszer...).

Ha nagyon akarjuk, meg is fejthetjük a kódot, hisz teljesen világos, a 20 jelöli a szóközt FA az ,,ú'' betű, és 73 az ,,s'' betű. Kijelölve még egyszerűbb leolvasni minek mi a kódja.

 

Ennél a fordításnál ,,pusztán'' arra kell figyelni, hogy egy sorral sem csúszhatunk!  Nézzük meg fordítva, próbáljuk angolra lefordítani, pl. a ,,áték.Opciók.Kész'' sort. Mivel tört sorral kezdünk és végzünk, így arra is kell ügyelni, hogy az előző, ill következő sorok vége stimmeljen. A pont karakter választja el a játék egy-egy adott kifejezését (ez lehet akár több szó is, de egy ,,sorban'' szerepel a játékban, mondjuk így), viszont a bal oszlopban, szürkével láthatunk 0x0... kezdetű sorokat. Ezzel hivatkozik a program, így tudja, hogy pl. az Opciók rész melyik sorba fog kerülni. Ha tudjuk hol s hogyan hivatkozik ezekre a sorokra, akár ezeket is átírhatjuk ha tudjuk, így eltérhetünk a szűkös 16 karakter / sor korláttól, de valószínűleg nem fogjuk tudni. Fontos megjegyezni, hogy a pont és a szóköz karaktereket is beleszámítja a program a 16 karakterbe!

 

Akkor nézzük is meg, íme a középső sor, és a két szomszédja:

ltése.Hálózati_j

áték.Opciók.Kész

ítők.Kilépés_a_p

 

Valahogy így nézne ki angolul:

ltése.Multiplaye

r.Options.Creato

rs.Kilépés_a_p12

 

Egy egyest és egy kettest tettem a ,,p'' betű után, mivel két karaktert még felhasználhatunk a rendelkezésre állókon kívül. Így a ,,Kilépés_a_p12'' rész helyet írhatjuk, hogy ,,Exit_to_the_d'', következő sorban meg a végét: ,,esktop.''.

 

Úgy gondolom, érthető, miért nem szeretik ezt a fajta szerkesztési módot. De maradjunk a játéknál, hisz a megoldás a LIB Decoder című program személyében érkezik:

hex_2
A programozóknak sikerült megoldani, így már nem vagyunk a 16-os számrendszerhez kötve. A program fejlécében látható, hol találjuk a szövegfájlokat. Nem összekeverendő a \data\gfx\TEXT0.DAT fájlokkal (0, 1, 2,3, sorszámúak, tehát összesen négy text kezdetű fájl van ebben a mappában)!

 

Úgy érzem, erre a hétre négy oldal elég, igaz sok a kép. Jövő héten folytatjuk a harmadik lehetőséggel, mikor is nem juthatunk hozzá egyszerűen a szövegekhez, hanem ki kell őket tömöríteni. Ha valami kimaradt, kérem jelezzétek, aztán ha csak apróságok, akkor a pdf-be majd beleszerkesztem, viszont ha szükséges, és elég szöveg jön össze, a következő héten ezzel folyatjuk, és a 3.1.3-mas fejezet majd csak ezek után jön.

/TGWH/

Hozzászólások

Chri$19
2013-01-20 05:40
Hello! azt meg tudjátok mondani hogy miért van az, hogy a játék elvileg ismeri a magyar magánhangzókat(karaktertáblában benne van), és amint beírok egy magyar szót pl: Kilépés így néz ki: Kil p s. De a hosszú "ó"-val nincsen baja csak a többivel.
Bence834
2012-08-23 21:04
Legyetek szívesek választ adni nagyon megköszönném- Megvan a Sherlock Holmes versus Jack the Ripper és xml a texture meg minden. Bemásolok egy sort belőle:


és végig ilyen!
Ezt hogy lehet magyarosítani?
gergogazd
2012-05-08 23:52
hello!
azt tudjátok esetleg, hogy honnan szerezhetek segítséget, leírást (esetleg programot) .qm fájlhoz?
a logikája megvan: először a megjelenítendő szöveg, minden két megjelenítendő karakter között van egy null karakter (amit ti pontnak neveztetek, de a winhex pl. üres karakterként jeleníti meg), aztán meg az elem neve. de amiről szó volt, hogy helyhez kötött a szöveg, az nem tudom, hogy van akkor pontosan
Evin
2012-04-17 15:58
Hogy az nem szöveges fájl.
wweraw
2012-04-17 14:20
Akkor mi lehet a baj mikor egy nyelvi fájlt Notepad++ megnyitok és furcsa karakterek jönnek ki? Pl négyzet.
Ben Grimm
2012-04-14 23:22
Köszönöm a választ! Egyébként engem érdekel a téma és ezért külön köszönet, hogy ilyen részletes cikksorozat készül belőle. Gondolkodtam én is fordításon, kisebb kaliberűn persze, mondhatni, magamnak, kipróbálás céljából, de nem tudtam hogyan elkezdeni. Úgyhogy jókor jött a cikk! smiley
Attila88b
2012-04-14 21:43
Annyira nem érek rá, holnap egy kis olvasnivalóval tudok szolgálni, aztán majd csak v.mikor kiteszi Rave smiley
A következő részt meg talán holnap elkezdem írni.
Az sem fog majd megártani, ha jönnek a kiegészítések, amikhez nem kell annyi munka, csak összevágom és mehet Rave-nek smiley

Amúgy tényleg nem bonyolult, csak vannak játékok, amihez picit trükközni kell.
Ben Grimm
2012-04-13 19:04
Mikor lesz folytatás?
tehasut
2012-04-05 08:36
Szerintem első látásra tűnik csak bonyolultnak, a gyakorlatban szerintem nem az. Persze sose vetemednék arra, hogy hexában fordítsak...
mabym
2012-04-05 00:27
T-e-j-ó-é-g. És én még egy éve azt hittem, ha az ember játékot fordít, csak megnyit egy fájlt, amiben benne van minden szöveg, lefordítja, kicseréli, és kész! smiley
Attila88b
2012-04-04 19:03
Vannak ennél cifrábbak is.
ariam
2012-04-04 13:28
Hát, sajnos ez elég bonyolultnak tűnik így első blikkre, sebaj, ha ráérek, majd felboncolok néhány játékkönyvtárt. smiley Azért kaptam választ néhány kérdésre, várom a többi részt!

Attila88b
2012-04-03 20:51
Oks, egészítsétek ki, aztán küldjétek Rave-nek a kiegészített részt smiley
Evin
2012-04-03 19:58
Arrébb lehet rakni a lezáró 0x00-t, de az esetek 99%-ban van valahol a szöveg előtt, vagy másik fájlban tárolva van, hogy melyik szöveg hol kezdődik. És ha azt tolod, borul az egész.
Nem is ezt firtatom, hanem azt, hogy 16 blokkokban, soronként kellene gondolkodnunk, ha hexában szerkesztünk, ami teljesen téves elképzelés.
Attila88b
2012-04-03 18:33
Én próbáltam arrébb tenni a pontot is, nem jött össze smiley
Mindegy is, aki ír róla és kibővíti, az bekerül a pdf fájlba, aztán onnantól talán már normális formája lesz smiley a mostanit nem tudom mikor fogom tudni megírni, igyekszem rávenni magam még ezen a héten, de agyilag zokni vagyok estére...
Evin
2012-04-03 08:30
Egy megjegyzés, úgyis fórumon szó volt róla, hogy kevés a hozzászólás. smiley
A hex értelmezése teljesen téves. Jobb szerkesztőkben bármekkora szélességet, természetesen páros értékkel, meg lehet adni egy adatfájl hexás megjelenítéséhez. És akkor egy sor nem 16bájt. Úgy kell felfogni, mint a Word-öt; a sor végén új sort kezd. Nem kell túlbonyolítani.
A képen szereplő szövegek, pedig ponttól-pontig (0x00h) tartanak.
Tehát lényegtelen egy sorban mi van, de tényleg figyelni kell az előző sorra, de arra pl Word-ben is figyelünk.

Nem minden hexa szerkesztő használja indulásnál a 4-es csoportba rendezést, de átlátáshoz tényleg ez javasolt.
Főmenü
Segítség
Szavazás
Mi az álom úti célod? #Európa


Szavazás állása
2014. április 20. - vasárnap
Splinter Cell Blacklist
Evin | 12 hozzászólás | 2013-08-27
.GFX/.SWF karakterkészlet szerkesztése
Bandris86, Evin | 9 hozzászólás | 2013-02-17
Dishonored
Panyi | 7 hozzászólás | 2012-12-05
Hogyan fordítsunk játékprogramokat? VIII.
TGWH | 28 hozzászólás | 2012-08-03
Hogyan fordítsunk játékprogramokat? VII.
TGWH | 4 hozzászólás | 2012-07-11
Programok
Evin | 4 hozzászólás | 2012-06-22
Partnerek
Creative Commons LicenseA Magyarítások Portál hírei, cikkei, blogjai a Creative Commons Nevezd meg!-Ne add el! 2.5 Hungary Licenc alatt állnak.