Ero sivun ”Kotoistus” versioiden välillä

Siirry navigaatioon Siirry hakuun
1 605 merkkiä lisätty ,  27. marraskuuta 2007
→‎Ohjelmien kääntäminen: mo-tiedoston pohjalta muokkaaminen + käytettävä editori
(käännösohjeita)
(→‎Ohjelmien kääntäminen: mo-tiedoston pohjalta muokkaaminen + käytettävä editori)
Rivi 3: Rivi 3:


== Ohjelmien kääntäminen ==
== Ohjelmien kääntäminen ==
Yleensä ohjelmiin toteutetaan monikielisyyden tuki [[Gettext|GNU Gettext]] -ohjelman avulla. Ohjelmoijalle se tarkoittaa sitä, että kaikki ne ohjelman merkkijonot, jotka on tarkoitettu käännettäväksi, merkitään erillisellä merkillä, jonka jälkeen luodaan nämä merkkijonot sisältävä <tt>.pot</tt>-tiedosto. Tarkemmat ohjeet Gettextin käyttämiseen ohjelmoijan näkökulmasta löytyy artikkelista [[Gettext]].
Yleensä ohjelmiin toteutetaan monikielisyyden tuki [[Gettext|GNU Gettext]] -ohjelman avulla. Ohjelmoijalle tämä tarkoittaa sitä, että kaikki ne ohjelman merkkijonot, jotka on tarkoitettu käännettäväksi, merkitään erillisellä merkillä, jonka jälkeen luodaan nämä merkkijonot sisältävä <tt>.pot</tt>-tiedosto. Tarkemmat ohjeet Gettextin käyttämiseen ohjelmoijan näkökulmasta löytyy artikkelista [[Gettext]].


<tt>.pot</tt>-tiedosto on seuraavaa muotoa: (esimerkkiohjelma löytyy [[Gettext]]-artikkelista)
<tt>.pot</tt>-tiedosto on seuraavaa muotoa: (esimerkkiohjelma löytyy [[Gettext]]-artikkelista)
Rivi 36: Rivi 36:
msgstr ""
msgstr ""
</pre>
</pre>
Tiedoston alussa on ohjelmasta ja käännöksestä kertovat otsikkotiedot. Tätä seuraa varsinaiset käännökset. <tt>msgid</tt> kertoo alkuperäisen yleensä englanninkielisen merkkijonon, ja varsinainen käännös kirjoitetaan <tt>msgstr</tt>-kohtaan. Käännöksiä voi jatkaa useammalle riville, jolloin jokainen rivi laitetaan lainausmerkkeihin.
Tiedoston alussa on ohjelmasta ja käännöksestä kertovat otsikkotiedot. Tätä seuraa varsinaiset käännökset. <tt>msgid</tt> kertoo alkuperäisen yleensä englanninkielisen merkkijonon, ja varsinainen käännös kirjoitetaan <tt>msgstr</tt>-kohtaan. Käännöksiä voi jatkaa useammalle riville, jolloin jokainen rivi laitetaan lainausmerkkeihin.


Rivi 41: Rivi 42:
  #, fuzzy
  #, fuzzy
se tarkoittaa sitä, että käännös on ns. ''sumea'', kääntäjä ei ole varma sen sopivuudesta, ja muiden kääntäjien tulisi tarkistaa se. Tällaiset käännökset eivät näy ohjelman käyttäjille.
se tarkoittaa sitä, että käännös on ns. ''sumea'', kääntäjä ei ole varma sen sopivuudesta, ja muiden kääntäjien tulisi tarkistaa se. Tällaiset käännökset eivät näy ohjelman käyttäjille.
Käännöstiedostoa voi muokata millä tahansa [[tekstieditori]]lla, vaikkakin syntaksivirheiden (kuten lainausmerkkien poistaminen vahingossa) välttämiseksi kannattaa käyttää jotakin erityisesti tähän tehtävään erikoistunutta editoria. Tällainen on esimerkiksi [[Emacs]], johon sisältyy erillinen po-tila (engl. po mode) Gettextin käännöstiedostojen muokkaamiseen.


Kun käännös on valmis, se tallennetaan nimellä <tt>ohjelma.po</tt> ja muutetaan binäärimuotoon komennolla
Kun käännös on valmis, se tallennetaan nimellä <tt>ohjelma.po</tt> ja muutetaan binäärimuotoon komennolla
  msgfmt ohjelma.po -o ohjelma.mo
  msgfmt ohjelma.po -o ohjelma.mo
jonka tuloksena on <tt>ohjelma.mo</tt>-tiedosto. Yleensä tämä tiedosto tallennetaan polkuun <tt>/usr/share/locale/kieli/LC_MESSAGES/</tt>; jossa <tt>kieli</tt> on suomen tapauksessa ''fi''.
jonka tuloksena on <tt>ohjelma.mo</tt>-tiedosto. Yleensä tämä tiedosto tallennetaan polkuun <tt>/usr/share/locale/kieli/LC_MESSAGES/</tt>; jossa <tt>kieli</tt> on suomen tapauksessa ''fi''.
===Valmiin käännöksen muokkaaminen===
Ajoittain voi tulla tarve muokata jonkin valmiiksi asennetun ohjelman käännöstä.
Jos ohjelman [[lähdekoodi]]t löytyvät järjestelmästä, voidaan lähdekoodihakemistosta etsiä suomenkieliset käännökset sisältävä <tt>fi.po</tt>-tiedosto, tehdä siihen tarvittavat muutokset, muuntaa se binäärimuotoon ja kopioida <tt>ohjelma.mo</tt>-nimellä hakemistoon <tt>/usr/share/locale/fi/LC_MESSAGES/</tt>.
Useimmiten on kuitenkin kätevintä muuntaa valmis <tt>.mo</tt>-tiedosto takaisin <tt>.po</tt>-muotoon ja tehdä muutokset tähän tiedostoon. Mo-tiedoston muunto po-muotoon onnistuu komennolla <tt>msgunfmt</tt>. Esimerkiksi seuraavassa luotaisiin [[grep]]-ohjelman mo-tiedostosta po-tiedosto:
msgunfmt /usr/share/locale/fi/LC_MESSAGES/grep.mo >grep.po
Tehdään halutut muutokset po-tiedostoon:
[[emacs]] grep.po
Käännetään muokattu po-tiedosto takaisin mo-muotoon:
msgfmt grep.po -o grep.mo
Otetaan varmuuskopio alkuperäisestä mo-tiedostosta:       
mv /usr/share/locale/fi/LC_MESSAGES/grep.mo /usr/share/locale/fi/LC_MESSAGES/grep.mo.bak
Kopioidaan muokattu mo-tiedosto alkuperäisen paikalle:
cp grep.mo /usr/share/locale/fi/LC_MESSAGES/grep.mo


=== Sanasto ===
=== Sanasto ===
Kotoistamista koordinoiva [http://www.lokalisointi.org lokalisointi.org] tarjoaa sivuillaan [http://lokalisointi.org/sanakirja/kaikki.html sanakirjan], josta löytyy vakiintuneet käännökset monille termeille. Sanakirjan käännösten noudattaminen on tärkeää käännösten yhtenäisyyden varmistamiseksi.
Kotoistamista koordinoiva [http://www.lokalisointi.org lokalisointi.org] tarjoaa sivuillaan [http://lokalisointi.org/sanakirja/kaikki.html sanakirjan], josta löytyy vakiintuneet käännökset monille termeille. Sanakirjan käännösten noudattaminen on tärkeää käännösten yhtenäisyyden varmistamiseksi.


== Kotoistusprojekteja ==
== Kotoistusprojekteja ==
4 316

muokkausta

Navigointivalikko