我遇到了翻译无法在 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"
我的浏览器设置为首先请求德语内容: 浏览器设置
我错过了什么?
PS我目前模糊的项目托管在GitHub上:https ://github.com/frlan/blankspot