🎃

HTMLのlang属性での「ja」と「ja-JP」の違い

2025/01/09に公開

HTMLのlang属性を脳死で今まで「ja」と書いてきました。
ただ、多言語対応のサイトを作成するにあたり、そういえば「ja-JP」との違いってなんだっけとなったので、調べてみました。

そもそもHTMLのlang属性について

サイトで使用される主要な言語を指定するために利用されるもので、以下の例では日本語の言語コードを設定しています。

<!DOCTYPE html>
<html lang="ja">
<head>
</head>
<body>
</body>
</html>

lang属性設定をしなくてもブラウザが自動で判別をしてくれるみたいですが、誤判定の可能性があるので、明示的に設定しておくのが良いでしょう

「ja」と「ja-JP」の違い

「ja」はページの言語が日本語であることを示しており、「ja-JP」は言語が日本で使用されている日本語であることを示しています。
日本語は日本でしかほとんど使われていませんが、例えば英語となるとさまざまな地域で話されているので、アメリカだと「en-US」イギリスだと「en-GB」といった具合に言語コードも違ってきます。
このように日本語も「ja」と「ja-JP」で厳密には意味が違います。

他のサイトではどのように設定されているのか

企業 言語コード url
Microsoft ja-JP https://www.microsoft.com/ja-jp
Oracle ja-JP https://www.oracle.com/jp/
Netflix ja https://www.netflix.com/jp/
Amazon ja-jp https://www.amazon.co.jp/
Meta ja https://about.meta.com/ja/
Apple ja-JP https://www.apple.com/jp/
Google ja https://about.google/
NVIDIA ja-jp https://www.nvidia.com/ja-jp/

上記のように結構割れました。「ja-jp」と小文字が使用されているサイトもいくつかありました。

まとめ

「ja-JP」と厳密に指定しているサイトの方が若干多いようですが、そこまで意識する必要はないのかなーと個人的には思いました。
多言語対応サイトを作るときの参考になれば幸いです。

Discussion