* 仕様書

[REFS[
- [33] 
[CITE@en-US-x-hixie[HTML Standard]], [TIME[2025-11-13T08:49:39.000Z]], [TIME[2025-11-16T06:58:47.264Z]] <https://html.spec.whatwg.org/#language-preferences>
-- [6] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2017-09-27 21:08:29 +09:00]]) <https://html.spec.whatwg.org/#dom-navigator-language>
-- [16] [CITE@en-US-x-hixie[HTML Standard]] ([TIME[2017-09-27 21:08:29 +09:00]]) <https://html.spec.whatwg.org/#dom-navigator-languages>
]REFS]

* 概要

[35] 
[[利用者の言語]]を返すのが基本動作ですが、 [[finterprinting vector]]
であり、[[プライバシー]]の保護のための補正が認められています。
[SEE[ [[利用者の言語]] ]]

* 値の解釈

[SEE[ [[言語の折衝]], [[利用者の言語]] ]]

* 関連

[34] [CODE[languagechange]]

* 歴史

** [CODE[navigator.language]] (DOM)

[20] [[JavaScript 1.2]] で追加されました。

[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]] は[[利用者界面]]の言語設定が反映されるようです。

[21] [CITE[Safari Developer FAQ]] ([TIME[2006-12-31 11:40:00 +09:00]] 版) <http://developer.apple.com/jp/internet/safari/faq.html#anchor1>

>GeckoベースのブラウザであるSafariはnavigator.languageプロパティをサポートし、Internet Explorer 5はnavigator.userLanguageをサポートしています。

[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]] 版) <http://forum.mozilla.gr.jp/cbbs.cgi?mode=al2&namber=11993&rev=&&KLOG=79#12007>

>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]

[117] [CITE@en[Web Applications 1.0 r7606     Document navigator.language. (Also, add a Workers topic you can subscribe to. Right now, it's a subset of the DOM APIs topic.)]]
( ([TIME[2012-12-30 09:04:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7605&to=7606>

[118] [CITE@en[Web Applications 1.0 r8231     Try to improve the fingerprinting-avoidance advice for navigator.language]]
( ([TIME[2013-10-19 05:52:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8230&to=8231>

[18] [CITE@en[Web Applications 1.0 r7746 Default navigator.language to 'en' instead of null.]]
( ([TIME[2013-03-09 08:47:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=7745&to=7746>

[19] [CITE@en[780953 – Add language change event]]
( ([TIME[2013-06-06 09:05:26 +09:00]] 版))
<https://bugzilla.mozilla.org/show_bug.cgi?id=780953>

[1] [CITE@en[Fix #881: Make NavigatorLanguage#language non-nullable · whatwg/html@d5ccd65]]
([TIME[2016-03-17 16:48:08 +09:00]] 版)
<https://github.com/whatwg/html/commit/d5ccd6595271916e8f947d9bf0412288a985f7ae>

[2] [CITE@en[55366 – Don't reveal UI language to site/page -- Change navigator.language to use Accept-Language instead of the UI language]]
( ([TIME[2016-06-10 19:16:44 +09:00]]))
<https://bugzilla.mozilla.org/show_bug.cgi?id=55366>

[3] [CITE@en-US[NavigatorLanguage.language - Web APIs | MDN]]
([TIME[2017-03-03 01:38:57 +09:00]])
<https://developer.mozilla.org/en-US/docs/Web/API/NavigatorLanguage/language>

[4] [CODE[navigator.language]] と [CODE[toLocaleString]] の[[言語]]が異なることがあるようです。

[5] [CITE@en[288670 - Use intl.accept_languages to choose the locale for a package if the current locale is unavailable]]
( ([TIME[2017-05-18 16:15:33 +09:00]]))
<https://bugzilla.mozilla.org/show_bug.cgi?id=288670>

** [CODE(JS)@en[navigator.systemLanguage]] (DOM)

[8] [[WinIE]] しか対応していないっぽいです。

[9] [CODE(HTTP)@en[[[Accept-Language]]:]] の設定とは関係なしに、
実行している[[システム]]の[[言語]]の設定を返すっぽいです。


** [CODE[system-language]] (SVG)

[7] 
[CITE[Bug 326375 - Camino only, SVG: systemlanguage is not implemented (switch?)]] <https://bugzilla.mozilla.org/show_bug.cgi?id=326375>

[10] [CITE@en[Document Structure — SVG 2]]
([TIME[2020-05-26T15:36:02.000Z]], [TIME[2020-11-27T12:18:49.482Z]])
<https://svgwg.org/svg2-draft/struct.html#SystemLanguageAttribute>

[22] [CITE[Synchronized Multimedia Integration Language]]
([TIME[2017-10-02T11:00:22.000Z]], [TIME[2020-11-27T12:20:33.635Z]])
<https://www.w3.org/TR/1998/REC-smil-19980615/#test>


** [CODE[navigator.userLanguage]] (DOM)

[23] [[WinIE7]] と [[Opera]] が実装しています。 [[WebKit]]、[[Gecko]] は対応していません。

[24] どっちも [CODE(JS)@en[[[navigator.systemLangauge]]]] と同じで[[利用者界面]]の[[言語]]を返すみたいで、
[CODE(HTTP)@en[[[Accept-Language]]:]] は無関係っぽいです。


** [CODE[navigator.languages]] (DOM)


[26] [CITE[''''''[''''''whatwg'''''']'''''' Accept-Language DOM API proposal]]
( ([TIME[2012-06-12 07:46:21 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2012-June/036355.html>

[29] [CITE@en[Bug 23517 – Expose the user's preferred languages in a DOM API]]
( ([TIME[2013-10-14 23:00:53 +09:00]] 版))
<https://www.w3.org/Bugs/Public/show_bug.cgi?id=23517>

[25] [CITE[Locale-Preferences-API/proposal.md at master · marcoscaceres/Locale-Preferences-API]]
( ([TIME[2013-07-30 03:57:24 +09:00]] 版))
<https://github.com/marcoscaceres/Locale-Preferences-API/blob/master/proposal.md>

[30] [CITE[Locale-Preferences-API/proposal.md at master · marcoscaceres/Locale-Preferences-API]] ([TIME[2013-10-14 23:01:21 +09:00]] 版) <https://github.com/marcoscaceres/Locale-Preferences-API/blob/master/proposal.md>

[26] [CITE[''''''[''''''whatwg'''''']'''''' Proposal: Locale Preferences API]]
( ([TIME[2013-07-30 02:51:33 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2013-July/040259.html>

[27] [CITE[IRC logs: freenode / #whatwg / 20131029]]
( ([TIME[2013-10-30 20:25:08 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20131029#l-940>

[28] [CITE@en[Web Applications 1.0 r8458      Add navigator.getLanguages() and <body onlanguagechange='__&&'&&__>]]
( ([TIME[2014-02-05 04:37:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8457&to=8458>

[29] [CITE@en[Web Applications 1.0 r8462      Change navigator.getLanguages() to navigator.languages]]
( ([TIME[2014-02-05 08:17:00 +09:00]] 版))
<http://html5.org/tools/web-apps-tracker?from=8461&to=8462>

[30] [CITE[IRC logs: freenode / #whatwg / 20140204]]
( ([TIME[2014-02-05 20:30:59 +09:00]] 版))
<http://krijnhoetmer.nl/irc-logs/whatwg/20140204>

[31] [CITE[''''''[''''''whatwg'''''']'''''' Proposal: Locale Preferences API]]
( ([TIME[2014-03-18 06:41:18 +09:00]] 版))
<http://lists.whatwg.org/pipermail/whatwg-whatwg.org/2014-March/042260.html>

[32] [CITE@en[Use FrozenArray for Navigator#languages and MessageEvent#ports · whatwg/html@e4df68a]]
([TIME[2016-03-25 13:51:07 +09:00]] 版)
<https://github.com/whatwg/html/commit/e4df68a41b86753c7fcdd0d8ea4615f63ffc87e9>





* メモ