Kotoistus

Linux.fista
Versio hetkellä 15. syyskuuta 2012 kello 13.47 – tehnyt Beluga (keskustelu | muokkaukset) (Verkossa toimivat kotoistusalustat)
Siirry navigaatioon Siirry hakuun

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:

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/

Transifex

https://www.transifex.com/

Translatewiki

https://translatewiki.net/

Weblate

http://weblate.org/