В проекте Django я переводит строки, используя ugettext
из модуля django.utils.translation
. Например, я переводил строки в свой models.py
.Django хрустящие формы: нет i18n?
Перевод работает отлично, но не с хрустящими формами. Почему это и как я могу это исправить?
Пример models.py
:
from django.utils.translation import ugettext as _
class CustomerUser(models.Model):
LANGUAGE_CHOICES = (
('en', _('English')),
('de', _('German')),
)
name = models.CharField(null=False, blank=False, max_length=50)
user = models.ForeignKey(User, blank=True, null=True)
email = models.EmailField(blank=True, null=True)
language = models.CharField(choices=LANGUAGE_CHOICES, default='en', max_length=2)
customer = models.ForeignKey(Customer)
changed_password = models.BooleanField(default=False)
def __unicode__(self):
return self.name
В представлении, я следующее:
from django.utils import translation
translation.activate('de')
но хрустящие формы не переводятся. Опция из language
по-прежнему отображается как «немецкий», а не «Deutsch».
Спасибо, это помогло! – Daniel
Отлично! –