ai
3 мин
14 августа 2026 г.
Источник: Dev.to AI Feed

Интернационализация в Next.js 15. Настройки, которые я использую для многоязычных приложений

Anas Sheikh
Anas Sheikh
RSS AI Ingest
Интернационализация в Next.js 15. Настройки, которые я использую для многоязычных приложений

Когда я впервые добавил в проект второй язык, я сохранил фактическую переведенную строку в состоянии компонента вместо ключа перевода. Все работало нормально, пока пользователь не переключил язык в середине сеанса, и половина интерфейса не осталась старой...

Когда я впервые добавил в проект второй язык, я сохранил фактическую переведенную строку в состоянии компонента вместо ключа перевода. Все работало нормально, пока пользователь не переключил язык в середине сеанса, и половина интерфейса осталась на старом языке, потому что состояние никогда не знало, что его необходимо обновить. Маленькая ошибка, досадная ошибка, и она научила меня одному правилу, которое делает i18n действительно удобным в обслуживании: переведенные строки никогда не принадлежат состоянию, а только ключи. Вот настройка, которую я сейчас использую с next-intl. 1. Настройка npm установить следующий-между сообщения/ ├── ru.json └── es.json // сообщения/en.json { "навигация": { "дом": "Дом", "цена": "Цена", "контакт": "Контакт" }, "герой": { "title": "Создавайте быстрее с помощью шаблонов Next.js", "subtitle": "Готовые шаблоны для вашего следующего проекта" } } // сообщения/es.json { "навигация": { "дом": "Начало", "pricing": "Precios", "contact": "Контакт" }, "герой": { "title": "Создавайте быстро с растениями Next.js", "subtitle": "Списки растений для производства для вашего ближайшего проекта" } } Здесь имеют значение вложенные ключи, а не плоские. nav.home читается четко и группирует связанные строки вместе, в отличие от плоского файла с десятками слабо связанных строк.

Хотите внедрить ИИ в ваш бренд?

Спроектируем и развернем автономных агентов и современный цифровой стек под ваши задачи.

Рассчитать проект