momentjs.py 800 B

12345678910111213141516171819202122232425262728
  1. from ..conf import settings
  2. MOMENT_STATIC_PATH = "misago/momentjs/%s.js"
  3. def get_locale_url(language, *, static_path_template=None, locales=None):
  4. locales = locales or settings.MISAGO_MOMENT_JS_LOCALES
  5. clean_language = clean_language_name(language, locales)
  6. if clean_language:
  7. static_path_template = static_path_template or MOMENT_STATIC_PATH
  8. return static_path_template % clean_language
  9. def clean_language_name(language, locales):
  10. # lowercase language
  11. language = language.lower().replace("_", "-")
  12. # first try: literal match
  13. if language in locales:
  14. return language
  15. # second try: fallback to macrolanguage
  16. language = language.split("-")[0]
  17. if language in locales:
  18. return language
  19. # nothing was found
  20. return None