[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[OpenTAL-checkins] opental/PlacelessTranslationService GettextMess...
From: |
Fernando Lalo Martins |
Subject: |
[OpenTAL-checkins] opental/PlacelessTranslationService GettextMess... |
Date: |
Wed, 26 Mar 2003 07:38:39 -0500 |
CVSROOT: /cvsroot/opental
Module name: opental
Changes by: Fernando Lalo Martins <address@hidden> 03/03/26 07:38:39
Modified files:
PlacelessTranslationService: GettextMessageCatalog.py
PlacelessTranslationService.py
Log message:
when a catalog was reloaded, if it changed language or domain, the
service wouldn't know about it
CVSWeb URLs:
http://savannah.gnu.org/cgi-bin/viewcvs/opental/opental/PlacelessTranslationService/GettextMessageCatalog.py.diff?tr1=1.9&tr2=1.10&r1=text&r2=text
http://savannah.gnu.org/cgi-bin/viewcvs/opental/opental/PlacelessTranslationService/PlacelessTranslationService.py.diff?tr1=1.16&tr2=1.17&r1=text&r2=text
Patches:
Index: opental/PlacelessTranslationService/GettextMessageCatalog.py
diff -u opental/PlacelessTranslationService/GettextMessageCatalog.py:1.9
opental/PlacelessTranslationService/GettextMessageCatalog.py:1.10
--- opental/PlacelessTranslationService/GettextMessageCatalog.py:1.9 Wed Mar
5 10:28:47 2003
+++ opental/PlacelessTranslationService/GettextMessageCatalog.py Wed Mar
26 07:38:39 2003
@@ -17,7 +17,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
"""A simple implementation of a Message Catalog.
-$Id: GettextMessageCatalog.py,v 1.9 2003/03/05 15:28:47 lalo Exp $
+$Id: GettextMessageCatalog.py,v 1.10 2003/03/26 12:38:39 lalo Exp $
"""
from gettext import GNUTranslations
@@ -102,8 +102,13 @@
def reload(self, REQUEST=None):
"Forcibly re-read the file"
+ old_domain = self._domain
+ old_language = self._language
self.__translation_object = None
self._prepareTranslations()
+ if self._domain != old_domain or self._language != old_language:
+ # trouble
+ self.aq_parent.catalogChanged(self, old_language, old_domain)
log('reloading %s: %s' % (self.id, self.title))
if hasattr(REQUEST, 'RESPONSE'):
REQUEST.RESPONSE.redirect(self.absolute_url())
Index: opental/PlacelessTranslationService/PlacelessTranslationService.py
diff -u opental/PlacelessTranslationService/PlacelessTranslationService.py:1.16
opental/PlacelessTranslationService/PlacelessTranslationService.py:1.17
--- opental/PlacelessTranslationService/PlacelessTranslationService.py:1.16
Wed Mar 5 15:30:53 2003
+++ opental/PlacelessTranslationService/PlacelessTranslationService.py Wed Mar
26 07:38:39 2003
@@ -17,7 +17,7 @@
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307, USA
"""Placeless Translation Service for providing I18n to file-based code.
-$Id: PlacelessTranslationService.py,v 1.16 2003/03/05 20:30:53 lalo Exp $
+$Id: PlacelessTranslationService.py,v 1.17 2003/03/26 12:38:39 lalo Exp $
"""
import sys, re, zLOG, Globals
@@ -95,11 +95,18 @@
manage_editProperties=None
manage_delProperties=None
- def _registerMessageCatalog(self, language, domain, catalog_name):
- http_language = language.lower().replace('_', '-')
- key = (http_language, domain)
- mc = self._catalogs.setdefault(key, [])
- mc.append(catalog_name)
+ def _registerMessageCatalog(self, catalog):
+ key = (catalog.getLanguage(), catalog.getDomain())
+ self._catalogs.setdefault(key, []).append(catalog.getIdentifier())
+ self._p_changed = 1
+
+ def catalogChanged(self, catalog, old_language, old_domain):
+ # trigger an exception if we don't know anything about it
+ self._getOb(catalog.id)
+ # unregister
+ self._catalogs[(old_language,
old_domain)].remove(catalog.getIdentifier())
+ # re-register
+ self._registerMessageCatalog(catalog)
def addCatalog(self, catalog):
try:
@@ -108,9 +115,7 @@
pass
self._setObject(catalog.id, catalog, set_owner=False)
log('adding %s: %s' % (catalog.id, catalog.title))
- self._registerMessageCatalog(catalog.getLanguage(),
- catalog.getDomain(),
- catalog.getIdentifier())
+ self._registerMessageCatalog(catalog)
def setLanguageFallbacks(self, fallbacks=None):
if fallbacks is None: