changeset 3978:f11fe2a13234

Fix for translations (patch [SF#2032526])
author Richard Jones <richard@users.sourceforge.net>
date Thu, 07 Aug 2008 05:51:32 +0000
parents 732a37da3a10
children 954971d612ee
files CHANGES.txt roundup/cgi/TranslationService.py
diffstat 2 files changed, 15 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- a/CHANGES.txt	Thu Aug 07 05:50:03 2008 +0000
+++ b/CHANGES.txt	Thu Aug 07 05:51:32 2008 +0000
@@ -8,6 +8,7 @@
 - Send a Precedence header in email so autoresponders don't
 - Fix mailgw total failure bounce message generation (thanks  Bradley Dean)
 - Fix for postgres 8.3 compatibility (and bug) (sf patch #2030479)
+- Fix for translations (sf patch #2032526)
 
 
 2008-03-01 1.4.4
--- a/roundup/cgi/TranslationService.py	Thu Aug 07 05:50:03 2008 +0000
+++ b/roundup/cgi/TranslationService.py	Thu Aug 07 05:51:32 2008 +0000
@@ -13,8 +13,8 @@
 #   translate(domain, msgid, mapping, context, target_language, default)
 #
 
-__version__ = "$Revision: 1.4 $"[11:-2]
-__date__ = "$Date: 2007-01-14 22:54:15 $"[7:-2]
+__version__ = "$Revision: 1.5 $"[11:-2]
+__date__ = "$Date: 2008-08-07 05:51:32 $"[7:-2]
 
 from roundup import i18n
 from roundup.cgi.PageTemplates import Expressions, PathIterator, TALES
@@ -37,11 +37,20 @@
     def gettext(self, msgid):
         if not isinstance(msgid, unicode):
             msgid = unicode(msgid, 'utf8')
-        return self.ugettext(msgid).encode(self.OUTPUT_ENCODING)
+        msgtrans=self.ugettext(msgid)
+        if not isinstance(msgtrans,unicode):
+            msgtrans=unicode(msgtrans, 'utf8')
+        return msgtrans.encode(self.OUTPUT_ENCODING)
 
     def ngettext(self, singular, plural, number):
-        return self.ungettext(singular, plural, number).encode(
-            self.OUTPUT_ENCODING)
+        if not isinstance(singular, unicode):
+            singular = unicode(singular, 'utf8')
+        if not isinstance(plural, unicode):
+            plural = unicode(plural, 'utf8')
+        msgtrans=self.ungettext(singular, plural, number)
+        if not isinstance(msgtrans,unicode):
+            msgtrans=unicode(msgtrans, 'utf8')
+        return msgtrans.encode(self.OUTPUT_ENCODING)
 
 class TranslationService(TranslationServiceMixin, i18n.RoundupTranslations):
     pass

Roundup Issue Tracker: http://roundup-tracker.org/