У меня есть следующие настройки -Как использовать перевод django с GAE?
структуру папок:
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 = {}' не означает, что вы используете пустую диктобу ry для форматирования/рендеринга html-страницы? какова его ценность после '.render'? что, если вы измените template_values на что-то вроде: 'template_values = {" trans ":" ru "}'? –
@ TadhgMcDonald-Jensen, не видели в документации, что переменные шаблона влияют на язык. Но я попытался добавить '{" trans ":" ru "}' - это не помогло. –
поиск i18n на GAE, [найдено это] (http://webapp-improved.appspot.com/api/webapp2_extras/i18n.html#api-webapp2-extras-i18n) – Allen