i18n в google app engine 1.4.3 и django 1.2 - PullRequest
4 голосов
/ 06 мая 2011

Я нашел несколько уроков, которые показывают, как использовать i18n на gae, но они предполагают, что django 0.96.Сейчас у меня нет, например, отдельного скрипта для make-сообщений, и я не могу запустить manage.py.Кто-нибудь пытался использовать i18n недавно и мог бы объяснить мне, как это можно сделать?

РЕДАКТИРОВАТЬ

Мне удалось сгенерировать po файлы и скомпилировать их.Я получаю языковые заголовки и могу установить язык перевода.self.request.LANGUAGE_CODE установлен на pl, что очень хорошо.И все же эти переводы не используются при отображении веб-страницы.Есть ли у вас какие-либо идеи, почему это может происходить?

EDIT2

Хорошо, выполняя пробную версию / ошибку, которую мне удалось обнаружить, вам необходимо импортировать настройки из django.Conf и перезагрузите их (setting._target = Нет).И это, наконец, работает.

1 Ответ

1 голос
/ 06 мая 2011

У нас это работает или, по крайней мере, мы так думаем. Мы используем скрипт compile-messages из django 0.96 для компиляции файлов .po и обновили до django 1.2 с помощью I18NRequestHandler, поэтому я хочу подтвердить, что он работает. Вы можете взглянуть на наш код на http://montao.googlecode.com, и мы не используем manage.py, так как мы не используем все django. Я надеюсь, что это поможет. Мне нужно было добавить импорт, говорящий from django.utils.translation import gettext_lazy as _, иначе большинство django 0.96 было легко обновить до 1.2. Чтобы активировать перевод, теперь мы можем использовать параметр hl для HTTP-запроса, например, для греческих переводов: http://classifiedsmarket.appspot.com/?hl=el, а текст на греческом языке отображается из файлов .mo, которые были скомпилированы с помощью скрипта compile-messages.py

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...