KDE Localization/fi/po-tiedostot

From KDE Community Wiki

Suurin osa KDE:n suomennoksista tehdään po-tiedostoihin, tietynmuotoisiin tekstitiedostoihin. Näin esimerkiksi suomennetaan ohjelmien käyttöliittymät, suuri osa niiden käyttöohjeista sekä muutamat verkkosivut ja julkaisutiedotteet. Tälle sivulle on koottu kaikenlaista tietoa, joka liittyy juuri po-tiedostojen kautta suomennettaviin teksteihin.

Useimpien suomentajien ei tarvitse ymmärtää kaikkea tällä sivulla mainittua. Esimerkiksi käännösten skriptauksen voi jättää vapaasti lukematta.

Ohjelmien kääntäminen

Yleistä

KDE:n ohjelmien kääntäminen jakautuu kahteen osaan, käyttöliittymään ja dokumentaatioon. Dokumentaatiota (käytännössä ohjelmien ohjekirjoja) ei ole käännetty kovin paljon, mutta käyttöliittymän kääntäminen puolestaan on ihan hyvällä mallilla, noin 80 % kaikista viesteistä (summitissa; summitin selitys alempana) on suomennettu. Työtä on kuitenkin vielä erittäin paljon jäljellä. Vaikka KDE:tä on prosentuaalisesti käännetty paljon, vaativat nykyisetkin käännökset oikolukua ja termien yhtenäistämistä.

Uudet kääntäjät ovat aina tervetulleita!

Käännettävät tiedostot ovat po-päätteisiä UTF8-tekstitiedostoja (Portable Object), joiden kääntämiseen on suunniteltu erityisiä ohjelmia, kuten Lokalize (suositellaan, koska siinä on paras tuki KDE:n kääntämiseen), GTranslator ja Poedit. Periaatteessa tiedostoja voi kääntää millä tahansa UTF-8-tekstieditorilla, joskaan sitä ei voi suositella. Käännettäviä tiedostoja voit selata esimerkiksi selaimella.

Julkaisut ja niiden aikataulut

Uusia KDE Software Collectionin (kde-alkuiset kansiot) versioita julkaistaan noin kuukauden välein. Muiden ohjelmien julkaisuajat vaihtelevat. Kun versio julkaistaan, kaikki tiedostot paketoidaan, eikä niitä enää päivitetä. Tämä koskee myös käännöksiä. Käännöstyötä tehdään siis aina tulevia versioita varten. KDE:n käännöstyötä tehdään summitissa, jossa voi kääntää samanaikaisesti sekä vakaita versioita (stable) että kehitysversioita (trunk).

Käännösympäristö

Vaikka käyttöliittymän ja ohjeiden tekstejä voi teknisesti kääntää missä tahansa ympäristössä, on tärkeää, että versiosi vastaa käännöstiedostojen versiota. Tällöin näet mihin käännöksesi sijoittuvat sovellusten käyttöliittymässä. Erilaisten kirjastotiedostojen käännöksien sijoittumista on kuitenkin vaikea suoraan nähdä mistään ohjelmasta, joten niitä pitää osin kääntää "sokkona".

Riittävän uusi versio tarkoittaa korkeintaan muutamia viikkoja vanhaa kehitysversiota. Kyseessä on kuitenkin vain suositus eikä uuden version asentamisesta kannata pitää esteenä suomentamiselle. Neon Unstable Edition tarjoaa tähän keinon, joka ei vaadi asentamista lähdekoodista. Vaihtoehtoisesti voit myös asentaa KDE:n lähdekoodista esimerkiksi parin viikon välein. TechBasessa on ohjeet lähdekoodista kääntämiseen. Jos tarvitset apua lähdekoodista asentamisessa, ota yhteyttä Lasseen.

Kääntämisprosessi

Päästäksesi alkuun kääntämisessä, ota yhteyttä postituslistalle [email protected] tai tule vierailemaan IRCNetissä kanavalla #lokalisointi. Periaatteessa voit kääntää mitä tahansa tiedostoja, joita löydät suomen summitista. Jos käännöstä ei ole vielä aloitettu, sitä ei ole vielä suomen summitista ja tällöin kääntäminen tarvitsee aloittaa summitissa olevalta pohjalta, joka on summitin templates-kansiossa. Käännöstiedostot kulkevat postituslistan kautta sähköpostilla ja SVN:ään mergeämisen jälkeen web-svn päivittyy noin kahden tunnin sisään ja web-statistiikat noin kahden vuorokauden sisään. Jos alat kääntää jotain suurempaa ohjelmaa, siitä kannattaa ilmoittaa sähköpostilla joko postilistalle (ks. yhteystiedot) tai ohjelman muille kääntäjille sähköpostilla. Tarkempia vinkkejä kääntämiseen löydät sivujemme lisäksi myös KDE:n lokalisointisivuilta, http://l10n.kde.org/.

Kun alat kääntää, on hyvä idea lähettää muutokset osoitteeseen [email protected] muutaman päivän välein. Näin vältät mahdolliset ongelmat, joita voisi syntyä, kun käännettävä tiedosto muuttuu tai kun joku muu muuttaa käännöstä. Käännöksiä versionhallintaan siirtävät kuitenkin yleensä ratkovat nämä ongelmat.

Käännösten hakeminen SVN:stä

Vaikka po-tiedostoja voi selata ja ladata käännettäväksi suoraan selaimella käyttäen websvn:ää, on olemassa tehokkaampikin tapa. Jos aiot tehdä samalla kerralla muutoksia moniin tiedostoihin tai hyödyntää Lokaiizen paikallista käännösmuistia, komentorivi ei pelota ja olet halukas perehtymään SVN:ään, katso Käännösten hakeminen SVN:stä.

Käyttöliittymäviestien suomentamisesta

Viestejä suomennetaan Summitissa. Sen tiedostoissa on sekä stablen että trunkin viestit, ja jokaisesta viestistä näkyy, onko se stablessa vai trunkissa vai molemmissa. Tällä tapaa kahden eri haaran (stable ja trunk) olemassaolosta ei tarvitse murehtia.

Esimerkiksi seuraava on molemmissa:

#. +> trunk stable
#: dolphincontextmenu.cpp:248 dolphinmainwindow.cpp:1492
msgctxt "@title:menu Create new folder, file, link, etc."
msgid "Create New"
msgstr "Luo uusi"

playground-alkuisissa kansioissa on paljon hyvin erilaisia ohjelmia. Siellä on suosittuja ohjelmia, joiden suomennoksia kaivataan, mutta toisaalta myös ohjelmia, joita ei kehitetä aktiivisesti. Jälkimmäisten suomentaminen ei ole yhtä tärkeää, koska uutta julkaisua ei ole näköpiirissä.

Käännöksen testaaminen

Yksittäisen KDE Frameworks 5 -pohjaisen ohjelman käännöstä voi testata näin:

  1. Muunna po-tiedosto binäärimuotoiseksi mo-tiedostoksi. Onnistuu ehkä helpoiten joko graafisesti avaamalla po-tiedosto Poeditissä ja valitsemalla valikosta File | Compile to MO... tai komentorivillä msgfmt:llä.
  2. Kopioi mo-tiedosto kansioon ~/.local/share/locale/fi/LC_MESSAGES. Kansioita locale/fi/LC_MESSAGES ei ole yleensä olemassa; ne pitää luoda. Sen sijaan share pitäisi yleensä olla jo olemassa.
  3. Nyt ohjelman pitäisi käyttää käännöstä ~/.local/share/locale/fi/LC_MESSAGES-kansiosta /usr/share/locale/fi/LC_MESSAGES-kansion version sijaan.


Kdelibs 4 -pohjaiselle ohjelmalle käännös tarvitsee kopioida vastaavasti kansioon ~/.kde/share/locale/fi/LC_MESSAGES. .kde:n tilalla voi olla myös .kde4.

Usean ohjelman käännöksen testaaminen on kätevämpää tehdä asentamalla kaikki käännökset paikallisesti. Katso silloin Käännösten hakeminen SVN:stä.

KDE:n erikoisuuksia

Tässä on KDE:n viesteissä esiintyviä erikoispiirteitä.

Viestissä konteksti "(qtundo-format)"

Viestin voi kääntää joko tavallisesti tai siten, että ennen rivinvaihtoa on tavallinen muoto ja rivinvaihdon jälkeen erillinen "Undo %1" ja "Redo %1" -teksteissä käytettävä muoto. Esimerkiksi: "Copy" voi kääntää "Kopioi\nkopiointi", jolloin ohjelmassa näkyy "Kumoa kopiointi" sekä "Tee kopiointi uudelleen", mutta muualla "Kopioi".

Viestissä konteksti "X-KDE-Keywords"

Viestissä luetellaan avainsanat, joita voi käyttää ohjelman tai asetusosion hakemiseen. Kun viesti on käännetty, englanninkielisillä avainsanoilla ei voi enää hakea, jos niitä ei sisällytä käännökseen. Hakemisen helpottamiseksi englanninkieliset avainsanat kannattaa siis sisällyttää käännökseen.

Semanttisia konteksteja

@info:tooltip Työkaluvihjeen teksti. Suomennos ei pääty pisteeseen riippumatta siitä, päättyykö englanninkielinen.
@info:whatsthis Mikä tämä on? -ohjeteksti
@action Teksti käyttöliittymäelementissä, jonka valitsemalla suoritetaan jokin toiminto. Esim. ”Create Project” on suomeksi ”Luo projekti”
@title Ikkunan, ryhmän, välilehden jne. otsikko. Esim. ”Create Project” voidaan suomentaa sekä ”Projektin luonti” että ”Luo projekti”.

Konteksteja on lisää TechBasen artikkelissa.

Käännösten skriptaus

Katso myös suomennosten sijamuototuki.

Skriptauksessa käytetään Transcriptiä ja siitä on teknisesti kiinnostuneille lisätietoa TechBasessa.

Kun skriptausta käytetään, täytyy viestistä olla myös skriptaamaton varaversio, jota käytetään, jos skriptattu versio ei toimi. Tämä tehdään kirjoittamalla viestiin "|/|". Varaversio on ennen merkintää ja skriptattu versio sen jälkeen.

Skriptaus on vain käännösten viilausta varten. Varaversionkin täytyy olla ymmärrettävä. Testaathan myös, että skriptattu käännöksesi toimii.

Kaikkiin viesteihin ei voi lisätä skriptausta. Näitä ovat esimerkiksi .desktop- ja rc-tiedostojen viestit, joita on paljon desktop_[jotain]-alkuisissa viestiryhmissä/PO-tiedostoissa.

Kaikissa skriptausongelmissa auttaa Lasse.

Funktiot

Funktioita käytetään näin: $[funktionnimi parametri1 parametri2 ...]

pieni_alkukirjain: parametrin ensimmäinen kirjain muutetaan pienaakkoseksi.
Esimerkki KGeographystä: "Sijoita %1 &kartalle|/|Sijoita $[pieni_alkukirjain %1] &kartalle"
Viesti näkyy käyttäjälle esimerkiksi muodossa "Sijoita maakunnat &kartalle", jossa %1 = "Maakunnat".

yhdysmerkki: sijoittaa kahden parametrinsa väliin yhdysmerkin. Jos ensimmäisessä parametrissa on yksi tai useampi välilyönti, lisää yhdysmerkin eteen välilyönnin.
Esimerkki Kitenistä: "Kirjoitit %1 %2-muodossa|/|Kirjoitit %1 $[yhdysmerkki %2 muodossa]"
Viesti näkyy käyttäjälle esimerkiksi muodossa "Kirjoitit verbin imperative (plain) -muodossa", jossa %1 = "verbin" ja %2 = "imperative (plain)".

yleisnimi_pienellä: jos parametri on merkitty yleisnimeksi (ks. alla), sen ensimmäinen kirjain muutetaan pienaakkoseksi.
Esimerkki Plasmasta sovelman kontekstivalikosta: "Poista tämä %1|/|Poista tämä $[yleisnimi_pienellä %1]"
Viesti näkyy käyttäjälle esimerkiksi muodossa "Poista tämä digitaalinen kello", jossa %1 = "Digitaalinen kello", jolle on asetettu "yleisnimi=kyllä".

Ominaisuuksien asettaminen viesteille

Viesteille voi asettaa ominaisuuksia, joita toinen viesti voi käyttää. Ominaisuus asetetaan kutsumalla aseta-nimistä funktiota, ja se luetaan kutsumalla ominaisuuden nimistä funktiota.

Esimerkki KDE:n epätarkasta kellosta:

Kellossa on viesti jokaiselle tunnille (”one”, ”two”, ”three” jne.) sekä viesti ”half past %1”, jossa %1 on tunti. Tuntien viestit on pakko aina suomentaa samaksi tunniksi, koska niitä käytetään muussakin yhteydessä. Siispä jos viestin ”half past %1” suomennos olisi ”puoli %1”, suomennoksen merkitys olisi aina tunnin pielessä. Esimerkiksi ”half past five” olisi suomeksi ”puoli viisi”. Ongelman voi kiertää suomentamalla kömpelömmin, mutta merkityksellisesti oikein. Toimivan luonnollisen suomennoksen saa kuitenkin aikaiseksi lisäämällä tuntien viesteihin ominaisuus ”tunti+1”, jota ”half past %1” sitten käyttää. Esimerkiksi: ”viisi|/|$[aseta tunti+1 kuusi]” ja ”kolmekymmentä yli %1|/|puoli $[tunti+1 %1]”. Käyttäjälle näkyy siten ”puoli kuusi”, kuten kuuluukin.