HTMLタグの lang 属性には、HTMLで使用する言語を指定します。lang 属性は省略可能です。

日本語の場合

日本語の場合は、lang属性に「ja」を指定する。

<html lang="ja">

lang属性に「ja-JP」を指定してもよい。

<html lang="ja-JP">

2通りの方法があるが、どちらでも違いはない。

lang属性を指定できるHTMLタグ

HTML5においてlangはグローバル属性であるため、すべてのHTMLタグに指定できる。ただし、一般的にhtmlタグに指定することが多い。

langに指定できる言語

lang属性には、次の言語を指定できる。

意味
ar アラビア語
es スペイン語
zh 中国語
en 英語
fr フランス語
de ドイツ語
it イタリア語
ja 日本語
ko 韓国語
ru ロシア語
th タイ語
tr トルコ語
vi ベトナム語

langに指定できる言語と国

言語に国を指定することもできる。

意味
en-AU 英語(オーストラリア)
en-CA 英語(カナダ)
en-NZ 英語(ニュージーランド)
en-SG 英語(シンガポール)
en-UK 英語(イギリス)
en-US 英語(アメリカ)
fr-CA フランス語(カナダ)
fr-FR フランス語(フランス)
ja-JP 日本語(日本)

言語と国を指定できる理由は、同じ言語でも地域によってルールが異なるからである。

たとえば、日付の表記は同じ英語であってもイギリスとアメリカで異なる。

日付の表記
イギリス 19th November 2019
アメリカ November 19th, 2019

日付の年月日をどのような順番で表記するかは、英語という言語によって規定されているのではなく、地域の文化によって違うためである。

この考え方を理解できれば、英語で日本人の名前を「姓-名」と「名-姓」のどちらで書くか、といった議論はナンセンスだとわかる。 実際、Xi Jinping(習近平)やMoon Jae-in(文在寅)のように、中国人や韓国人の名前は英語の文献であっても「姓-名」の順で表記する。

日本語(ja)は日本(JP)でしか使われていないため、lang="ja"lang="ja-JP" に違いはない。

lang属性の分類
バージョン 分類
HTML 4.01 Transitional 国際化属性
HTML 4.01 Strict 国際化属性
XHTML 1.0 Strict 国際化属性
HTML5 グローバル属性