toMedia
国际化

Tanstack Start

在 Tanstack Start 中实现 Fumadocs 国际化路由

配置步骤

步骤 1:定义 i18n 配置

创建配置文件,指定默认语言和支持的语言。使用 fumadocs-core 的 defineI18n 管理语言设置。

步骤 2:添加翻译

使用 defineI18nUI 定义 UI 翻译,为每种语言映射显示名称和本地化字符串。在根布局中将翻译传递给 <RootProvider />,从 URL 参数中提取语言参数。

步骤 3:组织路由

routes 下创建 $lang 目录,将所有页面移入此语言参数化的文件夹结构中。

步骤 4:传递 Locale 到组件

在 source loader 中配置 i18n 对象,并通过 props 将 locale 信息传递给布局组件(HomeLayoutDocsLayout)。使用 Route.useParams() 提取语言参数并传递给 baseOptions()

搜索配置

  • 内置 Orama 搜索:请参考无头搜索部分的国际化文档
  • Algolia 等云方案:利用其原生多语言支持

导航处理

Fumadocs 自动管理侧边栏导航。对于其他导航元素,使用 useParams hook 从 URL 获取 locale 并构建带有适当语言参数的链接。fumadocs-core 的 DynamicLink 组件支持 MDX 内容中带有 locale 前缀的动态 href 模式。

On this page