Versionhallinnalla tarkoitetaan prosessia, jossa tiedostoversioita tallennetaan ohjelmistokehityksen lomassa, jotta aiemmat versiot ovat helposti saatavilla mahdollisten ongelmien varalta. Ohjelmistoalalla ehdottomasti suosituin versionhallintajärjestelmä on Git, jonka on alun alkujaan kehittänyt muuan Linuxistakin tuttu Linus Torvalds. Lähdekoodia ja tietovarastoja (repository) hallinnoidaan usein isännöintipalveluissa, joita ovat esimerkiksi GitHub, Bitbucket ja GitLab.
Monikielisten tiedostoversioiden hallintaa helpottamaan on olemassa omia Git-työkaluja. Delinguankin käännöspalvelimelle on mahdollista luoda kaikista kolmesta edellä mainitusta isännöintipalvelusta suora linkki, joka mahdollistaa käännettävien tiedostojen siirtämisen molempiin suuntiin täysin automatisoidusti. Voit siis sanoa hyvästit tiedostopakettien lähettelemiselle sähköpostitse ja lukea tästä, mitä linkin luominen edellyttää ja mitä se mahdollistaa.
Miten linkki luodaan ja mitä oikeuksia se vaatii?
Käännöslinkki toimii GitHubissa ja GitLabissa PAT-tunnuksen (personal access token) kautta, kun taas Bitbucketissa se toimii erillisen salasanan (app password) kautta. Sitä varten ei siis tarvitse asentaa mitään ylimääräistä, vaan yhteydessä hyödynnetään palveluiden valmiita ominaisuuksia. Näin myös yhteyden luominen (ja sulkeminen) onnistuu helposti käytännössä koska tahansa. Oikeuksien puolesta linkki edellyttää ainoastaan tietovaraston luku- ja kirjoitusoikeutta.
Miten linkki toimii käytännössä ja voiko se hävittää jotain tietoa?
Käännöslinkissä on käytännössä kaksi vaihetta: Se 1) lataa käännettävät (ts. lähtökieliset) tiedostot meille ja 2) valmiit käännökset takaisin erillisinä tiedostoina. Käännöslinkki ei siis koskaan kirjoita käännettäväksi menevien tiedostojen päälle. Sen sijaan kohdekieliset, käännetyt tiedostot linkki korvaa joka kerta uusilla versioilla, kun niitä ladataan vaiheessa 2 takaisin paikalleen.
Tässä yksinkertainen käytännön esimerkki:
- Tietovarastossa on suomenkielinen alkuperäisteksti ”esimerkki.json” ja englanninkielinen käännöstiedosto ”esimerkki-en.json”
- Suomenkieliseen json-tiedostoon tulee päivityksiä, jotka halutaan myös englanninkieliseen tiedostoon.
- Lataamme käännöslinkin kautta muuttuneen suomenkielisen tiedoston, ja ammattikääntäjä kääntää sen normaalin laatuprosessimme mukaisesti.
- Kun käännös on valmis, käännöslinkkimme lähettää käännetyn tiedoston tietovarastoon ja samalla korvaa aiemman englanninkielisen json-tiedoston.
- Lopputuloksena tietovarastossa on uusin suomenkielinen ”esimerkki.json” ja päivitetty englanninkielinen ”esimerkki-en.json”.
Prosessi pysyy käytännössä samana, vaikka käännöskieliä olisi esimerkiksi 10 ja lähtökielisiä tiedostoja 200 polveilevassa kansiorakenteessa.
Mille tasolle käännökset latautuvat ja millaisilla kielikoodeilla?
Käännöslinkkiä voidaan helposti mukauttaa sen mukaan, mille tasolle käännöstiedostot hakemistossa halutaan. Niiden lataaminen onnistuu esimerkiksi aina kunkin lähtökielisen tiedoston viereen tai vaikka koko kansiorakenteen ylätasolle erilliseen kielikansioon, joka peilaa alkuperäistä kansiorakennetta.
Käännöstiedostoihin voidaan liittää yleisimmät kielikoodit (esim. ”en”, ”en-us”) esimerkiksi väli- tai alaviivalla varustettuna. Ne voidaan myös jättää ilmankin kielikoodia, jos käytössä on esimerkiksi erillisiä kielikohtaisia kansioita.
Kuvaa meille käyttökontekstiasi, niin voimme miettiä tapaukseesi parhaiten soveltuvan ratkaisun!
Pitääkö muokatut tai uudet tiedostot siirtää erikseen käännettäväksi?
Ei tarvitse. Riittää, että tiedostot ovat yhdessä määritellyssä sijainnissa ja formaatissa ja meillä on tieto uusista käännöstiedostoista.
Voiko käännöskierroksille sopia säännöllisen aikataulun?
Voimme esimerkiksi määritellä säännöllisenä toistuvan syklin, jossa uudet versiot haetaan käännettäväksi joka viikon tai kuun x. päivänä ja palautetaan sovitun ajan päästä. Toinen vaihtoehto on, että saamme aina erillisen kuittauksen esimerkiksi sähköpostitse, kun uutta käännettävää on sopivaksi katsottu määrä.
Lataako linkki aina kaikki tiedostot?
Voimme määritellä linkkiin kielikohtaisesti ehtoja esimerkiksi tiedoston tunnisteen, nimen tai sijainnin mukaan. Jos haluat siis kääntää joka kerta esimerkiksi ainoastaan resx-tiedostot etkä json-tiedostoja, se onnistuu oikein hyvin. Linkki lataa kaikki määriteltyjen kriteerien mukaiset tiedostot riippumatta siitä, onko niihin tullut muutoksia.
Maksanko ylimääräistä, jos isoon resurssitiedostoon tulee joka kerta vain pieniä muutoksia tai osa tiedostoista pysyy identtisinä?
Et. Käännösmuistiohjelmamme tunnistaa teksteistä automaattisesti muuttuneet kohdat ja hakee identtisinä pysyneille kohdille suoraan aiemmat käännökset, mikä huomioidaan myös hinnoittelussa. Käännösmuistiohjelma varmistaa myös sen, että jo tehdyt käännökset pysyvät jokaisen käännöskierroksen kohdalla identtisinä.
Mikään ei tietysti estä sitä, että tietovarastossa olisikin aina ainoastaan uusimmat käännösstringit sisältävät tiedostot, jotka myös käännettäisiin tässä suppeammassa muodossa. Tällöin niiden pitää vain yhtä lailla olla aina sovitussa sijainnissa ja muodossa.
Pysyyhän koodini varmasti ehjänä?
Pysyy. Käännämme koko ajan kaikkia yleisimpiä koodiformaatteja muuttujineen, ja käännöstyökalua käyttävä kääntäjämme pääsee käsiksi ainoastaan tiedostojen varsinaiseen tekstiosuuteen. Hän ei siis vahingossakaan voi rikkoa koodin rakenteellisia osuuksia tai muuttaa esimerkiksi stringien tunnisteita.
Lue lisää ohjelmistojen lokalisoinnista Delinguassa ja ohjelmistoalan referensseistämme.
Kiinnostuitko Git-käännöslinkistä tai haluatko keskustella tilanteestasi tarkemmin? Jätä meille yhteydenottopyyntö, autamme mielellämme!