Autor:
    Criação:2026-01-21Última atualização:2026-09-19

    Pacote astro-intlayer

    O pacote astro-intlayer fornece as ferramentas necessárias para integrar o Intlayer em aplicações Astro. Ele configura o roteamento baseado em locale, gerenciamento de dicionários, reescrita de páginas no momento da compilação, middleware de requisição e hooks para acessar conteúdo multilíngue tanto em componentes .astro renderizados no servidor quanto em scripts do lado do cliente.

    Instalação

    bash
    npm install astro-intlayer
    

    Exportações

    Integração

    O pacote astro-intlayer fornece uma integração Astro que configura o Intlayer no seu projeto.

    Importação:

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

    ou importação padrão em astro.config.mjs:

    ts
    import { defineConfig } from "astro/config";
    import intlayer from "astro-intlayer";
    
    export default defineConfig({
      integrations: [intlayer()],
    });
    
    FunçãoDescriçãoDocumentação relacionada
    intlayerIntegração Astro que prepara dicionários, configura plugins Vite (aliases, proxy de roteamento, poda), registra automaticamente middleware de requisição e emite páginas pré-renderizadas em URLs reescritas.intlayer

    Hooks (Servidor e Cliente)

    Importação:

    tsx
    import { useIntlayer, useDictionary, useLocale } from "astro-intlayer";
    
    HookDescriçãoDocumentação relacionada
    useIntlayerSeleciona um dicionário por sua chave e retorna seu conteúdo localizado. No frontmatter .astro, lê o locale da requisição de Astro.locals. Em <script>, lê da store do cliente.useIntlayer
    useDictionaryTransforma um objeto dicionário e retorna conteúdo para o locale resolvido. Funciona no frontmatter e em scripts do cliente.useDictionary
    useLocaleRetorna o locale atual, o locale padrão, os locales disponíveis e uma função para atualizar o locale.useLocale

    Middleware (astro-intlayer/middleware)

    Importação:

    tsx
    import { onRequest } from "astro-intlayer/middleware";
    
    ExportaçãoTipoDescriçãoDocumentação relacionada
    onRequestMiddlewareHandlerMiddleware Astro que detecta o locale da requisição e anexa Astro.locals.intlayer. Registrado automaticamente por intlayer(), ou importado manualmente para compor.onRequest

    Utilitários

    Importação:

    tsx
    import { getIntlayerLocals } from "astro-intlayer";
    
    FunçãoDescriçãoDocumentação relacionada
    getIntlayerLocalsFunção auxiliar para recuperar o objeto IntlayerLocals atual do escopo de armazenamento da requisição fora de Astro.locals.-

    Utilitários de Cliente (astro-intlayer/client)

    Importação:

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

    Quando importado no navegador ou dentro de tags <script> do cliente, astro-intlayer mapeia automaticamente para astro-intlayer/client (alimentado por vanilla-intlayer), fornecendo getters de dicionário do lado do cliente, assinantes da store e ferramentas de persistência de locale.

    Formatadores (astro-intlayer/format)

    Importação:

    tsx
    import {
      useIntl,
      useDate,
      useNumber,
      useCurrency,
      usePercentage,
      useRelativeTime,
      useList,
      useUnit,
      useCompact,
    } from "astro-intlayer/format";
    
    HookDescrição
    useIntlRetorna uma instância Intl vinculada ao locale com recursos de cache e assinatura.
    useDateRetorna uma função de formatação de data vinculada ao locale atual (Intl.DateTimeFormat).
    useNumberRetorna uma função de formatação de número vinculada ao locale atual (Intl.NumberFormat).
    useCurrencyRetorna uma função de formatação de moeda vinculada ao locale atual.
    usePercentageRetorna uma função de formatação de porcentagem vinculada ao locale atual.
    useRelativeTimeRetorna uma função de formatação de tempo relativo vinculada ao locale atual (Intl.RelativeTimeFormat).
    useListRetorna uma função de formatação de lista vinculada ao locale atual (Intl.ListFormat).
    useUnitRetorna uma função de formatação de unidade vinculada ao locale atual.
    useCompactRetorna uma função de formatação de número compacto vinculada ao locale atual (ex.: 1.5K).

    Utilitários HTML (astro-intlayer/html)

    Importação:

    tsx
    import { renderHTML, useHTML, useHTMLRenderer } from "astro-intlayer/html";
    
    ExportaçãoTipoDescrição
    renderHTMLFunctionFunção utilitária independente para renderizar nós HTML.
    useHTMLHookHook para obter o contexto e configuração do provedor HTML.
    useHTMLRendererHookHook para obter uma função de renderização HTML pré-configurada.

    Utilitários Markdown (astro-intlayer/markdown)

    Importação:

    tsx
    import {
      compileMarkdown,
      renderMarkdown,
      parseMarkdown,
      useMarkdown,
      useMarkdownRenderer,
    } from "astro-intlayer/markdown";
    
    ExportaçãoTipoDescrição
    compileMarkdownFunctionCompila strings markdown em uma representação estruturada.
    renderMarkdownFunctionRenderiza conteúdo markdown em nós de saída.
    parseMarkdownFunctionAnalisa conteúdo markdown bruto em uma AST.
    useMarkdownHookHook para obter o contexto do provedor markdown.
    useMarkdownRendererHookHook para obter uma função de renderização Markdown pré-configurada.

    Tipos

    Importação:

    tsx
    import type {
      IntlayerLocals,
      UseLocaleProps,
      UseLocaleResult,
    } from "astro-intlayer";
    
    TipoDescrição
    IntlayerLocalsO objeto anexado a Astro.locals.intlayer contendo locale, defaultLocale e availableLocales.
    UseLocalePropsPropriedades de configuração opcionais aceitas por useLocale().
    UseLocaleResultO tipo de retorno de useLocale(), fornecendo propriedades de locale e métodos de atualização.