Kotoistus

Linux.fista
Versio hetkellä 14. maaliskuuta 2022 kello 11.11 – tehnyt Lahtis (keskustelu | muokkaukset) (Kotoistusprojekteja poistetaan vanhoja historiallisia projekteja)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
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.

Kotoistetun ohjelman saa käyttämään suomalaisia tai muita haluttuja asetuksia asettamalla sopivat Locale-asetukset. Tämä tehdään asettamalla ympäristömuuttujia, yleensä LANG tai LC_CTYPE. Ohjelman kieli- ja maa-asetukset voi siis määrätä yleisesti, yksittäin 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äännös ei ole välttämättä sopiva, ja se tulisi tarkistaa. Tällaiset käännökset eivät näy ohjelman käyttäjille. Syynä voi olla joko se, että kääntäjä ei ole varma käännöksen sopivuudesta tai että gettext on automaattisesti valinnut uuteen viestiin pohjakäännökseksi toisen, lähes saman viestin, käännöksen.

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 Lokalize 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/.

Sanasto

Kotoistamista koordinoiva lokalisointi.fi tarjoaa sivustollaan sanakirjan, josta löytyy vakiintuneet käännökset monille termeille. Sanakirjan käännösten noudattaminen on tärkeää käännösten yhtenäisyyden varmistamiseksi. Lisäksi lokalisointi.fi-sivustolla viitataan useisiin muihin projekti-/valmistajakohtaisiin sanastoihin.

Kotoistusprojekteja

Linux-sovelluksia suomennetaan useissa eri projekteissa. Näiden projektien yhteistyötä pyritään koordinoimaan http://lokalisointi.fi/ -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://l10n.gnome.org/teams/fi/.

KDE

KDE:n tekemää ohjelmistoa lokalisoi ja suomentaa suomennosryhmä, jonka kotisivut löytyvät osoitteesta http://community.kde.org/KDE_Localization/fi. 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ä tai parannusideoista jne. niin tervetuloa #lokalisointi-kanavalle.

LibreOffice

Tietoa LibreOfficen suomentamisesta on osoitteessa http://www.libreoffice.org/community/localization/. LibreOfficen käyttämä Pootle-kotoistusalusta on osoitteessa https://translations.documentfoundation.org/fi/.

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

Keskusjohtoiset kotoistusalustat tarjoavat aloittelijoille helpon väylän käännöstöiden pariin ilman paneutumista mystisiin käännöstiedostoihin. Kaikkiin alla luetelluihin alustoihin kuuluu käännösmuisti- eli translation memory -ominaisuus. Käännösmuisti hakee joko täydellisiä tai osittaisia vastaavuuksia vanhoista käännöksistä ja nopeuttaa huomattavasti toisteisten tekstinpätkien kääntämistä.

Launchpad Translations (Rosetta)

Canonicalin toteuttama Launchpadin käännösalusta Rosetta käyttää Translate Toolkitiä. Launchpadin voi vapaasti asentaa omalle palvelimelleen, mutta Launchpad.netin ilmainen palvelintila on ymmärrettävästi houkutellut luokseen koko joukon avoimen lähdekoodin projekteja. Tunnetuin Launchpadia käyttävä julkinen käännösprojekti on Ubuntu.

Crowdin

Crowdin on verkossa toimiva käännösalusta, eikä sitä voi asentaa ja/tai käyttää omalla palvelimella. Palvelu on maksullinen. Käännöksen lähteenä tuetaan useita eri tiedostotyyppejä. Tunnetuimmat Crowdinia käyttävät julkiset käännösprojektit ovat Minecraft, TitaniumBackup ja AirDroid.

Pootle

Pootle on toteutettu Pythonilla ja se hyödyntää Translate Toolkitiä.

Pootlen taustajoukkojen Locamotion-projekti ylläpitää palvelinta, jolla voi kääntää mm. Pidginiä ja Terminologyä. Pootlea käyttävät myös The Document Foundation (LibreOffice) sekä Mozilla.

Transifex

Transifex on Google Summer of Code -projektista kasvanut käännösratkaisu, jonka taakse sittemmin perustettiin yritys. Se on toteutettu Pythonilla. Lukuisat avoimen lähdekoodin ohjelmistoprojektit hyödyntävät firman tarjoamaa ilmaista palvelintilaa Transifex.comissa. Maksuton versio ei tosin tue käännösmuistin viemistä ja tuomista.

Transifex.comin avoimen luonteen vuoksi on tavallista, että innokkaat vapaaehtoiset perustavat johonkin ohjelmistoon liittyvän käännösprojektin ja vasta jälkikäteen hakevat sille virallisen kehittäjätiimin siunauksen. Transifexin eräs erikoisuus on se, että kokeneemmat kääntäjät voivat luoda tulevien kääntäjäpolvien työtä helpottavia sanastoja (glossary). Konekääntäjistä Transifex tukee Microsoftia (jälleen toiminnassa 1. lokakuuta 2012 lähtien).

Transifexista oli aiemmin olemassa Community Edition -julkaisu, joka oli kenen tahansa vapaasti asennettavissa. Jossain vaiheessa tämän Transifexin avoimen lähdekoodin version päivittäminen kuitenkin lakkasi, ja Transifexia on nyt jo jonkin aikaa kehitetty täysin suljetun lähdekoodin ohjelmistona. Transifex-yrityksen ideana on, että kaikki käyttävät transifex.com-palvelinta.

Tunnetuimpia Transifexiä käyttäviä julkisia käännösprojekteja ovat reddit, Creative Commons, ownCloud, Kodi, Clementine ja tietyt freedesktop.org-ohjelmistot.

MediaWikin Translate-lisäosa

Translate-lisäosan avulla on toteutettu KDE:n UserBasen kotoistus ja Translatewiki.net, jossa koordinoidaan lähinnä MediaWikiin liittyvien projektien kotoistuksia. KDE:n ja GNOME:n suomen kielen kotoistussprinttejä on järjestetty Translate-lisäosan avustuksella Niklas Laxströmin Kotoistus-sivustolla. Konekääntäjän tuottamat ehdotukset mahdollisia Apertiumin ja Microsoftin kautta.

Weblate

Pootlen tavoin Weblate käyttää Translate Toolkitiä. Sen erikoisuutena on Git-integraatio, mahdollisuus kytkeytyä MyMemory-käännösmuistipankkiin, sekä DeepL, Googlen, Apertiumin ja Microsoftin konekäännöstyökaluihin. Weblaten kehittäjä Michal Čihař pyörittää käännöspalvelinta osoitteessa: https://hosted.weblate.org/ Mikä hyvänsä vapaan koodin projekti voi anoa palvelinta käyttöönsä.

Zanata

Zanata on Red Hatin kehittämä avoimen lähdekoodin käännöstyökalu. Transifexin muututtua epävapaaksi Fedora-projektin kotoistus on siirtymässä Zanataan (tilanne tammikuussa 2015).

Kotoistussovellukset