Автор:
    Создание:2026-09-13Последнее обновление:2026-09-13

    vue-i18n VS Intlayer | Бенчмарк интернационализации Vue (i18n)

    vue-i18n — справочная библиотека i18n для Vue. Intlayer — альтернатива на основе компилятора с областью действия компонента и интеграцией Vue (vue-intlayer). Мы уже сравнивали их функции и опыт разработчика. Эта статья рассматривает, во что обходится каждый из них после сборки приложения.

    Данные получены из Benchmark Bloom, открытого набора, который собирает одно и то же приложение с каждой библиотекой и записывает то, что браузер фактически загружает и выполняет.

    tl;dr: На том же приложении Vite + Vue 3 vue-i18n отправляет 134.9 KB сжатого JavaScript на страницу по сравнению с 41.3 KB для приложения без i18n. Intlayer отправляет 57.1 KB. Сам runtime vue-i18n весит 24.3 KB gzip (в 6 раз больше, чем 3.9 KB Intlayer), каждая страница содержит 90% строк иностранных страниц, и компонент, скомпилированный в изоляции, притягивает 196 KB, потому что он привязан к глобальному дереву сообщений. Адаптер @intlayer/vue-i18n сохраняет API vue-i18n и измеряется 47.0 KB на страницу.

    Вкратце

    • vue-i18n - Библиотека i18n де-факто для Vue 2 / Vue 3 и ядро @nuxtjs/i18n. ICU-style сообщения, SFC блоки <i18n>, директива v-t, форматеры d() / n(), большая экосистема. Сообщения регистрируются на глобальном экземпляре в createI18n(); ленивая загрузка по локали — это ручной паттерн setLocaleMessage(), а разделение по маршрутам вы строите сами.
    • Intlayer - Компонент-центричная модель контента. Словари .content.ts находятся рядом с компонентом, который они обслуживают, компилятор времени сборки (vite-intlayer) удаляет неиспользуемый код и выполняет ленивую загрузку по компоненту и по локали, строгие типы TypeScript генерируются из вашего контента, и отсутствующие переводы приводят к ошибке на этапе сборки. Поставляется с помощниками маршрутизатора / SEO, Visual Editor / CMS и AI-ассистентом перевода.
    БиблиотекаGitHub звёздВсего коммитовПоследний коммитПервая версияNPM версияЗагрузки NPM
    aymericzip/intlayerGitHub Repo starsGitHub commit activityLast CommitАпрель 2024npmnpm downloads
    intlify/vue-i18nGitHub Repo starsGitHub commit activityLast CommitДек 2016npmnpm downloads
    Значки обновляются автоматически. Снимки будут отличаться со временем.

    Сравнение функций рядом

    Функцияvue-intlayer (Intlayer)vue-i18n
    Переводы рядом с компонентами✅ Да, .content.ts расположен вместе с каждым компонентом✅ Через блоки SFC <i18n> (опционально); глобальные каталоги — это обычная настройка
    Интеграция TypeScript✅ Строгие типы автоматически генерируются из контента✅ Хорошая типизация; строгая безопасность ключей требует типизации схемы и дисциплины
    Обнаружение отсутствующих переводов✅ Ошибка TypeScript + ошибка/предупреждение во время сборки⚠️ Fallback во время выполнения + предупреждение в консоли
    Богатое содержимое (компоненты / Markdown)✅ Прямая поддержка⚠️ Интерполяция компонента <i18n-t>; Markdown через внешние плагины
    Поддержка ICU⚠️ WIP✅ Да

    Комментарии

    Пока нет комментариев. Будьте первым, кто поделится своими мыслями.

    Похожие сообщения

    Последние сообщения