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

    Ключ контекста запроса Intlayer

    Экспорт Intlayer служит идентификатором хранилища контекста запроса в Remix 3. Он позволяет извлекать состояние Intlayer напрямую из объекта контекста Remix внутри обработчиков маршрутов или пользовательского промежуточного ПО.

    Использование

    При выполнении промежуточного ПО intlayer() оно сохраняет объект IntlayerState в контексте запроса под ключом Intlayer. Его можно получить в любом обработчике маршрута:

    src/server.ts
    import { createRouter } from "remix/router";
    import { intlayer, Intlayer } from "remix-intlayer";
    
    const router = createRouter({
      middleware: [intlayer()],
    });
    
    router.get("/api/profile", (context) => {
      // Доступ через context.get(Intlayer)
      const { locale, defaultLocale, availableLocales } = context.get(Intlayer);
    
      return Response.json({
        locale,
        defaultLocale,
        availableLocales,
      });
    });
    

    Также к нему можно обратиться с помощью сокращённой записи через прямое свойство context.intlayer:

    ts
    router.get("/api/status", (context) => {
      const currentLocale = context.intlayer.locale;
      return Response.json({ status: "ok", locale: currentLocale });
    });
    

    Структура IntlayerState

    Объект IntlayerState содержит:

    СвойствоТипОписание
    localeDeclaredLocalesЛокаль, определённая для текущего запроса.
    defaultLocaleDeclaredLocalesРезервная локаль, заданная в intlayer.config.ts.
    availableLocalesDeclaredLocales[]Список всех поддерживаемых локалей, настроенных для проекта.

    Связанная документация