2014-07-18 88 views
1

除了單一情況,我的django應用程序和翻譯完美運行。用於在同一模板上顯示已翻譯消息的Django翻譯未能翻譯

我呈現不同的消息到相同的兩個模板(一個成功的消息,另一個用於失敗和錯誤)

我一般錯誤觀點如下錯誤和成功視圖和模板:

@login_required 
@never_cache 
def base_error_page(request, error="", title=""): 
    context = {'error': error, 'title': title + " | "} 
    return render_to_response('general_pages/operation_failed.html', context, 
          context_instance=RequestContext(request, {})) 

而在general_pages/operation_failed.html

{% extends "base.html" %} 
{% block title %}{{ title }}{% endblock title %} 
{% block content %} 
    {% autoescape off %} 
    <h2>{{ title|slice:":-3" }}</h2> 
    <table class="info_table"> 
     <tr> 
      <th><img src="{{ MEDIA_URL }}img/failure.png"></th> 
      <td style="font-weight: bold">{{ error }}</td> 
     </tr> 
    </table> 
    {% endautoescape %} 
{% endblock content %} 

我的錯誤模板,我只是給翻譯串到我的網頁視圖,它ð顯示頁面上的消息。 Usege如下

一些view.py

from django.utils.translation import ugettext as _ 
def someview(request): 
    ... 
    ... 
    if some_error: 
     return base_error_page(request, error=_('Update Failed <br />' 
               '<a href="%(profile)s">Back to Profile Settings »»</a>') % {"profile": reverse('custom_profile')}, 
             title=_("Update Profile")) 

但我的失敗(和成功)頁消息不翻譯成選定語言。所有其他翻譯工作正常。

我使用Djnago 1.6.5

+0

你使用國際化的網址? – petkostas

+0

此外,由於您正在附加一個動態值,可能您的字符串與翻譯的字符串不匹配,您應該只使用錯誤消息,並使用標誌(如檢查錯誤是否已分配)在模板內創建配置文件鏈接。 – petkostas

+0

是的,所有其他視圖和模板都可以正常工作。我使用[模板部分]中描述的字符串翻譯(https://docs.djangoproject.com/en/1.6/topics/i18n/translation/#standard-translation) – FallenAngel

回答

0

我想接近它是這樣的:

from django.utils.translation import ugettext as _ 
from django.shortcuts import render_to_response 
from django.template import RequestContext 

def someview(request): 
    ... 
    ... 
    if some_error: 
     return render_to_response('general_pages/operation_failed.html', {"error":_("update failed")}, 
          context_instance=RequestContext(request)) 

然後讓模板做休息:

{% extends "base.html" %} 
{% load i18n %} 

{% block title %}{{ title }}{% endblock title %} 
{% block content %} 
    {% autoescape off %} 
    <h2>{{ title|slice:":-3" }}</h2> 
    <table class="info_table"> 
     <tr> 
      <th><img src="{{ MEDIA_URL }}img/failure.png"></th> 
      <td style="font-weight: bold">{{ error|title }}<br /><a href="{% url "custom_profile" %}">{% trans "back to profile settings"|title %} »»</a></td> 
     </tr> 
    </table> 
    {% endautoescape %} 
{% endblock content %} 
+0

嘗試過,但它不工作... – FallenAngel