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