2011-09-20 28 views

回答

1

如果在設定的語言視圖,錯誤消息將被打印在所選擇的語言:

from django.utils.translation import activate 
    activate('de') 
2

一些快速解釋第一:

來自

raise forms.ValidationError(_("My Error Message")) 

在Django中你的表單字段錯誤(可能是在其他地方也),這是經常可以看到這樣的:

from django.utils.translation import ugettext_lazy as _ 

這會把_ugettext_lazy,即上面的代碼是真的:

raise forms.ValidationError(ugettext_lazy("My Error Message")) 

但要避免過度和打字ugettext_lazy(或您的翻譯功能)一遍又一遍,我們只需將其映射到_

回答你的問題

最後,要回答你的問題是否能在中國(或其他語言)中顯示的錯誤。這取決於驗證錯誤消息是否傳遞到django.utils.translation.ugettext。在上面的例子中,如果用戶的LANGUAGE_CODE是zh-tw或zh-cn,那麼「我的錯誤信息」將以中文翻譯顯示。

下面是一個例子,其中就沒有翻譯:

raise forms.ValidationError("My Error Message") 

我高度推薦閱讀:https://docs.djangoproject.com/en/1.3/topics/i18n/internationalization/因爲有額外的工作,你需要做的就是翻譯正確顯示。

相關問題