Ohjelmien jne.* nimien taivuttaminen sijamuodoissa
--------------------------------------------------
* sovellusten, sovelmien, liitännäisten, hallintamoduulien, KPartsien, ...

Sisällys:
1. Yleistä
2. Mikä merkkijono taivuttaa
3. Törmäyksistä ja muita huomioita
4. Sijojen lisäyssyntaksi
5. Sijojen käyttäminen käännöksissä
6. Sijamuototiedon pitäminen ajan tasalla
7. Parannusehdotukset

1. Yleistä
==========
Suomennokseen on lisätty mahdollisuus lisätä ohjelmien nimiin (itse asiassa
mihin tahansa) sijamuototaivutuksia. Tämän ansiosta käännöksistä tyyliin
"Ohjelman %1 asetukset" päästään ainakin osittain eroon. Tämä tapa perustuu
postituslistalla (arkistoituna osoitteessa
http://lists.kde.org/?l=kde-i18n-doc&m=127772684518833&w=2 , aihe
"Re: File templates: menu item is also used as default file name")
mainittuun tapaan, joka toimii kaikissa käännettävissä merkkijonoissa,
myös .desktop-tiedostoissa, joissa Transcript-syntaksi ei toimi (lisätietoja
osoitteessa http://techbase.kde.org/Localization/Concepts/Transcript ).

2. Mikä merkkijono taivuttaa
============================
Plasma-sovelmien tapauksessa taivutettava on .desktop-tiedoston Name-kentän
suomennos, löytyy desktop_[moduulin-nimi].po-tiedostosta.

Tavallisten ohjelmien tapauksessa puolestaan on parempi taivuttaa ohjelmasta
itsestään / sen koodista löytyvä nimi, koska se on se jota todella käytetään,
vaikkakin sen ja .desktop-tiedoston Name-kentän ollessa sama eroa ei huomaa.
Tämä löytyy yleensä ohjelmannimisestä po-tiedostosta ja kontekstitietona on
yleensä main.cpp, app.cpp, [ohjelman_nimi].cpp jne. niminen tiedosto.

Liitännäisten nimille ei tarvitse yleensä tehdä mitään, koska KDE:n
kpluginselector on yleisesti käytössä ja 4.6:sta lähtien on erillinen vain
siinä tapauksessa käytettävä "About %1", joka on käännetty muotoon
"Tietoja liitännäisestä %1".

Myöskään kcm:eistä/KDE:n ohjausmoduuleista/systemsettingsin moduuleista ei
suurimmasta osasta tarvitse huolehtia, koska systemsettingsissä moduulien
"About %1" kääntyy "Tietoja moduulista %1", jos %1:lle ei ole taivutusta.
Jos taivutus on olemassa, kääntyy se "Tietoja %1", jossa %1 on oikea
taivutettu muoto. Näiden moduulien taivutettavat nimet menevät kuten
tavallisten ohjelmien, ei siis .desktop-tiedoston Name-kenttä. Tämä Name-kenttä
on se, joka näkyy muualla systemsettingsissä, mutta poikkeaa usein ainoastaan
Ohje-valikossa näkyvästä nimestä.

Erikoisempia tapauksia on esim. systemsettingsin Puu- ja kuvakenäkymät sekä
ainakin KWritessa, Katessa ja KDevelopissa Kate-osa. Näille tarvitaan
elatiivitaivutus eikä oikeastaan muita.

Aina kun jossain näkyy "Tietoja ohjelmasta [nimi]", kyseessä on puuttuva
elatiivitaivutus. Taivutusten saatavilla oleminen riippuu tällä hetkellä myös
KDE Software Compilationiin kuulumattomien extragearin ja esim. Calligran
osalta käytössä olevan kdelibsin versiosta, eli uusimmassa Wordsissä taivutus
ei ehkä näy, jos KDE-alustan versio on vanha.

3. Huomioita
============

3.1 Törmäyksistä
----------------
Kaikki taivutukset näkyvät kaikkialle eikä taivutusmuotoja jollekin
merkkijonolle etsittäessä tehdä muuta kuin tarkistus, että sen suomennettu
(ja ehkä englanninkielinen) asu on täsmälleen sama kuin käännetyn
perusmuotoinen.

Näin siis elatiivitaivutus "Työpöytäkuutioanimaatiosta"
"Työpöytäkuutio"-nimiselle työpöydänvaihtoanimaatiolle virtuaalityöpöytien
asetuksissa aiheuttaisi sen, että myös Työpöytätehosteet-kcm:ssä lukee
Työpöytäkuution kohdalla "Tietoja Työpöytäkuutioanimaatiosta".

Pology varoittaa ja ottaa taivutuksen huomiotta, jos se huomaa, että
Työpöytäkuutio on kahdessa eri paikassa taivutettu eri tavalla. Kuitenkaan se
EI varoita, jos se on taivutettu vain yhdessä paikkaa, mutta tämä taivutus
kuulostaa erittäin väärältä näkyessään samalla toisessa paikassa.

Onkin hyvä tehdä taivutuksista mahdollisimman yleispäteviä.

3.2 Muita huomioita
-------------------
Kaikkia sijamuotoja ei tarvitse olla asetettu ja jonkun tai kaikkien
sijamuodon/-muotojen puuttuminen jostain nimestä ei haittaa, koska tällöin
käytetään sijamuodotonta versiota käännöksestä (Transcriptin varakäännökset).

Kirjoitushetkellä (tammikuu 2011) lähinnä elatiivi- ja genetiivimuotoja
käytetään, eikä nimiin välttämättä näin ollen kannata turhaan lisätä
taivutuksia muille sijoille.

4. Sijojen lisäyssyntaksi
=========================
Sijamuodot lisätään käännettävien merkkijonojen kääntäjäkommentteihin,
yksi per rivi, esimerkiksi:

# pmap: =/gen=Binaarikellon/
# pmap: =/part=Binaarikelloa/
# pmap: =/elat=Binaarikellosta/
# pmap: =/adess=Binaarikellolla/
# pmap: =/illat=Binaarikelloon/
#: applets/binary-clock/plasma-applet-binaryclock.desktop:2
msgctxt "Name"
msgid "Binary Clock"
msgstr "Binaarikello"

Lokalizea tai vastaavaa käytettäessä risuaidat eivät kuulu kääntäjän
kommenttiin (ne ovat osa po-syntaksia).

Sijamuodot voi kirjoittaa myös suoraan .pmap-tiedostoon. Se on
monimutkaisempaa. Ks. lisää TechBasesta ja suomen käännösten
scripts/kdeedu-kansiosta.

5. Sijojen käyttäminen käännöksissä
===================================
Esimerkki genetiivin käytöstä:

msgid "%1 Settings"
msgstr "Sovelman %1 asetukset|/|$[gen %1] asetukset"

Alla luetellaan jokaisen sijamuodon käyttösyntaksi. %1:n tilalla voi tietenkin
olla jotain muuta. Jos sijamuotoa ei löydy tai sijamuodollisen version käyttö
muuten epäonnistuu, käytetään ennen merkintää |/| olevaa fallback-muotoa.
|/|-merkinnästä lisätietoa osoitteessa
http://techbase.kde.org/Localization/Concepts/Transcript .

5.1 Sijamuototaulukko
---------------------
Tällä hetkellä sijamuodot ja niitä vastaavat syntaksit ovat:

+---------------+-----------+-----------------------+---------------+
| sija          | esim.     | lisäysesim.           | käyttöesim.   |
+---------------+-----------+-----------------------+---------------+
| genetiivi     | kellon    | pmap: =/gen=FOOBAR/   | $[gen %1]     |
| partitiivi    | kelloa    | pmap: =/part=FOOBAR/  | $[part %1]    |
| elatiivi      | kellosta  | pmap: =/elat=FOOBAR/  | $[elat %1]    |
| adessiivi     | kellolla  | pmap: =/adess=FOOBAR/ | $[adess %1]   |
| illatiivi     | kelloon   | pmap: =/illat=FOOBAR/ | $[illat %1]   |
+---------------+-----------+-----------------------+---------------+

Kauttamerkin tilalla voi käyttää myös jotain muuta merkkiä, esim. =:gen=FOOBAR:

6. Sijamuototietojen pitäminen ajan tasalla
===========================================
Kirjoitushetkellä Lasse Liehu tekee tätä satunnaisin väliajoin,
yleensä viimeistään ennen isoa julkaisua.

Sijamuototiedot täytyy erikseen päivittää pology-työkalulla. Hakuohjeet ja
lisätietoja osoitteessa http://techbase.kde.org/Localization/Tools/Pology .
Päivitys tapahtuu komennolla:

$ posieve collect-pmap $POLKU/l10n-kde4/fi \
-soutfile:$POLKU/l10n-kde4/fi/scripts/kdelibs/kdelibs4/general.pmap

, missä $POLKU on polku haluttuun haaraan.

Esimerkiksi, jos ollaan suomennosten juuressa ([...]/l10n-kde4/fi),
seuraava toimii suoraan:
$ posieve collect-pmap . -soutfile:./scripts/kdelibs/kdelibs4/general.pmap

7. Parannusehdotukset
=====================
Parannusehdotuksia voi lähettää osoitteeseen lasse.liehu [ät] gmail.com
tai tulla irkkiin #lokalisointi-kanavalle (Freenode ja IRCnet).

-- Päivitetty 25.3.2012
