From 976268781ba9500205aa22bacbb9f8d9d6cb66f6 Mon Sep 17 00:00:00 2001 From: Joey Parrish Date: Wed, 11 Dec 2024 09:31:06 -0800 Subject: [PATCH 1/3] fix: Add missing Hebrew language mapping We already mapped Hebrew's "heb" to "he", but not to the alternative 2-letter code "iw". --- packager/media/base/language_utils.cc | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/packager/media/base/language_utils.cc b/packager/media/base/language_utils.cc index 1c54c4133f9..435fbd727f8 100644 --- a/packager/media/base/language_utils.cc +++ b/packager/media/base/language_utils.cc @@ -71,6 +71,10 @@ const LanguageMapPairType kLanguageMap[] = { { "ven", "ve" }, { "vie", "vi" }, { "vol", "vo" }, { "wel", "cy" }, { "wln", "wa" }, { "wol", "wo" }, { "xho", "xh" }, { "yid", "yi" }, { "yor", "yo" }, { "zha", "za" }, { "zho", "zh" }, { "zul", "zu" }, + + // The list is no longer alphabetized after this point, to simplify the + // revision history as we add missing entries on 2024-12-11. + { "heb", "iw" }, }; void SplitLanguageTag(const std::string& tag, From 77fe05af88fd0cba9e2cbce20ffe5b706489101b Mon Sep 17 00:00:00 2001 From: Joey Parrish Date: Wed, 11 Dec 2024 12:43:00 -0800 Subject: [PATCH 2/3] Fix linter --- packager/media/base/language_utils.cc | 260 ++++++++++++++++++++------ 1 file changed, 205 insertions(+), 55 deletions(-) diff --git a/packager/media/base/language_utils.cc b/packager/media/base/language_utils.cc index 435fbd727f8..186a54c5946 100644 --- a/packager/media/base/language_utils.cc +++ b/packager/media/base/language_utils.cc @@ -20,61 +20,211 @@ typedef struct { const char iso_639_1[3]; // 2 letters + nul } LanguageMapPairType; const LanguageMapPairType kLanguageMap[] = { - { "aar", "aa" }, { "abk", "ab" }, { "afr", "af" }, { "aka", "ak" }, - { "alb", "sq" }, { "amh", "am" }, { "ara", "ar" }, { "arg", "an" }, - { "arm", "hy" }, { "asm", "as" }, { "ava", "av" }, { "ave", "ae" }, - { "aym", "ay" }, { "aze", "az" }, { "bak", "ba" }, { "bam", "bm" }, - { "baq", "eu" }, { "bel", "be" }, { "ben", "bn" }, { "bih", "bh" }, - { "bis", "bi" }, { "bod", "bo" }, { "bos", "bs" }, { "bre", "br" }, - { "bul", "bg" }, { "bur", "my" }, { "cat", "ca" }, { "ces", "cs" }, - { "cha", "ch" }, { "che", "ce" }, { "chi", "zh" }, { "chu", "cu" }, - { "chv", "cv" }, { "cor", "kw" }, { "cos", "co" }, { "cre", "cr" }, - { "cym", "cy" }, { "cze", "cs" }, { "dan", "da" }, { "deu", "de" }, - { "div", "dv" }, { "dut", "nl" }, { "dzo", "dz" }, { "ell", "el" }, - { "eng", "en" }, { "epo", "eo" }, { "est", "et" }, { "eus", "eu" }, - { "ewe", "ee" }, { "fao", "fo" }, { "fas", "fa" }, { "fij", "fj" }, - { "fin", "fi" }, { "fra", "fr" }, { "fre", "fr" }, { "fry", "fy" }, - { "ful", "ff" }, { "geo", "ka" }, { "ger", "de" }, { "gla", "gd" }, - { "gle", "ga" }, { "glg", "gl" }, { "glv", "gv" }, { "gre", "el" }, - { "grn", "gn" }, { "guj", "gu" }, { "hat", "ht" }, { "hau", "ha" }, - { "heb", "he" }, { "her", "hz" }, { "hin", "hi" }, { "hmo", "ho" }, - { "hrv", "hr" }, { "hun", "hu" }, { "hye", "hy" }, { "ibo", "ig" }, - { "ice", "is" }, { "ido", "io" }, { "iii", "ii" }, { "iku", "iu" }, - { "ile", "ie" }, { "ina", "ia" }, { "ind", "id" }, { "ipk", "ik" }, - { "isl", "is" }, { "ita", "it" }, { "jav", "jv" }, { "jpn", "ja" }, - { "kal", "kl" }, { "kan", "kn" }, { "kas", "ks" }, { "kat", "ka" }, - { "kau", "kr" }, { "kaz", "kk" }, { "khm", "km" }, { "kik", "ki" }, - { "kin", "rw" }, { "kir", "ky" }, { "kom", "kv" }, { "kon", "kg" }, - { "kor", "ko" }, { "kua", "kj" }, { "kur", "ku" }, { "lao", "lo" }, - { "lat", "la" }, { "lav", "lv" }, { "lim", "li" }, { "lin", "ln" }, - { "lit", "lt" }, { "ltz", "lb" }, { "lub", "lu" }, { "lug", "lg" }, - { "mac", "mk" }, { "mah", "mh" }, { "mal", "ml" }, { "mao", "mi" }, - { "mar", "mr" }, { "may", "ms" }, { "mkd", "mk" }, { "mlg", "mg" }, - { "mlt", "mt" }, { "mon", "mn" }, { "mri", "mi" }, { "msa", "ms" }, - { "mya", "my" }, { "nau", "na" }, { "nav", "nv" }, { "nbl", "nr" }, - { "nde", "nd" }, { "ndo", "ng" }, { "nep", "ne" }, { "nld", "nl" }, - { "nno", "nn" }, { "nob", "nb" }, { "nor", "no" }, { "nya", "ny" }, - { "oci", "oc" }, { "oji", "oj" }, { "ori", "or" }, { "orm", "om" }, - { "oss", "os" }, { "pan", "pa" }, { "per", "fa" }, { "pli", "pi" }, - { "pol", "pl" }, { "por", "pt" }, { "pus", "ps" }, { "que", "qu" }, - { "roh", "rm" }, { "ron", "ro" }, { "rum", "ro" }, { "run", "rn" }, - { "rus", "ru" }, { "sag", "sg" }, { "san", "sa" }, { "sin", "si" }, - { "slk", "sk" }, { "slo", "sk" }, { "slv", "sl" }, { "sme", "se" }, - { "smo", "sm" }, { "sna", "sn" }, { "snd", "sd" }, { "som", "so" }, - { "sot", "st" }, { "spa", "es" }, { "sqi", "sq" }, { "srd", "sc" }, - { "srp", "sr" }, { "ssw", "ss" }, { "sun", "su" }, { "swa", "sw" }, - { "swe", "sv" }, { "tah", "ty" }, { "tam", "ta" }, { "tat", "tt" }, - { "tel", "te" }, { "tgk", "tg" }, { "tgl", "tl" }, { "tha", "th" }, - { "tib", "bo" }, { "tir", "ti" }, { "ton", "to" }, { "tsn", "tn" }, - { "tso", "ts" }, { "tuk", "tk" }, { "tur", "tr" }, { "twi", "tw" }, - { "uig", "ug" }, { "ukr", "uk" }, { "urd", "ur" }, { "uzb", "uz" }, - { "ven", "ve" }, { "vie", "vi" }, { "vol", "vo" }, { "wel", "cy" }, - { "wln", "wa" }, { "wol", "wo" }, { "xho", "xh" }, { "yid", "yi" }, - { "yor", "yo" }, { "zha", "za" }, { "zho", "zh" }, { "zul", "zu" }, - - // The list is no longer alphabetized after this point, to simplify the - // revision history as we add missing entries on 2024-12-11. - { "heb", "iw" }, + {"aar", "aa"}, + {"abk", "ab"}, + {"afr", "af"}, + {"aka", "ak"}, + {"alb", "sq"}, + {"amh", "am"}, + {"ara", "ar"}, + {"arg", "an"}, + {"arm", "hy"}, + {"asm", "as"}, + {"ava", "av"}, + {"ave", "ae"}, + {"aym", "ay"}, + {"aze", "az"}, + {"bak", "ba"}, + {"bam", "bm"}, + {"baq", "eu"}, + {"bel", "be"}, + {"ben", "bn"}, + {"bih", "bh"}, + {"bis", "bi"}, + {"bod", "bo"}, + {"bos", "bs"}, + {"bre", "br"}, + {"bul", "bg"}, + {"bur", "my"}, + {"cat", "ca"}, + {"ces", "cs"}, + {"cha", "ch"}, + {"che", "ce"}, + {"chi", "zh"}, + {"chu", "cu"}, + {"chv", "cv"}, + {"cor", "kw"}, + {"cos", "co"}, + {"cre", "cr"}, + {"cym", "cy"}, + {"cze", "cs"}, + {"dan", "da"}, + {"deu", "de"}, + {"div", "dv"}, + {"dut", "nl"}, + {"dzo", "dz"}, + {"ell", "el"}, + {"eng", "en"}, + {"epo", "eo"}, + {"est", "et"}, + {"eus", "eu"}, + {"ewe", "ee"}, + {"fao", "fo"}, + {"fas", "fa"}, + {"fij", "fj"}, + {"fin", "fi"}, + {"fra", "fr"}, + {"fre", "fr"}, + {"fry", "fy"}, + {"ful", "ff"}, + {"geo", "ka"}, + {"ger", "de"}, + {"gla", "gd"}, + {"gle", "ga"}, + {"glg", "gl"}, + {"glv", "gv"}, + {"gre", "el"}, + {"grn", "gn"}, + {"guj", "gu"}, + {"hat", "ht"}, + {"hau", "ha"}, + {"heb", "he"}, + {"heb", "iw"}, + {"her", "hz"}, + {"hin", "hi"}, + {"hmo", "ho"}, + {"hrv", "hr"}, + {"hun", "hu"}, + {"hye", "hy"}, + {"ibo", "ig"}, + {"ice", "is"}, + {"ido", "io"}, + {"iii", "ii"}, + {"iku", "iu"}, + {"ile", "ie"}, + {"ina", "ia"}, + {"ind", "id"}, + {"ipk", "ik"}, + {"isl", "is"}, + {"ita", "it"}, + {"jav", "jv"}, + {"jpn", "ja"}, + {"kal", "kl"}, + {"kan", "kn"}, + {"kas", "ks"}, + {"kat", "ka"}, + {"kau", "kr"}, + {"kaz", "kk"}, + {"khm", "km"}, + {"kik", "ki"}, + {"kin", "rw"}, + {"kir", "ky"}, + {"kom", "kv"}, + {"kon", "kg"}, + {"kor", "ko"}, + {"kua", "kj"}, + {"kur", "ku"}, + {"lao", "lo"}, + {"lat", "la"}, + {"lav", "lv"}, + {"lim", "li"}, + {"lin", "ln"}, + {"lit", "lt"}, + {"ltz", "lb"}, + {"lub", "lu"}, + {"lug", "lg"}, + {"mac", "mk"}, + {"mah", "mh"}, + {"mal", "ml"}, + {"mao", "mi"}, + {"mar", "mr"}, + {"may", "ms"}, + {"mkd", "mk"}, + {"mlg", "mg"}, + {"mlt", "mt"}, + {"mon", "mn"}, + {"mri", "mi"}, + {"msa", "ms"}, + {"mya", "my"}, + {"nau", "na"}, + {"nav", "nv"}, + {"nbl", "nr"}, + {"nde", "nd"}, + {"ndo", "ng"}, + {"nep", "ne"}, + {"nld", "nl"}, + {"nno", "nn"}, + {"nob", "nb"}, + {"nor", "no"}, + {"nya", "ny"}, + {"oci", "oc"}, + {"oji", "oj"}, + {"ori", "or"}, + {"orm", "om"}, + {"oss", "os"}, + {"pan", "pa"}, + {"per", "fa"}, + {"pli", "pi"}, + {"pol", "pl"}, + {"por", "pt"}, + {"pus", "ps"}, + {"que", "qu"}, + {"roh", "rm"}, + {"ron", "ro"}, + {"rum", "ro"}, + {"run", "rn"}, + {"rus", "ru"}, + {"sag", "sg"}, + {"san", "sa"}, + {"sin", "si"}, + {"slk", "sk"}, + {"slo", "sk"}, + {"slv", "sl"}, + {"sme", "se"}, + {"smo", "sm"}, + {"sna", "sn"}, + {"snd", "sd"}, + {"som", "so"}, + {"sot", "st"}, + {"spa", "es"}, + {"sqi", "sq"}, + {"srd", "sc"}, + {"srp", "sr"}, + {"ssw", "ss"}, + {"sun", "su"}, + {"swa", "sw"}, + {"swe", "sv"}, + {"tah", "ty"}, + {"tam", "ta"}, + {"tat", "tt"}, + {"tel", "te"}, + {"tgk", "tg"}, + {"tgl", "tl"}, + {"tha", "th"}, + {"tib", "bo"}, + {"tir", "ti"}, + {"ton", "to"}, + {"tsn", "tn"}, + {"tso", "ts"}, + {"tuk", "tk"}, + {"tur", "tr"}, + {"twi", "tw"}, + {"uig", "ug"}, + {"ukr", "uk"}, + {"urd", "ur"}, + {"uzb", "uz"}, + {"ven", "ve"}, + {"vie", "vi"}, + {"vol", "vo"}, + {"wel", "cy"}, + {"wln", "wa"}, + {"wol", "wo"}, + {"xho", "xh"}, + {"yid", "yi"}, + {"yor", "yo"}, + {"zha", "za"}, + {"zho", "zh"}, + {"zul", "zu"}, }; void SplitLanguageTag(const std::string& tag, From 6a994cebf1be297315358b371bc7c3a5b446c12b Mon Sep 17 00:00:00 2001 From: Joey Parrish Date: Wed, 11 Dec 2024 12:49:03 -0800 Subject: [PATCH 3/3] Fix linter again? --- packager/media/base/language_utils.cc | 246 +++++--------------------- 1 file changed, 41 insertions(+), 205 deletions(-) diff --git a/packager/media/base/language_utils.cc b/packager/media/base/language_utils.cc index 186a54c5946..4de6f8e675f 100644 --- a/packager/media/base/language_utils.cc +++ b/packager/media/base/language_utils.cc @@ -20,211 +20,47 @@ typedef struct { const char iso_639_1[3]; // 2 letters + nul } LanguageMapPairType; const LanguageMapPairType kLanguageMap[] = { - {"aar", "aa"}, - {"abk", "ab"}, - {"afr", "af"}, - {"aka", "ak"}, - {"alb", "sq"}, - {"amh", "am"}, - {"ara", "ar"}, - {"arg", "an"}, - {"arm", "hy"}, - {"asm", "as"}, - {"ava", "av"}, - {"ave", "ae"}, - {"aym", "ay"}, - {"aze", "az"}, - {"bak", "ba"}, - {"bam", "bm"}, - {"baq", "eu"}, - {"bel", "be"}, - {"ben", "bn"}, - {"bih", "bh"}, - {"bis", "bi"}, - {"bod", "bo"}, - {"bos", "bs"}, - {"bre", "br"}, - {"bul", "bg"}, - {"bur", "my"}, - {"cat", "ca"}, - {"ces", "cs"}, - {"cha", "ch"}, - {"che", "ce"}, - {"chi", "zh"}, - {"chu", "cu"}, - {"chv", "cv"}, - {"cor", "kw"}, - {"cos", "co"}, - {"cre", "cr"}, - {"cym", "cy"}, - {"cze", "cs"}, - {"dan", "da"}, - {"deu", "de"}, - {"div", "dv"}, - {"dut", "nl"}, - {"dzo", "dz"}, - {"ell", "el"}, - {"eng", "en"}, - {"epo", "eo"}, - {"est", "et"}, - {"eus", "eu"}, - {"ewe", "ee"}, - {"fao", "fo"}, - {"fas", "fa"}, - {"fij", "fj"}, - {"fin", "fi"}, - {"fra", "fr"}, - {"fre", "fr"}, - {"fry", "fy"}, - {"ful", "ff"}, - {"geo", "ka"}, - {"ger", "de"}, - {"gla", "gd"}, - {"gle", "ga"}, - {"glg", "gl"}, - {"glv", "gv"}, - {"gre", "el"}, - {"grn", "gn"}, - {"guj", "gu"}, - {"hat", "ht"}, - {"hau", "ha"}, - {"heb", "he"}, - {"heb", "iw"}, - {"her", "hz"}, - {"hin", "hi"}, - {"hmo", "ho"}, - {"hrv", "hr"}, - {"hun", "hu"}, - {"hye", "hy"}, - {"ibo", "ig"}, - {"ice", "is"}, - {"ido", "io"}, - {"iii", "ii"}, - {"iku", "iu"}, - {"ile", "ie"}, - {"ina", "ia"}, - {"ind", "id"}, - {"ipk", "ik"}, - {"isl", "is"}, - {"ita", "it"}, - {"jav", "jv"}, - {"jpn", "ja"}, - {"kal", "kl"}, - {"kan", "kn"}, - {"kas", "ks"}, - {"kat", "ka"}, - {"kau", "kr"}, - {"kaz", "kk"}, - {"khm", "km"}, - {"kik", "ki"}, - {"kin", "rw"}, - {"kir", "ky"}, - {"kom", "kv"}, - {"kon", "kg"}, - {"kor", "ko"}, - {"kua", "kj"}, - {"kur", "ku"}, - {"lao", "lo"}, - {"lat", "la"}, - {"lav", "lv"}, - {"lim", "li"}, - {"lin", "ln"}, - {"lit", "lt"}, - {"ltz", "lb"}, - {"lub", "lu"}, - {"lug", "lg"}, - {"mac", "mk"}, - {"mah", "mh"}, - {"mal", "ml"}, - {"mao", "mi"}, - {"mar", "mr"}, - {"may", "ms"}, - {"mkd", "mk"}, - {"mlg", "mg"}, - {"mlt", "mt"}, - {"mon", "mn"}, - {"mri", "mi"}, - {"msa", "ms"}, - {"mya", "my"}, - {"nau", "na"}, - {"nav", "nv"}, - {"nbl", "nr"}, - {"nde", "nd"}, - {"ndo", "ng"}, - {"nep", "ne"}, - {"nld", "nl"}, - {"nno", "nn"}, - {"nob", "nb"}, - {"nor", "no"}, - {"nya", "ny"}, - {"oci", "oc"}, - {"oji", "oj"}, - {"ori", "or"}, - {"orm", "om"}, - {"oss", "os"}, - {"pan", "pa"}, - {"per", "fa"}, - {"pli", "pi"}, - {"pol", "pl"}, - {"por", "pt"}, - {"pus", "ps"}, - {"que", "qu"}, - {"roh", "rm"}, - {"ron", "ro"}, - {"rum", "ro"}, - {"run", "rn"}, - {"rus", "ru"}, - {"sag", "sg"}, - {"san", "sa"}, - {"sin", "si"}, - {"slk", "sk"}, - {"slo", "sk"}, - {"slv", "sl"}, - {"sme", "se"}, - {"smo", "sm"}, - {"sna", "sn"}, - {"snd", "sd"}, - {"som", "so"}, - {"sot", "st"}, - {"spa", "es"}, - {"sqi", "sq"}, - {"srd", "sc"}, - {"srp", "sr"}, - {"ssw", "ss"}, - {"sun", "su"}, - {"swa", "sw"}, - {"swe", "sv"}, - {"tah", "ty"}, - {"tam", "ta"}, - {"tat", "tt"}, - {"tel", "te"}, - {"tgk", "tg"}, - {"tgl", "tl"}, - {"tha", "th"}, - {"tib", "bo"}, - {"tir", "ti"}, - {"ton", "to"}, - {"tsn", "tn"}, - {"tso", "ts"}, - {"tuk", "tk"}, - {"tur", "tr"}, - {"twi", "tw"}, - {"uig", "ug"}, - {"ukr", "uk"}, - {"urd", "ur"}, - {"uzb", "uz"}, - {"ven", "ve"}, - {"vie", "vi"}, - {"vol", "vo"}, - {"wel", "cy"}, - {"wln", "wa"}, - {"wol", "wo"}, - {"xho", "xh"}, - {"yid", "yi"}, - {"yor", "yo"}, - {"zha", "za"}, - {"zho", "zh"}, - {"zul", "zu"}, + {"aar", "aa"}, {"abk", "ab"}, {"afr", "af"}, {"aka", "ak"}, {"alb", "sq"}, + {"amh", "am"}, {"ara", "ar"}, {"arg", "an"}, {"arm", "hy"}, {"asm", "as"}, + {"ava", "av"}, {"ave", "ae"}, {"aym", "ay"}, {"aze", "az"}, {"bak", "ba"}, + {"bam", "bm"}, {"baq", "eu"}, {"bel", "be"}, {"ben", "bn"}, {"bih", "bh"}, + {"bis", "bi"}, {"bod", "bo"}, {"bos", "bs"}, {"bre", "br"}, {"bul", "bg"}, + {"bur", "my"}, {"cat", "ca"}, {"ces", "cs"}, {"cha", "ch"}, {"che", "ce"}, + {"chi", "zh"}, {"chu", "cu"}, {"chv", "cv"}, {"cor", "kw"}, {"cos", "co"}, + {"cre", "cr"}, {"cym", "cy"}, {"cze", "cs"}, {"dan", "da"}, {"deu", "de"}, + {"div", "dv"}, {"dut", "nl"}, {"dzo", "dz"}, {"ell", "el"}, {"eng", "en"}, + {"epo", "eo"}, {"est", "et"}, {"eus", "eu"}, {"ewe", "ee"}, {"fao", "fo"}, + {"fas", "fa"}, {"fij", "fj"}, {"fin", "fi"}, {"fra", "fr"}, {"fre", "fr"}, + {"fry", "fy"}, {"ful", "ff"}, {"geo", "ka"}, {"ger", "de"}, {"gla", "gd"}, + {"gle", "ga"}, {"glg", "gl"}, {"glv", "gv"}, {"gre", "el"}, {"grn", "gn"}, + {"guj", "gu"}, {"hat", "ht"}, {"hau", "ha"}, {"heb", "he"}, {"heb", "iw"}, + {"her", "hz"}, {"hin", "hi"}, {"hmo", "ho"}, {"hrv", "hr"}, {"hun", "hu"}, + {"hye", "hy"}, {"ibo", "ig"}, {"ice", "is"}, {"ido", "io"}, {"iii", "ii"}, + {"iku", "iu"}, {"ile", "ie"}, {"ina", "ia"}, {"ind", "id"}, {"ipk", "ik"}, + {"isl", "is"}, {"ita", "it"}, {"jav", "jv"}, {"jpn", "ja"}, {"kal", "kl"}, + {"kan", "kn"}, {"kas", "ks"}, {"kat", "ka"}, {"kau", "kr"}, {"kaz", "kk"}, + {"khm", "km"}, {"kik", "ki"}, {"kin", "rw"}, {"kir", "ky"}, {"kom", "kv"}, + {"kon", "kg"}, {"kor", "ko"}, {"kua", "kj"}, {"kur", "ku"}, {"lao", "lo"}, + {"lat", "la"}, {"lav", "lv"}, {"lim", "li"}, {"lin", "ln"}, {"lit", "lt"}, + {"ltz", "lb"}, {"lub", "lu"}, {"lug", "lg"}, {"mac", "mk"}, {"mah", "mh"}, + {"mal", "ml"}, {"mao", "mi"}, {"mar", "mr"}, {"may", "ms"}, {"mkd", "mk"}, + {"mlg", "mg"}, {"mlt", "mt"}, {"mon", "mn"}, {"mri", "mi"}, {"msa", "ms"}, + {"mya", "my"}, {"nau", "na"}, {"nav", "nv"}, {"nbl", "nr"}, {"nde", "nd"}, + {"ndo", "ng"}, {"nep", "ne"}, {"nld", "nl"}, {"nno", "nn"}, {"nob", "nb"}, + {"nor", "no"}, {"nya", "ny"}, {"oci", "oc"}, {"oji", "oj"}, {"ori", "or"}, + {"orm", "om"}, {"oss", "os"}, {"pan", "pa"}, {"per", "fa"}, {"pli", "pi"}, + {"pol", "pl"}, {"por", "pt"}, {"pus", "ps"}, {"que", "qu"}, {"roh", "rm"}, + {"ron", "ro"}, {"rum", "ro"}, {"run", "rn"}, {"rus", "ru"}, {"sag", "sg"}, + {"san", "sa"}, {"sin", "si"}, {"slk", "sk"}, {"slo", "sk"}, {"slv", "sl"}, + {"sme", "se"}, {"smo", "sm"}, {"sna", "sn"}, {"snd", "sd"}, {"som", "so"}, + {"sot", "st"}, {"spa", "es"}, {"sqi", "sq"}, {"srd", "sc"}, {"srp", "sr"}, + {"ssw", "ss"}, {"sun", "su"}, {"swa", "sw"}, {"swe", "sv"}, {"tah", "ty"}, + {"tam", "ta"}, {"tat", "tt"}, {"tel", "te"}, {"tgk", "tg"}, {"tgl", "tl"}, + {"tha", "th"}, {"tib", "bo"}, {"tir", "ti"}, {"ton", "to"}, {"tsn", "tn"}, + {"tso", "ts"}, {"tuk", "tk"}, {"tur", "tr"}, {"twi", "tw"}, {"uig", "ug"}, + {"ukr", "uk"}, {"urd", "ur"}, {"uzb", "uz"}, {"ven", "ve"}, {"vie", "vi"}, + {"vol", "vo"}, {"wel", "cy"}, {"wln", "wa"}, {"wol", "wo"}, {"xho", "xh"}, + {"yid", "yi"}, {"yor", "yo"}, {"zha", "za"}, {"zho", "zh"}, {"zul", "zu"}, }; void SplitLanguageTag(const std::string& tag,