Kielimerkkaus:

Kielimerkkauksen tarkoitus

Sisältö:

Mitä kielimerkkaus on

Kielimerkkauksella tarkoitetaan merkkauksessa, englanniksi markup, esitettyä tietoa tekstinosan kielestä. Esimerkiksi HTML-merkkauksessa tägi <p lang="sv"> ilmoittaa, että alkaa kappale, jonka teksti on ruotsia.

ATK-sanakirja määrittelee sanan "merkkaus" seuraavasti:

Dokumentin osien erottelu ja niiden ominaisuuksien osoittaminen käyttäen sovittuja merkintöjä, esimerkiksi muotoilua ohjaavia komentoja.

Olennaista on, että merkkauksessa siis käytetään sovittuja merkintöjä. Käytännössä sopimukset on suunniteltu sellaisiksi, että merkkaus on tietokoneohjelmilla helposti käsiteltävissä niin, että sillä on yksiselitteinen merkitys. Merkkaus erotetaan normaalitekstistä sopivien erikoismerkkien avulla tai muilla keinoin niin, että tekstiä lukeva ohjelma voi käsitellä merkkauksen erikseen. Kun ohjelma esittää merkkausta sisältävän dokumentin esimerkiksi kuvaruudulla tai paperilla, itse merkkaus ei yleensä näy, vaikka se voikin vaikuttaa siihen, millainen varsinaisen tekstin esitysmuoto on.

Kielimerkkaus on luonteeltaan loogista merkkausta, ominaisuuksien osoittamista, ei muotoilua ohjaava komento, joskin sillä saattaa olla vaikutusta myös muotoiluun. Merkkauksen ja ns. merkkauskielten ideaa sekä erityisen loogisen ja muotoilevan merkkauksen eroa selostaa laajahkosti dokumentti Merkkauskielten idea.

Kielimerkkauksen perustelut HTML 4:n määrittelyssä

HTML 4:n määrittelyn kohta Language information and text direction mainitsee seuraavat syyt käyttää kielimerkkausta (selitykset minun):

Kielimerkkauksen perustelut WAI-esteettömyyssuosituksissa

Esteettömyyden eli saavutettavuuden (englanniksi accessibility) yleisestä merkityksestä kertoo Esteettömyysesite. WAI-suosituksilla tarkoitetaan WWW-konsortion eli W3C:n esittämiä esteettömyyssuosituksia, erityisesti sivujen tekemistä koskevaa WCAG 1.0 -suositusta, josta esimerkiksi Euroopan parlamentin päätöslauselma toteaa, että sitä pidetään maailmanlaajuisena standardina.

WCAG 1.0:ssä ja siihen liittyvissä teknisissä ohjeissa kielimerkkausta käsittelevät seuraavat kohdat:

Näistä ensin mainittu viittaa (edellä jo kuvattujen syiden lisäksi) Braille-kirjoituksen tuottamiseen. Eri kielille käytetään erilaisia Braille-muunnelmia. Aiheesta kertoo laajemmin dokumentti Braille symbols in Swedish braille.

Teknisempi ohjeisto sisältää itse asiassa tarkemmat, havainnollisemmat perustelut kuin itse suositus. Seuraavassa on perustelujen suomennos, jossa on hakasulkeissa selventäviä lisäyksiä:

Kielen vaihtumisen ilmoittaminen on tärkeää useista syistä:

  1. Käyttäjät, jotka lukevat dokumenttia Braille-esityksenä, voivat käyttää sopivia ohjauskoodeja (merkkausta) siellä, missä kieli vaihtuu, taatakseen, että tekstiä Brailleksi muuntava ohjelma tuottaa oikeita merkkejä (esimerkiksi kirjaimia, joissa on tarkkeita). Nämä ohjauskoodit lisäksi estävät ohjelmaa tuottamasta Braille-lyhenteitä (contractions), jotka voisivat hämmentää käyttäjää. Braille-lyhenteet yhdistävät usein esiintyviä merkkiyhdistelmiä, jotka muuten vaatisivat useita Braille-soluja, yhdeksi soluksi. Esimerkiksi "ing", joka normaalisti vaatii kolme solua, yhden kullekin merkille, voidaan lyhentää yhdeksi soluksi [mutta tämä englannin kielessä hyödyllinen menettely voi hämätä muunkielisten tekstien esittämisessä].
  2. Samaan tapaan puhesyntetisaattorit, jotka "puhuvat" monia kieliä, voivat tuottaa tekstin käyttäen sopivaa aksenttia ja oikeaa ääntämystä. Jos kielen vaihtumisia ei ole merkattu, syntetisaattori tekee parhaansa lausuakseen sanat sillä kielellä, jota se ensisijaisesti käyttää. Täten syntetisaattori, joka käyttää englantia peruskielenä, voisi lausua ranskan autoa tarkoittavan sanan "voiture", englannin sanan "voter" [ja tämä hämäisi, jos sana esiintyy englanninkielisen tekstin joukossa].
  3. Käyttäjät, jotka eivät itse osaa kääntää kielestä toiseen, voivat käyttää automaattisia käännösohjelmia heille outojen kielen kääntämiseen.

Viimeksi mainittua kohtaa voisi selventää ja täydentää seuraavasti: Kielenkääntämisessä, tapahtuipa se automaattisesti tai ihmisen tekemänä, on tietysti olennaista tietää, mitä kieltä käännettävä teksti on. Ihminen toki näkee tekstistä, mitä kieltä se on, jos hän ylipäänsä pystyisi kääntämään sitä. Käännösohjelmien tilanne on toinen. Lisäksi kielen vaihtuminen kesken tekstin voi aiheuttaa vaikeuksia ihmisellekin, varsinkin, jos kääntäjä ei tunne sitaatin tai vieraskielisen termin kieltä; tietokoneohjelma menee sekaisin vielä paljon helpommin. Jos esimerkiksi suomeksi käännettävässä englanninkielisessä tekstissä on ranskankielinen sitaatti, riippuu tilanteesta, olisiko se käännettävä vai säilytettävä alkukielisenä. Joka tapauksessa kielimerkkaus voi auttaa välttämään pahimman vaihtoehdon automaattisessa kielenkääntämisessä: ohjelma kääntää ranskaa kuten se olisi englantia, ja tulos on luultavasti aivan sotkua. Kielimerkkauksen ja muun merkkauksen merkitystä kielenkääntämiselle eräiltä kannoilta käsittelee tarkemmin dokumentti Translation-friendly authoring.

Voi tuntua oudolta, että WAI-suosituksissa koko dokumentin kielen merkkaaminen on alemmalla prioriteetilla (3) kuin kielen vaihtumisen merkkaaminen (joka on prioriteettitasolla 1). Onhan koko dokumentin kielen merkkaaminen hoidettavissa yhdellä ainoalla määritteellä, kun taas kaikkien vaihtumisten merkkaaminen voi olla hyvin työlästä ja vaatia pohdintaa ja hankalia ratkaisuja. Taustalla lienee se seikka, että esimerkiksi puhesyntetisaattoria voi käyttäjä yleensä helposti käskeä lukemaan teksti halutun kielen sääntöjen mukaan, jos se ylipäänsä sitä kieltä tukee. Sen sijaan olisi lähinnä mahdotonta se, että käyttäjä kesken lukemisen ohjailisi syntetisaattoria vaihtamaan kieltä.

Muita perusteluja

Word tunnistaa HTML-sivun kielimerkkauksen

Jos Word-ohjelmalla avataan HTML-sivu oikolukua varten, niin tarpeeksi uudet Wordin versiot osaavat ottaa huomioon HTML-merkkauksen lang-määritteet. Jos näitä määritteitä on käytetty järjestelmällisesti, niin Word osaa soveltaa tekstin eri osiin kunkin kielen sanastoja ja oikolukusääntöjä. Tämä toki edellyttää, että Wordiin on asennettu käytettyjen kielten tuki.

Word sopii hyvin oikolukuun silloin, kun tekstissä on vain vähän virheitä. Havaitut virheet voi tällöin korjata muulla ohjelmalla HTML-dokumenttiin. Yleensä ei kannata muokata HTML-sivua Word-ohjelmalla, koska se tekee haitallisia muutoksia merkkaukseen.

Pelkkä tieto kielestä voi auttaa

Selain tai muu ohjelma voisi ilmaista, mitä kieltä teksti on. Tällainen tieto voi olla hyödyksi esimerkiksi auttaessaan käyttäjää näkemään, että mitä kieltä jokin lause on. Tieto auttaisi häntä etsimään sanojen ja lauseiden merkityksiä ja käännösapua oikeilta tahoilta. Esimerkiksi Mozilla 1.0:n käyttäjä voi viedä kursorin sanan päälle ja hiiren oikeaa nappia käyttämällä ja vaihtoehdon "Properties" valitsemalla saada esiin pienen tietoikkunan, josta ilmenee ainakin kieli, jos se on dokumentissa ilmaistu kielimerkkauksella.

Erikielisten osien näyttäminen erilaisina

Käyttäjä voi jo nyt ohjata CSS:ää tarpeeksi hyvin tukevan selaimen (esimerkiksi Opera 6:n) näyttämään erikielisiä tekstejä eri tavoin, jos sivulla on käytetty kielimerkkausta. Esimerkiksi CSS-sääntö
*[lang="en"] { font-family: fantasy; }
käyttäjän tyylisäännöstössä aiheuttaisi englanninkielisten osien esittämisen eri fontilla. Tämä oli tietysti vain esimerkki; käytännössä kannattaisi valita jokin muu fontti, mutta yksityiskohdat riippuvat siitä, millainen käyttäjän tyylisäännöstö on kokonaisuudessaan.

Tällainen asetus muuten on sivuntekijälle usein hyödyllinen, koska se auttaa tarkistamaan, että sivulla on käytetty kielimerkkausta oikein.

Periaatteessa voitaisiin CSS:ssä käyttää myös pseudoluokkaa :lang, mutta tuki sille on vielä suppeampi kuin esimerkissä käytetylle tavalle, joka perustuu ns. määriteselektoreihin.

Selaimen aputoimintojen auttaminen

Ohjelman käyttöliittymä voi sisältää piirteitä, joiden toteutuksessa olisi eduksi, jos ohjelma tietäisi tekstin eri osien kielen. Esimerkiksi Opera-selaimessa käyttäjä voi maalata sanan hiirellä ja sitten hiiren oikealla napilla valita jonkin haku- ja käännöstoiminnon. Tämä on vielä suhteellisen alkeellisesti toteutettu, mutta ideana erinomainen. Ja se toimisi paremmin, jos selain "tietäisi", mitä kieltä sana on, ja suoraan kääntäisi sen käyttäjän kielelle, jonka hän on ilmoittanut selaimen asetuksissa. Nykyisin käyttäjä joutuu aina erikseen valitsemaan lähtökielen (ja kohdekielen), jolloin toimintaa ei voi toteuttaa sujuvasti pelkällä napsauksella.

Kielen kertominen tekstissä voi silti olla tarpeen

On tilanteita, joissa olisi aiheellista itse tekstissä kertoa, että seuraa muunkielistä tekstiä. Kielimerkkaukseen ei ylipäänsäkään kannata paljoa luottaa; se on toistaiseksi parhaimmillaankin vain lisäinformaatiota, josta voi olla hyötyä.

Jos tekstissä on esimerkiksi pitkähkö ranskankielinen lainaus, on yleensä syytä kielimerkkauksen lisäksi mainita sopivalla tavalla ennen lainausta, mitä on tulossa. Maininta voidaan yleensä liittää johdantolauseeseen, joka ylipäänsä kertoo, että on tulossa lainaus, siis tyyliin "Ranskankielisessä alkuteoksessa tämä kohta on seuraava:". Tästä voi olla käyttäjälle apua osittain edellä kuvatuista syistä, ja tällöin tieto on kaikkien saatavilla eikä vain niiden, jotka käyttävät sopivaa selainta sopivalla tavalla.

Eikö kielen päätteleminen riitä?

Mutta vaikka tarvitaan tieto tekstin kielestä, tarvitaanko merkkausta? Eikö riitä, että käyttäjä voi valikosta valita kielen ja ohjelma sitten toimii sen mukaan? Tai eikö ohjelma voi päätellä kieltä?

Eräät Internetin hakukoneet, kuten Google ja AltaVista, ilmeisestikin päättelevät dokumentin kielen sen sisällöstä. Päättely ei ole virheetöntä mutta yleensä osuu oikeaan. Itse asiassa melko pitkästä tekstistä voi aika alkeellisin menetelmin, vaikkapa vain tarkastellen tavallisimpia pikkusanoja, arvata kielen useimmiten oikein.

Mutta jos kieli vaihtuu kesken esityksen, mainitunlaiset menetelmät toimivat yleensä huonosti, sitä huonommin, mitä lyhyempi katkelma on kyseessä. Esimerkiksi puhesyntetisaattori voi toimia paljon paremmin, jos dokumentin pääkielestä poikkeavat tekstijaksot kuten vieraskieliset nimet ja lainaukset on merkattu niin, että niistä ilmenee kieli. Erityinen ongelma on automaattisessa kielentarkistuksessa. Monille on tuttua, miten esimerkiksi MS Word näyttää vieraat sanat virheinä. Jos ohjelma tukisi kielimerkkausta ja dokumentin kirjoittaja käyttäisi sitä hyväkseen, voisi ohjelma tarkistaa esimerkiksi suomenkielisessä tekstissä olevien englanninkielisten lainausten asun asianmukaisesti.

Koko dokumentin kielen merkkaaminen taas on hyvin helppoa, jos vain merkkausjärjestelmässä on menettely sitä varten. Esimerkiksi suomenkieliseen HTML-dokumenttiin riittää kirjoittaa tägin <html> asemesta <html lang="fi">. Tällöin tieto kielestä on helpolla tavalla kaikkien sellaisten ohjelmien käytettävissä, joilla dokumenttia käsitellään. Ei tarvita mitään arvaamista.

Lisäksi kielimerkkauksella voidaan ilmaista sellaisia eroja, joita olisi vaikea ohjelmien päättelemällä havaita. Jos esimerkiksi tehdään kielentarkistus englanninkieliselle tekstille, jossa osa sanoista on brittienglannin ja osa amerikanenglannin mukaisessa asussa, kuten usein on, mistä ohjelma voi tietää, kummat se ilmoittaa virheiksi ja tarjoutuu korjaamaan? Kielimerkkauksessa voidaan nämä englannin muodot erottaa toisistaan.


Kirjoittamisen ajankohta: 2002-06-23. Päivitetty viimeksi 2007-12-03.
Tämä sivu kuuluu Jukka "Yucca" Korpelan avoimeen tietosivustoon Datatekniikka ja viestintä.

Seuraava osa: Kielimerkkauksen toteutus HTML:ssä ja XML:ssä (ja muissa järjestelmissä)