Автор:
    Дата створення:2026-01-21Останнє оновлення:2026-09-19

    Пакет astro-intlayer

    Пакет astro-intlayer надає необхідні інструменти для інтеграції Intlayer у додатки Astro. Він налаштовує маршрутизацію на основі локалей, керування словниками, переписування сторінок під час збирання, middleware запитів та хуки для доступу до багатомовного контенту як у компонентах .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

    Middleware (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(), що надає властивості локалі та методи її оновлення.