Пример #1
0
    def getValue(self, key, default=None):
        """
        Get i18n value
        """
        if isinstance(key, int):
            deprecated('Using ints as DisplayList keys is deprecated (getValue)')
        if not isinstance(key, basestring) and not isinstance(key, int):
            raise TypeError('DisplayList keys must be strings or ints, got %s' %
                            type(key))
        v = self._keys.get(key, None)
        value = default
        if v:
            value = v[1]
        else:
            for k, v in self._keys.items():
                if repr(key) == repr(k):
                    value = v[1]
                    break

        if self._i18n_domain and self._instance:
            msg = self._i18n_msgids.get(key, None) or value

            if isinstance(msg, Message):
                return msg

            if not msg:
                return ''

            return getGTS().translate(self._i18n_domain, msg,
                                      context=self._instance, default=value)
        else:
            return value
Пример #2
0
 def checkSchema(self, klass):
     # backward compatibility, should be removed later on
     if klass.__dict__.has_key('type') and \
        not klass.__dict__.has_key('schema'):
         deprecated('Class %s has type attribute, should be schema' % \
                    klass.__name__, level = 4)
         klass.schema = klass.type
Пример #3
0
def initial_translate(domain, msgid, mapping=None, context=None,
                      target_language=None, default=None):
    initialize()
    deprecated('Archetypes.generator.i18n.translate is deprecated and will be '
               'removed in Archetypes 1.6. Please use "from zope.i18n import '
               'translate" instead.')
    return translate(domain, msgid, mapping, context, target_language, default)
Пример #4
0
 def getAllDocuments(self, getObject=None):
     """ Return all the database documents.
     """
     if getObject is not None:
         deprecated("The getObject parameter is a temporary measure "
                    "to ease migration to the new "
                    "PlominoView.getAllDocuments signature. It will go "
                    "away soon. Please update your code to remove it "
                    "from PlominoDatabase.getAllDocuments calls."
         )
     return self.documents.values()
Пример #5
0
 def getMsgId(self, key):
     "get i18n msgid"
     deprecated('DisplayList getMsgId is deprecated. Store Zope3 Messages '
                'as values instead.')
     if isinstance(key, int):
         deprecated('Using ints as DisplayList keys is deprecated (msgid)')
     if not isinstance(key, basestring) and not isinstance(key, int):
         raise TypeError('DisplayList keys must be strings or ints, got %s' %
                         type(key))
     if self._i18n_msgids.has_key(key):
         return self._i18n_msgids[key]
     else:
         return self._keys[key][1]
Пример #6
0
 def getValue(self, key, default=None):
     "get value"
     if isinstance(key, int):
         deprecated('Using ints as DisplayList keys is deprecated (getValue)')
     if not isinstance(key, basestring) and not isinstance(key, int):
         raise TypeError('DisplayList keys must be strings or ints, got %s' %
                         type(key))
     v = self._keys.get(key, None)
     if v: return v[1]
     for k, v in self._keys.items():
         if repr(key) == repr(k):
             return v[1]
     return default
Пример #7
0
 def getMsgId(self, key):
     "get i18n msgid"
     deprecated('IntDisplayList getMsgId is deprecated. Store Zope3 Messages'
                ' as values instead.')
     if isinstance(key, basestring):
         key = int(key)
     elif isinstance(key, int):
         pass
     else:
         raise TypeError("Key must be string or int")
     if self._i18n_msgids.has_key(key):
         return self._i18n_msgids[key]
     else:
         return self._keys[key][1]
Пример #8
0
    def add(self, key, value, msgid=None):
        if not isinstance(key, int):
            raise TypeError('DisplayList keys must be ints, got %s' %
                            type(key))
        if not isinstance(value, basestring) and not isinstance(value, int):
            raise TypeError('DisplayList values must be strings or ints, got %s' %
                            type(value))
        if msgid is not None:
            deprecated('Using explicit msgids for IntDisplayLists is deprecated. '
                        'Store Zope3 Messages as values directly.')
            if not isinstance(msgid, basestring):
                raise TypeError('DisplayList msg ids must be strings, got %s' %
                                type(msgid))
        self.index +=1
        k = (self.index, key)
        v = (self.index, value)

        self._keys[key] = v
        self._values[value] = k
        self._itor.append(key)
        if msgid is not None:
            self._i18n_msgids[key] = msgid
Пример #9
0
 def getVocabularyValue(self, lang=None, **kwargs):
     ''' returns the value of the field. The value is a processed value '''
     deprecated("please use the IVocabularyTerm compatible method 'getTermValue'")
     return self.getTermValue(lang=lang, **kwargs)
Пример #10
0
 def getVocabularyKey(self):
     ''' returns the key of the field '''
     deprecated("please use the IVocabularyTerm compatible method 'getTermKey'")
     return self.getTermKey()
Пример #11
0
 def getVocabularyValue(self, **kwargs):
     ''' returns the value of the field. The value is a processed value '''
     deprecated(
         "please use the IVocabularyTerm compatible method 'getTermValue'")
     return self.getTermValue()
Пример #12
0
 def getVocabularyKey(self):
     ''' returns the key of the field '''
     deprecated(
         "please use the IVocabularyTerm compatible method 'getTermKey'")
     return self.getTermKey()
 def getVocabularyValue(self, **kwargs):
     """ returns the value of the field. The value is a processed value """
     deprecated("please use the IVocabularyTerm compatible method 'getTermValue'")
     return self.getTermValue()
Пример #14
0
""" IMPORTANT: this module is unusable before initialize is called
    this must be so because we want to make sure all products
    (eg, whatever translation service we're supposed to use)
    is already there and ready
"""
from Products.Archetypes.debug import deprecated
deprecated('generator.i18n is deprecated and will be removed in Archetypes 1.6.'
           'If your product uses PTS or Localizer use the translate method of '
           'the GlobalTranslationService instead. Usually you should simply do '
           '"from zope.i18n import translate" and use that method.')

from Products.PageTemplates.GlobalTranslationService import \
     getGlobalTranslationService, DummyTranslationService

service = None
translate = None

def translate_wrapper(domain, msgid, mapping=None, context=None,
                      target_language=None, default=None):
    """Wrapper for calling the translate() method with a fallback value."""
    res = service.translate(domain, msgid, mapping=mapping, context=context,
                            target_language=target_language,
                            default=default)

    if res is None or res is msgid:
        return default
    return res

def null_translate(domain, msgid, mapping=None, context=None,
                   target_language=None, default=None):
    return default