
Viime aikoina olen saanut useampia yhteydenottoja käännöksien hallintaan DoX CMS:ssä liittyen. Lienee se aika vuodesta.
On myös ymmärrettävää, että tämä järjestelmän osan koko toimintalogiikka ei ole tuttua käyttäjille. En esimerkiksi itse yleensä joudu työskentelemään aktiivisesti sen kanssa. Tästä syystä nämä yhteydenotot ovat osaltaan suunnanneet huomioni seikkoihin, joista osa tuli pienenä yllätyksenä myös minulle.
Jatkossa myös käyttöopas tulee sisältämään tarkemman selonteon tältä osin. Se päivittyy yhdessä muun järjestelmän kanssa, kun järjestelmän käyttöliittymää uudistetaan rankasti esimerkiksi täysin uusituilla ikoneilla.
Koska kaikki yksityiskohdat eivät ole täysin ilmeisiä, totesin olevan parasta kirjoittaa aiheesta myös erillinen artikkeli käyttäjien tueksi. Näiltä osin on suunnitteilla myös jatkokehitystä hallinnoinnin selkiyttämiseksi ja käyttäjien vaikutuskyvyn kasvattamiseksi. Toistaiseksi on kuitenkin tärkeää tietää, mitä kaikkea järjestelmä tekee ja olettaa käyttäjien tekevän osana käännöksien hallinnointia.
Tässä yhteydessä käyn läpi (1) käännösprojektin aloittamisen vaikutukset, (2) työnkierron suhteen käännöspyyntöihin, (3) julkaisujen revisioiden vaikutuksen käännöksiin, ja (4) osittaiskäännöksien tämänhetkisen tilan.
Käännösprojektien Aloittaminen

Ensimmäinen käännösprojekteja koskeva sääntö on:
Älä aloita käännösprojekteja ennen kuin kaikki käännettävä sisältö on katselmoitu osana julkaisua ja hyväksytty!
Syy tälle on perimmiltään hyvin yksinkertainen: jos sisältöihin täytyy tehdä jälkikäteen minkäänlaisia korjauksia tai muutoksia, täytyy ne tehdä erikseen myös jokaiseen käännösversioon. Tämä sisältää tagit, elementtiluokat, linkkien ja liitetiedostojen viitteet, taulukoiden sarakkeiden leveyden, ja niin edelleen.
Mitä useammalle kielelle käännöksiä tarvitaan, sitä tarkemmin ne tulee käydä läpi ennen käännökseen lähettämistä.
Vain itse otsikkosisällön tageja on edes periaatteessa mahdollista hallinnoida jälkikäteen tavalla, joka periyttäisi ne ilman uutta käännöskierrosta. Tämä on suunniteltu toiminto, mutta sitä ei ole vielä toteutettu.
Käännösprojektit
Kun Käännä-valikossa napsautetaan Käännä-painiketta, järjestelmä aloittaa uuden käännösprojektin. Jos uutta käännösprojektia ei halua aloittaa, voi käännöskokonaisuutta katselmoida lataamalla sen Esikatselu-painikkeen avulla.
Kaikki käännösprojektit näkyvät Lokalisaatio-valikossa. Niitä ei voi poistaa. Suunnitteilla on toiminto niiden piilottamiseksi näkymästä. On siis hyvä ajatus olla tekemättä tarpeettomia käännösprojekteja. Niiden kautta on mahdollista pyytää käännöspaketin uudelleenlataamista ja tarkistaa, mitkä käännökset on jo tuotu takaisin järjestelmään.
Sisällön Revisiot
Käännösprojektin aloittaminen siirtää käännökseen mukaan tulevien lähtökielen revisioiden sisällöt kohdekielelle ja asettaa kyseiset kohdekielen revisiot tilaan InTranslation.
Ensimmäistä kertaa sisältökokonaisuutta kyseiselle kielelle käännättäessä tulee siksi valita uuden revision lisääminen. Tämä uusi revisio on kohdekielen revisionumeroltaan sama kuin käännätettävä lähtökielen aktiivinen revisio (esim. 1.03).
Jos kohdekielellä on jo revisio kyseisellä kielellä, on käännös mahdollista tehdä sen päälle. Tällöin aiempi versio siitä korvautuu lähdekielen mukaisella versiolla. Tätä ei siis suositella aiempien käännöksien osalta vaan esimerkiksi pyydettäessä uutta käännöstä ennen edellisen saapumista. Korvattavan revision revisionumero ja tila työnkierrossa näkyvät käännösvalikossa. Jos se on tilassa InTranslation, odottaa se aiempaa käännöstä.
Kun käännökset tuodaan sisään järjestelmään, tämä valinta voidaan toistaa: voit joko lisätä uuden revision käännöksen sisällöillä tai korvata senhetkisen aktiivisen revision sisällöt. Jos kyseinen revisio on tilassa InTranslation, on se parasta korvata, koska se on oletusarvoisesti lähtökielen mukainen väliaikainen versio.
Olennaista tältä osin on muistaa, (1) että käännösprojektin aloittamisen yhteydessä määritetty revisio on lähtökielen mukainen ja (2) että käännöksen tuominen voi vaatia eri valintaa kuin sen lähettäminen. Järjestelmä ehdottaa näitä valintoja oletusarvoina tällä perusteella.
Käännökset ja Työnkierto
Käännöksien hallinnalla on läheinen suhde työnkierron asianmukaiseen käyttöön.
Tämän tulisi olla selvää jo myös yllä annetun säännön perusteella.
Sisällön Hyväksyminen
Kaikkein olennaisinta on edelleen, että käännökseen lähetettävät sisällöt on katselmoitu ja hyväksytty ensin. Sille on tosin myös muita syitä kuin että virheiden korjaaminen on moninkertaisesti vaikeampaa ja työläämpää käännöksien hankkimisen jälkeen.
Kun sisällön revisiosta on tehty aiemmin käännöspyyntö, uudet käännöspyynnöt samasta revisiosta samalle kohdekielelle vaihtavat oletustoiminnoksi kyseisen sisällön jättämisen pois käännösprojektista.
Tämä tarkoittaa, että jälkikäteen tehdyt muutokset samaan revisioon ja uuden käännöksen pyytäminen siitä voivat johtaa sisällön epähuomiossa pois uudesta käännöksestä jäämiseen.
Tämä oletusvalinta välttää jo käännetyn sisällön tarpeettoman uudelleenkäännättämisen.
Kaikilta näiltä ongelmilta vältytään laittamalla käännökseen lähetettävät sisällöt ensin tilaan Approved.
Approved-tila estää sisällön muokkaamisen. Jos siis Approved-tilassa olevaan sisältöön täytyy tehdä muutos, täytyy kyseisestä sisällöstä tehdä uusi revisio. Tällöin kyseinen revisio sisältyy jälleen käännösprojekteihin, jos sitä ei päätetä jättää niiden ulkopuolelle. Näin muutokset saadaan siirtymään eri kieliin uusien käännöksien myötä.
Käännöksien Työnkierto
Kuten yllä mainittiin, kohdekielen käännöksiin käytetyt revisiot menevät tilaan InTranslation. Ne varataan sille käyttäjälle, joka on nimetty Käännä-valikossa. Kun käännökset tuodaan järjestelmään, nämä revisiot siirtyvät automaattisesti tilaan Approval, jossa niitä voi katselmoida.
Tämä kohdekielen revisioiden varaaminen tarkoittaa, että muut käyttäjät eivät voi tehdä muutoksia kohdekielen revisioihin. Näin vältytään siltä, että tällaiset muokkaukset korvattaisiin, kun käännökset tuodaan järjestelmään.
Kun kohdekielen revisiot on kuitenkin varattu kyseiselle käyttäjälle, myös käännöksien tuomisen yhteydessä vain hän voi korvata kyseisten revisioiden sisällön käännöksellä. Tähän liittyy niiden sisällön muokkaaminen. Muiden täytyy lisätä käännöstä varten uusi revisio. Tämä tulee siis huomioida, kun käännöspyyntö tehdään. Olemme suunnitelleet myös mahdollisuutta olla varaamatta kohdekielen revisioita kenellekään osana käännöspyyntöä.
Kun käännökset tuodaan järjestelmään, vaihtuu tila InTranslation tilaan Approval. Tällöin kyseiset sisällöt ovat katselmoitavissa Katselmointi-valikossa. Käännökset on tärkeää katselmoida varsinkin osana julkaisua, ja myös näiden sisältäjen sivukohtainen asettuminen on syytä tarkistaa lataamalla käännetty julkaisu. Katselmointinäkymä ei itsessään paljasta sivukohtaista asettumista.
Syitä katselmoida käännökset on useampia. Ensinnäkin kääntäjät voivat tehdä erinäisiä virheitä, jotka myös kieltä osaamaton voi tunnistaa. Jos esimerkiksi on sovittu jonkin tietyn sanan käytöstä, voi tarkistaa, onko ennalta tiedettyä väärää vaihtoehtoa käytetty paikoittain. Toisekseen alkuperäiskielellä voi olla käytetty sivunhallinnan tai taulukoiden hallinnan toimintoja, jotka rikkovat kohdekielisen julkaisun asettelun kielten välisten erojen vuoksi. Pakotetut sivunvaihdot ja sarakkeiden leveyden automatisoitu laskeminen ovat erityisen alttiita tällaisille ongelmille. Kolmas syy liittyy kahteen edelliseen. Myös käännökset halutaan hyväksyttää niiden seurannan helpottamiseksi. Tämän tekemiseen käytetään Approved-tilaa, joka lukitsee ne yllä kuvattuun tapaan. Ennen sisällön lukitsemista täytyy tietenkin varmistaa, että se ei vaadi ainakaan mitään ilmeisiä muutoksia.
Julkaisujen Revisiot ja Käännökset
Yleensä käännöspyynnöt on parasta lähettää Julkaisut-valikon kautta. Tällöin ne kytkeytyvät valittuihin julkaisujen revisioihin. Pelkästään käyttöliittymän perusteella ei kuitenkaan ole täysin ilmeistä, millaisia muutoksia eri valintoihin osana tätä prosessia oikein liittyy se eri vaiheissa.
Uusi Julkaisun Revisio

Myös julkaisuilla on oma työnkiertonsa ja niiden sisältö on mahdollista lukita asettamalla ne joko tilaan Approval tai tilaan Approved. Julkaisujen sisältöjen lukitseminen on tärkeä keino varmistaa, että myöhemmin toimitettavat kopiot samoista julkaisuista pysyvät täsmälleen alkuperäisiä vastaavina. Se kuitenkin tarkoittaa, että päivityksiä niiden sisältöihin varten täytyy julkaisuihin ensin lisätä uusia revisioita.
Alla on tiivistetty selostus siitä, kuinka julkaisujen revisioiden lisääminen toimii. Tämän jälkeen käyn läpi tämän toimintatavan vaikutuksia.
Kun julkaisuun lisätään uusi revisio, se lisätään samanaikaisesti kaikille kielille. Kaikkien kielien uusi revisio perustuu sen kielen edeltävän revision tilaan.
Ensinnäkin tämä tietenkin tarkoittaa, että käyttäjät tietävät, mistä revisiosta on kyse kielten välillä. Kaikissa käytetään samoja revisiotunnisteita toisin kuin varsinaisten sisältöjen kohdalla.
Tärkeämpää on kuitenkin, kuinka kielikohtaiset revisiot perustuvat saman kielen edeltävään revisioon.
Tällainen periyttäminen siirtää aiemmat, sisällön lukitsemista edeltävät valinnat uuteen revisioon.
Käyttäjien kannalta tärkein näistä valinnoista on, josko aiemmassa revisiossa on lukittu käyttöön tiettyjä kyseisen kielen sisällön revisioita.
Jos julkaisun edeltävän revision käyttöön on lukittu tiettyjä sisällön revisioita, ne pysyvät lukittuina käyttöön kyseisen kielen seuraavassa revisiossa.
Käännöksissä käyttöön lukitut revisiot ovat osa järjestelmän vakiokäytöstä. Jos tältä halutaan välttyä, täytyy käyttäjien siis erikseen huomioida tämä seikka.
Sisältöjen Lukitseminen ja Käännöspyynnöt

Kun julkaisujen revisioista lähetetään käännöspyyntöjä, on mahdollista ottaa käyttöön valinta ’Valitse kohde revisiot julkaisulle’. (Tätä nimeä ollaan muuttamassa välitysvirheen lisäksi kyseisen valinnan vaikutuksen selventämiseksi.) Sama valinta on toistettavissa, kun käännetyt sisällöt tuodaan takaisin järjestelmään.
Kyseinen valinta on oletusarvoisesti käytössä, kun käännöspyyntö tehdään julkaisun revision perusteella ja kun käännetyt sisällöt tuodaan järjestelmään. Jos sitä ei haluta käyttää, täytyy se ottaa pois käytöstä itse.
Käännöspyyntöä lähetettäessä kyseinen valinta lukitsee kohdekielen julkaisun käyttöön käännöstä pyydettäessä tilaan InTranslation asetettavat sisällön revisiot.
Kohdekielen sisällön revisioiden lukitseminen tähän tapaan varmistaa, että kohdekielen julkaisun revisio päivittyy sisällöltään lähdekielen uusimman revision käännöksen mukaiseksi, kun käännökset tuodaan takaisin järjestelmään. Näin sen käyttöön lukitut sisällön revisiot saadaan kerralla päivittymään ajantasaisiksi.
Toisaalta tämä tarkoittaa, että kohdekielen julkaisun revisiossa lukitaan käyttöön tietyt sisällön revisiot. Kun kyseiseen julkaisuun lisätään jälleen uusi revisio, käyttää kohdekielen julkaisu yllä mainittuun tapaan oletussisältöinään näitä edellisen revision käyttöön lukittuja sisällön revisioita.
Lisäksi tämä toiminto vaikuttaa vain käännöspakettiin tuleviin sisältöihin. Jos mitään sisältöjä jätetään pois käännöspaketista esimerkiksi siksi, että kyseisiin sisältöihin ei ole lisätty uutta revisiota edellisen käännöspyynnön jälkeen, jää niiden osalta voimaan käännöskielen julkaisun revision aiempi valinta. Jos se on siis jokin jo käyttöön lukittu revisio, ei se päivity itsekseen myöhemmin tehtävän päivityksen sen käännökseen mukaiseksi.
Käännöspakettia tuotaessa kyseinen valinta lukitsee kohdekielen julkaisun käyttöön sisällön revisiot, joihin käännöspaketin sisällöt lisätään.
Tällä tavoin varmistetaan, että lopullisessa kohdekielen julkaisun revisiossa olisivat käytössä oikeat sisällön revisiot. Jos esimerkiksi käännöspakettia järjestelmään tuotaessa osasta sisällöistä pyydetään uusia revisioita, ei kääntöön lähetettäessä tehty lukitus voisi huomioida tätä.
Käytännössä tämä tarkoittaa, että mikäli käännösjulkaisujen revisioiden sisältöjen revisioiden halutaan päivittyvän itsekseen uusimpiin kyseisen kielen revisioihin Oletus-valinnan mukaisesti, täytyy se ottaa käyttöön edeltävässä revisiossa. Tämän jälkeen täytyy välttää sisältöjen lukitsemista käännöspyyntöjen lähettämisen ja käännöspaketit järjestelmään tuomisen yhteydessä.
Osittaiskäännökset ja Tunnisteiden Lisääminen
Osittaiskäännökset ja niihin liittyvä elementtien tunnistearvojen massalisääminen olivat uusi lisäys DoX CMS:ään 2021 alkuvuoden päivityksessä.
Osittaiskäännökset
Alustavan toteutuksen yhteydessä havaittiin vielä aiemmin ongelmia, joista suurin osa on nyt ratkottu ja otetaan kaikkien käyttöön viimeistään seuraavan päivityksen yhteydessä (2021 loppuvuoden päivitys). Tätä ennen emme suosittele niiden käyttöä. Ongelmien korjaamisen lisäksi myös jatkokehitystä on harkittu toiminnon käytettävyyden parantamiseksi esimerkiksi sallimalla myös XLIFF-käännösformaatti.
Osittaiskäännöksien (seuraavassa päivityksessä ’tagikohtaiset käännökset’) perusperiaate on, että käännöspakettiin saa otettua myös otsikkosisältöjen sisältä vain haluttuihin tageihin liittyvät sisällöt. Näin voidaan säästää käännöskustannuksissa, jos kukin otsikkosisältö sisältää valtavasti ehdollistettua sisältöä, josta vain osa täytyy kääntää tietyille kielille.
Osittaiskäännöksien pyytäminen vaatii, että kaikilla siihen soveltuvilla lähtösisällön elementeillä on ID-arvo. Näin ne voidaan käännöstä tuotaessa asetella asianmukaisesti suhteessa toisiinsa.
Alla kuvattu ID-arvot kaikille valittujen otsikkosisältöjen elementeille lisäävä toiminto lisättiin yllä mainitun ehdon täyttämisen helpottamiseksi.
Tapa, jolla osittaiskäännöksien tuonti koodattiin, ei kuitenkaan salli esimerkiksi (toistaiseksi) yhdistää käännöksiä, kun loppuosa sisällöistä käännetään myöhemmin, vaikka tämä oli ID-arvojen vaatimisen tarkoitus. Isoin syy tälle ovat tekstinsisäiset elementit kuten fraasit, kuvaliitteet ja linkit, joille voidaan antaa tageja muttei ID-arvoja. Niiden osalta on löydetty muita ratkaisuja, jotka kuitenkin ovat vain toistaiseksi voimassa olevia.
Tästä syystä osittaiskäännökset tulee tuoda järjestelmään erillisinä revisioina, jotka lukitaan asianmukaisten julkaisujen käyttöön. Vaade ID-arvojen käyttämiselle säilytetään, koska tällä tavoin on mahdollista myöhemmin kehittää keino sisältöjen yhdistämiseksi käyttämällä niiltä jo löytyviä tunnisteita hyväksi.
ID-Arvot Kaikille Elementeille
Toiminto ’Luo ID:t’ (seuraavassa päivityksessä ’Lisää tunniste joka elementille’) lisättiin DoX CMS:ään osittaiskäännöksien tueksi. Sitä voi kuitenkin käyttää myös laajemmin esimerkiksi nopeaan ID-arvojen lisäämiseen ennalta valmisteltuihin conref-sisältöihin.
Aiemmin tämän toiminnon osalta huomattiin bugi, missä se lisäsi ID-arvoja piilossa myös elementeille, jotka eivät tue niitä. Ilmeisesti koodari oli luottanut editorin tallennustoiminnon sisäänrakennettuun tarkistukseen ongelmien välttämiseksi. Tästä syystä sitä ei huomattu myöskään alustavissa kokeiluissa. Jos toimintoa kuitenkin käytetään pääotsikkopuun eikä tekstieditorin kautta, kyseinen tarkistus ohitetaan. Tällöin esimerkiksi kyseisen sisällön sisältämät linkit eivät toimi, kunnes se avataan editorissa ja tallennetaan uudelleen sitä kautta.
Kyseiset ongelmat on nyt korjattu seuraavaan päivitykseen. Siihen asti on kuitenkin syytä olla hyvin varovainen kyseinen toiminnon osalta.
Yhteenveto
Käännöksien toteutus on seikka, jota ei välttämättä tule suunniteltua ennakkoon järjestelmän toiminnot siltä osin huomioiden. Toivon mukaan tämä artikkeli tarjoaa puitteet suunnitella ennalta, kuinka käännökset halutaan toteuttaa.
On tärkeää aloittaa käännösprojektit vasta, kun lähtökielen sisältö on katselmoitu ja hyväksytetty. Näin vähennetään huomattavasti riskiä, että käännöksiin tarvitsee lisätä mitään jälkikäteen tehtyjä korjauksia. Samalla varmistetaan, että myöhemmät muutokset sisältöön tulevat mukaan myöhempiin käännösprojekteihin.
Kun julkaisuihin lisätään uusia revisioita, ne lisätään samanaikaisesti kaikille kielille. Tämä uusi revisio perii jokaisella kielellä sen kielen edellisen revision valinnat. Jos käännöksiin on siis lukittu käyttöön tiettyjä sisällön revisioita osana käännöspakettien lähettämistä tai järjestelmään tuomista, täytyy se huomioida tältä osin.
Osittaiskäännöksien toteutus vaatii vielä lisätyötä. Jos niitä tarvitsee väistämättä ottaa, voi niin tehdä ainakin seuraavan päivityksen jälkeen. Tällöin tärkeintä on huomioda, kuinka samasta sisällöstä erikseen käännätetyt versiot tulee kuitenkin tallentaa ja sitten lukita käyttöön erillisinä revisioina. Niitä ei saa ainakaan toistaiseksi yhdistettyä keskenään.