7

特定の言語(英語)のHTMLドキュメントが与えられます。

タグにlang属性を定義しました:

<html lang="en">

ページ内の一部のテキストは別の言語(フランス語など)で書かれています:

<span lang="fr">
  blabla...
</span>

しかし、言語を識別できないが、それが英語ではないことがわかっている場合、lang属性の有効な値として「unknown」を設定できますか?

<span lang="unknown">
  blabla...
</span>

これをw3cのドキュメントで読みましたが、「デフォルト値が[...] unknown」であるということは、「unknown」が実際の値であることを意味するのかどうかわかりません。

http://www.w3.org/TR/html4/struct/dirlang.html

lang = language-code [CI]この属性は、要素の属性値とテキストコンテンツの基本言語を指定します。この属性のデフォルト値は不明です。

4

2 に答える 2

9

HTML4.01仕様の表現はあいまいです。値unknownは有効な言語タグではなく、仕様では「不明」という単語を通常の英語の単語として使用しています。つまり、デフォルト値は言語が不明であることを示す値ですが、この値は明示的に指定されていません。

仕様は、言語タグの置き換えられたRFCを参照しているため、この領域では部分的に古くなっています。現在のRFCは、 RFC 5646、言語を識別するためのタグ、BCP(Best Current Practice)47としても知られています。これは、特に、プライマリ言語タグに関してISO 639-2を参照しており、und「未決定」のコードが含まれています。 」。したがって、技術的にはを使用できますlang=undが、RFCは次のように述べています。「このサブタグは、言語タグが必要であり、言語情報が利用できないか、決定できない場合を除いて、使用しないでください。言語タグを(許可されている場合は)省略することをお勧めします。」</ p>

そして、これはHTML5 RCで採用されているアプローチであり、次のように述べていlangます。「属性を空の文字列に設定すると、プライマリ言語が不明であることを示します。[BCP47]」</p>

したがって、識別できない言語のテキストには、たとえばを使用できます<span lang="">...</span>

これは、原則として、要素のネストのより高いレベルで言語を示した場合に役立ちます。設定lang=""は、たとえば、ユーザーエージェントがスペルチェックと言語固有のフォーマットを無効にすることを意味する場合がありますが、これはまだかなり理論的です。

于 2013-03-14T20:48:05.090 に答える
0

必要がなければ、まったく設定しないほうがいいと思います。lang=値が設定されていない場合、値はその囲んでいる(親)要素から派生することに注意してください。

どういうわけかそれを設定することを余儀なくされた場合、すでに提案したようにデフォルトunknownに設定することは、仕様によれば完全に合法であるように思われます。

于 2013-03-14T17:55:49.680 に答える