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

    Пакет next-intlayer

    Пакет next-intlayer предоставляет необходимые инструменты для интеграции Intlayer в приложения на Next.js. Он поддерживает как App Router, так и Page Router, включая middleware для маршрутизации на основе локали.

    Установка

    bash
    npm install next-intlayer
    

    Экспорты

    Промежуточное ПО (Middleware)

    Импорт:

    tsx
    import "next-intlayer/middleware";
    
    ФункцияОписаниеСвязанный документ
    intlayerMiddlewareMiddleware для Next.js, обрабатывающий маршрутизацию и редиректы на основе локали. Определяет локаль по заголовкам/куки и выполняет перенаправление на соответствующий путь локали.intlayerMiddleware

    Помощники конфигурации

    Импорт:

    tsx
    import "next-intlayer/server";
    
    ФункцияОписаниеСвязанный документ
    withIntlayerАсинхронный хелпер для обёртывания конфигурации Next.js, обеспечивающий подготовку словарей Intlayer до сборки. Подготавливает файлы контента и настраивает плагины webpack/SWC.-
    withIntlayerSyncСинхронный хелпер для обёртывания конфигурации Next.js, подходит для случаев, когда использование async невозможно или нежелательно. Не подготавливает словари при запуске сервера.-

    Провайдеры

    Импорт:

    tsx
    import "next-intlayer";
    

    или

    tsx
    import "next-intlayer/server";
    
    КомпонентОписаниеСвязанный документ
    IntlayerClientProviderПровайдер для клиентских компонентов в Next.js App Router. Оборачивает IntlayerProvider из react-intlayer.-
    IntlayerServerProviderПровайдер для серверных компонентов в Next.js (App Router). Предоставляет контекст локали на сервере.-
    IntlayerServerСерверная оболочка для контента Intlayer в App Router. Обеспечивает корректную обработку локалей в Server Components.-

    Хуки (клиентская часть)

    Импорт:

    tsx
    import "next-intlayer";
    

    Ре-экспортирует большинство хуков из react-intlayer.

    ХукОписаниеСвязанный документ
    useIntlayerКлиентский хук, который выбирает один dictionary по его ключу и возвращает его содержимое. Использует locale из контекста, если он не указан.useIntlayer
    useDictionaryХук, который трансформирует объект dictionary и возвращает содержимое для текущей locale. Обрабатывает переводы t(), перечисления и т.д.useDictionary
    useDictionaryAsyncHook, который обрабатывает асинхронные словари. Принимает карту словарей на основе Promise и разрешает её для текущей локали.-
    useDictionaryDynamicHook, который обрабатывает динамические словари, загружаемые по ключу. Внутри использует React Suspense для состояний загрузки.-
    useLocaleХук на стороне клиента для получения текущей локали и функции для её установки. Улучшен для Next.js App Router с поддержкой навигации.useLocale
    usePathnameВозвращает текущий путь без префикса локали и без параметров запроса локали.usePathname
    useRewriteURLКлиентский хук для управления правилами переписывания URL. Автоматически обновляет URL, если существует более «читаемое» локализованное правило переписывания.useRewriteURL
    useLocalePageRouterХук, специфичный для Next.js Page Router, для управления локалью. Обрабатывает перенаправления и перезагрузку страницы при изменении локали.-
    useI18nХук, который предоставляет функцию перевода t() для доступа к вложенному содержимому по ключу. Повторяет паттерн i18next/next-intl.useI18n
    useIntlХук, который предоставляет привязанный к локали объект Intl. Автоматически подставляет текущую локаль и использует оптимизированное кэширование.-
    useLoadDynamicХук для загрузки динамических словарей с использованием React Suspense. Принимает ключ и Promise, кеширует результаты.-

    Функции (на стороне сервера)

    Импорт:

    tsx
    import "next-intlayer/server";
    
    ФункцияОписаниеСвязанная документация
    tСерверная версия функции перевода для Next.js App Router. Возвращает перевод мультиязычного контента для локали сервера.translation
    getLocaleВспомогательная функция для извлечения текущей локали из заголовков и куки Next.js. Предназначена для Server Components, Server Actions или Route Handlers.-
    generateStaticParamsГенерирует статические параметры для динамических маршрутов Next.js на основе настроенных локалей. Возвращает массив объектов локалей для предварительного рендеринга.-
    localeФункция для получения или установки локали в серверном контексте (App Router). Обеспечивает управление локалью в Server Components.-

    Типы

    Импорт:

    tsx
    import "next-intlayer";
    
    ТипОписание
    NextPageIntlayerТип для страниц Next.js с поддержкой Intlayer. Обобщённый тип, включающий параметр locale.
    Next14PageIntlayerТип для страниц Next.js 14 с поддержкой Intlayer.
    Next15PageIntlayerТип для страниц Next.js 15 с поддержкой Intlayer.
    NextLayoutIntlayerТип для layouts Next.js с поддержкой Intlayer. Обобщённый тип, включающий параметр locale.
    Next14LayoutIntlayerТип для layouts Next.js 14 с поддержкой Intlayer.
    Next15LayoutIntlayerТип для layouts Next.js 15 с поддержкой Intlayer.
    LocalParamsТип для параметров маршрута Next.js с локалью. Объект со свойством locale.
    LocalPromiseParamsТип для параметров маршрута Next.js с локалью (асинхронная версия). Promise, который разрешается в объект со свойством locale.