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

    Пакет astro-intlayer

    Пакет astro-intlayer предоставляет необходимые инструменты для интеграции Intlayer в приложения Astro. Он настраивает маршрутизацию на основе локалей, управление словарями, перезапись страниц во время сборки, промежуточное ПО для запросов и хуки для доступа к мультиязычному контенту как в серверных компонентах .astro, так и в клиентских скриптах.

    Установка

    bash
    npm install astro-intlayer
    

    Экспорты пакета

    Интеграция

    Пакет astro-intlayer предоставляет интеграцию для Astro, настраивающую Intlayer в вашем проекте.

    Импорт:

    tsx
    import { intlayer } from "astro-intlayer";
    

    или импорт по умолчанию в astro.config.mjs:

    ts
    import { defineConfig } from "astro/config";
    import intlayer from "astro-intlayer";
    
    export default defineConfig({
      integrations: [intlayer()],
    });
    
    ФункцияОписаниеСвязанная документация
    intlayerИнтеграция Astro, подготавливающая словари, настраивающая плагины Vite (алиасы, прокси маршрутизации, очистку), автоматически регистрирующая middleware и генерирующая предрендеренные страницы с новыми URL.intlayer

    Хуки (Сервер и Клиент)

    Импорт:

    tsx
    import { useIntlayer, useDictionary, useLocale } from "astro-intlayer";
    
    ХукОписаниеСвязанная документация
    useIntlayerВыбирает словарь по ключу и возвращает локализованный контент. В frontmatter .astro читает локаль запроса из Astro.locals. В клиентском <script> читает данные из клиентского хранилища.useIntlayer
    useDictionaryПреобразует объект словаря и возвращает контент для разрешенной локали. Работает как в frontmatter, так и в клиентских скриптах.useDictionary
    useLocaleВозвращает текущую локаль, локаль по умолчанию, доступные локали и функцию для обновления локали.useLocale

    Промежуточное ПО (astro-intlayer/middleware)

    Импорт:

    tsx
    import { onRequest } from "astro-intlayer/middleware";
    
    ЭкспортТипОписаниеСвязанная документация
    onRequestMiddlewareHandlerMiddleware Astro, определяющее локаль запроса и прикрепляющее Astro.locals.intlayer. Регистрируется автоматически интеграцией intlayer() или импортируется вручную.onRequest

    Утилиты

    Импорт:

    tsx
    import { getIntlayerLocals } from "astro-intlayer";
    
    ФункцияОписаниеСвязанная документация
    getIntlayerLocalsВспомогательная функция для получения текущего объекта IntlayerLocals из области хранения запроса за пределами Astro.locals.-

    Клиентские утилиты (astro-intlayer/client)

    Импорт:

    tsx
    import {
      useIntlayer,
      useDictionary,
      useDictionaryDynamic,
      useLocale,
      useLocaleStorage,
      useLocaleCookie,
      getIntlayer,
      getDictionary,
      installIntlayer,
      setLocaleInStorage,
      setLocaleCookie,
      localeInStorage,
      localeCookie,
    } from "astro-intlayer/client";
    

    При импорте в браузере или внутри клиентских тегов <script> пакет astro-intlayer автоматически перенаправляет на astro-intlayer/client (на базе vanilla-intlayer), предоставляя клиентские геттеры словарей, подписки на хранилище и инструменты сохранения локали.

    Форматтеры (astro-intlayer/format)

    Импорт:

    tsx
    import {
      useIntl,
      useDate,
      useNumber,
      useCurrency,
      usePercentage,
      useRelativeTime,
      useList,
      useUnit,
      useCompact,
    } from "astro-intlayer/format";
    
    ХукОписание
    useIntlВозвращает экземпляр Intl, привязанный к локали запроса или клиента с возможностями кэширования и подписки.
    useDateВозвращает функцию форматирования даты, предварительно привязанную к текущей локали (Intl.DateTimeFormat).
    useNumberВозвращает функцию форматирования чисел, предварительно привязанную к текущей локали (Intl.NumberFormat).
    useCurrencyВозвращает функцию форматирования валюты, предварительно привязанную к текущей локали.
    usePercentageВозвращает функцию форматирования процентов, предварительно привязанную к текущей локали.
    useRelativeTimeВозвращает функцию форматирования относительного времени, привязанную к текущей локали (Intl.RelativeTimeFormat).
    useListВозвращает функцию форматирования списков, привязанную к текущей локали (Intl.ListFormat).
    useUnitВозвращает функцию форматирования единиц измерения, привязанную к текущей локали.
    useCompactВозвращает функцию компактного форматирования чисел, привязанную к текущей локали (например, 1.5K).

    HTML-утилиты (astro-intlayer/html)

    Импорт:

    tsx
    import { renderHTML, useHTML, useHTMLRenderer } from "astro-intlayer/html";
    
    ЭкспортТипОписание
    renderHTMLFunctionАвтономная служебная функция для рендеринга HTML-узлов.
    useHTMLHookХук для получения контекста и конфигурации HTML-провайдера.
    useHTMLRendererHookХук для получения предварительно настроенной функции рендеринга HTML.

    Markdown-утилиты (astro-intlayer/markdown)

    Импорт:

    tsx
    import {
      compileMarkdown,
      renderMarkdown,
      parseMarkdown,
      useMarkdown,
      useMarkdownRenderer,
    } from "astro-intlayer/markdown";
    
    ЭкспортТипОписание
    compileMarkdownFunctionКомпилирует строки markdown в структурированное представление.
    renderMarkdownFunctionРендерит содержимое markdown в выходные узлы.
    parseMarkdownFunctionАнализирует необработанный markdown в AST.
    useMarkdownHookХук для получения контекста провайдера markdown.
    useMarkdownRendererHookХук для получения предварительно настроенной функции рендеринга Markdown.

    Типы

    Импорт:

    tsx
    import type {
      IntlayerLocals,
      UseLocaleProps,
      UseLocaleResult,
    } from "astro-intlayer";
    
    ТипОписание
    IntlayerLocalsОбъект, прикрепленный к Astro.locals.intlayer, содержащий locale, defaultLocale и availableLocales.
    UseLocalePropsНеобязательные свойства конфигурации, принимаемые useLocale().
    UseLocaleResultТип возвращаемого значения useLocale(), предоставляющий свойства локали и методы обновления.