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
def _translate_attribute(self, instance, name): value = getattr(self, name, '') msgid = getattr(self, name+'_msgid', None) or value if not value and not msgid: return '' if isinstance(value, Message): return value domain = (getattr(self, 'i18n_domain', None) or getattr(instance, 'i18n_domain', None)) if domain is None: return value return getGTS().translate(domain, msgid, mapping=instance.REQUEST, context=instance, default=value)