canaille-globuzma/canaille/i18n.py
2022-11-20 22:52:47 +01:00

22 lines
537 B
Python

import gettext
import pycountry
DEFAULT_LANGUAGE_CODE = "en"
def native_language_name_from_code(code):
language = pycountry.languages.get(alpha_2=code[:2])
if code == DEFAULT_LANGUAGE_CODE:
return language.name
translation = gettext.translation(
"iso639-3", pycountry.LOCALES_DIR, languages=[code]
)
return translation.gettext(language.name)
def available_language_codes(babel):
return [str(translation) for translation in babel.list_translations()] + [
DEFAULT_LANGUAGE_CODE
]