作者:
    Creation:2026-09-19Last update:2026-09-19

    remix-intlayer 包

    remix-intlayer 包提供了将 Intlayer 集成到 Remix 3 应用程序中所需的工具。它包含用于请求语言环境检测的中间件、请求上下文访问以及用于检索字典和管理语言环境的钩子 (hooks)。

    安装

    bash
    npm install remix-intlayer
    

    包导出项

    中间件

    导入:

    tsx
    import { intlayer } from "remix-intlayer";
    
    导出项类型描述相关文档
    intlayer中间件函数用于 Remix 3 的中间件,用于检测请求语言环境、处理重定向并填充请求上下文。intlayer 中间件

    上下文存储

    导入:

    tsx
    import { Intlayer, INTLAYER_CONTEXT_PROPERTY } from "remix-intlayer";
    
    导出项类型描述相关文档
    IntlayerRequestContext 键 / 存储标识用于从 Remix 3 请求上下文 (context.get(Intlayer)) 中检索 Intlayer 状态的请求上下文键。Intlayer 上下文
    INTLAYER_CONTEXT_PROPERTYstring直接安装在请求上下文中的属性名称('intlayer'),允许通过 context.intlayer 以及 context.get(Intlayer) 访问。-

    钩子 (Hooks)

    导入:

    tsx
    import { useIntlayer, useDictionary, useLocale } from "remix-intlayer";
    
    导出项类型描述相关文档
    useIntlayer钩子根据当前请求语言环境,按键获取并处理字典内容。useIntlayer 钩子
    useDictionary钩子从导入的字典对象中获取与当前请求语言环境匹配的内容。useDictionary 钩子
    useLocale钩子提供对当前请求语言环境、默认语言环境以及项目中所有可用语言环境列表的访问权限。useLocale 钩子

    实用工具

    导入:

    tsx
    import { createLocaleRouting, getIntlayerState } from "remix-intlayer";
    
    函数描述相关文档
    createLocaleRouting根据请求、配置和选项计算区域设置路由决策(redirect、rewrite 或 pass)的纯函数。-
    getIntlayerState在 React 组件外部从 AsyncLocalStorage 请求作用域中读取当前的 IntlayerState(locale、defaultLocale、availableLocales)。-

    格式化工具 (remix-intlayer/format)

    导入:

    tsx
    import {
      useIntl,
      useDate,
      useNumber,
      useCurrency,
      usePercentage,
      useRelativeTime,
      useList,
      useUnit,
      useCompact,
    } from "remix-intlayer/format";
    
    钩子描述
    useIntl返回绑定到请求或客户端语言环境的 Intl 实例,具备缓存和订阅功能。
    useDate返回预绑定到当前语言环境的日期格式化函数 (Intl.DateTimeFormat)。
    useNumber返回预绑定到当前语言环境的数字格式化函数 (Intl.NumberFormat)。
    useCurrency返回预绑定到当前语言环境的货币格式化函数。
    usePercentage返回预绑定到当前语言环境的百分比格式化函数。
    useRelativeTime返回预绑定到当前语言环境的相对时间格式化函数 (Intl.RelativeTimeFormat)。
    useList返回预绑定到当前语言环境的列表格式化函数 (Intl.ListFormat)。
    useUnit返回预绑定到当前语言环境的单位格式化函数。
    useCompact返回预绑定到当前语言环境的紧凑数字格式化函数(例如 1.5K)。

    HTML 实用工具 (remix-intlayer/html)

    导入:

    tsx
    import { renderHTML, useHTML, useHTMLRenderer } from "remix-intlayer/html";
    
    导出项类型描述
    renderHTMLFunction用于渲染 HTML 节点的独立实用函数。
    useHTMLHook获取 HTML 提供者上下文和配置的钩子。
    useHTMLRendererHook获取预配置的 HTML 渲染器函数的钩子。

    Markdown 实用工具 (remix-intlayer/markdown)

    导入:

    tsx
    import {
      compileMarkdown,
      renderMarkdown,
      parseMarkdown,
      useMarkdown,
      useMarkdownRenderer,
    } from "remix-intlayer/markdown";
    
    导出项类型描述
    compileMarkdownFunction将 Markdown 字符串编译为结构化表示。
    renderMarkdownFunction将 Markdown 内容渲染为输出节点。
    parseMarkdownFunction将原始 Markdown 内容解析为 AST。
    useMarkdownHook获取 Markdown 提供者上下文的钩子。
    useMarkdownRendererHook获取预配置的 Markdown 渲染器函数的钩子。

    类型

    导入:

    tsx
    import type {
      IntlayerState,
      IntlayerMiddlewareOptions,
      LocaleRoutingOptions,
      LocaleRoutingAction,
      LocaleRoutingRequest,
      UseLocaleResult,
    } from "remix-intlayer";
    
    类型描述
    IntlayerState存储在 Remix 请求上下文中的状态对象,包含 locale、defaultLocale 和 availableLocales。
    IntlayerMiddlewareOptions传递给 intlayer() 中间件的配置选项。
    LocaleRoutingOptions自定义语言环境前缀、检测和重定向的选项。
    LocaleRoutingAction表示路由决策的可辨识联合:redirect、rewrite 或 pass。
    LocaleRoutingRequestcreateLocaleRouting 所需的最小请求表示。
    UseLocaleResultuseLocale() 的返回类型,包含 locale、defaultLocale 和 availableLocales。