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

18 lines
1.1 KiB
Markdown

# 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).