예제 #1
0
    def render(self, context):
        message = resolve_variable(self.message, context)

        if not message:
            return ''

        user = context.get('user', None)
        request = context.get('request', None)
        
        if (request is None) or (user is None):
            if settings.DEBUG:
                print 'TRANSLATE: user or request not found!'
            return ''

        untrans = Message.objects.get_untranslated_for(message)
        
        path = '?' + urllib.urlencode({'next': request.path})        
        translate = gettext('translate to')
        digest = message_digest(self.message)
        MR = settings.MEDIA_URL.rstrip('/')
        translate_root = getattr(settings, 'TRANSLATE_ROOT', '/translate').rstrip('/')

        if len(untrans):
            ret = ['<ul class="untranslated">']
            for un in untrans:
                name = gettext(get_language_name(un))
                flag = '<img src="%(MR)s/img/flags/%(un)s.png" alt="%(name)s" title="%(translate)s %(name)s" style="vertical-align: middle;" />' % locals()
                lnk = '<a href="%(translate_root)s/translate/%(digest)s/%(un)s/%(path)s" class="translation" rel="nofollow"">%(flag)s</a>' % locals()
                ret.append('<li>%s</li>' % lnk)
            ret.append('</ul>')
            return ''.join(ret)
        else:
            return ''
예제 #2
0
    def render(self, context):
        message = resolve_variable(self.message, context)
        icon = getattr(settings, 'TRANSLATION_ICON', '/media/img/icons/edit.png')
        lang = get_language()
        if lang == settings.LANGUAGE_CODE:
            return message
        #
        
        translation = Message.objects.gettext(message)

        if self.no_action or not translation:
            return translation % context
        #

        user = context.get('user', None)
        request = context.get('request', None)
        
        if (request is None) or (user is None):
            if settings.DEBUG:
                # warn
                print 'TRANSLATE: user or request not found! - request:', request, 'user:'******'change_translation'):
            return translation % context
        #
        
        try:
            message_obj = Message.objects.get(digest=message_digest(translation))
        except Message.DoesNotExist:
            # this can never happen
            return translation % context
        #
        
        path = '?' + urllib.urlencode({'path': request.path})        
        edit_trans = gettext('edit translation')
        translation = translation % context
        digest = message_obj.digest
        
        return TRANS_LINK % locals()
예제 #3
0
    def render(self, context, message=None):
        if message is None:
            message = resolve_variable(self.message, context)
        icon = getattr(settings, 'TRANSLATION_ICON', '%s/img/icons/edit.png' % settings.MEDIA_URL.rstrip('/'))
        translate_root = getattr(settings, 'TRANSLATE_ROOT', '/translate').rstrip('/')
        lang = get_language()
        if lang == settings.LANGUAGE_CODE:
            return message

        translation = Message.objects.gettext(message)

        if self.noop or not translation:
            return translation % context

        user = context.get('user', None)
        request = context.get('request', None)
        
        if (request is None) or (user is None):
            if settings.DEBUG:
                print 'TRANSLATE: user or request not found!'
            return translation % context

        if user.is_anonymous() or not user.has_perm('change_translation'):
            return translation % context

        try:
            message_obj = Message.objects.get(digest=message_digest(translation))
        except Message.DoesNotExist: #IGNORE:E1101
            # this can never happen
            return translation % context

        path = '?' + urllib.urlencode({'path': request.path})        
        edit_trans = gettext('edit translation')
        translation = translation % context
        digest = message_obj.digest
        
        return TRANS_LINK % locals()