Pull to refresh

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.

Что реализовано:

  1. 📁 Генерация namespace'ов на основе структуры проекта;

  2. 📄 Автоматическая генерация шаблонов переводов;

  3. 🧩 Генерация TypeScript-типов для namespace'ов и ключей переводов (автокомплит в редакторе);

  4. 🌐 Автоматический перевод шаблонов через DeepL API (RapidAPI) — с поддержкой CLI-параметра -l, --lang, либо переводом на все поддерживаемые языки, если параметр не указан.

🔍 Демо: next-i18n-auth.vercel.app

Буду рад фидбеку, вопросам и предложениям по улучшению. Проект открыт и активно развивается.

Sign up to leave a comment.

Articles