Next.js, locale как контракт страницы
В локализованном приложении locale лучше читать из URL. Адрес /en/search/music задаёт английскую версию страницы, /ru/search/music русскую.
В App Router locale приходит через params. Серверная страница использует его для переводов, запросов данных, внутренних ссылок и metadata. Если один из этих слоёв живёт без locale, языковая версия начинает расходиться. Неизвестное значение вроде /de/search/music нужно проверять отдельно. Страница принимает только поддерживаемые locale и возвращает 404 для остальных.
Статья на Хабр Проект: EventMap Stepik: Next.js III: SEO, i18n 2026
#nextjs #i18n #AppRouter #nextintl #locale #ServerComponents #metadata #TypeScript #React #webdev