Я читаю документацию по локализации Django: http://docs.djangoproject.com/en/dev/topics/i18n/localization/
Конечно, откуда пользователь определяет, какой «файл сообщений» использовать.
Как определить, откуда пользователь и что использовать? Делает ли это автоматически?
Вы можете добавить Промежуточное программное обеспечение к вашим MIDDLEWARE_CLASSES в настройках, если вы хотите включить выбор языка на основе данных из запроса в Django.
Прочитайте , как Django обнаруживает языковые предпочтения , чтобы узнать детали.
Из документов
LocaleMiddleware пытается определить языковые предпочтения пользователя следуя этому алгоритму: Сначала он ищет ключ django_language в текущем сеанс пользователя. В противном случае он ищет печенье. В противном случае он смотрит на HTTP-заголовок Accept-Language. это заголовок отправляется вашим браузером и сообщает серверу на каком языке вы предпочитаю, в порядке приоритета. Джанго пробует каждый язык в шапке пока он не найдет один с доступным переводы. В противном случае используется глобальная настройка LANGUAGE_CODE.
LocaleMiddleware пытается определить языковые предпочтения пользователя следуя этому алгоритму:
Сначала он ищет ключ django_language в текущем сеанс пользователя.
В противном случае он ищет печенье.
В противном случае он смотрит на HTTP-заголовок Accept-Language. это заголовок отправляется вашим браузером и сообщает серверу на каком языке вы предпочитаю, в порядке приоритета. Джанго пробует каждый язык в шапке пока он не найдет один с доступным переводы.
В противном случае используется глобальная настройка LANGUAGE_CODE.
Выбор языка должен основываться не на местоположении пользователя, а на настройках браузера или явных настройках на странице, поскольку местоположение не определяет языки людей.