Comments 5
Что-то ссылка на сам пакет в глаза не бросается - она вообще есть?
Пакет получается работает только в app router?
Мне не хватает компактного решения. Как в плане html, так и в плане бандла. Пока что сидим на i18next.
Вот это поделился решением ?
Спасибо, что написали, добавил ссылку в конец статьи!
Да, он только для App Router. Если точнее, то по подходам он под серверные компоненты реакта, просто насколько я знаю сейчас их полноценно поддерживает только Next.js.
Вероятно с релизом 19й версии подтянутся Remix и остальные, возможно тогда решение адаптирую и под другие фреймворки.
Да, знакомая проблема. Мы становились на связке "i18next" + "i18next-resources-to-backend" + "next-i18n-router" + "react-i18next"
Серверные компоненты конечно создали поле для костылей ?
Но этот набор, как я вижу, переключает приложение на SSR. Так как локаль читает для каждого запроса из созданных в мидлваре кукисов. Но интересная связка, спасибо, что поделились!
P.S. Грустно конечно, что команда реакта сказала что не будет заниматься серверными контекстами и это будет ответственность фреймворков, а команда некста, что не видит в них смысла.
Я тоже проходил через выбор подходящей i18n-библиотеки для React.js. Сам активно работаю с Next.js, а ранее имел опыт с Django и Aiogram (Python), где реализовано почти эталонное i18n-решение на базе gettext. Этот опыт вдохновил меня на создание собственных инструментов локализации для мира JavaScript и TypeScript.
Так появились:
📦 smart-i18n — автоматизация i18n на базе
i18next-scanner
;⚛️ smart-i18n-react — типобезопасная интеграция с React;
🚀 next-i18n-auth — стартер-кит для Next.js с готовой i18n-инфраструктурой на базе
i18next
иreact-i18next
.
Что реализовано:
📁 Генерация namespace'ов на основе структуры проекта;
📄 Автоматическая генерация шаблонов переводов;
🧩 Генерация TypeScript-типов для namespace'ов и ключей переводов (автокомплит в редакторе);
🌐 Автоматический перевод шаблонов через DeepL API (RapidAPI) — с поддержкой CLI-параметра
-l, --lang
, либо переводом на все поддерживаемые языки, если параметр не указан.
🔍 Демо: next-i18n-auth.vercel.app
Буду рад фидбеку, вопросам и предложениям по улучшению. Проект открыт и активно развивается.
Больше библиотек богу библиотек или как я переосмыслил i18n [next.js v14]