django-admin.py makemessages -l fa不包括.po文件

时间:2018-01-02 21:11:21

标签: python django cmd translation persian

我想在我的应用中添加fa(波斯语)语言, 我在我的app中创建了locale文件夹,并在其中创建了一个名为'fa'的文件夹。当我使用以下命令时它运行没有任何错误,但不创建.po文件(我在我的应用程序的文件夹中使用cmd)

django-admin makemessages 

它只写这个

processing locale fa

我也使用了这个命令,但没有帮助

django-admin.py makemessages -l fa

我使用的是Windows 7

这是我的models.py

# -*- coding:utf-8 -*-
from django.db import models
from django.conf import settings
from django.utils.translation import ugettext_lazy as TR
class Post(models.Model):
    title = models.CharField(max_length=255,verbose_name=TR('title'),help_text=TR('add title'))
    content = models.TextField(verbose_name=TR('content'),help_text=TR('write here'))
    createtime = models.DateTimeField(TR('create time'),auto_now_add=True, auto_now=False,help_text=TR('create time'))
    updatetime = models.DateTimeField(TR('update time'),auto_now_add=False, auto_now=True,help_text=TR('update time'))
    author = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=TR('author'), on_delete=models.DO_NOTHING,help_text=TR('choose author'))
    slug = models.SlugField(unique=True, max_length=255,help_text=TR('add slug'))

    def __unicode__(self):
        return self.title

    def __str__(self):
        return self.title

    class Meta:
        verbose_name = TR('Post')
        verbose_name_plural = TR('Posts')

1 个答案:

答案 0 :(得分:0)

我解决了我的问题!

这是我更正的models.py

# -*- coding:utf-8 -*-
from django.db import models
from django.conf import settings
from django.utils.translation import ugettext_lazy as _
class Post(models.Model):
    title = models.CharField(max_length=255,verbose_name=_('title'),help_text=_('add title'))
    content = models.TextField(verbose_name=_('content'),help_text=_('write here'))
    createtime = models.DateTimeField(_('create time'),auto_now_add=True, auto_now=False,help_text=_('create time'))
    updatetime = models.DateTimeField(_('update time'),auto_now_add=False, auto_now=True,help_text=_('update time'))
    author = models.ForeignKey(settings.AUTH_USER_MODEL, verbose_name=_('author'), on_delete=models.DO_NOTHING,help_text=_('choose author'))
    slug = models.SlugField(unique=True, max_length=255,help_text=_('add slug'))

def __unicode__(self):
    return self.title

def __str__(self):
    return self.title

class Meta:
    verbose_name = _('Post')
    verbose_name_plural = _('Posts')

我导入了Ugettext_lazy作为TR!防止" _"之间的介入S, 我以为我可以导入任何我想要的东西,但是当我改变了#34; TR"进入" _"问题已经解决了