|
@@ -1,9 +1,32 @@
|
|
|
from . import logger
|
|
from . import logger
|
|
|
|
|
|
|
|
-import getttext
|
|
|
|
|
|
|
+from abc import ABC, abstractmethod
|
|
|
|
|
+import gettext
|
|
|
|
|
|
|
|
-class language:
|
|
|
|
|
|
|
+class language(ABC):
|
|
|
|
|
+ def __init__(self):
|
|
|
|
|
+ self.logger = logger.loader.get()
|
|
|
|
|
+
|
|
|
|
|
+ def get(self, find):
|
|
|
|
|
+ if (self.exists(find)):
|
|
|
|
|
+ return self.translate(find)
|
|
|
|
|
+
|
|
|
|
|
+ self.logger.warning("Can not translate: \"" + find + "\"")
|
|
|
|
|
+ return find
|
|
|
|
|
+
|
|
|
|
|
+ @abstractmethod
|
|
|
|
|
+ def exists(self, find):
|
|
|
|
|
+ pass
|
|
|
|
|
+
|
|
|
|
|
+ @abstractmethod
|
|
|
|
|
+ def translate(self, find):
|
|
|
|
|
+ pass
|
|
|
|
|
+
|
|
|
|
|
+
|
|
|
|
|
+class gettext_parser(language):
|
|
|
def __init__(self, domain = None, path = None):
|
|
def __init__(self, domain = None, path = None):
|
|
|
|
|
+ super().__init__()
|
|
|
|
|
+
|
|
|
if domain is None:
|
|
if domain is None:
|
|
|
domain = "cx-newsletter-importer"
|
|
domain = "cx-newsletter-importer"
|
|
|
|
|
|
|
@@ -12,17 +35,22 @@ class language:
|
|
|
|
|
|
|
|
self.domain = domain
|
|
self.domain = domain
|
|
|
self.path = path
|
|
self.path = path
|
|
|
- self.logger = logger.loader().get()
|
|
|
|
|
|
|
|
|
|
self.prepare_gettext()
|
|
self.prepare_gettext()
|
|
|
|
|
|
|
|
def prepare_gettext(self):
|
|
def prepare_gettext(self):
|
|
|
self.logger.info("Loading language to gettext")
|
|
self.logger.info("Loading language to gettext")
|
|
|
- self.logger.info("Language text domain: " + domain)
|
|
|
|
|
- self.logger.info("Language path: " + path)
|
|
|
|
|
|
|
+ self.logger.info("Language text domain: " + self.domain)
|
|
|
|
|
+ self.logger.info("Language path: " + self.path)
|
|
|
|
|
|
|
|
gettext.bindtextdomain(self.domain, self.path)
|
|
gettext.bindtextdomain(self.domain, self.path)
|
|
|
gettext.textdomain(self.domain)
|
|
gettext.textdomain(self.domain)
|
|
|
|
|
+
|
|
|
|
|
+ def exists(self, fing):
|
|
|
|
|
+ return False
|
|
|
|
|
+
|
|
|
|
|
+ def translate(self, find):
|
|
|
|
|
+ return find
|
|
|
|
|
|
|
|
|
|
|
|
|
class loader:
|
|
class loader:
|
|
@@ -38,7 +66,7 @@ class loader:
|
|
|
if type(new_language) is not language:
|
|
if type(new_language) is not language:
|
|
|
Exception("Language is not language class.")
|
|
Exception("Language is not language class.")
|
|
|
|
|
|
|
|
- loader.language = new_language
|
|
|
|
|
|
|
+ loader._language = new_language
|
|
|
|
|
|
|
|
def __init__(self):
|
|
def __init__(self):
|
|
|
Exception("Loader is static class.")
|
|
Exception("Loader is static class.")
|