# Language dict language_code_to_name = { "afr": "Afrikaans", "amh": "Amharic", "arb": "Modern Standard Arabic", "ary": "Moroccan Arabic", "arz": "Egyptian Arabic", "asm": "Assamese", "ast": "Asturian", "azj": "North Azerbaijani", "bel": "Belarusian", "ben": "Bengali", "bos": "Bosnian", "bul": "Bulgarian", "cat": "Catalan", "ceb": "Cebuano", "ces": "Czech", "ckb": "Central Kurdish", "cmn": "Mandarin Chinese", "cym": "Welsh", "dan": "Danish", "deu": "German", "ell": "Greek", "eng": "English", "est": "Estonian", "eus": "Basque", "fin": "Finnish", "fra": "French", "gaz": "West Central Oromo", "gle": "Irish", "glg": "Galician", "guj": "Gujarati", "heb": "Hebrew", "hin": "Hindi", "hrv": "Croatian", "hun": "Hungarian", "hye": "Armenian", "ibo": "Igbo", "ind": "Indonesian", "isl": "Icelandic", "ita": "Italian", "jav": "Javanese", "jpn": "Japanese", "kam": "Kamba", "kan": "Kannada", "kat": "Georgian", "kaz": "Kazakh", "kea": "Kabuverdianu", "khk": "Halh Mongolian", "khm": "Khmer", "kir": "Kyrgyz", "kor": "Korean", "lao": "Lao", "lit": "Lithuanian", "ltz": "Luxembourgish", "lug": "Ganda", "luo": "Luo", "lvs": "Standard Latvian", "mai": "Maithili", "mal": "Malayalam", "mar": "Marathi", "mkd": "Macedonian", "mlt": "Maltese", "mni": "Meitei", "mya": "Burmese", "nld": "Dutch", "nno": "Norwegian Nynorsk", "nob": "Norwegian Bokm\u00e5l", "npi": "Nepali", "nya": "Nyanja", "oci": "Occitan", "ory": "Odia", "pan": "Punjabi", "pbt": "Southern Pashto", "pes": "Western Persian", "pol": "Polish", "por": "Portuguese", "ron": "Romanian", "rus": "Russian", "slk": "Slovak", "slv": "Slovenian", "sna": "Shona", "snd": "Sindhi", "som": "Somali", "spa": "Spanish", "srp": "Serbian", "swe": "Swedish", "swh": "Swahili", "tam": "Tamil", "tel": "Telugu", "tgk": "Tajik", "tgl": "Tagalog", "tha": "Thai", "tur": "Turkish", "ukr": "Ukrainian", "urd": "Urdu", "uzn": "Northern Uzbek", "vie": "Vietnamese", "xho": "Xhosa", "yor": "Yoruba", "yue": "Cantonese", "zlm": "Colloquial Malay", "zsm": "Standard Malay", "zul": "Zulu", } LANGUAGE_NAME_TO_CODE = {v: k for k, v in language_code_to_name.items()} ISO_639_1_TO_3 = { 'aa': 'aar', 'ab': 'abk', 'ae': 'ave', 'af': 'afr', 'ak': 'aka', 'am': 'amh', 'an': 'arg', 'ar': 'ara', 'as': 'asm', 'av': 'ava', 'ay': 'aym', 'az': 'aze', 'ba': 'bak', 'be': 'bel', 'bg': 'bul', 'bi': 'bis', 'bm': 'bam', 'bn': 'ben', 'bo': 'bod', 'br': 'bre', 'bs': 'bos', 'ca': 'cat', 'ce': 'che', 'ch': 'cha', 'co': 'cos', 'cr': 'cre', 'cs': 'ces', 'cu': 'chu', 'cv': 'chv', 'cy': 'cym', 'da': 'dan', 'de': 'deu', 'dv': 'div', 'dz': 'dzo', 'ee': 'ewe', 'el': 'ell', 'en': 'eng', 'eo': 'epo', 'es': 'spa', 'et': 'est', 'eu': 'eus', 'fa': 'fas', 'ff': 'ful', 'fi': 'fin', 'fj': 'fij', 'fo': 'fao', 'fr': 'fra', 'fy': 'fry', 'ga': 'gle', 'gd': 'gla', 'gl': 'glg', 'gn': 'grn', 'gu': 'guj', 'gv': 'glv', 'ha': 'hau', 'he': 'heb', 'hi': 'hin', 'ho': 'hmo', 'hr': 'hrv', 'ht': 'hat', 'hu': 'hun', 'hy': 'hye', 'hz': 'her', 'ia': 'ina', 'id': 'ind', 'ie': 'ile', 'ig': 'ibo', 'ii': 'iii', 'ik': 'ipk', 'io': 'ido', 'is': 'isl', 'it': 'ita', 'iu': 'iku', 'ja': 'jpn', 'jv': 'jav', 'ka': 'kat', 'kg': 'kon', 'ki': 'kik', 'kj': 'kua', 'kk': 'kaz', 'kl': 'kal', 'km': 'khm', 'kn': 'kan', 'ko': 'kor', 'kr': 'kau', 'ks': 'kas', 'ku': 'kur', 'kv': 'kom', 'kw': 'cor', 'ky': 'kir', 'la': 'lat', 'lb': 'ltz', 'lg': 'lug', 'li': 'lim', 'ln': 'lin', 'lo': 'lao', 'lt': 'lit', 'lu': 'lub', 'lv': 'lav', 'mg': 'mlg', 'mh': 'mah', 'mi': 'mri', 'mk': 'mkd', 'ml': 'mal', 'mn': 'mon', 'mr': 'mar', 'ms': 'msa', 'mt': 'mlt', 'my': 'mya', 'na': 'nau', 'nb': 'nob', 'nd': 'nde', 'ne': 'nep', 'ng': 'ndo', 'nl': 'nld', 'nn': 'nno', 'no': 'nor', 'nr': 'nbl', 'nv': 'nav', 'ny': 'nya', 'oc': 'oci', 'oj': 'oji', 'om': 'orm', 'or': 'ori', 'os': 'oss', 'pa': 'pan', 'pi': 'pli', 'pl': 'pol', 'ps': 'pus', 'pt': 'por', 'qu': 'que', 'rm': 'roh', 'rn': 'run', 'ro': 'ron', 'ru': 'rus', 'rw': 'kin', 'sa': 'san', 'sc': 'srd', 'sd': 'snd', 'se': 'sme', 'sg': 'sag', 'sh': 'hbs', 'si': 'sin', 'sk': 'slk', 'sl': 'slv', 'sm': 'smo', 'sn': 'sna', 'so': 'som', 'sq': 'sqi', 'sr': 'srp', 'ss': 'ssw', 'st': 'sot', 'su': 'sun', 'sv': 'swe', 'sw': 'swa', 'ta': 'tam', 'te': 'tel', 'tg': 'tgk', 'th': 'tha', 'ti': 'tir', 'tk': 'tuk', 'tl': 'tgl', 'tn': 'tsn', 'to': 'ton', 'tr': 'tur', 'ts': 'tso', 'tt': 'tat', 'tw': 'twi', 'ty': 'tah', 'ug': 'uig', 'uk': 'ukr', 'ur': 'urd', 'uz': 'uzb', 've': 'ven', 'vi': 'vie', 'vo': 'vol', 'wa': 'wln', 'wo': 'wol', 'xh': 'xho', 'yi': 'yid', 'yo': 'yor', 'za': 'zha', 'zh': 'zho', 'zu': 'zul'} iso639_3_to_1 = { "aae": "sq", "aao": "ar", "aar": "aa", "aat": "sq", "abh": "ar", "abk": "ab", "abv": "ar", "acm": "ar", "acq": "ar", "acw": "ar", "acx": "ar", "acy": "ar", "adf": "ar", "aeb": "ar", "aec": "ar", "afb": "ar", "afr": "af", "ajp": "ar", "aka": "ak", "aln": "sq", "als": "sq", "amh": "am", "apc": "ar", "apd": "ar", "ara": "ar", "arb": "ar", "arg": "an", "arq": "ar", "ars": "ar", "ary": "ar", "arz": "ar", "asm": "as", "auz": "ar", "ava": "av", "ave": "ae", "avl": "ar", "ayc": "ar", "ayh": "ar", "ayl": "ar", "aym": "ay", "ayn": "ar", "ayp": "ar", "ayr": "ay", "azb": "az", "aze": "az", "azj": "az", "bak": "ba", "bam": "bm", "bbz": "ar", "bel": "be", "ben": "bn", "bhr": "mg", "bis": "bi", "bjn": "ms", "bmm": "mg", "bod": "bo", "bos": "sh", "bre": "br", "btj": "ms", "bul": "bg", "bve": "ms", "bvu": "ms", "bzc": "mg", "cat": "ca", "cdo": "zh", "ces": "cs", "cha": "ch", "che": "ce", "chu": "cu", "chv": "cv", "cjy": "zh", "ckb": "ku", "cmn": "zh", "coa": "ms", "cor": "kw", "cos": "co", "cpx": "zh", "cre": "cr", "crj": "cr", "crk": "cr", "crl": "cr", "crm": "cr", "csw": "cr", "cwd": "cr", "cym": "cy", "czh": "zh", "czo": "zh", "dan": "da", "deu": "de", "div": "dv", "dty": "ne", "dup": "ms", "dzo": "dz", "ekk": "et", "ell": "el", "eng": "en", "epo": "eo", "esi": "ik", "esk": "ik", "est": "et", "eus": "eu", "ewe": "ee", "fao": "fo", "fas": "fa", "fat": "ak", "ffm": "ff", "fij": "fj", "fin": "fi", "fra": "fr", "fry": "fy", "fub": "ff", "fuc": "ff", "fue": "ff", "fuf": "ff", "fuh": "ff", "fui": "ff", "ful": "ff", "fuq": "ff", "fuv": "ff", "gan": "zh", "gax": "om", "gaz": "om", "gla": "gd", "gle": "ga", "glg": "gl", "glv": "gv", "gnw": "gn", "grn": "gn", "gug": "gn", "gui": "gn", "guj": "gu", "gun": "gn", "hae": "om", "hak": "zh", "hat": "ht", "hau": "ha", "hbs": "sh", "heb": "he", "her": "hz", "hin": "hi", "hji": "ms", "hmo": "ho", "hrv": "hr", "hsn": "zh", "hun": "hu", "hye": "hy", "ibo": "ig", "ido": "io", "iii": "ii", "ike": "iu", "ikt": "iu", "iku": "iu", "ile": "ie", "ina": "ia", "ind": "ms", "ipk": "ik", "isl": "is", "ita": "it", "jak": "ms", "jav": "jv", "jax": "ms", "jpn": "ja", "kal": "kl", "kan": "kn", "kas": "ks", "kat": "ka", "kau": "kr", "kaz": "kk", "kby": "kr", "khk": "mn", "khm": "km", "kik": "ki", "kin": "rw", "kir": "ky", "kmr": "ku", "knc": "kr", "kng": "kg", "koi": "kv", "kom": "kv", "kon": "kg", "kor": "ko", "kpv": "kv", "krt": "kr", "kua": "kj", "kur": "ku", "kvb": "ms", "kvr": "ms", "kwy": "kg", "kxd": "ms", "lao": "lo", "lat": "la", "lav": "lv", "lce": "ms", "lcf": "ms", "ldi": "kg", "lim": "li", "lin": "ln", "lit": "lt", "liw": "ms", "ltg": "lv", "ltz": "lb", "lub": "lu", "lug": "lg", "lvs": "lv", "lzh": "zh", "mah": "mh", "mal": "ml", "mar": "mr", "max": "ms", "meo": "ms", "mfa": "ms", "mfb": "ms", "min": "ms", "mkd": "mk", "mlg": "mg", "mlt": "mt", "mnp": "zh", "mon": "mn", "mqg": "ms", "mri": "mi", "msa": "ms", "msh": "mg", "msi": "ms", "mui": "ms", "mvf": "mn", "mya": "my", "nan": "zh", "nau": "na", "nav": "nv", "nbl": "nr", "nde": "nd", "ndo": "ng", "nep": "ne", "nhd": "gn", "nld": "nl", "nno": "no", "nob": "no", "nor": "no", "npi": "ne", "nya": "ny", "oci": "oc", "ojb": "oj", "ojc": "oj", "ojg": "oj", "oji": "oj", "ojs": "oj", "ojw": "oj", "orc": "om", "ori": "or", "orm": "om", "orn": "ms", "ors": "ms", "ory": "or", "oss": "os", "otw": "oj", "pan": "pa", "pbt": "ps", "pbu": "ps", "pel": "ms", "pes": "fa", "pga": "ar", "pli": "pi", "plt": "mg", "pol": "pl", "por": "pt", "prs": "fa", "pse": "ms", "pst": "ps", "pus": "ps", "qub": "qu", "qud": "qu", "que": "qu", "quf": "qu", "qug": "qu", "quh": "qu", "quk": "qu", "qul": "qu", "qup": "qu", "qur": "qu", "qus": "qu", "quw": "qu", "qux": "qu", "quy": "qu", "quz": "qu", "qva": "qu", "qvc": "qu", "qve": "qu", "qvh": "qu", "qvi": "qu", "qvj": "qu", "qvl": "qu", "qvm": "qu", "qvn": "qu", "qvo": "qu", "qvp": "qu", "qvs": "qu", "qvw": "qu", "qvz": "qu", "qwa": "qu", "qwc": "qu", "qwh": "qu", "qws": "qu", "qxa": "qu", "qxc": "qu", "qxh": "qu", "qxl": "qu", "qxn": "qu", "qxo": "qu", "qxp": "qu", "qxr": "qu", "qxt": "qu", "qxu": "qu", "qxw": "qu", "roh": "rm", "ron": "ro", "run": "rn", "rus": "ru", "sag": "sg", "san": "sa", "sdc": "sc", "sdh": "ku", "sdn": "sc", "shu": "ar", "sin": "si", "skg": "mg", "slk": "sk", "slv": "sl", "sme": "se", "smo": "sm", "sna": "sn", "snd": "sd", "som": "so", "sot": "st", "spa": "es", "spv": "or", "sqi": "sq", "src": "sc", "srd": "sc", "sro": "sc", "srp": "sh", "ssh": "ar", "ssw": "ss", "sun": "su", "swa": "sw", "swc": "sw", "swe": "sv", "swh": "sw", "tah": "ty", "tam": "ta", "tat": "tt", "tdx": "mg", "tel": "te", "tgk": "tg", "tgl": "tl", "tha": "th", "tir": "ti", "tkg": "mg", "tmw": "ms", "ton": "to", "tsn": "tn", "tso": "ts", "tuk": "tk", "tur": "tr", "twi": "ak", "txy": "mg", "uig": "ug", "ukr": "uk", "urd": "ur", "urk": "ms", "uzb": "uz", "uzn": "uz", "uzs": "uz", "ven": "ve", "vie": "vi", "vkk": "ms", "vkt": "ms", "vol": "vo", "vro": "et", "wln": "wa", "wol": "wo", "wuu": "zh", "xho": "xh", "xmm": "ms", "xmv": "mg", "xmw": "mg", "ydd": "yi", "yid": "yi", "yih": "yi", "yor": "yo", "yue": "zh", "zch": "za", "zeh": "za", "zgb": "za", "zgm": "za", "zgn": "za", "zha": "za", "zhd": "za", "zhn": "za", "zho": "zh", "zlj": "za", "zlm": "ms", "zln": "za", "zlq": "za", "zmi": "ms", "zqe": "za", "zsm": "ms", "zul": "zu", "zyb": "za", "zyg": "za", "zyj": "za", "zyn": "za", "zzj": "za" } LANGID_TO_ISO = ISO_639_1_TO_3 # {v: k for k, v in iso639_3_to_1.items()} # Source langs: S2ST / S2TT / ASR don't need source lang # T2TT / T2ST use this text_source_language_codes = [ "afr", "amh", "arb", "ary", "arz", "asm", "azj", "bel", "ben", "bos", "bul", "cat", "ceb", "ces", "ckb", "cmn", "cym", "dan", "deu", "ell", "eng", "est", "eus", "fin", "fra", "gaz", "gle", "glg", "guj", "heb", "hin", "hrv", "hun", "hye", "ibo", "ind", "isl", "ita", "jav", "jpn", "kan", "kat", "kaz", "khk", "khm", "kir", "kor", "lao", "lit", "lug", "luo", "lvs", "mai", "mal", "mar", "mkd", "mlt", "mni", "mya", "nld", "nno", "nob", "npi", "nya", "ory", "pan", "pbt", "pes", "pol", "por", "ron", "rus", "slk", "slv", "sna", "snd", "som", "spa", "srp", "swe", "swh", "tam", "tel", "tgk", "tgl", "tha", "tur", "ukr", "urd", "uzn", "vie", "yor", "yue", "zsm", "zul", ] TEXT_SOURCE_LANGUAGE_NAMES = sorted([language_code_to_name[code] for code in text_source_language_codes])