В последнее время появляется всё больше новых решений, но выбрать по-прежнему сложно. Поэтому я потратил время, чтобы сравнить и провести бенчмарк всех решений для интернационализации в Next.js и TanStack Start.
На одном и том же приложении я протестировал 4 сценария, комбинируя динамическую загрузку и JSON-скоупинг по неймспейсам.
Что я измерял:
размер библиотеки
размер страницы
утечки неиспользуемого контента на страницу и локаль
размер компонентов
время загрузки, переключение страниц и реактивность приложения
После 6 часов тестов вот результаты:
Тренд оказался неожиданным. Чем более «хайповым» и модным является решение, тем хуже оно справляется с реальными задачами интернационализации. Самые приятные сюрпризы оказались там, где их меньше всего ожидаешь.
Отчёт TanStack
https://intlayer.org/ru/doc/benchmark/tanstack
Отчёт Next.js
https://intlayer.org/ru/doc/benchmark/nextjs
Репозиторий бенчмарка
https://github.com/intlayer-org/benchmark-i18n
(Считайте это версией v1. Интерпретация результатов частично основана на моих личных предпочтениях и опыте как автора решения. Буду рад обратной связи и предложениям по улучшению.)
