diff options
author | Andrey Lebedev <andrey@lebedev.lt> | 2013-02-15 12:40:06 +0000 |
---|---|---|
committer | Andrey Lebedev <andrey@lebedev.lt> | 2013-02-15 12:40:06 +0000 |
commit | 570ca504d25bc9ae756ff1b163e758861d3349e9 (patch) | |
tree | 0a8a548e5c7eb122bee29234b2e5032e73f5b67d /src/zope/i18n/gettextmessagecatalog.py | |
parent | 3fb5a4e020f5583140c820ef3b3bdbfe1b12da8b (diff) | |
download | zope-i18n-570ca504d25bc9ae756ff1b163e758861d3349e9.tar.gz |
Support for python-3.3 added
Diffstat (limited to 'src/zope/i18n/gettextmessagecatalog.py')
-rw-r--r-- | src/zope/i18n/gettextmessagecatalog.py | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/zope/i18n/gettextmessagecatalog.py b/src/zope/i18n/gettextmessagecatalog.py index b121298..1376d11 100644 --- a/src/zope/i18n/gettextmessagecatalog.py +++ b/src/zope/i18n/gettextmessagecatalog.py @@ -13,21 +13,23 @@ ############################################################################## """A simple implementation of a Message Catalog. """ +import sys from gettext import GNUTranslations from zope.i18n.interfaces import IGlobalMessageCatalog from zope.interface import implementer +PY2 = sys.version_info[0] == 2 class _KeyErrorRaisingFallback(object): def ugettext(self, message): raise KeyError(message) + gettext = ugettext @implementer(IGlobalMessageCatalog) class GettextMessageCatalog(object): """A message catalog based on GNU gettext and Python's gettext module.""" - def __init__(self, language, domain, path_to_file): """Initialize the message catalog""" self.language = language @@ -35,6 +37,10 @@ class GettextMessageCatalog(object): self._path_to_file = path_to_file self.reload() self._catalog.add_fallback(_KeyErrorRaisingFallback()) + if PY2: + self._gettext = self._catalog.ugettext + else: + self._gettext = self._catalog.gettext def reload(self): 'See IMessageCatalog' @@ -46,12 +52,12 @@ class GettextMessageCatalog(object): def getMessage(self, id): 'See IMessageCatalog' - return self._catalog.ugettext(id) + return self._gettext(id) def queryMessage(self, id, default=None): 'See IMessageCatalog' try: - return self._catalog.ugettext(id) + return self._gettext(id) except KeyError: return default |