import os from path import Path __all__ = ['list_available_locales', 'get_locale_path'] def list_available_locales(): misago_dir = os.path.dirname(os.path.dirname(__file__)) locales_dir = os.path.join( misago_dir, os.path.join(misago_dir, 'locale'), 'momentjs') locales = {} for locale in Path(locales_dir).files('*.js'): locales[locale.basename()[:-3]] = locale return locales def get_locale_path(language): locales = list_available_locales() # first try: literal match if language in locales: return locales[language] # second try: fallback to macrolanguage language = language.split('-')[0] if language in locales: return locales[language] # nothing was found return None