""" Language Code Mapping Utilities Maps standard language codes to model-specific language codes """ # NLLB language code mapping NLLB_LANGUAGE_MAP = { 'en': 'eng_Latn', 'es': 'spa_Latn', 'fr': 'fra_Latn', 'de': 'deu_Latn', 'it': 'ita_Latn', 'pt': 'por_Latn', 'ru': 'rus_Cyrl', 'zh': 'zho_Hans', 'ja': 'jpn_Jpan', 'ko': 'kor_Hang', 'ar': 'arb_Arab', 'hi': 'hin_Deva', 'tr': 'tur_Latn', 'pl': 'pol_Latn', 'nl': 'nld_Latn', 'sv': 'swe_Latn', 'da': 'dan_Latn', 'no': 'nor_Latn', 'fi': 'fin_Latn', 'cs': 'ces_Latn', 'hu': 'hun_Latn', 'ro': 'ron_Latn', 'bg': 'bul_Cyrl', 'hr': 'hrv_Latn', 'sk': 'slk_Latn', 'sl': 'slv_Latn', 'et': 'est_Latn', 'lv': 'lvs_Latn', 'lt': 'lit_Latn', 'el': 'ell_Grek', 'he': 'heb_Hebr', 'th': 'tha_Thai', 'vi': 'vie_Latn', 'id': 'ind_Latn', 'ms': 'zsm_Latn', 'tl': 'tgl_Latn', 'uk': 'ukr_Cyrl', 'be': 'bel_Cyrl', 'mk': 'mkd_Cyrl', 'sr': 'srp_Cyrl', 'bs': 'bos_Latn', 'sq': 'als_Latn', 'mt': 'mlt_Latn', 'is': 'isl_Latn', 'ga': 'gle_Latn', 'cy': 'cym_Latn', 'eu': 'eus_Latn', 'ca': 'cat_Latn', 'gl': 'glg_Latn', 'af': 'afr_Latn', 'sw': 'swh_Latn', 'zu': 'zul_Latn', 'xh': 'xho_Latn', 'am': 'amh_Ethi', 'ha': 'hau_Latn', 'ig': 'ibo_Latn', 'yo': 'yor_Latn', 'bn': 'ben_Beng', 'gu': 'guj_Gujr', 'kn': 'kan_Knda', 'ml': 'mal_Mlym', 'mr': 'mar_Deva', 'ne': 'npi_Deva', 'pa': 'pan_Guru', 'si': 'sin_Sinh', 'ta': 'tam_Taml', 'te': 'tel_Telu', 'ur': 'urd_Arab', 'fa': 'pes_Arab', 'ps': 'pbt_Arab', 'sd': 'snd_Arab', 'ku': 'ckb_Arab', 'az': 'azj_Latn', 'kk': 'kaz_Cyrl', 'ky': 'kir_Cyrl', 'mn': 'khk_Cyrl', 'uz': 'uzn_Latn', 'tg': 'tgk_Cyrl', 'ka': 'kat_Geor', 'hy': 'hye_Armn', 'my': 'mya_Mymr', 'km': 'khm_Khmr', 'lo': 'lao_Laoo', 'rw': 'kin_Latn' # Kinyarwanda } def get_nllb_language_code(standard_code: str) -> str: """Convert standard language code to NLLB language code""" return NLLB_LANGUAGE_MAP.get(standard_code, standard_code) def get_standard_language_code(nllb_code: str) -> str: """Convert NLLB language code to standard language code""" reverse_map = {v: k for k, v in NLLB_LANGUAGE_MAP.items()} return reverse_map.get(nllb_code, nllb_code) def is_supported_language(lang_code: str) -> bool: """Check if language code is supported""" return lang_code in NLLB_LANGUAGE_MAP