Kielimerkkaus, luku 3 Kielikoodit (kielten tunnukset):

Internetin kielikoodikäytännöt

Internetissä on pyritty siihen, että kielimuodon voisi ilmoittaa tarkemminkin. Vuonna 1995 laadittu RFC 1766, Tags for the Identification of Languages, kuvasi järjestelmän, jossa kielikoodi (language tag) koostuu peruskoodista (primary tag) ja sitä mahdollisesti seuraavasta yhdysmerkistä ja lisäkoodista (subtag). Sen mukaan peruskoodi on normaalisti ISO 639-1:n mukainen kaksikirjainkoodi. Lisäksi on kaksi erityiskoodia: i-kirjain, jonka alaisiksi lisäkoodeiksi voidaan erikseen rekisteröidä koodeja eri kielille, ja x-kirjain, joka on varattu ns. yksityiseen käyttöön eli viestinnän osapuolten keskenään sopimaa käyttöä varten. Jos lisäkoodi on kaksikirjaiminen, se tulkitaan maakoodiksi ISO 3166-1:n mukaan. Esimerkiksi en-US tarkoittaa amerikanenglantia (Yhdysvalloissa puhuttua englantia) ja en-GB brittienglantia. Muunlaisia, tarkemmin sanoen 3 - 8 merkin mittaisia lisäkoodeja voi rekisteröidä IANA:n ylläpitämään rekisteriin, josta on olemassa luetteloversio ja lista viittauksia varsinaisiin rekisteröintitietoihin. Ehdotukset lisäyksiksi rekisteriin käsitellään listalla ietf-languages. Hyödyllinen tiivistelmätaulukko on dokumentissa RFC 3066 Language code assignments.

Useat Internet-protokollat viittaavat RFC 1766:een. Käytännössä tällaiset viittaukset on usein tulkittava niin, että niissä viitataan yleisemmin kielikoodeja käsitteleviin, kulloinkin voimassa oleviin RFC:ihin. Esimerkiksi HTML 4.01:n määrittely sanoo: "[RFC1766] defines and explains the language codes that must be used in HTML documents." Toisaalta sen References-osa viittaa RFC 1766:n uusimistyöhön, ja XML:n määrittelyn kohta Language Identification jo selvästi sanoo xml:lang-määritteestä: "The values of the attribute are language identifiers as defined by [IETF RFC 1766], Tags for the Identification of Languages, or its successor on the IETF Standards Track.". - RFC:t ovat numeroitu sarja Internetiin liittyviä spesifikaatioita ja muita dokumentteja. Aiheesta kertoo lisää dokumentti Mitä RFC:t ovat.

Sittemmin laadittiin kaksi uutta RFC:tä, jotka korvaavat RFC 1766:n, nimittäin Tags for the Identification of Languages (RFC 3066) ja Content Language Headers (RFC 3282). Niistä ensin mainittu määrittelee itse kielikoodien järjestelmän. Keskeiset periaatteet ovat samat kuin RFC 1766:ssa, mutta kolmikirjaimiset koodit on varattu käytettäviksi ISO 639-2:n mukaan. Kielistä, joille on kaksikirjaiminen koodi, tulee käyttää sitä eikä kolmikirjaimista, siis esimerkiksi suomesta koodia fi eikä fin. Toistaiseksi käytetään Internetissä lähes yksinomaan kaksikirjaimisia koodeja.

Syyskuussa 2006 mainitut RFC:t korvattiin määrittelyillä Tags for Identifying Languages (RFC 4646) ja Matching of Language Tags (RFC 4647). Niihin on sopivinta viitata tunnuksilla BCP 46 ja BCP 47, koska BCP-numero (BCP = Best Current Practice) ei muutu, toisin kuin RFC-numero, jos määrittelystä myöhemmin tehdään uusi versio.


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