XLIFF formatas

XLIFF formatas

Jei kada nors teko siųsti dokumentą vertimo biurui arba naudotis kokia nors CAT programa – Trados, memoQ, Smartcat ar panašiai – greičiausiai jau susidūrei su failu, kurio plėtinys yra .xliff arba .xlf. Iš pirmo žvilgsnio atrodo kaip dar vienas techninis formatas, apie kurį nereikia per daug galvoti. Bet tiesą sakant, būtent šis formatas šiandien laiko ant savo pečių didžiąją dalį profesionalios vertimo industrijos infrastruktūros. Be jo automatinio vertimo įrankiai, terminų bazės ir vertimo atminties sistemos tiesiog neveiktų taip sklandžiai, kaip veikia dabar.

Šiame straipsnyje pasižiūrėsime, kas iš tikrųjų slepiasi po XLIFF pavadinimu, kodėl jis tapo tokiu populiariu tarp lokalizacijos specialistų ir kokių niuansų verta žinoti, jei nori su juo dirbti be galvos skausmo.

Kas yra XLIFF ir iš kur jis atsirado

XLIFF – tai santrumpa nuo XML Localization Interchange File Format. Pavadinimas ilgas, bet idėja paprasta: sukurti vieną bendrą standartą, kuriuo galėtų keistis skirtingos vertimo programos, nesvarbu, kokia sistema naudojama vienoje ar kitoje kompanijoje. Formatas atsirado dar praėjusio amžiaus paskutiniame dešimtmetyje, kai lokalizacijos rinka pradėjo augti tokiu greičiu, kad kiekviena programinė įranga turėjo savo formatą ir failai tiesiog nesusišnekėdavo tarpusavyje.

Įsivaizduok situaciją – vertimo biuras naudoja vieną programą, klientas turi savo sistemą, o po metų viskas persikelia į trečią platformą. Be bendro standarto kiekvienas toks perėjimas reikštų valandas rankinio darbo ir prarastą vertimo atmintį. XLIFF šią problemą išsprendė – jis tapo tarsi universaliu vertėju tarp pačių vertimo įrankių.

Standartą prižiūri OASIS organizacija, ir būtent dėl to jis nėra vienos kompanijos nuosavybė – juo gali laisvai naudotis bet kas, kuriant tiek atviro kodo, tiek komercinius sprendimus.

Kaip atrodo XLIFF failo viduje

Techniškai XLIFF yra XML failas, tad jei kada nors atsidarei jį paprastu tekstų redaktoriumi, pastebėjai daugybę kampuotų skliaustelių ir žymų. Tai gali atrodyti bauginančiai, tačiau logika už to visai suprantama.

Pagrindinis elementas – tai <trans-unit> arba naujesnėse versijose <unit>, kuris apjungia originalų tekstą (source) ir jo vertimą (target). Be paties teksto, faile paprastai laikoma:

  • konteksto informacija – kur tiksliai tekstas naudojamas programoje ar svetainėje;
  • komentarai vertėjams – paaiškinimai, ką reiškia sutrumpinimai ar kintamieji;
  • būsenos žymos – ar segmentas jau išverstas, patikrintas ar dar laukia darbo;
  • metaduomenys apie failo kilmę – iš kokios sistemos jis buvo eksportuotas.

Tokia struktūra leidžia atskirti tekstą nuo formatavimo. Vertėjas mato tik tai, ką reikia versti, o programinis kodas, HTML žymos ar dizaino elementai lieka nepaliesti. Būtent tai apsaugo nuo situacijos, kai po vertimo svetainė staiga „sulūžta“, nes kažkas netyčia ištrynė svarbią kodo dalį.

Kodėl visa lokalizacijos industrija priprato prie šio formato

Yra kelios priežastys, kodėl XLIFF tapo tokia natūralia pasirinktimi.

Pirma, jis leidžia atskirti turinio kūrimą nuo vertimo proceso. Programuotojai ar turinio kūrėjai gali dirbti savo sistemoje – ar tai būtų svetainės valdymo platforma, ar mobiliosios aplikacijos kodas – ir eksportuoti tik tekstą, kurį reikia išversti, visiškai neįtraukdami vertėjų į techninę pusę.

Antra, formatas puikiai bendradarbiauja su vertimo atminties technologija. Kadangi kiekvienas segmentas aiškiai atskirtas, sistema gali lengvai palyginti naują tekstą su jau anksčiau išverstais sakiniais ir pasiūlyti atitikmenis. Būtent todėl, kai naudojiesi kokiu nors automatinio vertimo įrankiu integruotu su CAT sistema, procesas vyksta greičiau – programai nereikia „spėlioti“, kur prasideda ir baigiasi vienas sakinys.

Trečia – suderinamumas. Beveik visos rimtos vertimo platformos šiandien palaiko XLIFF importą ir eksportą. Tai reiškia, kad vertėjas gali gauti failą iš vienos sistemos, dirbti su juo visai kitoje programoje ir grąžinti rezultatą atgal be jokių papildomų konversijų.

1.2 versija prieš 2.0 – kodėl tai svarbu žinoti

Čia prasideda dalykas, kuris kartais suklaidina net patyrusius vertėjus. Egzistuoja kelios XLIFF versijos, ir jos nėra visiškai suderinamos tarpusavyje.

Versija 1.2 yra vis dar plačiausiai naudojama, nepaisant to, kad jau seniai išleista naujesnė 2.0 versija. Priežastis paprasta – dauguma esamų įrankių buvo sukurti aplink 1.2 struktūrą, ir pereiti prie naujos versijos reikštų perrašyti nemažai vidinės logikos. Todėl daugelis kompanijų tiesiog liko prie senesnio, bet patikimo varianto.

XLIFF 2.0 pasiūlė aiškesnę, modulinę struktūrą ir geriau apibrėžtas taisykles, kaip turėtų būti tvarkomi sudėtingesni atvejai – pavyzdžiui, tekstas su įterptomis nuorodomis ar sudėtingu formatavimu. Tačiau kadangi ne visos programos tai palaiko vienodai, praktikoje dažnai tenka patikrinti, kokią versiją konkrečiai palaiko tavo naudojama sistema, prieš importuojant failą.

Jei kada gauni XLIFF failą ir jis neatsidaro taip, kaip tikėjaisi, pirmiausia patikrink versijos numerį – jis paprastai nurodytas failo pradžioje, prie version atributo. Tai išgelbėja daug laiko, kai bandai suprasti, kodėl programa rodo klaidą.

Dažniausios problemos, su kuriomis susiduriama praktikoje

Nors formatas sukurtas tam, kad viskas veiktų sklandžiai, realybėje pasitaiko keblumų.

Viena dažniausių problemų – neteisingas kintamųjų ar žymų tvarkymas. Kai tekste yra vietos kintamiesiems (pavyzdžiui, {name} arba %s), o vertėjas dirba su programa, kuri nepakankamai gerai apsaugo šiuos elementus, gali nutikti taip, kad kintamasis būna netyčia ištrintas arba pakeistas. Rezultatas – programinė klaida, kuri paaiškėja tik testavimo etape.

Kita problema – simbolių koduotė. Nors XLIFF standartiškai naudoja UTF-8, kartais senesnės sistemos eksportuoja failus su kitokia koduote, ir tada lietuviškos raidės su nosinėmis ar kirčiais staiga virsta keistais simboliais. Sprendimas – visada patikrinti failo koduotę prieš importuojant jį į vertimo įrankį.

Taip pat pasitaiko atvejų, kai skirtingos sistemos skirtingai interpretuoja segmentavimo taisykles – vienas įrankis padalina tekstą į sakinius vienaip, kitas – kitaip. Tai gali sukelti painiavą, kai bandoma sulyginti versijas ar naudoti seną vertimo atmintį naujame projekte.

Praktiniai patarimai dirbantiems su XLIFF failais

Jei tau tenka reguliariai dirbti su tokiais failais, štai keletas dalykų, kurie tikrai palengvina gyvenimą:

  • Visada peržiūrėk failą prieš pradedant vertimą. Atidaryk jį CAT įrankyje ir patikrink, ar tekstas segmentuotas logiškai, ar nėra sulaužytų žymų.
  • Nenaudok paprasto teksto redaktoriaus rimtam redagavimui. Nors technikai smalsu pažiūrėti į XML kodą, rankinis redagavimas be tinkamo įrankio labai lengvai gali sugadinti struktūrą.
  • Saugok atsargines kopijas prieš eksportuojant. Kartais po eksporto atgal į originalią sistemą paaiškėja, kad kažkas negerai – turint atsarginę kopiją, galima greitai grįžti atgal.
  • Pasitikrink, kokią versiją palaiko gavėjo sistema. Jei siunti failą klientui ar kitam vertėjui, geriau iš anksto suderinti, kad abi pusės naudoja suderinamą XLIFF versiją.
  • Neignoruok komentarų ir konteksto laukų. Dažnai ten paslėpta svarbi informacija, kuri padeda suprasti, kaip tiksliai tekstas bus naudojamas – tai ypač aktualu verčiant sąsajos elementus, mygtukus ar trumpus pranešimus, kur be konteksto lengva suklysti.

Ką visa tai reiškia kasdieniam vertimo darbui

Grįžtant prie pradžios – kodėl apskritai verta suprasti, kas yra XLIFF, jei nedirbi programuotoju ar lokalizacijos inžinieriumi? Atsakymas paprastas: šis formatas veikia kaip nematomas tiltas tarp skirtingų sistemų, ir kuo geriau supranti, kaip jis veikia, tuo mažiau netikėtumų sulauksi savo darbe.

Vertėjams tai reiškia galimybę lengviau pereiti tarp skirtingų klientų sistemų, nesukant galvos, kaip prisitaikyti prie kiekvienos naujos platformos iš nulio. Kompanijoms, tvarkančioms lokalizacijos procesus, XLIFF suteikia lankstumą – galima keisti vertimo teikėjus ar įrankius, nesugriaunant visos anksčiau sukauptos vertimo atminties ir terminologijos.

Automatinio vertimo sistemoms šis formatas taip pat tampa vis svarbesnis, nes leidžia integruoti mašininio vertimo pasiūlymus tiesiai į darbo eigą, neprarandant konteksto ar struktūros. Kai sistema gauna gerai suformuotą XLIFF failą su aiškiais segmentais ir metaduomenimis, ji gali pasiūlyti tikslesnį vertimą, atsižvelgdama į tai, kur konkrečiai tekstas bus rodomas – ar tai bus mygtuko užrašas, ar ilgas pastraipos tekstas.

Tad kitą kartą, kai matysi .xliff failą savo darbastalyje, jau žinosi, kad tai ne tik dar vienas techninis formatas, o gana elegantiškas sprendimas problemai, kuri kadaise kėlė galvos skausmą visai vertimo industrijai. Suprasti jo logiką – tai investicija, kuri atsiperka kiekvieną kartą, kai reikia dirbti greitai, tiksliai ir be nereikalingų techninių kliūčių.