web-dev-qa-db-ja.com

<html lang = "en">と<html lang = "en-US">の違いは何ですか?

<html lang="en"><html lang="en-US">の違いは何ですか?ダッシュの後に他の値はありますか?

w3.org によれば、「2文字のサブコードはすべて[ISO3166]国コードであると理解されています。」つまり、任意の alpha-2コードの下にリストされている値 が許容値であることを意味しますか?

97
Celeritas

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

最初のlangタグは、言語コードのみを指定します。 2番目は言語コードを指定し、その後に国コードを指定します。

ダッシュの後に他の値はありますか? w3.orgによると「2文字のサブコードはすべて[ISO3166]国コードであると理解されています。」ですから、alpha-2コードの下にリストされている値は受け入れられる値ですか?

はい。ただし、値には実際の意味がある場合とない場合があります。

<html lang="en-US">は本質的に「このページは英語の米国スタイルです」という意味です。同様に、<html lang="en-GB">は「このページは英国スタイルの英語です」という意味です。

無効な組み合わせを指定したい場合は、可能です。それほど意味はありませんが、<html lang="en-ES">は仕様に従って有効であると理解しています。ただし、スペインでは英語が一般的に話されていないため、その言語/国の組み合わせはあまり役に立ちません。

これは、ブラウザがページを表示するのにどういうわけかさらに役立つのですか?

ブラウザーがページを表示するのに役立ちませんが、検索エンジン、スクリーンリーダー、および人間以外にページを読み取って解釈しようとする他のものに役立ちます。

117
Jeremy Wiggins

はい、任意の国コードを使用できますが、それは、ブラウザーまたは他のソフトウェアがそれを認識したり、そのために異なることをしたりすることを意味するものではありません。たとえば、スクリーンリーダーは、英語でアメリカのアクセントのみをサポートしている場合、「en-US」と「en-GB」を同じように処理します。ただし、2つの異なる音声を持つ別のソフトウェアは、国コードに従って調整できます。

7
woz

IETFの言語タグの「現在のベストプラクティス」は、 BCP 47 (RFC 5646およびRFC 4647)で定義されています。あなたが知る必要があると思った以上に言語サブタグについて多くを説明しているので、それを読むことをお勧めします。 :-)

IANA Language Subtag および Language Tag Extensions レジストリを参照します。

4
L2G

これは役立つはずです: http://www.w3.org/International/articles/language-tags/

言語タグを作成する際の黄金律は、タグをできるだけ短くすることです。有用な識別情報を追加する場合を除き、リージョン、スクリプト、またはその他のサブタグは避けてください。たとえば、ja-JPではなく日本語にjaを使用します。ただし、他の場所ではなく、日本で話されているように日本語であると言う必要がある場合を除きます。

以下のリストは、使用可能なさまざまなタイプのサブタグを示しています。これらの方法と、以降のセクションでの使用方法について説明します。

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

4
Alfred D'Souza

RFC 3066 は、許可される値の詳細を示します(強調とリンクが追加されます)。

すべての2文字のサブタグはISO 3166 alpha-2国コード [ISO 3166]として解釈されるか、またはISO 3166保守機関または統治標準化機関によって割り当てられ、地域を示しますこの言語バリアントが関連するもの。

これは、有効な(ISO 3166に準拠)2文字のコードがサブタグとして有効であることを意味すると解釈します。 RFCは次のように述べています。

このドキュメントの第5章のルールに従って、3〜8文字の2番目のサブタグを持つタグをIANAに登録できます。

ちなみに、第3章は第5章ではなく登録プロセスに関連しているように見えるため、タイプミスのように見えます。

IANAレジストリをすばやく検索すると、利用可能なすべての言語サブタグの verylong list が明らかになります。リストの1つの例を次に示します(en-scouseとして使用されます)。

タイプ:バリアント

サブタグ:scouse

説明:スカウス

追加:2006-09-18

プレフィックス:en

コメント: 'Scouse'として知られる英語のLiverpudlian方言

すべての種類のサブタグが利用可能です。クイックスクロールで既にfr-1694acad(17世紀フランス語)が明らかになっています。


ブラウザの表示用に設計されたドキュメントに関しては、これらのタグの多く(これらの大部分を占めると思います)の有用性は限られています。 W3C国際化仕様 は単に次のように述べています。

ブラウザやその他のアプリケーションは、コンテンツの言語に関する情報を使用して、ユーザーに最も適切な情報を配信したり、ユーザーに最も適切な方法で情報を提示したりできます。より多くのコンテンツが正しくタグ付けされ、タグ付けされると、そのようなアプリケーションはより有用で普及します。

さまざまな言語タグに遭遇したときのブラウザーの動作に関する詳細情報を見つけるのに苦労していますが、タグを使用して言語/方言/アクセントを決定できるスクリーンリーダーを使用するユーザーに何らかの利点を提供する可能性が最も高いでしょうコンテンツを表示する場所。

2
James Allardice

XMLスキーマでは、xml:lang(および他のxml名前空間値)を使用する前にxml名前空間を宣言およびインポートする必要があります。RELAXNGはXMLのようにxml名前空間を事前宣言するため、追加の宣言は不要です。

0
hellosi