Макет языка в NextJS
Браузер и вспомогательные технологии
смотрят на атрибут lang у тега
html, чтобы выбрать озвучку
или правила переноса. Когда язык
закодирован в URL, значение удобно
пробросить из того же сегмента,
что и тексты на странице.
В папке [lang] создадим
layout.jsx. Он оборачивает
все вложенные страницы сегмента.
Давайте прочитаем lang через
await params и передадим
его в разметку:
export default async function LangLayout({ children, params }) {
let { lang } = await params;
return (
<html lang={lang}>
<body>{children}</body>
</html>
);
}
Добавьте макет для сегмента [lang]
и установите атрибут lang
по коду из адреса.
Откройте инспектор на /ru
и убедитесь, что у html
значение ru, а на /en -
en.