Язык в метаданных - это поле, в котором записывается, на каком человеческом языке выполнен файл. В документе или электронной книге поле Language указывает язык текста. В аудио- или видеофайле это поле обычно указывает язык, на котором говорят или поют в одной дорожке.
Какие файлы его содержат
Каждый файловый формат хранит язык в своем месте:
- Видео MKV хранят язык для каждой дорожки, поэтому у каждой аудио- и субтитровой дорожки есть свое значение
- Видео MP4 и MOV хранят языковой код в медиазаголовке каждой дорожки
- Файлы MP3 могут содержать язык в своем теге ID3, в кадре
TLAN - Файлы WAV и AVI могут содержать язык в блоке RIFF INFO, в поле
ILNG - Файлы PDF могут хранить язык по умолчанию для всего документа в записи
Lang - Электронные книги EPUB должны указать как минимум один язык в своих метаданных пакета, в элементе
dc:language - Файлы Office, такие как DOCX, XLSX и PPTX, могут хранить язык в свойствах документа
- Файлы JPG, TIFF и другие файлы с блоком XMP могут хранить язык в поле XMP
dc:language
Как выглядят значения
Файлы используют 2 основных системы кодов. ISO 639-2 задает каждому языку код из 3 букв. BCP 47 использует 2-буквенный код, где он существует, и может добавлять регион после дефиса.
eng- это английский в ISO 639-2, аen- английский в BCP 47freи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 может перечислять несколько языков. Системы чтения тогда рассматривают первый из них как основной язык книги.