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? VII.

Írta: TGWH - 2012-07-11 06:37 - 4 hozzászólás - PC PROGRAMOK KÖZÖSSÉG
Hogyan fordítsunk játékprogramokat? VII. Folytatódik cikksorozatunk - hála egy szabad délelőttnek -. Evin írása sajnos nem került a betűtípusok elé, így ezt most javítandó, visszaugrunk egy fejezetnyit a tartalomjegyzékben. Ezek után a szövegek kezelésével fogjuk folytatni, s remélhetőleg minden visszaáll az eredeti kerékvágásba.

3.1.3.2, egyéb programok

Az esetek többségében, mikor egy játék fájljai egyedi formátumot használnak, sajnos saját fejlesztésű programok használatára vagyunk kényszerítve.
Ritka az olyan eset, ahol a játék olyan elterjedt formátumot használ, mint mondjuk zip, txt, xml. Akár így szem előtt hagyva a kiterjesztéseket, akár átnevezve azokat másra, megtévesztve ezzel azokat, akik belső tartalom alapján nem tudják felmérni a mondjuk .pak kiterjesztésű fájl, valódi formátumát.
Ahol hivatalosan is támogatott a MOD-ok készítése, ott a fejlesztők adni szoktak fejlesztőeszközöket. Ezek szinte az összes, akár a játék egyedi fájljait is lehet szerkeszteni. Mivel a MOD-os társadalom többnyire fegyvereket, pályákat, 3D-s modelleket szeret módosítani, elsősorban ezek a támogatottak, de ritka, hogy a játék szövegeit ne tudjuk módosítani ilyen esetben.

Ha nem vagyunk olyan szerencsések, hogy olyan játék fordításába akarunk belekezdeni, mely se nem MOD-osítható, se semmilyen szerkesztő nincs hozzá, két dolgot tehetünk;
- várunk, míg valaki ír hozzá egyet, illetve ha ismerünk olyat, aki járatos ebben, kikérhetjük a véleményét, hátha nem is kell hozzá programot írni, vagy megkérhetjük, hogy ő írna-e
- mi magunk írunk egyet.

Ha programot keresünk természetesen érdemes keresővel tenni azt. Ez is külön művészet, hiszen ha rosszul keresünk, semmit sem találunk, és bár van „kereslet” a játékok szerkesztőire, általában az internet legmélyebb bugyraiban találjuk őket. Hobbi fejlesztők, kis forgalmú saját honlap, ha van – leginkább ezek miatt nehéz őket megtalálni.
De hogy is keressünk. Ezekkel a kulcsszavakkal érdemes próbálkozni: játékneve tool/editor/unpacker/repacker/converter
Illetve ugyanez a fájl kiterjesztésével, ha tudjuk melyikben lehet a szöveg, vagy ha tudjuk melyik játékmotorral készült a játék, akkor előfordulhat, hogy egy másik játékhoz készült szerkesztő, mely ugyanezt a motort használja, az itt is jó lehet.
A játékokat buherálni vágyók, jelenlegi Mekkája a Xentax Forum. Ide csak angolul lehet írni, és természetesen kell hozzá egy bizonyos angol tudás, hogy megértessük magunkat, megértsük mit írnak, és hogy azért a fordításunk is elérjen egy bizonyos minőségi szintet. Az esetek többségében, ha létezik a játékhoz program, itt általában tudnak róla, vagy publikálják, vagy tudnak segíteni. De előtte mindenképp tájékozódjunk, hogy ne kérdezzünk baromságokat.
Ha itt nem találunk semmit, mert ez is azért megesik, marad a kereső, és hátha sikerrel járunk. Természetesen arra ügyeljünk, ahogy az a konzolos fordítások részben is említésre kerül, hogy egyazon játék PC-s, illetve konzolos fájljai eltérhetnek belsőleg, így nincs arra garancia, hogy pl létezik a játék x360-as verziójához program, az működni fog PC-re is, illetve fordítva.

De még van egy lehetőség, saját magunk fejlesztünk programot.
2 dolog kell hozzá, programozói tudás, és hexa gyakorlat. A programozási nyelv bármi lehet. Ezek most a legkedveltebb nyelvek, kedveltség szerint: Delphi, C#, C++, Python, PHP. Illetve van még egy kakukktojás, de ezt majd a végén.
Természetesen más nyelvet is használhatunk, ha csak azt ismerjük. Amit programozó szinten tudnunk kell: fájlkezelés (input/output), streamkezelés(bináris/szöveges).
Míg a programnyelvben történik a varázslat, hexában az előkészítés. Megnyitunk egy fájl, és sok katyvaszt látunk. Itt kell kitalálnunk, melyik nem-szöveg mit tárol; fájlméret, szövegméret, offset érték, tömörítési paraméterek stb. Ha kitaláltuk, melyik adat micsoda, ill. mire való, az alapján elkészíthetjük a programunk. Részletesebben nem mennék bele, hiszen ez nem programozási gyakorlat.

Na és a kakukktojás: QuickBMS (http://aluigi.altervista.org/quickbms.htm)
Egy unatkozó programozó, név szerint Luigi Auriemma, alkotta meg ezt a programot, mely a BMS programnyelvre épül. Ez 1db DOS ablakban futó exe, de valaki már készített hozzá GUI-t (felhasználói felület) is. A program használatának leírása, megtalálható mind a programban, üres futtatáskor, mind az ott mellékelt txt-ben. A program úgy működik, mint a Python; egy sima szöveges fájlba beírjuk a parancsokat, és az exének megadva, az a parancsok alapján lefut. És bár nem egy exe futtatását kell elvégeznünk, mégsem kell tudnunk programozni, hogy használni tudjuk. Elsősorban a fájlok kibontására készült, de már tartalmaz visszarakó funkciót is, HA a visszarakandó fájl nem nagyobb, mint az eredeti volt!
A programhoz használható script fájlokat találunk mind a Xentax Forumon, mind a program honlapján, valamint a mellékelt tájékoztató, és az interneten fellelhető segédanyagok alapján, akár mi is írhatunk ilyet.
/Evin/

3.3, szövegek kezelése

A magyarítások szempontjából lényegeseket próbálom itt megemlíteni, elsősorban példákon keresztül szemléltetve. Lehetséges, hogy a szöveget tartalmazó fájlokat előbb ki kell csomagolni, erre újra felhívnám a figyelmet!

3.3.1 szótárak

Egy dolgot fontos leszögezni az elején! A mondatokat fordító webes programok nem szótárak, azokat senki se használja egy az egyben komolyabb munkákra! Arra jó, hogy aki nem tud angolul, megértse, nagyjából mit akar jelenteni az adott mondat, vagy szövegrész. Példának okáért itt a www.webforditas.hu eredménye:

Eredeti szöveg:
,,I have failed, the King's spy was killed as Faeries Crossing became overrun by DeMordrey's Soldiers.’’
És az eredmény:
,,Megbuktam, a király kémét megölték, ahogy Faeries Crossing DeMordrey katonái által elárasztottá vált.’’

Látható, hogy a játék kulcsszavaival nem tud mit kezdeni a fordítóprogram. Annyira rossz nem lett, rosszabbra számítottam. Viszont a nyelvi bukfencek kitűnnek. Megbuktam helyett elbuktam  helyesebb lenne, és az utolsó négy szó is mosolyt csal az arcokra. A Faeries Crossing egyébként Tündérátkelőnek lett fordítva, ha jól emlékszem.
Az eredmény: ha valamit nem értünk, elsősorban szókapcsolatokat, kiindulási alapnak lehet használni, de mindenképpen át kell gondolni a kapott mondat eredményét, hogy megfelel-e a játékban, illetve az a minimum, hogy szép, kerek, egész magyar mondatot kreálunk belőle.

Szótárak közül én az SZTAKI (http://szotar.sztaki.hu) szótárát szoktam használni, található itt rövidítéseket tartalmazó szótár is, azt még nem néztem meg.
Ismét meg szeretném említeni, hogy a helyesírás roppantul fontos, a fent említett példa egyszerűen igénytelen lenne, ha a játékban megjelenne. Így még egy-két oldalt linkelek:
http://www.magyarhelyesiras.hu/
Szinonimaszótár, igaz, a legtöbb szövegszerkesztő programban már be van építve, minden esetre ki lehet próbálni (http://szinonimaszotar.hu/).
Idegen szavak helyett használjuk a magyar kifejezést! Ez is nagy hiba, sokan elkövetik (http://www.szomagyarito.hu/) Bizonyos helyeken nagy kavarodást okozhat, ha magyarítunk, például rpg-s körökben az xp/tp kérdése rendkívül zavaró lehet, főleg a kezdő játékosok részére. Egy játék viszont nem ilyen! Itt a fordító fekteti le az alapszabályokat! Ügyeljünk hát arra, hogy mindig törekedjünk a magyar kifejezés használatára!
Valamint itt egy kis mindenes oldal (http://www.e-nyelv.hu/), ahol érdekes kérdésekre kaphatunk választ, kérdezhetünk, kutathatunk, olvashatunk.

Vannak olyan szókapcsolatok, amik nem minden szótárban szerepelnek, erre akár a neten is rákereshetünk. Érdemes figyelni a szavak viszonyát, melyek tartozhatnak össze, ezeket ugyanis együtt kell figyelni.

3.3.2, szövegszerkesztők

Térjünk át a címben szereplő programokra.

A .ini és a .txt a két tipikus, jegyzettömb által szerkeszthető fájl. Fokozottan figyelni kell ilyenkor a helyesírásra. Tudjuk WordPad-hoz is társítani, s ebben ki is merül az alap Windows operációs rendszer tudása. Némely fájlt akár Word-del is megnyithatunk, így a helyesírást is le tudjuk ellenőriztetni.
Több szövegszerkesztő található az interneten, legtöbbjük ingyenes. GridinSoft Notepad (és társai) például rendezheti nekünk, így áttekinthetőbb lesz az írás, főleg ha sok kódot tartalmaz, amikhez nekünk legtöbbször semmi közünk. Bogarásszon mindenki, amelyik megtetszik, használja.
Nagyon kell figyelni a fájl karakterkészlet kódolására, ami lehet ISO (nemzetközi szabvány), de akár UTF-8 is. A weblapoknál látható furcsaságok fogjuk látni, ha rosszul választunk, azaz az ékezetes (és néha a speciális) karakterek helyén akár több karakternyi, érthetetlen szöveg, vagy karakter is állhat. Kis próbálkozás után rájövünk, melyik kell nekünk.
Ha átírunk egy fájlt, de a játékban mégsem jelenik meg az ékezetes karakter, az nem feltétlenül a szövegfájl hibája, gondoljunk a betűkészletekre.

Érdekesség: jegyzetelésre, saját magunknak címzett megjegyzésekre kiválóan alkalmasak! Éljünk ezzel a lehetőséggel, mert előbb-utóbb el fogjuk felejteni a kisebb-nagyobb részleteket.
Ha a játék mappájában nem szeretnénk bent hagyni ezeket a jegyzeteket, akkor akár át is nevezhetjük a .txt kiterjesztést egyedire, például .jegyzetek (ha a kívánt mappában vagyunk: Eszközök/Mappa beállításai/Nézet/Ismert fájltípusok kiterjesztésének elrejtése ne legyen bepipálva). A Windows kereső így mindet egyszerűen meg fogja találni a *.jegyzetek kifejezésre keresve! De akár elég lehet rendezni is, és egy csoportba kerülnek a .txt végű jegyzetek. De akár kiterjesztés nélküli fájlokat is hagyhatunk, így maga a fájl neve lesz a rövid jegyzet. A kreativitás nagyban segítheti a fordítás menetét, dolgoztassuk meg az agyunkat!

3.3.3, táblázatkezelők
 
Ritkán tárolják direkt így a szövegeket, annál jobban szeretik adatbázisként feltüntetni. Pl. Disciples 2, Globals, Interf, ScanDate, Scens mappák tartalma mind-mind .dbf kiterjesztést kapott. És itt jön az érdekesség, ha ezeket Excel vagy Calc programmal (előbbi Microsoft Office, utóbbi az OpenOffice táblázatkezelője) nyitjuk meg, máris szerkeszthetővé válik a játék.
Értelemszerűen szerepelhetnek itt is változók, vagy más olyan szavak, kifejezések, amit nem szabad lefordítani. Általában text id azonosító, maga a text oszlop kell nekünk, de ezt meg fogjuk látni, mivel ott lesznek a játékban használt szövegek, amikkel egyértelműen beazonosíthatjuk, mely oszlopot kell lefordítanunk.

Érdekesség: mivel adatbázisként használja a program ezeket a fájlokat (az csak egy dolog, hogy táblázatkezelővel tudjuk szerkeszteni), ezért biztosan redundanciába ütközünk. Azaz a fordítás szempontjában kifejezetten akadályozó adatismétlődésbe. Én ezek kiszűrésére egy roppant egyszerű, kevés plusz munkával járó technikát gondoltam ki. Minden fájlról készítettem biztonsági másolatot, ez ugye ilyen esetekben mindig alap dolog, figyelem! A fájlokba létrehoztam egy új oszlopot, és minden sor a fájl helyét/nevét kapta, ez a legegyszerűbb, mivel több mappában is lehet ugyan olyan nevű fájl. Így már ki tudtam másolni a szöveget tartalmazó oszlopokat egyetlen munkafüzetbe. Így kb. 12-18 fájl helyett lett egyetlen egy Excel dokumentumom. Ezek után nem gond, ha összekeverednek a sorok, hisz meg vannak jelölve, rendeztem hát szöveg szerint az oszlopot. Így egy sort csak egyszer kellett lefordítanom, míg rögtön alatta jelentek meg ugyan azok a sorok, ezeket csak felülírtam a lefordított sor tartalmával. Ha készen van, lehet rendezni azonosító (hely/fájlnév) szerint. Roppant egyszerű, ugyanakkor nagyon elegáns módszer, hisz a fordítás befejeztével csak vissza kell másolni az adott tartományt az adott fájlba.

Van még egy nagyon hasznos dolog, amit majd a 6.1 fejezetben fejtek ki bővebben. De leírom az egyik részét, bár nem ide tartozik, de tudjátok talán hasznosítani addig is, hátha valaki most kap kedved egy játék fordításához. Szóval a szótár.
Hogy mindig mindennek tudjuk, mi a magyar megfelelője, készítsünk Excel szótárt. Megszűrjük a szöveget (lásd majd az ötödik fejezet körül), és létrehozunk egy 3-4 oszlopból álló munkalapot. Azonosító, Angol kifejezés, Magyarra fordítva, és Csoportok. Az azonosító lehagyható, ha nincsenek eleve megszámozva a sorok, ez esetben érdemes megtartani. Ez lesz a tartomány, el is lehet nevezni [kijelölöd, és bal felső sarokban Név mező, ahol látod éppen melyik cellában vagy, oda beírsz valami nevet, pl. szotar(én ragaszkodom az ékezet nélküli, szóköz helyett _ jelet tartalmazó elnevezésekhez, bár most már nagyon sok program támogatja)]. Ezek után készítünk egy kereső részt hozzá, adatbázis függvények segítségével.

szotar1Valahogy így néz ki. Az id (azonosító szám) rész csak azért van, mert nekem minden sornak van azonosítója, így menti ki a Gyula által készített program a Sacred.exe fájlból a szöveget.
Elég lenne csak az alsó két sor is egyébként. A forditando cella alá megadjuk a keresett kifejezést, és a magyarul cella alá kidobja, ami a szótárban a forditando sor mellett szerepel, roppant egyszerű.
A magyarul cella alatti mezőbe hívjuk meg az AB.MEZŐ függvényt, minek három sor kell a sikeres működéshez:
Adatbázis: ezen belül fog keresni, kijelölöd az egész szótárat, és elnevezed valaminek, ezt a nevet adod meg itt. De akár a függvény ablakában lévő kijelölésre szolgáló gombot is választhatod.
Mező: megadod a magyarul mezőt, az adatbázisban így a magyarul elnevezésű oszlopban fog keresni.
Kritérium: azaz a feltétel. A forditando cella, és az alatt lévő üres sor, amibe beírom az idegen nyelvű kifejezést, pl. Wood Elf. Ezek alapján meg fogja nekem keresni az adatbázis magyarul oszlopából azt az értéket, ami a forditando oszlopban szerepel a feltétel megadásánál (ami esetünkben a Wood Elf szó, amit bepötyögtem).
Természetesen ez csak egy példa volt, és minden játék, minden fajta, a programozók által használt technika más módszert kíván. Egyszerű, két oldalnyi szövegű játékhoz nem kell szótár például.

3.3.4, adatbázis szerkesztők

A mai napba, valamint az elején meghatározott 2-3 oldalba (amire úgy gondoltam nem túl hosszú, mégis, egy olvasásra elégséges információt tartalmaz) még belefér, így következzenek az adatbázis szerkesztők.
Túl sokat nem lehet elmondani róluk, aki használta, tudja milyen jó, és milyen rossz tulajdonságaik vannak. Adatok rendszerezésére szolgálnak, a köztük lévő kapcsolatokat lehet remekül modellezni, és bizonyos feltételek szerint lehet keresgélni akár több tábla között is.
Sok játék .dbf kiterjesztést használ, ám ezek legtöbbször nem valódi adatbázis, hisz mint az előbb szó volt róla, táblázatkezelővel nyithatóak és használhatóak.
Én inkább kiegészítő szerepüket emelném ki. Maradjunk a Sacred (Gold) című játéknál (amibe már sokadszor, sok emberrel belevágtam a fejszém, jelenleg szünetel, hisz mindig egyedül maradtam).
Egészen pontosan 23122 sort tartalmaz, ami 1.37 MB adatmennyiséget jelent, minden sor meg van számozva, egy fájlban van minden, a készítő (Gyula) így írta a programot. Így bátran lehet vele játszadozni. Mivel .txt, így akár táblázat-akár adatbázis kezelőben lehet használni, egyszóval nagyon jól tűri a gyűrődést.
Bevittem hát Acces-ba is. A kulcsszavakat kiszűrtem (lásd majd 5.3 fejezet), tehát ha volt bent pont, vessző, kérdő-vagy felkiáltójel, akkor kiestek a rostán (a szűrő sor ugye ismerős: not ,,.’’ or not ,,!’’ or not ,,?’’).
Ezek után, hogy egységes legyen, s mivel csapatban dolgoztunk, kiszűrtem a tárgyakat, csoportosítva. Pl. is ,,*sword*’’ és társai, vagy valahogy így volt. Így egy emberre jutott 5-6 csoport (gyűrűk, csizmák, botok, kardok, fejszék, lándzsák, tőrök, buzogányok, dárdák, pallósok, bunkósbotok, karvédők, szablyák, kesztyűk, pengék, kulcsok, lábvértek, íjak, szeráf szárnyak, pajzsok, övek, tekercsek, páncélok, sisakok, könyvek, szobrok, vállvértek). Így minden csoport egységes lett, mivel egy ember csinálta csak a kardokat pl. Hibákat is el lehet kerülni, egyszóval remek segítség egy adatbázis. Pár apróbb hiba ugye még lehetséges, de ha ez mind le lett volna fordítva, utána már csak vissza kellett volna írni a kezdő fájlba, és onnan még egy ugyan ilyen szűrés, csak plusz egy oszlop, ami jelzi, hogy készen van pl.
Láthattuk, mennyire megkönnyítheti egy-egy program a fordítást, ha megfelelően használják. Nem kell túlbonyolítani, mindig az egyszerűségre kell törekedni. Ennyi fért a mai szabad délelőttömben, úgy érzem sikerült hasznosan töltenem a hirtelen jött szabadidőt. Következő alkalommal (már direkt nem használom a jövő héten kifejezést) továbbmegyünk, az online munkával, szakszavakkal folytatjuk. Kérem, akinek az elvállalt adagja hamarosan következik, jelezze. Köszönöm megtisztelő figyelmeteket, a cikkhez bátran szóljatok hozzá, ez lenne a lényege.

Hozzászólások

csen mester
2012-12-09 12:02
mi lehet az oka tudtok segiteni
köszi szépen
csen mester
2012-12-09 11:59
nehezen mert kezdö vok de meg szeretném kérdezni hogy az iso játékot miért nem megy a gépen
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?
Attila88b
2012-07-12 18:21
Kiegészítés: a Sacred-et jelenleg fordítja lostprophet kollega, meg is kérdezem, hogy állsz? smiley
Főmenü
Segítség
Szavazás
Mi az álom úti célod? #Európa


Szavazás állása
2014. április 21. - hétfő
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.