Kotoistus
Lokalisointi eli kotoistus tarkoittaa sovelluksien kääntämistä ja sopeuttamista kieleen ja kulttuuriin. Sovellusten ja ohjeiden kääntämisen lisäksi kotoistuksen kohteita ovat kalenterit, merkistöt, päivämäärien näyttötavat yms.. Englanniksi lokalisoinnista käytetään lyhennettä l10n (localisation, l- ja n-kirjainten välissä on kymmenen kirjainta, siitä lyhenne). Suomen osalta kotoistus tarkoittaa lähinnä suomennoksien tekemistä, koska kalenterit ja merkistöt ovat samat.
On olemassa myös opetusministeriön rahoittama Kotoistus-hanke, joka pyrkii yleisemmällä tasolla organisoimaan tietotekniikan sekä kieli- ja kulttuurisidonnaisten asioiden sovittamista yhteen. Kotoistus-hanke tekee yhteistyötä muun muassa kansainvälisen Unicode-konsortion ja muiden standardointijärjestöjen kanssa.
Valmiiksi kotoistetun ohjelman saa käyttämään suomalaisia (tai haluttuja) asetuksia asettamalla sopivat ympäristömuuttujat, yleensä LANG tai LC_CTYPE. Katso Locale. Ohjelman kieli- ja maa-asetukset voi siis määrätä ohjelmaa käynnistettäessä tai esimerkiksi pääteikkunakohtaisesti.
Ohjelmien kääntäminen
Yleensä ohjelmiin toteutetaan monikielisyyden tuki 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ä .pot-tiedosto. Tarkemmat ohjeet Gettextin käyttämiseen ohjelmoijan näkökulmasta löytyy artikkelista Gettext.
.pot-tiedosto on seuraavaa muotoa: (esimerkkiohjelma löytyy Gettext-artikkelista)
# SOME DESCRIPTIVE TITLE. # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR <EMAIL@ADDRESS>, YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PAKETIN VERSIO\n" "Report-Msgid-Bugs-To: OSOITE-VIRHERAPORTOINTIA-VARTEN\n" "POT-Creation-Date: 2007-10-13 18:51+0300\n" #pot-tiedoston luontiaika "PO-Revision-Date: VUOSI-KUUKAUSI-PÄIVÄ TUNNIT-MINUUTIT+AIKAVYÖHYKE\n" #po-tiedoston viimeisin muokkaus "Last-Translator: VIIMEISIN KÄÄNTÄJÄ <SÄHKÖPOSTI>\n" "Language-Team: KÄÄNNÖSRYHMÄ <SÄHKÖPOSTI>\n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=MERKISTÖKOODAUS\n" "Content-Transfer-Encoding: 8bit\n" #: gettext.c:14 #, c-format msgid "Hello Linux.fi\n" msgstr "" #. TRANSLATORS: Please let %s as it is #: gettext.c:18 #, c-format msgid "Visit %s" msgstr ""
Tiedoston alussa on ohjelmasta ja käännöksestä kertovat otsikkotiedot. Tätä seuraa varsinaiset käännökset. msgid kertoo alkuperäisen yleensä englanninkielisen merkkijonon, ja varsinainen käännös kirjoitetaan msgstr-kohtaan. Käännöksiä voi jatkaa useammalle riville, jolloin jokainen rivi laitetaan lainausmerkkeihin.
Jos käännöstä edeltävissä kommenteissa (#-merkillä alkavat rivit) on rivi
#, 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.
Käännöstiedostoa voi muokata millä tahansa tekstieditorilla, 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. Lisäksi on olemassa po-tiedostojen muokkaamiseen tarkoitettuja graafisia työkaluja kuten KBabel ja Poedit.
Kun käännös on valmis, se tallennetaan nimellä ohjelma.po ja muutetaan binäärimuotoon komennolla
msgfmt -co ohjelma.mo ohjelma.po
jonka tuloksena on ohjelma.mo-tiedosto. Yleensä tämä tiedosto tallennetaan polkuun /usr/share/locale/kieli/LC_MESSAGES/; jossa kieli on suomen tapauksessa fi.
Valmiin käännöksen muokkaaminen
Ajoittain voi tulla tarve muokata jonkin valmiiksi asennetun ohjelman käännöstä.
Jos ohjelman lähdekoodit löytyvät järjestelmästä, voidaan lähdekoodihakemistosta etsiä suomenkieliset käännökset sisältävä fi.po-tiedosto, tehdä siihen tarvittavat muutokset, muuntaa se binäärimuotoon ja kopioida ohjelma.mo-nimellä hakemistoon /usr/share/locale/fi/LC_MESSAGES/.
Useimmiten on kuitenkin kätevintä muuntaa valmis .mo-tiedosto takaisin .po-muotoon ja tehdä muutokset tähän tiedostoon. Älä kuitenkaan tee julkaistavaksi tarkoitettuja käännöksiä tältä pohjalta.
Mo-tiedoston muunto po-muotoon onnistuu komennolla msgunfmt. 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 -co grep.mo grep.po
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
Kotoistamista koordinoiva lokalisointi.org tarjoaa sivuillaan 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
Linux-sovelluksia suomennetaan useissa eri projekteissa. Näiden projektien yhteistyötä pyritään koordinoimaan http://lokalisointi.org/ -sivustolla (katso lokalisointi.org) sekä IRCNetistä löytyvällä #lokalisointi-kanavalla.
GNOME
GNOMEn suomennos on varsin hyvällä mallilla ja GNOMEn viimeisimmässä julkaisussa onkin käännösprosentti käyttöliittymän osalta lähes sata. Ohjeistuksesta valtaosa on kuitenkin yhä suomentamatta. GNOMEn suomennosryhmän kotisivut löytyvät osoitteesta http://www.gnome.fi/.
KDE
KDE:tä lokalisoi ja suomentaa suomennosryhmä, jonka kotisivut löytyvät osoitteesta http://kde-fi.org. Tällä hetkellä aktiivisia kääntäjiä on vähän ja tarvetta uusille kääntäjille olisi. Useat KDE:n suomentajat löytyvät #lokalisointi-kanavalta, joten jos kääntäminen kiinnostaa tai löytyy muuten halua jutella kääntäjien kanssa esimerkiksi virheellisistä käännöksistä jne. niin tervetuloa #lokalisointi-kanavalle.
OpenOffice.org
OpenOfficen suomennoksen kotisivut löytyvät osoitteesta http://fi.openoffice.org/.
Translation Project
Translation Project vastaa useimpien GNU-ohjelmien suomennoksista sekä useista ei-GNU-ohjelmista. Projektin sivut löytyvät osoitteesta http://translationproject.org/ ja erityisesti http://translationproject.org/team/fi.html.
Jakeluiden omat kotoistusprojektit
Suurilla jakelupaketeilla on myös omia kotoistusprojekteja, joissa jakelukohtaisia ohjelmia ja ohjeita käännetään mm. suomeksi. Tällaisia projekteja löytyy mm. seuraavilta jakeluilta:
- Debian - (suomisivut)
- Fedora - (käännösryhmän kotisivu), (käännöstilanne)
- Mandriva - (käännöstilanne)
- OpenSuSE - (käännössivut)
- Ubuntu - (käännösryhmän kotisivu), (käännöstilanne)
Verkossa toimivat kotoistusalustat (osio työn alla)
Launchpad Translations (Rosetta)
http://translations.launchpad.net/
Pootle
http://pootle.locamotion.org/ https://translations.documentfoundation.org/ https://localize.mozilla.org/