summaryrefslogtreecommitdiff
path: root/src/zope/i18n/gettextmessagecatalog.py
diff options
context:
space:
mode:
authorAndrey Lebedev <andrey@lebedev.lt>2013-02-15 12:40:06 +0000
committerAndrey Lebedev <andrey@lebedev.lt>2013-02-15 12:40:06 +0000
commit570ca504d25bc9ae756ff1b163e758861d3349e9 (patch)
tree0a8a548e5c7eb122bee29234b2e5032e73f5b67d /src/zope/i18n/gettextmessagecatalog.py
parent3fb5a4e020f5583140c820ef3b3bdbfe1b12da8b (diff)
downloadzope-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.py12
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