sivut.web

ohjeita web-sivuston tekijälle

Palvelin: Automaattinen kielivalinta

Joskus sivuista on syytä olla useita kieliversioita. Palvelintekniikan ansiosta voit ohjata automaattisesti tietynkieliset käyttäjät omankielisille sivuilleen. Käytettävän tekniikan nimi on Content Negotiation. Tekniikalla voi tehdä valintoja myös tiedostotyyppien sekä muutamien muiden kriteereiden välillä vaikkakin kielivalinta on selvästi käytännöllisin.

Tässä dokumentissa esitellään Apache-palvelinohjelmiston tukema type-map-tekniikka. On kuitenkin olemassa hieman eri käyttöön soveltuva, monimutkaisempi tekniikka, MultiViews.

Kielivalintatekniikat perustuvat selaimen lähettämiin Accept-Language-ylätunnistetietoihin. Selaimen käyttäjä voi itse vaikuttaa tunnistetietoihin muuttamalla selaimensa kieliasetuksia. Käyttäjä voisi esimerkiksi valita lukevansa mieluiten suomen-, sitten englannin- ja viimeisenä vaihtoehtona ruotsinkielisiä sivuja.

Type-map-tekniikan perustana on ns. Type-map-tiedosto, jossa määritellään eri kieliversiot. Type-map-tiedoston tunniste voi olla vaikkapa .var, mikä täytyy kertoa palvelinohjelmistolle .htaccess-tiedostossa seuraavasti:

AddHandler type-map var

Tämän jälkeen kaikkia .var- päätteisiä tiedostoja käsitellään type-map-tiedostoina.

Seuraavaksi puutumme erikielisten tiedostojen nimeämiseen. Nimeämisellä ei ole sinänsä mitään merkitystä, mutta yleisesti hyvänä vaihtoehtona on pidetty muotoa [dokumentin-nimi].html.[kielikoodi], esim. index.html.en tai index.html.fi.

Kun varsinaiset erikieliset tiedostot on luotu, ne pitää konfiguroida type-map-tiedostoon:

URI: index.html.en
Content-type: text/html
Content-language: en

URI: index.html.fi
Content-type: text/html
Content-language: fi

URI: index.html.sv
Content-type: text/html
Content-language: sv,sv-fi

Esimerkissämme englanninkieliset käyttäjät ohjataan tiedostoon index.html.en, suomenkieliset suomenkieliseen ja ruotsin- sekä suomenruotsinkieliset yhteen ruotsinkieliseen dokumenttiin.

Huom! Palvelinohjelmisto ei tunnista automaattisesti index.var-tiedostoa hakemiston indeksitiedostoksi. Tämän voit tehdä lisäämällä saman hakemiston .htaccess-tiedostoon rivin:

DirectoryIndex index.var

Lisää tietoa kieli- ja muista valinnoista löydät osoitteesta http://www.apache.org/docs/content-negotiation.html.

Tämä sivu on luotu 18.5.2001.


Käyttäjien kommentit

Ei kommentteja

Lisää oma kommentti


Juha-Pekka Järvenpää
jp@sivut.org
http://www.jarvenpaa.net/