hreflang
DOCTYPE
-määrittelyssähreflang
Edellä
mainittiin lyhyesti, että linkkien osalta
lang
-määrite ilmaisee vain itse linkin kielen ja
linkin kohteen kieli voidaan ilmoittaa
hreflang
-määritteellä.
Yleensä on parasta, että linkkiteksti
on samalla kielellä kuin dokumentti, johon linkki viittaa, koska tämä
antaa lukijalle tai kuulijalle oikean ennakko-odotuksen.
Mutta välttämätöntä se ei ole.
HTML:n määrittelyssä ei ole
sanottu mitään hreflang
-määritteen oletusarvosta,
siis ei esimerkiksi sellaista aika luonnollisentuntuista sääntöä,
että oletusarvo olisi itse linkin kieli. Käytännössä voisi ehkä
lähteä siitä, että ainakaan yksikielisessä dokumentissa ei
linkin kohteen kieltä tarvitse ilmoittaa, jos se on sama kuin
dokumentin kieli.
Jostakin syystä hreflang
-määrite on sallittu
vain a
-elementeissä eli normaaleissa linkeissä
ja link
-elementeissä, ei siis area
-elementeissä,
vaikka nekin ovat luonteeltaan eräänlaisia linkkejä.
Määritteen merkitys on hiukan epämääräinen: se ilmoittaa linkin kohteen
peruskielen, base language. Käytännössä
tämä epämääräisyys ei yleensä haittaa.
MS Word sisältää monenlaista tukea eri kielille. Tosin tuen laajuus riippuu Wordin versiosta ja asennustavasta.
Kun esimerkiksi kirjoitetaan lainausmerkit tavallisen näppäimistön lainausmerkkinäppäintä käyttäen, Word pyrkii korvaamaan lainausmerkin oikealla kielikohtaisella lainausmerkillä. Usein tämä on hyvin hyödyllistä, joskus Word taas on arvannut kielen väärin tai muusta syystä tekee vääriä "korjauksia".
Word sisältää jonkinlaisen automaattisen kielentunnistuksen eli pyrkii kirjoitettaessa tunnistamaan, mitä kieltä teksti on. Tämä piirre voidaan poistaa käytöstä, mutta yleensä se on hyödyllinen. Jos Word on tunnistanut kielen väärin, voidaan "käsin" korjata tieto kielestä, maalaamalla teksti ja valitsemalla Työkalut-valikon Kieli-kohdan kautta haluttu kieli.
Tieto kielestä ilmeisesti tallentuu jossakin
Wordin sisäisessä muodossa.
Mutta jos leikataan ja liimataan selaimessa näkyvästä
HTML-dokumentista
tekstiä
Wordiin,
niin Word tunnistaa sen kielen HTML:ssä olevan kielimerkkauksen mukaiseksi. Siis jos sivulla on esimerkiksi
<html lang="fi">
, niin
Word
pitää kielenä suomea, jos taas <html lang="ru">
, niin venäjää, jne.
Näin riippumatta siitä, mitä kieltä teksti todellisuudessa on, eli
Word
"uskoo" tekstin venäjäksi vaikka se on latinalaisin
kirjaimin ja selvää suomea.
Sama toimii toisinkin päin. Ja se toimii, tavallaan. Riippumatta siitä, onko
Word itse tunnistanut kielen vai onko käyttäjä sen kertonut,
Word "HTML-muotoon" tallentaessaan kirjoittaa mukaan
lang
-määritteet tyyliin
<p class=MsoNormal><span lang=FI>Tämä on testi.</span></p>
Vahinko vain, että Wordin tuottama "HTML-muoto" on
kokonaisuutena erittäin sekavaa ja sisältää piirteitä, jotka
tekevät sen Webiin huonosti sopivaksi. Ja valitettavasti
HTML-Kit-ohjelma
(tai sen sisältämä Tidy),
joka muuten tekee hyvän työn peratessaan sitä moskaa, heittää
lang
-määritteet menemään pesuveden mukana.
Edellä (kohdassa Muita kielikoodijärjestelmiä) jo mainittiin, että RTF-muotoon tallentaessaan Word tallentaa myös kielitiedon, mutta Microsoftin omia koodeja käyttäen.
Unicode-merkistö sisältää myös eräänlaisen "kielimerkkauksen". Tämä tarkoittaa, että merkkien tasolla, siis myös esimerkiksi pelkkää tekstiä sisältävässä asiakirjassa, voisi erityisillä ohjausmerkeillä ilmoittaa kielen. Periaatteet on kuvattu UAX #27:ssä, kohdassa 13.7, Tag Characters.
Tämän suhdetta merkkauskielten kielimerkkaukseen käsittelee dokumentin Unicode in XML and other Markup Languages kohta Language Tag Characters, U+E0000 .. U+E007F. Kyseisiä merkkejä käytetään melko vähän, eikä Unicode-standardikaan suosittele niiden käyttöä.
DOCTYPE
-määrittelyssäMonet Web-sivujen tekijät ovat arvanneet väärin, mitä EN
tarkoittaa niin sanotuissa
dokumenttityypin määrittelyssä
eli HTML-dokumentin alussa olevassa
ilmaisussa kuten
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
Monet ovat arvanneet, että EN
on kielikoodi ja tarkoittaa
englantia. Niin se onkin, mutta se ei ilmoita HTML-dokumentissa käytettyä
kieltä eikä sitä pidä mennä vaihtamaan toiseksi. Se ilmoittaa, mitä
kieltä on käytetty HTML:n (tai yleisemmin: merkkausjärjestelmän)
muodollisen kuvauksen yhteydessä, siis itse HTML:n määrittelyssä.
Aiheesta kertoo syvällisemmin katsauksen
Language Identifiers in the Markup Context
kohta
SGML.
Seuraava osa: English summary: language markup in markup systems