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.