* [CODE(JS)@en[navigator.language]] 属性 [11] [[Firefox]]、[[Safari]]、[[Chrome]]、[[Opera]] が実装しています。 [[WinIE7]] は実装していないっぽいです。 [12] [[日本語版]]の場合、 [[Safari]] は [CODE(lang)@en[[[ja-JP]]]] を返しますが、 それ以外は [CODE(lang)@en[[[ja]]]] を返します。 [13] [[NC4]] は [CODE(lang)@en[[[jp]]]] を返したらしいですが、未確認です。 [14] [[Opera]] は[[利用者界面]]の言語設定と [CODE(HTTP)@en[[[Accept-Language]]:]] の設定が一体化していますが、 [[利用者界面]]の言語設定だけから値が決まるようです。 [15] [[Chrome]] は[[利用者界面]]の言語設定が反映されるようです。 [17] [CITE@ja[Mozilla-gumi Forum '''['''One Topic All View / Re[1''']''': MacOSX Safariでmozilla-japanにアクセスすると英語版のダウンロードになりませんか? / Page: 0]]] ([[Mozilla-gumi]] 著, [TIME[2008-12-20 23:04:38 +09:00]] 版) >btm の投稿 :2004/11/12(Fri) 00:57:14 [PRE[ 実際に試してみました。 Safari: navigator.language : en navigator.userLanguage : undefined navigator.systemLanguage : undefined Firefox 1.0 日本語版: navigator.language : ja-JPM navigator.userLanguage : undefined navigator.systemLanguage : undefined ]PRE] ** 関連 [16] 似たようなものに [CODE(JS)@en[[[navigator.systemLanguage]]]] と [CODE(JS)@en[[[navigator.userLanguage]]]] があります。 * [CODE(XMLe)@en[language]] 要素 (RSS) [1] [[RSS]] の [DFN[[CODE(XMLe)@en[[[language]]]] [[要素]]]]は、 [[チャンネル]]が記述されている[[自然言語]]を表します。 :[[要素名]]:[CODE(XMLe)@en[[[language]]]] ([[language]] ([[言語]]) より) :文脈:[[チャンネル要素]]が認められる場所 :[[内容モデル]]:[[言語札]] :[[属性]]: 仕様書: -[CITE@en[RSS 0.91 Specification (Netscape)]] ([TIME[2008-11-22 17:21:58 +09:00]] 版) -[CITE@en[RSS 0.92 Specification]] ([TIME[2008-11-22 17:30:45 +09:00]] 版) -[4] [CITE@en[RSS 2.0 Specification (version 2.0.10)]] ([TIME[2008-11-21 13:42:42 +09:00]] 版) -[5] [CITE@en[RSS Language Codes]] ([TIME[2008-11-21 18:33:39 +09:00]] 版) -[CITE@en[RSS Best Practices Profile]] ([TIME[2008-11-21 15:11:45 +09:00]] 版) ** 内容 [3] [CODE(XMLe)@en[[[language]]]] [[要素]]の[[内容]]は、 [[Netscape]] が規定したリスト (>>5) に掲載されている値、または [[W3C]] が定義した値でなければ[['''なりません''']] [SRC@en[[[RSS 2.0]], [[RSS Best Practices Profile]]]]。 [[W3C]] が定義した値というのは [[HTML4]] [CODE(HTMLa)@en[[[lang]]]] [[属性]]が[[リンク]]されていますから、 実際には [[IETF]] が規定した [[RFC 1766]] [[言語札]]を指します。 [4] [[Netscape]] のリストとされるもの (>>5) には、 [[Netscape]] が出版した [[RSS 0.91]] 仕様にはない [CODE(lang)@en[[[et]]]] と [CODE(lang)@en[[[haw]]]] が追加されている旨が記述されており、それを [[Netscape]] のリストと呼ぶのはどうかと思うのですが、それはともかく、 このリストに掲載されている[[言語符号]]はすべて [[RFC 3066]] [[言語札]]としても正当なものです。 ;; [[RFC 1766]] は3文字の[[言語符号]]にまだ対応していませんでしたから、 [CODE(lang)@en[[[haw]]]] だけは [[RFC 1766]] [[言語札]]としては不適切でしたが、 それ以外は [[RFC 1766]] [[言語札]]としても正しいものです。 ** 文脈 [10] この[[要素]]は [[RSS 0.91]] では必須でしたが、 [[RSS 0.92]] や [[RSS 2.0]] では省略可能です。 ** 応用 [2] この[[要素]]を使うことで、[[集積器]]がある[[自然言語]]で書かれた[[サイト]]を一まとめにする、 といったことができます [SRC@en[[[RSS 2.0]]]]。 ** 例 [6] [PRE(XML example code)[ en-us ]PRE] ;; [[RSS 2.0]] 仕様書より、改 [9] [PRE(XML example code)[ epo ]PRE] ;; [[RSS Best Practices Profile]] より この例は3文字の[[言語符号]]を使っていますが、 [[RSS 2.0]] や [[RSS Best Practices Profile]] や [[HTML4]] を厳密に解釈すると、 [[RFC 1766]] でも [[RSS Langauge Codes]] でも [CODE(lang)@en[[[epo]]]] は認められていませんから、この例は[[非妥当]]になってしまいます。 ** 関連 [7] 本来 [[XML]] では [CODE(XMLa)@en[[[xml]]:[[lang]]]] [[属性]]を使うのが正当なのでしょうが、 [[RSS]] では伝統的に[[要素]]が使われてきました。 [[RDF]] ベースの [[RSS 1.0]] でも、 [[Dublin Core]] に由来する [CODE(XMLe)@en[dc:[[language]]]] [[要素]]がよく使われています。一方 [[Atom]] では [CODE(XMLa)@en[[[xml]]:[[lang]]]] [[属性]]が使われています。 [8] [[HTML]] の [CODE(HTMLe)@en[[[meta]]]] [[要素]]の [CODE(HTMLa)@en[[[http-equiv]]]] の値 [CODE(HTTP)@en[[[Content-Language]]]] は [CODE(XMLe)@en[[[language]]]] に近い存在と捉えることもできます。