Django使消息错误' Python'未知

时间:2015-05-21 19:38:05

标签: python django internationalization gettext

我正在尝试使用国际化并安装GNU gettext工具来生成消息。

  • 在我的settings / base.py中,我在指令TEMPLATES中使用了i18n上下文处理器:

    TEMPLATES = [

    {
    'BACKEND': 'django.template.backends.django.DjangoTemplates',
    'DIRS':[os.path.join(BASE_DIR, "templates")],
    'APP_DIRS': True,
    'OPTIONS' : {
        'context_processors':[
            'django.contrib.auth.context_processors.auth',
            'django.template.context_processors.debug',
            'django.template.context_processors.i18n',
            'django.template.context_processors.media',
            'django.template.context_processors.static',
            'django.template.context_processors.tz',
            'django.contrib.messages.context_processors.messages',
        ],
    },
    

    }, ]

  • 我还在设置/ base.py中使用LocaleMiddleware

    MIDDLEWARE_CLASSES = (

    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.middleware.common.CommonMiddleware',
    'django.middleware.csrf.CsrfViewMiddleware',
    'django.contrib.auth.middleware.AuthenticationMiddleware',
    'django.contrib.auth.middleware.SessionAuthenticationMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',
    'django.middleware.clickjacking.XFrameOptionsMiddleware',
    

    )

  • 我还在我的settings / base.py中指定了我想要使用的语言:

from django.utils.translation import ugettext_lazy as _

LANGUAGES = (

    ('en', _('English')),
    ('ca', _('Catalan')),
    ('es-co', _('Spanish')),
)
  • 我的预定LANGUAGE_CODELANGUAGE_CODE = 'en-us',我指定了locale文件夹(也在settings / base.py中):

    LOCALE_PATHS = ( os.path.join(BASE_DIR, 'locale'), )

  • 对于我的应用的行为,我实现了这个url i18n_patterns函数:

from django.conf.urls import include, url from django.conf.urls.i18n import i18n_patterns

urlpatterns += i18n_patterns( url(r'^$', home, name='home'), url(r'^admin/', include(admin.site.urls)), )

有了这个,我的本地服务器主页中的应用程序重定向到/ en或/ ca

在我的模板的一面,我正在使用这两个模板标签测试某些标签html的翻译,例如

:trans用于翻译单行段落

的块转移
  • 当我使用gettext库(我在我的机器中构建并安装)时,在生成我的消息的那一刻,我收到此输出错误:

    (tb_test)➜ my_project git:(master) ✗ python manage.py makemessages -l ca CommandError: errors happened while running xgettext on __init__.py language Python' unknown (tb_test)➜ my_project git:(master) ✗

输出显示 init .py上存在问题... 名为 init .py的大多数文件我将它们清空.. 我应该把重点放在哪些文件上,这个消息是“Python'未知

我是蟒蛇新手,道歉。 最诚挚的问候,谢谢

Postdata:我有兴趣了解Django应用程序的国际化,我确实想要关注这个伟大教程的示例 http://www.marinamele.com/taskbuster-django-tutorial/internationalization-localization-languages-time-zones

此页面描述了我在帖子中描述的步骤。 感谢

0 个答案:

没有答案