Jaka jest różnica między <html lang = “en”> a <html lang = “en-US”>?


106

Jaka jest różnica pomiędzy <html lang="en"> i <html lang="en-US">? Jakie inne wartości mogą wystąpić po myślniku?

Według w3.org „Każdy dwuliterowy kod podrzędny jest rozumiany jako kod kraju [ISO3166]”. czy to oznacza, że ​​każda wartość podana pod kodem alfa-2 jest wartością akceptowaną?



1
Interesują Cię różnice między przeglądarkami czy teoria (specyfikacja)?
kwiecień

@deathApril zarówno. Chodzi mi o to, czy to w jakiś sposób pomaga przeglądarce w wyświetlaniu strony?
Celeritas

Odpowiedzi:


130

<html lang="en">
<html lang="en-US">

Pierwszy langznacznik określa tylko kod języka. Druga określa kod języka, po którym następuje kod kraju.

Jakie inne wartości mogą wystąpić po myślniku? Według w3.org „Każdy dwuliterowy kod podrzędny jest rozumiany jako kod kraju [ISO3166]”. czy to oznacza, że ​​każda wartość podana pod kodem alfa-2 jest wartością akceptowaną?

Tak, jednak wartość ta może mieć lub nie mieć żadnego rzeczywistego znaczenia.

<html lang="en-US">zasadniczo oznacza „ta strona jest w amerykańskim stylu angielskim”. W podobny sposób <html lang="en-GB">oznaczałoby to „ta strona jest w angielskim stylu brytyjskim”.

Jeśli naprawdę chcesz określić nieprawidłową kombinację, możesz. To niewiele by znaczyło, ale <html lang="en-ES">jest zgodne ze specyfikacją, jak rozumiem. Jednak ta kombinacja języka i kraju nie da wiele, ponieważ angielski nie jest powszechnie używany w Hiszpanii.

Chodzi mi o to, czy to w jakiś sposób pomaga przeglądarce w wyświetlaniu strony?

Nie pomaga przeglądarce w wyświetlaniu strony, ale jest przydatna dla wyszukiwarek, czytników ekranu i innych rzeczy, które mogą czytać i próbować zinterpretować stronę, oprócz ludzi.


31
FWIW, oficjalnymi językami Ugandy są w rzeczywistości angielski i suahili.
Muhammad Alkarouri

34
Ha, słuszna uwaga. Jaki jestem amerykański. :( Zaktualizowałem przykład do Hiszpanii i tym razem trochę pracowałem, aby upewnić się, że angielski nie jest tam również językiem urzędowym. Dzięki za wskazówkę.
Jeremy Wiggins

@JeremyWiggins, o twoich ostatnich dwóch wierszach odpowiedzi, zaczynając od „to nie pomaga przeglądarce…”. A jeśli witryna ma charakter międzynarodowy (umiędzynarodowiony), czy ustawienie tagu językowego byłoby nadal potrzebne?
Yustme

4
Odnośnie dwóch ostatnich wierszy - jeśli strona korzysta z dzielenia wyrazów z CSS ( hyphens: auto), to langatrybut jest wymagany, aby przeglądarka mogła wybrać odpowiedni zestaw reguł.
RobertT

1
Nie tylko ustawienia języka dla wyszukiwarek lub czytników ekranu są wspomagane przez odpowiednie ustawienia językowe, ale jest też efekt typograficzny. Na przykład proste cudzysłowy <q> </q> są poprawnie interpretowane tylko z poprawnymi ustawieniami językowymi, różniącymi się na przykład między de-DE, de-CH, fr i fr-CH.
theking2

8

Możesz użyć dowolnego kodu kraju, tak, ale to nie znaczy, że przeglądarka lub inne oprogramowanie go rozpozna lub zrobi cokolwiek inaczej z jego powodu. Na przykład czytnik ekranu może obsługiwać „en-US” i „en-GB” tak samo, jeśli obsługuje tylko amerykański akcent w języku angielskim. Jednak inne oprogramowanie, które ma dwa różne głosy, może dostosować się do kodu kraju.


Link jest martwy, jeśli znajdziesz zamiennik, oflaguj go jako cofnięty
Taryn

5

To powinno pomóc: http://www.w3.org/International/articles/language-tags/

Złotą zasadą podczas tworzenia tagów językowych jest, aby tag był jak najkrótszy. Unikaj regionu, skryptu lub innych podtagów, z wyjątkiem tych, które dodają przydatne informacje odróżniające. Na przykład, używaj ja dla języka japońskiego, a nie ja-JP, chyba że istnieje szczególny powód, dla którego musisz powiedzieć, że jest to japoński używany w Japonii, a nie gdzie indziej.

Poniższa lista przedstawia różne typy dostępnych podtagów. Omówimy je i omówimy, jak są używane w kolejnych sekcjach.

language-extlang-script-region-variant-extension-privateuse


1
Niektóre aplikacje domyślnie obsługują pisownię i lokalizację w Stanach Zjednoczonych, gdy wybrane są ogólne opcje języka angielskiego, np. Windows robi to dla pakietu języka angielskiego. technet.microsoft.com/en-us/library/cc766191(v=ws.10).aspx Windows (nieprzydatny) ma jeden jedyny pakiet językowy dla niektórych krajów, w których mówi się wieloma językami, takich jak Holandia (holenderski, nie francuski), ale cztery dla Hiszpanii (kataloński, galicyjski, baskijski, hiszpański). Belgia otrzymuje zero, prawdopodobnie dlatego, że wiele języków narodowych jest językami większościowymi w innych krajach.
Mousey

2

RFC 3066 podaje szczegóły dozwolonych wartości (wyróżnienia i dodane linki):

Wszystkie dwuliterowe podtagi są interpretowane jako kody krajów ISO 3166 alpha-2 z [ISO 3166] lub są następnie przypisywane przez agencję utrzymania ISO 3166 lub zarządzające organy normalizacyjne, co oznacza obszar, do którego odnosi się ten wariant językowy.

Interpretuję to w ten sposób, że każdy ważny (zgodnie z ISO 3166) dwuliterowy kod jest ważny jako subtag. RFC dalej stwierdza:

Tagi z drugimi podtagami składającymi się z 3 do 8 liter mogą być zarejestrowane w IANA, zgodnie z zasadami zawartymi w rozdziale 5 niniejszego dokumentu.

Nawiasem mówiąc, wygląda to na literówkę, ponieważ rozdział 3 wydaje się odnosić do procesu rejestracji, a nie do rozdziału 5.

Szybkie wyszukiwanie rejestru IANA ujawnia bardzo długą listę wszystkich dostępnych podtagów językowych. Oto jeden przykład z listy (który zostanie użyty jako en-scouse):

Typ: wariant

Subtag: scouse

Opis: Scouse

Dodano: 2006-09-18

Przedrostek: en

Komentarze: angielski dialekt Liverpudlian znany jako `` Scouse ''

Dostępnych jest wiele rodzajów podtagów; szybki zwój już się ujawnił fr-1694acad(francuski z XVII wieku).


Przydatność niektórych z tych (powiedziałbym, że zdecydowana większość z nich) tagów, jeśli chodzi o dokumenty przeznaczone do wyświetlania w przeglądarce, jest ograniczona. Specyfikacja umiędzynarodowienia W3C po prostu stwierdza:

Przeglądarki i inne aplikacje mogą wykorzystywać informacje o języku treści do dostarczania użytkownikom najbardziej odpowiednich informacji lub przedstawiania informacji użytkownikom w najbardziej odpowiedni sposób. Im więcej treści jest prawidłowo otagowanych i otagowanych, tym bardziej przydatne i wszechobecne będą takie aplikacje.

Trudno mi znaleźć szczegółowe informacje o tym, jak zachowują się przeglądarki, gdy napotykają tagi różnych języków, ale najprawdopodobniej przyniosą one pewne korzyści użytkownikom korzystającym z czytnika ekranu, który może użyć tagu do określenia języka / dialektu / akcentu w którym prezentować treść.


0

Schemat XML wymaga, aby przestrzeń nazw xml została zadeklarowana i zaimportowana przed użyciem xml: lang (i innych wartości przestrzeni nazw xml). RELAX NG wstępnie deklaruje przestrzeń nazw xml, tak jak w XML, więc nie jest potrzebna żadna dodatkowa deklaracja.


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.