Skip to main content

Kari Silvennoinen

A web log

Cairn-roolipelin kääntämisen työkalut ja prosessi

Käänsin noin kaksi vuotta sitten Yochai Galin Cairn-roolipelin ensimmäisen laitoksen suomeksi. Tämä oli tavallaan jatkumoa syvään sukellukseen RPG-sääntökirjonen lukemisvimmaan vuonna 2022. Kiinnostukseni johti myöhemmin yrittämään kääntää pienempiä avoimella Creative Commons -lisenssillä olevia indie-roolipelejä - kuten DURF - suomeksi, lähinnä omasta kiinnostuksesta. DURFin ja 24XX:n sääntöjen kääntämisen ohessa viilasin kääntämistä varten työkalupakin ja prosessin, jonka käyn läpi tässä postauksessa.

Cairnin käännös kattaa tällä hetkellä jo useamman teoksen:

Koko käännöstyö löytyy ilmaisena netistä ja sen lähdekoodi löytyy GitHubista. Tähän mennessä vain ensimmäinen laitos löytyy PDF:nä Itchistä, eikä siinä ole kaikkia viimeisimpiä korjauksia kuten nettiversiossa.

Mutta miksi edes kääntää suomeksi, kun kaikki kuitenkin osaavat englantia[1]? Miksi ei? Kai se on ihan hyvä, että roolipelikulttuuria on suomeksikin tarjolla. Lapseni eivät osaa myöskään englantia (vielä), joten mielestäni varsinkin nuoremmille sopivien pelien kääntäminen on erittäin hyvä idea.

Kääntämisen aloittaminen

Cairn on projektina hyvin otollinen: peli ja sen tekijä on hyvin vastaanottava käännöksille, sen sivuilta löytyy ohjeet käännöstyön tekemiseen[2]. Pelin Discord-kanavalta löytyy omat kanavansa käännöksille. Pelin säännöt, resurssit ja muut lisäsisällöt löytyvät kaikki[3] Markdown-dokumentteina avoimella lisenssillä pelin sivuilta ja GitHubista.

Suomenkielinen käännös GitHubissa on teknisesti forkki, josta ei vain koskaan mergetä takaisin mitään upstreamiin. Tästä repositorystä sitten vain käännetään Markdown-dokumentteja (ja joitain kuvia) suomeksi.

Tekniset peruspalikat käännöstyölle olivat aika samat kuin DURFin tapauksessa. Käytin jälleen Crowdin-alustaa, vaikka se onkin tarkoitettu enemmän ohjelmistojen tai teknisen dokumentaation kääntämiseen. Sen ilmaisen versio sallii yhden yksityisen projektin ja enintään 60 000 käännettävää sanaa. Tuo raja ei ollut ongelma ensimmäisen laitoksen kohdalla, mutta toisen laitoksen alkukielinen versio on yli 70 000 sanaa, joten tästä tuli (kierrettävissä oleva) ongelma.

Crowdinin etu on sen käyttöliittymä, etenkin kuinka se integroi konekääntämisen[4] (esim. DeepL) ja oman translation memoryn. Käyttöliittymä on minusta paljon tehokkaampi kuin kahden tiedoston pitäminen avoinna samaan aikaan, pitäen alkuperäisen ja käännöksen kiinni toisissaan niin että niihin on helppo palata.

Näyttökaappaus Crowdin-työkalusta

Translation memory on äärimmäisen hieno työkalu pitämään huolta, että termien käännökset pysyvät yhdenmukaisina. Esimerkiksi toisen laitoksen pelkistetyt säännökset ovat vain karsittu versio toisesta laitoksesta, joten vanhat käännökset voi tuoda suoraan siihen eikä jo käännettyjä lauseita tarvitse kääntää uudestaan.

Tämä lähestymistapa tekee kuitenkin tiettyjä kovia rajoitteita käännöstyöhön: kääntämisen yksikkö on yksi virke kerrallaan. Luonnollisempi käännös todennäköisesti vaatisi suurempien tekstikokonaisuuksien tarkastelua, jotta tekstin ideat tulisivat sujuvammin suomeksi kerrottua. Tämä viilaaminen on toki mahdollista sen jälkeen, kun tekstimassa on ensin käännetty kerran Crowdinin avulla läpi.

Kuten todettua, ilmaisessa versiossa on sanaraja. Mitä tehdä, kun projekti kasvaa tämä raja tulee vastaan? Vaihtoehdot ovat joko maksaa, lähestyä Crowdinin tukea ja selitellä että kyseessä on avoimen lähdekoodin projekti tai… keksiä että translation memory ei katoa, vaikka lähdetekstin poistaa. Jo käännetyt lähdetiedostot voi hyvin poistaa, jos niiden käännökset ovat jo valmiit eikä näe tarvetta niiden jatkojalostamiselle Crowdinin sisälle. Toisin sanoen, kaikki “työ” ja “muisti” esimerkiksi Pelaajan oppaan käännöksestä säilyy, vaikka sen poistaisi kääntämisen jälkeen, jotta Vartijan oppaalle on tilaa ilmaisversion puitteissa. Kaiken lisäksi käännösmuistin voi erikseen ladata talteen Crowdinista joten mitään dataa ei jää lukituksi alustaan.

Termistön kääntäminen

Cairnin roolipelitermistön kohdalla tukeuduin paljolti Seppo Raudaskosken Lohikäärmeen luolan sanastoon, mutta inspiraatiota tuli myös Legendoja & Lohikäärmeitä -teoksen sanastosta. Oman lisänsä käännökseen tuo se, että se osittain perustuu suoraan kansanperinteiden mytologisiin olentoihin, eikä välttämättä niihin tulkintoihin Dungeons & Dragons -pelin tai Tolkienin Taru Sormusten Herrasta kautta. Oma lukunsa on Britteinsaarien, pohjoismaisten ja suomalaisten kansantarujen olentojen yhtäläisyydet ja erilaisuudet ja niiden sovittaminen[5]. Käännös yrittää tukeutua enemmän suomalaisen taruston nimistöön kuin D&D:n tai Tolkienin.

Cairn perustuu osittain Chris McDowallin Into The Oddiin, jota ei ole käännetty suomeksi - joskin Cairnin käännös implisiittisesti kääntää myös sen Mark of the Odd -perustermistön[6].

Muun termistön kääntämisen suhteen Kielitoimiston sanakirja ja myös Suomen etymologinen sanakirja olivat suureksi avuksi. Keskiaikatermistössä apuna käytin Jussi Katajalan Keskiaika-sivustolla olleita sanastoja. Cairnin keskiaikaa henkivä maailma ei yritä ainakaan käännöksessä olla historiallinen vaan myyttinen ja käännökset ovat vahvasti sinne päin.

Kääntämisen mielenkiintoisin ja aikaa vievin kohta on uusien sanojen keksiminen. Monille termeille ei tuntunut löytyvän suomenkielistä yleistä käännöstä (kts. esim. monet hirviöt ja etenkin loitsujen nimet) tai osa termeistä oli varta vasten Cairnia varten keksittyjä (kuten esim. toisen laitoksen taustat, etenkin Kattilamaakari (Kettlewright)).

Siistiminen ja integrointi

Cairnin tapauksessa tiedostomuoto oli Markdown-dokumentit, jotka mahdollistavat kaiken tarvittavan perusmuotoilun ja hypertekstin. Crowdinissa käännetyt tiedostot korvaavat alkuperäiset englanninkieliset dokumentit käännösrepositoryssä.

Kääntämisen jälkeen tiedostot voi avata esim. Visual Studio Codella, jonka Markdownlint-lisäosa on kätevä tarkistamaan, että muotoilu ja lähdekoodi on oikein, sekä että dokumentin sisäiset linkit[7] ovat oikein[8]. Markdownlintillä on myös oma näkemyksensä siitä miltä oikein muotoiltu Markdown-dokumentti näyttää ja lähdeteksti saattaa rakenteeltaan poiketa tästä[9]. Järkevintä on konfiguroida .markdownlint.json mahdollisuuksien rajoissa vastaamaan haluttua ja pyrkimään siihen että Markdownlint on tyytyväinen.

Crowdinin ulkopuolella tehdyt muutokset eivät luonnollisesti löydä tietään takaisin sinne, enkä ole itse kokeillut kuinka hyvin sen ulkopuolella tehtyjä muutoksia saa synkattua takaisin. En kuitenkaan näe kauheasti syytä yrittää hallita käännöstä puhtaasti Crowdinissa, joten tämä ei ole ongelma.

Kielioppi ja kirjoitusvirheet

Crowdinin oikeinkirjoitus ei ole kovin kummoinen suomen kielelle. Markdown-dokumenttien oikoluku on muuallakin haastavaa, koska usein Markdownin muotoilu- tai linkkisyntaksi sekoittaa oikolukijan. Yksi tapa kiertää tätä on kääntää Markdown-dokumentti ensin HTML:ksi, Word-dokumentiksi tai tavalliseksi tekstiksi ja ajaa oikolukija sille ja tehdä tarvittavat korjaukset takaisin Markdown-dokumenttiin.

Tähän käännökseen voi käyttää joko tekstieditorinsa omaa Markdown-käännösominaisuuksia, online-työkaluja tai vaikka Pandocia.

Listojen aakkostaminen

Monissa kohtaa tekstiä on taulukoita, jotka on kaikki lähtökohtaisesti aakkostettu. Tämä voi olla kauheaa käsityötä, mutta esimerkiksi VS Code sisältää pari tähän sopivaa ominaisuutta: Se osaa aakkostaa tekstirivejä (Sort Lines Ascending) ja se tukee sarakepohjaista valintaa (Column selection mode). Sarakepohjaisella valinnalla voi kopioida suoraan Markdown-taulukon sisällä oleva sarake ja aakkostaa se takaisin paikalleen.

Ylläpito

Suomenkielinen käännös on yrittänyt tekijän vapaa-ajan ja mielenkiinnon puitteissa pysyä kärryillä englanninkielisen version muutosten ja korjausten kanssa. Git on tarkoitettu koodin versiointiin ja siksi se seuraa muuttuneita koodirivejä. Tämä on harvemmin mitä käännöstyössä halutaan seurata, mutta onneksi Git pystyy auttamaan myös tässä. Aika-ajoin alkuperäisteoksen muutokset voi hakea ja aloittaa niiden integrointi komennoilla

git fetch upstream
git merge upstream/main

Tavallinen git diff näyttää vain muuttuneet rivit lähtöteoksen ja käännöksen, mutta tästä ei ole kauheasti iloa, koska ne eroavat varmasti toisistaan koska ovat eri kieltä. Sen sijaan, voimme katsoa mitä “upstreamissä” oikeasti muuttui sanatasolla esimerkiksi komennolla

git diff --word-diff main...upstream/main -- first-edition.md

Tämä auttaa selvittämään merge-savotassa paremmin mitä muutoksia käännöksessä tarvitsee tehdä.

Muut assetit

Joskus käännösprojekti sisältää myös käännettäviä kuvia tai valmiin taittopohjan mikäli haluaa tehdä käännöksestä alkuperäistä vastaavan PDF-tuotoksen. Tähän työhön sopii erittäin hyvin ilmainen Affinity, joka osaa niin kuvien kuin vektorien editoinnin kuin myös kirjojen taittamisen. Se tukee myös hyvin Adoben tiedostomuotoja (ml. InDesign).

Näiden hinkkaaminen voi helposti käännösprojektin eniten aikaa vievä vaihe.

Yhteenveto

Kääntämisen työkalupakki ja prosessi koostuu siis

  • Crowdinin käyttämisessä työkaluna Markdown-tiedostojen kääntämiseen
  • Tekstieditorin, kuten VS Coden, Markdown-ominaisuuksien (kuten Markdownlintin) käyttäminen viimeistelyyn
  • Gitin käyttäminen lähdetekstin ja käännöksen versionhallintaan ja muutosten vertailuun
  • Affinityn tai vastaavan graafisen suunnittelun työkalujen kuvien ja PDF:ien kääntämiseen ja luomiseen

Suurin osa näistä työkaluista on tarkoitettu ohjelmistonkehitykseen, mutta taipuu yllättävän hyvin myös pitemmän tekstin kääntämiseen. Tämä sopii erityisesti harrasteprojektin rytmiin, jossa eri käännössessioiden välillä voi vierähtää viikkojakin ja aikaa itse työlle saattaa kerrallaankin olla alle tunti. Crowdin ja versionhallinta pitää hyvin kärryillä, eikä työ hajoa aivan liian moneen paikkaan.

Elämää helpottaisi tekstinkäsittelyohjelma, joka tukisi natiivisti Markdownia ja osaisi oikolukea suomea niin oikeuskirjoituksen kuin kieliopin puolesta.


  1. Cairnin tekijän podcastissa Between Two Cairns on useamman kerran naureskeltu sille kuinka pohjoismaissa tai Suomessa osataan englantia paremmin kuin podcastin äidinkielenään englantia puhuvat juontajat. ↩︎

  2. Monissa tapauksissa Creative Commons -lisenssi on peleissä pääasiallisesti tarkoitettu uuden lisäsisällön luomiseen tai jonkin uuden version pelistä luomiseen, ei jo olemassa olevan peruspelin kääntämiseen toiselle kielelle. ↩︎

  3. Poikkeuksena tähän on eräiden teosten, kuten Toisen laitoksen, taide. ↩︎

  4. Suurin osa käännöksen kankeudesta tulee enemmän lausekohtaisesta kääntämisestä ja johtuu kääntäjän oman työn laadusta kuin siitä, että käännös olisi tehty koneellisesti. Konekääntäjiä on käytetty apuna, mutta mitään osaa teoksista ei ole automaattisesti käännetty. Parannusehdotukset ja korjaukset ovat enemmän kuin tervetulleita! ↩︎

  5. Katso esimerkkinä aiheesta Johan Egerkransin Pohjoismaiset taruolennot (Nordiska väsen) ja sen pohjalta tehty Fria Liganin roolipeli Vaesen, jonka peruspeli keskittyy Pohjoismaihin ja lisäosa Britteinsaarille. ↩︎

  6. Ja sen pitäisi olla siten keskeisen termistön suhteen yhtenevä Mausritterin käännöksen kanssa. ↩︎

  7. Oma harminsa on ulkoisten linkkien tarkastus, mutta siihen tämä työkalu ei kykene. ↩︎

  8. On erittäin helppoa unohtaa kääntää otsikoiden ankkurilinkit, ollenkaan tai oikein. ↩︎

  9. Esimerkiksi perusasetuksilla Markdownlint ei pidä raa’asta HTML:stä dokumentissa, mutta asetuksilla voi tehdä poikkeuksen esim. <p>, <details> ja <summary> -elementeille. ↩︎