Language は、ファイルで使用されている人間の言語を記録するメタデータフィールドです。文書や電子書籍では、Language フィールドに本文の言語名が入ります。音声ファイルや動画ファイルでは、通常は 1 つのトラックで話されたり歌われたりしている言語名がこのフィールドに入ります。
どのファイルがそれを持っているか
ファイル形式ごとに、言語はそれぞれ別の場所に保存されます。
- MKV 動画はトラックごとに言語を保存するため、すべての音声トラックと字幕トラックにそれぞれ独自の値があります。
- MP4 と MOV の動画は、各トラックのメディアヘッダーに言語コードを保存します。
- MP3 ファイルは、ID3 タグ内の
TLANフレームに言語を格納できます。 - WAV と AVI ファイルは、RIFF INFO ブロック内の
ILNGフィールドに言語を格納できます。 - PDF ファイルは、ドキュメント全体の既定の言語を
Langエントリに保存できます。 - EPUB 電子書籍は、パッケージメタデータ内の
dc:language要素で、少なくとも 1 つの言語を指定しなければなりません。 - DOCX、XLSX、PPTX などの Office ファイルは、ドキュメントのプロパティに言語を保存できます。
- JPG、TIFF などの XMP ブロックを持つファイルは、XMP フィールド
dc:languageに言語を保存できます。
値の見え方
ファイルは主に 2 つのコード体系を使用します。ISO 639-2 は各言語に 3 文字のコードを割り当てます。BCP 47 は存在する場合は 2 文字のコードを使い、ハイフンの後に地域を追加できます。
engは ISO 639-2 における英語で、enは BCP 47 における英語です。freとfraはどちらもフランス語を表します。これは、一部の言語について ISO 639-2 に書誌用コードと用語用コードがあるためです。gerとdeuはどちらもドイツ語です。en-USはアメリカ合衆国で使われる英語です。fre-caは、MKV ファイルが使用する古い形式におけるカナダのフランス語です。
BCP 47 タグでは、大文字と小文字の違いに意味はありません。そのため、en-us と en-US は同じ言語を表します。慣例として、言語部分は小文字、地域部分は大文字で記述します。
ID3 タグは 3 文字コードを使用し、EPUB 電子書籍は BCP 47 タグを使用します。MKV のトラックは両方の形式を保持できますが、その場合プログラムは 3 文字コードを無視しなければなりません。FFmpeg で作成したレポートでは、language=eng のように各ストリームのタグとしてこの値が表示されます。
特殊な言語コード
コード und は言語不明を表します。ISO 639-2 では、どの言語か特定できないコンテンツ向けにこのコードが定義されています。
ISO 639-2 には、さらに特別なコードがあります。mul は複数の言語が混在していることを意味し、zxx は言語コンテンツがまったく存在しないことを意味します。コメントや歌詞などの ID3 フレーム内では、文字列 XXX が未知の言語を示します。
それが重要な理由
メディアプレーヤーは、トラックの言語を読み取って再生する音声トラックを選択します。優先言語としてフランス語を設定している場合、プレーヤーは言語がフランス語のトラックを選択します。字幕については、聴覚障害者向け などのフラグも確認します。
値が欠けていると誤解を招くことがあります。MKV ファイルでは、Language 要素のないトラックは英語として扱われます。既定値が eng のためです。
文書では、言語情報がスクリーンリーダーの支援になります。適切な Lang の値があれば、スクリーンリーダーは PDF に対して正しい発音規則を読み込むことができます。また PDF では、英語テキスト内のメキシコ向けスペイン語を示す es-MX のように、特定の語句だけを別の言語としてマークすることもできます。
EPUB 電子書籍は複数の言語を列挙できます。リーディングシステムは、そのうち最初の言語を本の主言語として扱います。