web-dev-qa-db-ja.com

混合言語ページに使用する<html lang = "">属性値は何ですか?

私は通常これを使用します:<html lang="en">

しかし、私は2つの言語を使用し、時には同じ文や見出しでそれらを混同するWebサイトに取り組んでいます。

この場合、上記のコードはどのように見えますか?使ってもいいですか <html lang="lang1 lang2">

48
Francisc

HTML5仕様を読むことでlang属性を知ることができる限り:

値は有効なBCP 47言語タグ、または空の文字列である必要があります

ソース: http://www.w3.org/TR/html5/dom.html#the-lang-and-xml:lang-attributes

言語文字列の配列の仕様には言及がなく、私が見つけたすべての例は単一の言語文字列を使用しています。

これは理にかなっています。なぜなら、新しいハイブリッド言語を作成しない限り、実際に特定のセクションは1つの言語でしか作成できないからです。

Lang属性はすべてのHTML要素で有効であるため、言語を示すために、言語固有のコードを新しいタグでラップすることができます。

<html lang="en">
[...]
<body>
<h1>I am a heading <span lang="de-DE">Eine Überschrift</span></h1>
</body>
</html>
78
Jamie Dixon

私が理解しているように、あなたは<html lang="mul">は、複数の言語を示します

IANA言語サブタグレジストリからサブタグを選択します。

ソース; https://www.w3.org/TR/2007/NOTE-i18n-html-tech-lang-20070412/#ri20030112.224623362

という名前のリストにサブタグがありますサブタグ:mul

ソース: http://www.iana.org/assignments/language-subtag-registry/language-subtag-registry

ただし、html要素で混合する言語を正確に指定できるとは思わない。ただし、Jamieが書いたように、ページのさまざまな要素にさまざまなlang属性を指定できます。

ISO 639-3には4つの特別な言語コードが存在し、それらはすべてIANAサブタグレジストリ内でも有効です。 https://en.wikipedia.org/wiki/ISO_639-3#Special_codes

ただし、Googleとしての検索エンジンからの良いサポートがあるとは思えません。

4
user11448