示例#1
0
文件: utils.py 项目: dtgit/dtedu
    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
文件: widget.py 项目: dtgit/dtedu
    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)