Files
veilix.app/docs/decisions/D-007-language-detection.md
T
2026-10-21 03:30:38 +02:00

1.1 KiB

D-007. Определение языка; MaxMind через nginx

Статус: принято, 20.10.2026.

Решение

  1. Порядок: язык в URL → сохранённый выбор (cookie, профиль) → Accept-Language → страна по MaxMind → en.
  2. Перенаправление — только при первом заходе без префикса и только людей, не поисковых ботов. Плюс hreflang и x-default.
  3. Страну определяет nginx (модуль geoip2, база GeoLite2-Country) и передаёт заголовком X-Geo-Country. Приложение само читает .mmdb только там, где нужна страна произвольного IP.

Рассмотренные варианты

Язык только по стране — страна не равна языку, а Google не рекомендует перенаправлять по IP.

Последствия

База MaxMind обновляется geoipupdate (root).