小编m00*_*00p的帖子

django翻译模板{%trans"something"%}

好吧,我一直在疯狂地寻找这个我认为简单的问题.

我使用Django 1.4

问题是django不会在我的模板中翻译简单的{%trans"work"%}.

这就是我所做的:

Settings.py:

LANGUAGE_CODE = 'en-us'
USE_I18N = True
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.messages.middleware.MessageMiddleware',
    # Uncomment the next line for simple clickjacking protection:
    # 'django.middleware.clickjacking.XFrameOptionsMiddleware',
)
TEMPLATE_CONTEXT_PROCESSORS = (
    "django.contrib.auth.context_processors.auth",
    "django.core.context_processors.debug",
    "django.core.context_processors.i18n",
    "django.core.context_processors.media",
    "django.core.context_processors.static",
    "django.core.context_processors.request",
)

LOCALE_PATHS = (
    '/home/m00p/PycharmProjects/astrid/locale'
)
Run Code Online (Sandbox Code Playgroud)

这是我的地图结构:

/
myproject/
apps/
locale/
template/
Run Code Online (Sandbox Code Playgroud)

所以我跑了

django-admin.py makemessages -l nl -i settings.py

它确实在locale文件夹nl/LC_MESSAGES/django.po中成功创建,然后编辑它在django.po中找到的翻译

#: templates/base.html:22
msgid "work"
msgstr "ddddddddddddd"
Run Code Online (Sandbox Code Playgroud)

然后我运行编译命令

django-admin.py compilemessages

它还成功地在正确的文件夹中创建了一个django.mo文件

我也在myproject/urls.py中添加了这个

urlpatterns = patterns('',
    url(r'^i18n/', include('django.conf.urls.i18n')),
)

urlpatterns …
Run Code Online (Sandbox Code Playgroud)

python django templates translation

9
推荐指数
2
解决办法
1万
查看次数

标签 统计

django ×1

python ×1

templates ×1

translation ×1