aboutsummaryrefslogtreecommitdiff
path: root/files/ja/web/html/global_attributes/lang/index.html
blob: 51a8140544f9602fb2b292cdf262fedde079b705 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
---
title: lang
slug: Web/HTML/Global_attributes/lang
tags:
  - HTML
  - Reference
  - グローバル属性
translation_of: Web/HTML/Global_attributes/lang
---
<div>{{HTMLSidebar("Global_attributes")}}</div>

<p><strong><code>lang</code></strong> <a href="/ja/docs/Web/HTML/Global_attributes">グローバル属性</a>は、要素の言語の定義に使われます。編集不可の要素では記述されている言語、また、編集可能な要素ではユーザーが書き込むべき言語です。属性には単一の「言語タグ」を <a class="external" href="https://www.ietf.org/rfc/bcp/bcp47.txt"><em>Tags for Identifying Languages (BCP47)</em></a> で定義された書式で持ちます。</p>

<div>{{EmbedInteractiveExample("pages/tabbed/attribute-lang.html","tabbed-shorter")}}</div>

<p class="hidden">このデモのソースファイルは GitHub リポジトリに格納されています。デモプロジェクトに協力したい場合は、 <a href="https://github.com/mdn/interactive-examples">https://github.com/mdn/interactive-examples</a> をクローンしてプルリクエストを送信してください。</p>

<p>属性値が<em>空文字列</em> (<code>lang=""</code>) の場合、言語は <em>unknown</em> に設定されます。言語タグが BCP47 に準拠していない場合は、 <em>invalid</em> に設定されます。</p>

<div class="note">
<h2 id="Language_tag_syntax" name="Language_tag_syntax">言語タグの構文</h2>

<p>BCP47 の完全な構文は、細かい特定の言語の方言まで示せるようにとても複雑になっていますが、ほとんどの使い方ではずっと単純です。</p>

<p>言語タグはハイフンで区切られた<em>言語サブタグ</em>より成り、それぞれのサブタグは言語の特定の特性を示します。3つのサブタグがもっともよく使われます。</p>

<dl>
 <dt>言語サブタグ</dt>
 <dd>必須です。基本言語を定義する2~3文字のコードで、ふつうすべて小文字で書かれます。例えば、英語の言語コードは <code>en</code> であり、バデシ語のコードは <code>bdz</code> です。</dd>
 <dt>書記体系サブタグ</dt>
 <dd>任意です。このサブタグは、言語で使われる書記体系を定義し、常に4文字の長さで、最初の文字は大文字です。例えば、ブライユ (点字) のフランス語は <code>fr-Brail</code> であり、 <code>ja-Kana</code> はカタカナで書かれた日本語です。言語がとても一般的な方法で記述される場合、例えば英語でアルファベットを使う場合などは、このサブタグを使用する必要はありません。</dd>
 <dt>地域サブタグ</dt>
 <dd>任意です。このサブタグは基本言語の特定の場所における方言を定義し、国コードを示す大文字2文字または地域を示す3桁の数字です。例えば、 <code>es-ES</code> はスペインで使われているスペイン語であり、 <code>es-013</code> は中央アメリカで使われているスペイン語です。「国際スペイン語」は単なる <code>es</code> になります。</dd>
</dl>

<p>両方がある場合、書式体系サブタグは地域サブタグよりも先に置きます。 — <code>ru-Cyrl-BY</code> はベラルーシで使われているキリル文字によるロシア語です。</p>

<p>言語の正しいサブタグコードを探すには、 <a href="https://r12a.github.io/app-subtags/" rel="external">the Language Subtag Lookup</a> を見てみてください。</p>
</div>

<p><strong>lang</strong> 属性が設定されていても、 <a href="/ja/docs/Web/HTML/Global_attributes/xml:lang"><strong>xml:lang</strong></a> 属性の方が優先するので、効果がないことがあります。</p>

<p>CSS 疑似クラスの {{cssxref(":lang")}} においては、名前が異なると二つの無効な言語名を区別します。ですから、 <code>:lang(es)</code><code>lang="es-ES"</code> 及び <code>lang="es-419"</code> にも一致しますが、 <code>:lang(xyzzy)</code><code>lang="xyzzy-Zorp!"</code> とは一致しません。</p>

<h2 id="Specifications" name="Specifications">仕様書</h2>

<table class="standard-table">
 <thead>
  <tr>
   <th scope="col">仕様書</th>
   <th scope="col">状態</th>
   <th scope="col">備考</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td>{{SpecName('HTML WHATWG', "dom.html#the-lang-and-xml:lang-attributes", "lang")}}</td>
   <td>{{Spec2('HTML WHATWG')}}</td>
   <td>最新のスナップショットである {{SpecName('HTML5.1')}} から変更なし。</td>
  </tr>
  <tr>
   <td>{{SpecName('HTML5.1', "dom.html#the-lang-and-xml:lang-attributes", "lang")}}</td>
   <td>{{Spec2('HTML5.1')}}</td>
   <td>{{SpecName('HTML WHATWG')}} のスナップショット。{{SpecName('HTML5 W3C')}} から変更なし。</td>
  </tr>
  <tr>
   <td>{{SpecName('HTML5 W3C', "dom.html#the-lang-and-xml:lang-attributes", "lang")}}</td>
   <td>{{Spec2('HTML5 W3C')}}</td>
   <td>{{SpecName('HTML WHATWG')}} のスナップショット。<code>xml:lang</code> の振る舞いと言語判断のアルゴリズムを定義。真にグローバルな属性となった。</td>
  </tr>
  <tr>
   <td>{{SpecName('HTML4.01', 'struct/dirlang.html#h-8.1', 'lang')}}</td>
   <td>{{Spec2('HTML4.01')}}</td>
   <td>{{HTMLElement("applet")}}, {{HTMLElement("base")}}, {{HTMLElement("basefont")}}, {{HTMLElement("br")}}, {{HTMLElement("frame")}}, {{HTMLElement("frameset")}}, {{HTMLElement("iframe")}}, {{HTMLElement("param")}}, and {{HTMLElement("script")}} を除くすべての要素で対応。</td>
  </tr>
 </tbody>
</table>

<h2 id="Browser_compatibility" name="Browser_compatibility">ブラウザーの互換性</h2>

<p>{{Compat("html.global_attributes.lang")}}</p>

<h2 id="See_also" name="See_also">関連情報</h2>

<ul>
 <li>すべての <a href="/ja/docs/Web/HTML/Global_attributes">グローバル属性</a></li>
 <li><a href="/ja/docs/Web/HTTP/Headers/Content-Language">HTTP の <code>Content-Language</code> ヘッダー</a></li>
</ul>