language.py 1.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. from . import logger
  2. import getttext
  3. class language:
  4. def __init__(self, domain = None, path = None):
  5. if domain is None:
  6. domain = "cx-newsletter-importer"
  7. if path is None:
  8. path = "./langugage/"
  9. self.domain = domain
  10. self.path = path
  11. self.logger = logger.loader().get()
  12. self.prepare_gettext()
  13. def prepare_gettext(self):
  14. self.logger.info("Loading language to gettext")
  15. self.logger.info("Language text domain: " + domain)
  16. self.logger.info("Language path: " + path)
  17. gettext.bindtextdomain(self.domain, self.path)
  18. gettext.textdomain(self.domain)
  19. class loader:
  20. _language = None
  21. def get():
  22. if loader._language is None:
  23. Exception("Language must be set in loader first.")
  24. return loader._language
  25. def set(new_language):
  26. if type(new_language) is not language:
  27. Exception("Language is not language class.")
  28. loader.language = new_language
  29. def __init__(self):
  30. Exception("Loader is static class.")