
Vodiči / Iza kulisa
Kako smo preveli naše mobilne igre na 14 jezika
Što je trebalo da naše Android igre dobiju 14 jezika: kako slažemo datoteke s tekstovima, zašto su pravila množine i fontovi važni, koje su se pogreške u prijevodu stalno vraćale, bug koji pogađa samo mobitele u Europi i zašto 14 jezika znači 16 stranica u trgovini.
Svih šest naših igara potpuno je prevedeno na 14 jezika: engleski, njemački, španjolski, francuski, hrvatski, indonezijski, talijanski, japanski, korejski, portugalski, ruski, slovenski, turski i tradicionalni kineski. Prve četiri, Idle Ronin, Idle Summoner, Idle AI Factory i Block Brain, zajedno imaju oko 2.100 engleskih tekstova, od 254 u Block Brainu do 1.253 u Idle Roninu, a svaki je preveden 13 puta. Idle Restaurant: Miami i ONI Snakes izašli su na istih 14 jezika. Ovo je trebalo za to i ovo bismo ponovno napravili.
Jedna datoteka s tekstovima po jeziku, s kontekstom
Svaka igra ima jednu običnu tekstnu datoteku po jeziku. Unos je izvorni engleski redak, označen s @, iza kojeg slijedi prijevod, označen s =, a većina unosa ima komentar napisan za prevoditelja. Ovo je prvo čudovište u engleskoj datoteci Idle Summonera:
# monster name with its number in the summon chain (1-55); names appear on small labels
@ {0}. Slime
Ti su komentari najkorisnije što smo dodali. Engleska datoteka Idle Summonera ima ih 156 na 258 tekstova. Tko prevodi znajući da tekst stoji na sićušnoj oznaci ili da je {0} broj, griješi mnogo rjeđe od onoga tko pogađa samo po riječima.
Korištenje samog engleskog teksta kao ključa čini datoteke čitljivima, ali krije zamku. Tekst koji je jednak u oba stupca nije automatski ime koje mora ostati na engleskom: u Idle Roninu se oko 680 od prvih 1.185 unosa podudaralo sa svojim engleskim tekstom. Na engleskom ostaju samo prava vlastita imena, imena 19 Čuvara, imena jedinica i 12 kostima, a naša skripta za izradu zaključava upravo njih.
Pravila množine nisu izborna
Engleski ima dva oblika: 1 unit, 2 units. Mnogi jezici imaju više, a pravila se razlikuju. Naš Loc kod slijedi pravila množine za cijele brojeve iz tablica Unicode CLDR:
| Jezici | Oblici koje koristi naš kod |
|---|---|
| Engleski, njemački, španjolski, talijanski | one, other |
| Francuski, portugalski | one (0 i 1), other |
| Hrvatski | one, few, other |
| Ruski | one, few, many |
| Slovenski | one, two, few, other |
| Turski, indonezijski, japanski, korejski, kineski | jedan jedini oblik |
Slovenski je taj koji iznenadi: ima zaseban oblik za dva, pa se kaže „2 enoti”, ali „5 enot”. Ako tvoj kod poznaje samo jedninu i množinu, svaki od tih jezika negdje prikazuje pogrešnu gramatiku.
Fontovi: slova za koja nije bilo jasno da nedostaju
Font za tekst u Idle Summoneru bio je skraćena kopija fonta Noto Sans KR Black kojoj su nedostajali č, š, ž i ć, zapadnoeuropski naglasci, turska slova i tradicionalni kineski. Slova koja su nedostajala ili su prelazila na font mobitela ili se uopće nisu prikazivala. Ponovno smo ga izradili sa svim slovima koja koriste naše tablice i dodali Noto Sans JP za japanski te Noto Sans TC za tradicionalni kineski. Oznake u pikselnom fontu igre zadržavaju ga samo dok tekst stane u slova koja taj font ima.
Fontovi mogu i zavarati. U korejskom fontu Idle Ronina veliko N nacrtano je tako da se ON i OFF čitaju kao „OΠ”. Te smo prekidače zamijenili korejskim riječima 켜기 i 끄기, koje se ionako bolje čitaju.
Pogreške koje su se vraćale u svakom jeziku
Kako god se igra prevodila, prva verzija rijetko je gotova. Naša je ponavljala istu šačicu pogrešaka u gotovo svakom jeziku, upravo onih koje je prva uočila naša vlastita provjera slovenskog prijevoda:
- „Particle”, postavka grafike, prevedena fizikalnim pojmom umjesto „Efekti”.
- „Stack”, dodatne kopije jedinice, ostavljeno na engleskom ili prevedeno kao „hrpa” umjesto „kopije”.
- Zadatak da se porazi čudovište imena Treasure Chest, preveden kao razbijanje škrinja s blagom.
- Tekst preveden u punoj duljini za retke i značke u koje stanu samo jedna ili dvije riječi.
- „FIGHT FLOOR {0}” sa suvišnim glagolom zbog kojeg je gumb bio predug.
Zato smo napisali provjeru koja za bilo koji jezik ispisuje upravo te tekstove i predajemo popis prije nego što prijevod počne. Dva jezika prevedena s popisom u ruci nisu trebala nijedan ispravak; ona prevedena bez njega trebala su ih po otprilike šest.
Provjeri zaslone, ne samo datoteke
Datoteka može biti potpuna dok zaslon još prikazuje engleski. Naš test: prebaci igru na drugi jezik, skupi sav vidljivi tekst na zaslonu i usporedi ga s engleskom datotekom. Sve što je još na engleskom oznaka je koju kod nikad ne prevodi. U Idle Roninu je taj pregled pronašao uvijek vidljiv gumb OPEN i gumbe postavki zaglavljene na jeziku koji je bio aktivan pri prvom otvaranju izbornika.
Zatim provjeri stane li sve na stvarnoj razlučivosti mobitela. Svaki zaslon gledamo u 1080 x 2400 na najduljim jezicima te na japanskom, korejskom, kineskom i ruskom, i radije skraćujemo tekst nego da ga smanjujemo dok ga nitko ne može pročitati.
Zarez koji u Europi kvari spremljene igre
Jedan bug nema nikakve veze s riječima. U igri koju upravo radimo spremljena igra spaja brojeve zarezima. Na mobitelu čiji jezik decimale piše zarezom, kao u velikom dijelu Europe, 7392.58 postaje 7392,58, suvišni zarez dijeli broj na dva dijela, a svaka vrijednost iza njega pomakne se za jedno mjesto. Pri testiranju na engleskom to se nikad ne vidi. Rješenje je jedan redak pri pokretanju koji oblik brojeva fiksira na invarijantnu kulturu, uz zaštitu kako bi se već pokvarene spremljene igre ipak učitale.
14 jezika, 16 stranica u trgovini
Google Play ima zasebne stranice za španjolski u Španjolskoj i Latinskoj Americi te za portugalski u Portugalu i Brazilu. U igri držimo jedan prijevod po jeziku, ali tekst za trgovinu pišemo zasebno za svako tržište, s vlastitim pojmovima za pretraživanje. To daje 16 stranica po igri, svaku s vlastitim naslovom, kratkim opisom, punim opisom i snimkama zaslona. Naša web-stranica slijedi isti obrazac, a kako je gradimo, objašnjavamo u zasebnoj objavi.
Što bismo ponovno napravili
- Napiši kontekstni komentar za svaki tekst.
- Zaključaj vlastita imena u izradi, a ne u glavi prevoditelja.
- Uvedi pravila množine prije nego što stigne prvi prijevod.
- Provjeri sadrže li tvoji fontovi svako slovo koje koriste tvoje tablice.
- Vodi popis poznatih problematičnih tekstova i predaj ga unaprijed.
- Pregledaj zaslone na drugom jeziku u potrazi za zaostalim engleskim.
- Zapisuj spremljene podatke u invarijantnoj kulturi.
- Računaj na 16 stranica u trgovini, a ne na 14.
Želiš li vidjeti rezultat? Promijeni jezik u igrama Idle Ronin, Idle Summoner, Idle AI Factory, Block Brain, Idle Restaurant: Miami ili ONI Snakes: svaka od njih govori svih 14.
Izvori
- Unicode CLDR, Language Plural Rules.
- Kod igara ONI Gamesa, rujan 2026.: Idle Summoner (Loc.cs, LocFonts.cs, Localization/Summoner/en.txt), Idle Ronin (Localization/Ronin), Idle AI Factory (Localization/AIFactory), Block Brain (Localization/Brain).








