W tabeli poniżej znajdziesz skróty literowe nazw języków, które mają zastosowanie podczas definiowania języka, w którym napisana jest strona oraz jako wartość atrybutu lang="..."
, wskazującego język pojedynczego elementu strony.
Kody języków mogą być jednoczłonowe lub dwuczłonowe. Pierwszy człon wskazuje zawsze język mówiony. Drugi człon może wskazywać kraj. Na przykład en oznacza ogólny język angielski, a en-us język angielski, jakim mówi się w Stanach Zjednoczonych.
Język | Skrót |
---|---|
afrykanerski | af |
albański | sq |
angielski | en |
angielski (Australia) | en-au |
angielski (Belize) | en-bz |
angielski (Irlandia) | en-ie |
angielski (Jamajka) | en-jm |
angielski (Kanada) | en-ca |
angielski (Nowa Zelandia) | en-nz |
angielski (Rep. Płd. Afryki) | en-za |
angielski (Stany Zjednoczone) | en-us |
angielski (Trynidad) | en-tt |
angielski (Wielka Brytania) | en-gb |
arabski | ar |
arabski (Algieria) | ar-dz |
arabski (Arabia Saudyjska) | ar-sa |
arabski (Bahrajn) | ar-bh |
arabski (Egipt) | ar-eg |
arabski (Irak) | ar-iq |
arabski (Jemen) | ar-ye |
arabski (Jordan) | ar-jo |
arabski (Katar) | ar-qa |
arabski (Kuwejt) | ar-kw |
arabski (Liban) | ar-lb |
arabski (Libia) | ar-ly |
arabski (Maroko) | ar-ma |
arabski (Oman) | ar-om |
arabski (Syria) | ar-sy |
arabski (Tunezja) | ar-tn |
arabski (Zjed. Emiraty Arabskie) | ar-ae |
baskijski | eu |
białoruski | be |
bułgarski | bg |
chiński | zh |
chiński (Chiny) | zh-cn |
chiński (Hong Kong) | zh-hk |
chiński (Singapur) | zh-sg |
chiński (Tajwan) | zh-tw |
chorwacki | hrv |
czeski | cs |
duński | da |
estoński | et |
farerski | fo |
fiński | fi |
francuski | fr |
francuski (Belgia) | fr-be |
francuski (Kanada) | fr-ca |
francuski (Luksemburg) | fr-lu |
francuski (Szwajcaria) | fr-ch |
gaelicki | gd |
grecki | el |
hebrajski | he |
hindi | hi |
hiszpański | es |
hiszpański (Argentyna) | es-ar |
hiszpański (Boliwia) | es-bo |
hiszpański (Chile) | es-cl |
hiszpański (Dominikana) | es-do |
hiszpański (Ekwador) | es-ec |
hiszpański (Gwatemala) | es-gt |
hiszpański (Honduras) | es-hn |
hiszpański (Kolumbia) | es-co |
hiszpański (Kostaryka) | es-cr |
hiszpański (Meksyk) | es-mx |
hiszpański (Nikaragua) | es-ni |
hiszpański (Panama) | es-pa |
hiszpański (Paragwaj) | es-py |
hiszpański (Peru) | es-pe |
hiszpański (Puerto Rico) | es-pr |
hiszpański (Salwador) | es-sv |
hiszpański (Urugwaj) | es-uy |
hiszpański (Wenezuela) | es-ve |
indonezyjski | in |
islandzki | is |
japoński | ja |
jidysz | ji |
kataloński | ca |
koreański | ko |
litewski | lt |
łotewski | lv |
macedoński | mk |
malezyjski | ms |
maltański | mt |
niderlandzki | nl |
niderlandzki (Belgia) | nl-be |
niemiecki | de |
niemiecki (Austria) | de-at |
niemiecki (Liechtenstein) | de-li |
niemiecki (Luksemburg) | de-lu |
niemiecki (Szwajcaria) | de-ch |
norweski | nov |
perski (Farsi) | fa |
polski | pl |
portugalski | pt |
portugalski (Brazylia) | pt-br |
retoromański | rm |
rosyjski | ru |
rosyjski (Mołdawia) | ru-mo |
rumuński | ro |
rumuński (Mołdawia) | ro-mo |
serbski | sr |
sutu | sx |
szwedzki | sv |
szwedzki (Finlandia) | sv-fi |
słowacki | sk |
słoweński | sl |
tajlandzki | th |
tsonga | ts |
tswana | tn |
turecki | tr |
ukraiński | uk |
urdu | ur |
wietnamski | vi |
włoski | it |
włoski (Szwajcaria) | it-ch |
węgierski | hu |
xhosa | xh |
zuluski | zu |
Więcej kodów języków można znaleźć w standardzie ISO 639. Natomiast kody krajów opisane są w ISO 3166-1. W obu przypadkach należy brać po uwagę tylko dwuliterowe skróty.
Jeśli chcemy napisać dokument w określonym języku (innym niż rodzimy), należy:
<meta http-equiv="Content-Type" content="text/html; charset=strona kodowa" />
Strona kodowa | Nazwa | Języki |
---|---|---|
iso-8859-1 windows-1252 |
zachodnioeuropejski | afrykanerski (af), albański (sq), baskijski (eu), kataloński (ca), duński (da), niderlandzki (nl), angielski (en), fareski (fo), fiński (fi), francuski (fr), galicyjski (gl), niemiecki (de), islandzki (is), irlandzki (ir), włoski (it), norweski (no), portugalski (pt), szkocki (gd), hiszpański (es), szwedzki (sv) |
iso-8859-2 windows-1250 |
środkowoeuropejski | chorwacki (hr), czeski (cs), węgierski (hu), polski (pl), rumuński (ro), serbski (sr), słowacki (sk), słoweński (sl) |
iso-8859-3 | południowoeuropejski | esperanto (eo), maltański (mt) |
iso-8859-4 windows-1257 |
północnoeuropejski | estoński (et), łotewski (lv), litewski (lt), grenlandzki (kr), lapoński |
iso-8859-5 windows-1251 |
cyryliczny | bułgarski (bg), białoruski (be), macedoński (mk), rosyjsji (ru), serbski (sr), ukraiński (uk) |
iso-8859-6 windows-1256 |
arabski | arabski (ar) |
iso-8859-7 windows-1253 |
grecki | grecki (el) |
iso-8859-8 windows-1255 |
hebrajski | hebrajski (iw) |
iso-8859-9 windows-1254 |
turecki | turecki (tr) |
iso-8859-10 | skandynawski (nordycki) | eskimoski, lapoński |
iso-8859-11 windows-874 |
tajski | tajski (th) |
iso-8859-13 windows-1257 |
bałtycki | łotewski (lv), litewski (lt) |
iso-8859-14 | celtycki | szkocki gaelicki, walijski, bretoński |
windows-1258 | wietnamski | wietnamski (vi) |
Więcej na ten temat można znaleźć w Wikipedii: ISO 8859, Strony kodowe Windows.
Co to właściwie jest ta strona kodowa i dlaczego są z nią takie kłopoty? Jak wiadomo komputer jest bardzo głupi (tak, tak... Twój także :-) - rozpoznaje tylko dwie cyfry: 0 i 1. Za pomocą różnych kombinacji tych właśnie cyfr, są zapisywane w komputerze wszystkie dane, również znaki alfabetu, np. literze "A" może odpowiadać kombinacja 1000001, "B" - 1000010 itd. Jest oczywiste, że musi istnieć jakiś standard, który powie niemądrej maszynie, które kombinacje zer i jedynek, odpowiadają jakim literom. Taki standard jest nazywany właśnie stroną kodową.
Większość stron kodowych wywodzi się z opracowanego w Ameryce (w zamierzchłych czasach) standardu ASCII - American Standards Committee for Information Interchange. Każda litera była w nim zapisana za pomocą kombinacji siedmiu zer i jedynek; potem rozszerzono zapis do ośmiu (8 bitów = 1 bajt). Jak łatwo obliczyć, w ten sposób można zakodować tylko 256 znaków. Ponieważ wszystkie pozycje zostały już zajęte przez angielskie litery oraz znaki kontrolne, dlatego konieczne okazało się opracowanie dodatkowych stron kodowych dla innych języków.
Nie byłoby żadnego problemu, gdyby istniał jeden uznawany międzynarodowo standard tworzenia stron kodowych. Teoretycznie jest nim ISO, lecz niestety wielkie firmy komputerowe zaczęły opracowywać swoje własne strony (posiada je m.in. Windows oraz Macintosh; jedynie Linux posługuje się standardem ISO). Kłopoty zaczęły się wraz z rozwojem Internetu. Wcześniej nie miało znaczenia, jaki system kodowania był interpretowany na danej maszynie. Dzisiaj, kiedy do sieci można podłączyć komputer z niemal każdym systemem operacyjnym, często występuje problem niekompatybilności różnych stron kodowych. Dlatego nigdy nie należy zapominać o wstawieniu deklaracji kodowania w każdym z dokumentów (X)HTML - powinna to być deklaracja ISO. Jednak sama deklaracja to nie wszystko. Oprócz niej konieczne jest używanie edytora (X)HTML, który potrafi odpowiednio kodować znaki. W systemie Windows, zwykłe edytory tekstu zapisują znaki, korzystając oczywiście ze strony kodowej WINDOWS, dlatego nie można ich używać do pisania stron WWW kodowanych w ISO.
Dodatkowo w 1993 roku została opracowana specjalna strona kodowa tzw. Unicode. Jest to standard 16-bitowy i dzięki temu może zapisać aż 65536 znaków. Pozwala to umieścić w jednej stronie kodowej większość alfabetów świata, co sprawia, że jest to jedyny standard, umożliwiający pisanie dokumentów w wielu językach jednocześnie. Niestety pliki takie mogą mieć ok. dwa razy większe rozmiary (choć jeśli chodzi o polskie teksty, powiększenie pliku nie jest tak duże), a dodatkowo nie zawsze są poprawnie wyświetlane (jeśli np. użytkownik nie posiada odpowiedniej czcionki Unicode), chociaż z tym jest już coraz lepiej. Aby zapisywać znaki za pomocą Unicode, trzeba się zaopatrzyć w edytor, który go obsługuje. Wtedy należy również bezwzględnie pamiętać o wstawieniu w nagłówku dokumentu deklaracji strony kodowej Unicode:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
Wygląd znaków Unicode możesz sprawdzić tutaj.