HTML5 lang属性のlanguage + region値


11

language+regionこのW3.orgページで説明されているアプローチに従ってローカライズされたコンテンツを提供するWebサイトに取り組んでいます(たとえばfr-CA、カナダのフランス語コンテンツ、およびfr-FR「フランス語のフランス語」コンテンツ)。それぞれのコンテンツはlanguage+region一意であると考えるため、検索エンジンがコンテンツを適切に識別し、それに応じて提供することが重要です。

インターネット(この質問など)を調べてみると、ほとんどの人は、コンテンツ言語を記述するためにHTML 属性でISO639言語コードを使用することを推奨しているようlangです。この推奨事項に従って<html lang="fr">、前述のlanguage+region組み合わせを区別できないものを使用します。

HTML4仕様を確認するときlanguage+region、言語コードとして使用することは、このen-US例が1つの可能な値として与えられているため、完全に問題がないようです。ただし、HTML5仕様でこれを確認することはできませんでした。可能な許容値に関する例を提供していないようです。

そこから、ウェブの巨人が何をしているかを見て、事実上の答えを得ようとしました。私はFacebookが何をしているのかを見ました。HTML lang値は同じままで、(わずかに)異なるコンテンツのWebサイトのCandian FrenchバージョンとFrench Frenchバージョンを提供しています。

fr-CA
URL:http : //fr-ca.facebook.com
HTML lang属性:<html lang="fr">
「email」という単語の翻訳:courriel

fr-FR
URL:http : //fr-fr.facebook.com/
HTML lang属性:<html lang="fr">
「email」という単語の翻訳:Adresse électronique

language+regionHTML5 のアプローチを使用してローカライズされたコンテンツを説明する推奨/標準の方法は何ですか?

回答:


5

W3Cは言語タグ/サブタグの選択に関するこの非常に長いガイドを提供しています。

重要なビット:

言語タグの構文は、IETFのBCP 47によって定義されています。以前は、適切なサブタグを見つけるために、さまざまなISO標準のコードのリストを調べる必要がありましたが、現在は、IANA言語サブタグレジストリを調べるだけで済みます。以下で新しいレジストリについて説明します。

この記事では、言語タグのコンポーネントを選択する方法についてのアドバイスを提供します。BCP 47で定義されている概念の概要については、「HTMLおよびXMLの言語タグ」を参照してください 。

...

Richard IshidaのLanguage Subtag Lookupツールなど、レジストリの検索中に追加のヘルプを提供するツールが利用可能です

...

正しい言語であることを確認してください。場合によっては、いくつかの代替案を確認することは価値があります。BCP47の共著者であるMark Davisは、「使用する言語識別子が明確でないことがよくあります。たとえば、ほとんどの人がパキスタンでパンジャブ語と呼んでいるものには、実際にはコード「lah」と正式な名前「Lahnda」があります。別の言語で同じ名前が使用されている、またはユーザーが検索した名前がIANAレジストリにリストされていない他のケース。」

SIL Ethnologueで言語情報を検索し、その情報をWikipediaと相互参照できます。民族誌はBCP47と同じ3文字のコードを使用しますが、コードで言語を検索するには、BCP47の2文字のコードをISO 639-3の対応するコードに変換する必要があります。(Richard Ishidaのツールがこれを行います。)

多くの人が同じ言語と見なすものに対して異なる言語コードが利用できる場合がいくつかあります。フィリピンとタガログ、またはツイと阿寒。どちらを使用するかはレジストリに示されていませんが、単一のアプリケーションまたはコンテキスト内で一貫性を保つようにする必要があります。

(エンファシス鉱山。)

IANA言語サブタグレジストリは少し使いにくいことに注意してください。祖父のタグ(などen-GB-oed)を除いて、言語ファミリタグと地域/バリアントサブタグを個別に検索する必要があります。また、タグ/サブタグは、階層ではなくタイプ別に編成されています。時間と手間を省き、Richard Ishidaのすばらしい検索ツールを使用してください


2

実際のコンテンツに対応している場合は、<html lang="fr-FR">とを使用し<html lang="fr-CA">て問題ありません。しかし、それらはそのままで、検索エンジンによって無視されます<html lang="fr">

HTML5は、言語コードの使用を変更することを意味しません。BCP 47で定義されているコードのシステムとその拡張は非常に複雑で、言語バリアントを厄介な付帯で指定できます。最先端の技術は、はるかに単純なレベルにあり、fr-FRとfr-CAは、最近ソフトウェアで達成できる最高の細分性を表しています。多くの場合、メインコード(ここではfr)だけが重要です。

lang属性などの言語コードの宣言に実際に注意を払っている検索エンジンの証拠はありません。ハイフネーター、スペルチェック、音声合成、およびデフォルトのフォント選択アルゴリズムなどの他のソフトウェアでは、lang属性が考慮される場合があります。しかし、検索エンジンは実際のコンテンツに基づいてヒューリスティック分析を実行します。

これはlang属性を信頼するよりも良い結果をもたらすので、これについて彼らを非難することは困難です。たとえば、多くのオーサリングツールlang="en"は、実際のコンテンツに関係なく、オーサーに通知せずに自動的に生成します。


2

[これは私の得意分野ではないので、ここではドキュメントを引用していますが、見落としているようです。]

HTML5仕様でlang値は有効なBCP 47タグである必要があります。そのドキュメントでは、関連するビットはセクション3.4にあるようです:

たとえば、実装では拡張言語の範囲を基本的な範囲にマッピングできます。別の可能性は、実装が最初にASCII順である一致するタグを返すことです。言語範囲が「* -CH」(「CH」はスイスを表す)で、タグのセットに「de-CH」(スイスで使用されるドイツ語)、「fr-CH」(フランス語、スイス)、「it -CH "(イタリア、スイス)の場合、タグ" de-CH "が返されます。

...これを見ると、基本的には、RFC1766を引用しているHTML 4仕様から得られたものであり、非常に詳細です。


引用した段落を見つけるのが困難です(提供したリンクとセクション3.4でキーワードの一部を検索しましたが、何も見つかりませんでした)。リンクをください。(可能であればハッシュタグを付けるのが理想的です)。
最大

HTML 5仕様は、必要なフォーマットを参照しているだけです。引用符で囲まれたビットはBCP 47リンクからのものであり、その形式で実際に定義されています。
Su
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.