5 django translation django-forms
我想翻译一个django表单.如何翻译字段的标签?
我试过了field.label=ugettext_lazy(field.label),但标签没有在django.po文件中填充
我想,我可能已经把ugettext_lazy的概念弄错了
简单来说,我希望将字段标签放入django.po文件中.
使用ugettext和{% trans %}标签完成的其他翻译效果很好
我已经能够通过设置基于模型翻译字段,verbose_name但是当我尝试表单字段时,我得到了一个TypeError
我会准确地说:
from django.utils.translation import ugettext_lazy as _
...
first_name = forms.CharField(label=_(u'First name'))
Run Code Online (Sandbox Code Playgroud)
它可能会引发错误,因为表单无法很好地管理像_(u'First name')这样的代理对象,并且渲染中的结果是一个void形式.我在python2.x和django 1.3/1.4上测试了这个
原因是由最初由不同的os和库创建的编译的.po消息(它可以依赖于python,django,os.库版本).出现此错误时,必须重新创建本地化消息.
class ExampleForm(forms.Form):
f1 = forms.CharField(label= ugettext_lazy('field label'))
Run Code Online (Sandbox Code Playgroud)
from django.utils.translation import ugettext_lazy as _
first_name = forms.CharField(label=_(u'First name'))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4434 次 |
| 最近记录: |