我正在努力让我的网站翻译加快速度,我有.po/.mo
文件与我所有的{% trans %}
标签在我的模板,但我不知道如何让我的表格翻译好。这些字段在我的.po文件中没有显示。。
app/forms.py:
from django import forms
from django.utils.translation import ugettext_lazy as trans
class ContactForm(forms.Form):
subject = forms.CharField(required=True, label=trans(u'Subject'))
name = forms.CharField(required=True, label=trans(u'Name'))
email = forms.EmailField(required=True, label=trans(u'Email'))
content = forms.CharField(required=True, widget=forms.Textarea, label=trans(u'Content'))
我不知道我还需要在这里包括什么,如果我需要其他的东西,请告诉我。我试过逃跑
django-admin makemessages -l lang
但它不填充这些字段
2条答案
按热度按时间ikfrs5lh1#
不幸的是,您不能使用
trans
作为标记需要翻译的字符串的别名。必须使用函数的原始名称或_
。例如或
Django在幕后使用
xgettext
来翻译makemessages
,并且有一个非常具体的关键字列表,它可以选择这些关键字进行翻译:查看https://github.com/django/django/blob/1.9/django/core/management/commands/makemessages.py的第489行及以后的行
yvfmudvl2#
你应该使用gettext_lazy()作为
_
或者像这样,而不是tran
,它不工作,如下所示。*_
推荐:或者: