Не может переключить языковую среду в Django

На Ganymede проверьте конфигурацию представления задач:

('Настраивают содержание') Оно может быть установлено на 'любом элементе в том же проекте', и Вы могли бы в настоящее время выбирать элемент из проекта.

Или это могло бы быть установлено на рабочем наборе, и этот рабочий набор был изменен

, Удостоверяются, что 'Соответствуют любой конфигурации', выбран.

9
задан tonfa 25 August 2009 в 21:09
поделиться

2 ответа

Согласно django docs

http://docs.djangoproject.com/en/dev/topics/i18n/#id2

LocaleMiddleware пытается определить языковые предпочтения пользователя следуя этому алгоритму:

 * Во-первых, он ищет ключ django_language в сеансе текущего пользователя.

* В противном случае он ищет файл cookie. 
 

[...]

 * В противном случае он просматривает HTTP-заголовок Accept-Language. Этот заголовок отправляется вашим браузером и сообщает серверу, какие языки вы предпочитаете, в порядке приоритета. Django> пробует каждый язык в заголовке, пока не найдет язык с доступными переводами.

* В противном случае он использует глобальную настройку LANGUAGE_CODE.

Если вам нужен только один язык, es, вы можете отключить промежуточное ПО. Если вам действительно нужно активировать LocaleMiddleware, попробуйте этот рецепт, чтобы переопределить заголовки из клиентского браузера http://www.djangosnippets.org/snippets/218/ :

enter code here

class ForceDefaultLanguageMiddleware(object):
    """
    Ignore Accept-Language HTTP headers

    This will force the I18N machinery to always choose settings.LANGUAGE_CODE
    as the default initial language, unless another one is set via sessions or cookies

    Should be installed *before* any middleware that checks    request.META['HTTP_ACCEPT_LANGUAGE'],
    namely django.middleware.locale.LocaleMiddleware
    """
    def process_request(self, request):
        if request.META.has_key('HTTP_ACCEPT_LANGUAGE'):
            del request.META['HTTP_ACCEPT_LANGUAGE']
9
ответ дан 4 December 2019 в 21:51
поделиться

Я использую это в своих настройках:

TIME_ZONE = 'Europe/Paris'
LANGUAGE_CODE = 'fr-FR'
SITE_ID = 1
USE_I18N = True

Так что вы должны использовать что-то вроде 'es-ES '

0
ответ дан 4 December 2019 в 21:51
поделиться
Другие вопросы по тегам:

Похожие вопросы: