From ed203e78aad49d1b75aa961156cfb78dadd495e8 Mon Sep 17 00:00:00 2001 From: Moritz Bunkus Date: Thu, 3 Sep 2020 23:49:23 +0200 Subject: [PATCH] update for handling of KaxTagLanguage --- Languages-in-Matroska-and-MKVToolNix.md | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/Languages-in-Matroska-and-MKVToolNix.md b/Languages-in-Matroska-and-MKVToolNix.md index a883fe5..42fb018 100644 --- a/Languages-in-Matroska-and-MKVToolNix.md +++ b/Languages-in-Matroska-and-MKVToolNix.md @@ -58,11 +58,12 @@ All of `mkvmerge`'s options that accept a language accept a BCP 47 language tag. When identifying a file in JSON mode, existing "LanguageIETF" track header elements will be output as the `language_ietf` track property. -When writing a file will always write the "LanguageIETF" and "ChapLanguageIETF" elements. In addition to those elements the corresponding -old elements will be written; they'll be set to the ISO 639-2 code portion of the BCP 47 language tag. For example, when the track language -is set to `sr-Cyrl-RS` "LanguageIETF" will be set to `sr-Cyrl-RS` and the old "Language" element will be set to "srp"). +When writing a file will always write the "LanguageIETF", "ChapLanguageIETF" and "TagLanguageIETF" elements (the latter two only if chapters +or tags are written in general, of course). In addition to those elements the corresponding old elements will be written; they'll be set to +the ISO 639-2 code portion of the BCP 47 language tag. For example, when the track language is set to `sr-Cyrl-RS` "LanguageIETF" will be +set to `sr-Cyrl-RS` and the old "Language" element will be set to "srp"). -When reading existing files (Matroska files, XML chapter files etc.) that already contain those "…LanguageIETF" elements the existing +When reading existing files (Matroska files, XML chapter or tag files etc.) that already contain those "…LanguageIETF" elements the existing elements will be kept. Otherwise "…LanguageIETF" elements will be added based on command-line options and other existing "…Language" elements. @@ -78,7 +79,7 @@ Changes to the old `language` track header property will cause `mkvpropedit` to as well as the old "Language" element similar to how `mkvmerge` applied the language to both elements. For example, when using `mkvpropedit movie.mkv --edit track:2 --set language=zh-TW` the "LanguageIETF" element will be set to `zh-TW` and the old "Language" element to `chi`. -When reading XML chapter files `mkvpropedit` works like `mkvmerge` does (see above). +When reading XML chapter or tag files `mkvpropedit` works like `mkvmerge` does (see above). The creation of the new elements can be disabled completely with the command-line option `--disable-language-ietf` which operates on all three new elements. @@ -111,8 +112,8 @@ Matroska file that contains them. Here's how to do that: * For `mkvmerge` add the command-line option `--disable-language-ietf`. Not only does it prevent `mkvmerge` from adding those elements, they'll also be removed if they exist in the source file. * For `mkvpropedit` add the command-line option `--disable-language-ietf`. It'll prevent `mkvpropedit` from writing the track header - "LanguageIETF" element when working on the `language` property and remove the "ChapLanguageIETF" element when working on chapters. For - removing existing track header "LanguageIETF" elements, use `--edit track:… --delete language-ietf`. + "LanguageIETF" element when working on the `language` property and remove the "ChapLanguageIETF" & "TagLanguageIETF" elements when working + on chapters or tags respectively. For removing existing track header "LanguageIETF" elements, use `--edit track:… --delete language-ietf`. * For MKVToolNix GUI's multiplexer you can add `--disable-language-ietf` to the default list of additional command-line options in the preferences → "Multiplexer" → "Default values" → "Default additional command-line options". * For MKVToolNix GUI's chapter editor you currently cannot disable the creation of "ChapLanguageIETF" elements. Such functionality might be