Tekniikoita monikielisiä Web-sivustoja varten:
Kielivalinta protokollassa

Kielivalintamekanismi on yleisellä tasolla seuraavanlainen:

HTTP-protokollan tasolla kyse on siitä, että selain lähettää Accept-Language-otsakkeen, joka ilmoittaa, mitkä kielet kelpaavat ja missä järjestyksessä. Tarkemmin sanoen se luettelee kielet, ja kieleen voi liittyä laatuarvo (quality value): 0:n ja 1:n välillä olevat luku, jotka kertoo kielen suhteellisen kelpaavuusasteen. Esimerkiksi otsake
Accept-Language: fi;q=1, en;q=0.2
ilmoittaisi, että sekä suomi (fi) että englanti (en) käyvät, mutta suomi paljon paremmin. (Tämä ei välttämättä merkitse, että palvelin aina lähettäisi suomenkielisen version, jos sellainen on, koska periaatteessa palvelin voi ottaa huomioon sen, että tarjolla olevat versiot eivät ole yhtä hyviä.) Huomaa, että merkintätavassa on hiukan outoa se, että siinä pilkku on vahvempi erotin kuin puolipiste; hämäännystä voi lisätä se, että usein notaatio kirjoitetaan siten, että puolipisteen jäljessä on välilyönti.

Tässä tarkasteltava mekanismi on ns. server-driven negotation. Protokolla käsittelee muitakin "neuvottelumekanismeja", mutta niillä ei vielä liene kovin paljoa käytännön merkitystä kielivalinnassa.

Hiukan lisätietoja kielivalintamekanismista (language negotiation) on W3C:n sivuston osassa Internationalization, alakohdassa HTTP. Huomattavasti havainnollisempi, mutta yhden palvelinohjelmiston kannalta kirjoitettu, kuvaus aiheesta on Apache Week -lehden artikkelissa Content Negotiation Explained.

Aika usein yritetään kielivalinta tehdä käyttäjän Internet-osoitteen, tarkemmin sanoen sen alueosan (domain) perusteella. Sellainen on melkoista arvailua. Ei suinkaan jokaisella .fi-alueessa olevalla, tai oikeammin sanoen .fi-alueessa olevaa konetta käyttävällä, ole suomi äidinkielenä. Ja tietenkin suomenkieliset käyttävät monia muitakin osoitteita kuin .fi-osoitteita. Mutta jos kuitenkin yrität tehdä kielivalinnan käyttäjän osoitteen perusteella, muista, että valinta tällöin varmasti menee pieleen merkittävän usein, joten kirjoita joka tapauksessa sivuille linkit, joiden kautta käyttäjä voi löytää sivut hänelle sopivalla kielellä.

Seuraava luku: Kielivalinta palvelimessa (esimerkkinä Apache).


2002-01-01 Jukka Korpela