【发布时间】:2013-12-26 09:15:00
【问题描述】:
我在 Django 1.6 上遇到了翻译问题。我已将此添加到我的 settings.py 中:
LANGUAGE_CODE = 'en-us'
ugettext = lambda s: s
LANGUAGES = (
('en', ugettext('English')),
('de', ugettext('German')),
)
还添加了中间件:
MIDDLEWARE_CLASSES = (
'django.middleware.common.CommonMiddleware',
'django.contrib.sessions.middleware.SessionMiddleware',
'django.middleware.csrf.CsrfViewMiddleware',
'django.contrib.auth.middleware.AuthenticationMiddleware',
'django.contrib.messages.middleware.MessageMiddleware',
'django.middleware.locale.LocaleMiddleware',
'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
以及每当我使用应为 l10nd 的字符串时,我的 *.py 文件:
from django.utils.translation import ugettext_lazy as _
我的模板以:
开头{% extends "base.html" %}
{% load i18n %}
在模板中我使用了trans 占位符。例如
<h1>{% trans "Register a tank" %}</h1>
我在 locale/de/LC_MESSAGES/django.po 中提供了翻译:
msgid "Register a tank"
msgstr "Einen neuen Tank anmelden"
我的浏览器设置为首先请求德语内容: Browser settings
我错过了什么?
附:我目前模糊的项目托管在 GitHub 上:https://github.com/frlan/blankspot
【问题讨论】:
-
实际发生了什么?显示英文?没有翻译显示?
-
没有翻译显示。
-
你有
USE_I18N = True吗? -
都激活了:
USE_I18N = TrueUSE_L10N = True -
您使用 u18n 网址格式吗?
urlpatterns = i18n_patterns(docs.djangoproject.com/en/1.6/topics/i18n/translation/…
标签: python django django-i18n