Не могу перевести мои страницы без изменения `settings.LANGUAGE_CODE 'в Django - PullRequest
1 голос
/ 10 декабря 2011

Я пытаюсь реализовать интернационализацию в моем проекте, но страницы переводятся только на языке settings.LANGUAGE_CODE.

Значение django_language в сеансе пользователя установлено правильно, как и заголовок запроса META[HTTP_ACCEPT_LANGUAGE], но шаблоны по-прежнему отображаются со значением в LANGUAGE_CODE.

Я должен использовать translation.activate(request.session['django_language']) в своих представлениях для перевода страниц на нужный язык.

Есть ли способ перевести страницы без , используя translation.activate?

Для информации:

  • Требуемый язык для перевода - pt-br, который установлен по умолчанию LANGUAGES.
  • Если я установлю pt-br на LANGUAGE_CODE, страницы будут переведены.
  • Язык по умолчанию должен быть en-us.
  • Моя локаль находится в корневом каталоге проекта.

Переменные локали на моем settings.py:

LOCALEURL_USE_ACCEPT_LANGUAGE = True

LOCALE_PATHS = (
    os.path.join(PROJECT_PATH, 'locale/'),
    os.path.join(PROJECT_PATH, '/'),
) 

TEMPLATE_CONTEXT_PROCESSORS = (
    "django.core.context_processors.i18n", 
    'django.core.context_processors.request',
)

LANGUAGE_CODE = 'en-us'
USE_I18N = True
USE_L10N = True

MIDDLEWARE_CLASSES = (
    'django.middleware.common.CommonMiddleware',
    'django.contrib.sessions.middleware.SessionMiddleware',
    'django.middleware.locale.LocaleMiddleware',
    'django.contrib.messages.middleware.MessageMiddleware',    
)

1 Ответ

1 голос
/ 10 декабря 2011

Вам необходимо отправить RequestContext как ваш context_instance из ваших просмотров:

return render_to_response('hello.html',
                          context_instance=RequestContext(request))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...