【发布时间】:2016-05-01 00:10:54
【问题描述】:
我有以下设置 -
文件夹结构:
myapp
- conf
- locale
- ru
- LC_MESSAGES
- django.mo # contains "This is the title." translation
- django.po
- templates
- index.html
setting.py
main.py
app.yaml:
...
env_variables:
DJANGO_SETTINGS_MODULE: 'settings'
handlers:
...
- url: /locale/ # do I need this?
static_dir: templates/locale
libraries:
- name: django
version: "1.5"
settings.py:
USE_I18N = True
LANGUAGES = (
('en', 'EN'),
('ru', 'RU'),
)
LANGUAGE_CODE = 'ru'
LANGUAGE_COOKIE_NAME = 'django_language'
SECRET_KEY = 'some-dummy-value'
MIDDLEWARE_CLASSES = (
'django.middleware.locale.LocaleMiddleware'
)
LOCALE_PATHS = (
'/locale',
'/templates/locale',
)
index.html:
{% load i18n %}
...
{% trans "This is the title." %}
和main.py:
from google.appengine.ext.webapp import template
...
translation.activate('ru')
template_values = {}
file_template = template.render('templates/index.html', template_values)
self.response.out.write(file_template)
但结果"This is the title." 显示为英文。我的设置(或文件位置)有什么问题?
【问题讨论】:
-
当您编写
template_values = {}时,这是否意味着您正在使用空字典来格式化/呈现html 页面?.render之后的值是多少?如果您将 template_values 更改为:template_values = {"trans":"ru"}? -
@TadhgMcDonald-Jensen,在文档中没有看到模板变量会影响语言。但我尝试添加
{"trans":"ru"}- 它没有帮助。 -
在 GAE 上搜索 i18n,found this
-
你运行“python manage.py”makemessages和compilemessages了吗?您是否在项目中部署语言环境目录?
-
@davka,当然,消息已被编译(上面的树包含相应的文件)。我会再次检查目录。
标签: python django google-app-engine django-1.5