weranda
@weranda

Как определить язык пользователя в Python?

Есть сайт на Flask. Сайт мультиязычен. Как без JS можно определить язык пользователя?
  • Вопрос задан
  • 103 просмотра
Пригласить эксперта
Ответы на вопрос 3
HemulGM
@HemulGM
Delphi Developer, сис. админ
Ни как, flask - бэкенд. Его зона ответственности только ты сервер. Сервер это твоя машина. Питон ни как не имеет доступа к браузеру клиента без js.
Можно только заголовки читать и куки.
Ответ написан
Комментировать
Vindicar
@Vindicar
Браузер присылает заголовки Accept-Language, также можно полагаться на геолокацию.
Но это всё должно использоваться только как способ определить язык по умолчанию. Предоставляй пользователю способ сменить язык явно.
Ответ написан
Комментировать
@bacon
Django так определяет, всяко для Flask уже есть подобное, ну или самим повторить

First, it looks for the language prefix in the requested URL. This is only performed when you are using the i18n_patterns function in your root URLconf. See Internationalization: in URL patterns for more information about the language prefix and how to internationalize URL patterns.

Failing that, it looks for a cookie.

The name of the cookie used is set by the LANGUAGE_COOKIE_NAME setting. (The default name is django_language.)

Failing that, it looks at the Accept-Language HTTP header. This header is sent by your browser and tells the server which language(s) you prefer, in order by priority. Django tries each language in the header until it finds one with available translations.

Failing that, it uses the global LANGUAGE_CODE settin
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы