Support for ISO 639-1 - 15924 codes

This commit is contained in:
Piero Toffanin 2025-04-07 23:28:34 -04:00
parent 4fe84200fb
commit 4e86bfa991
4 changed files with 48 additions and 19 deletions

View file

@ -6,6 +6,30 @@ from argostranslate import translate
from libretranslate.detect import Detector
__languages = None
aliases = {
'pb': 'pt-BR',
'zh': 'zh-Hans',
'zt': 'zh-Hant',
}
rev_aliases = {v.lower(): k for k, v in aliases.items()}
def iso2model(lang):
if not isinstance(lang, str):
return lang
lang = lang.lower()
return rev_aliases.get(lang, lang)
def model2iso(lang):
if isinstance(lang, dict) and 'language' in lang:
d = dict(lang)
d['language'] = model2iso(d['language'])
return d
elif isinstance(lang, list):
return [model2iso(l) for l in lang]
lang = lang.lower()
return aliases.get(lang, lang)
def load_languages():
global __languages