Raypx

国际化

基于路由前缀的多语言支持。

Raypx 包含两套独立的 i18n 系统:一套用于应用(@raypx/i18n),一套用于文档(Fumadocs 内置)。两者都使用基于 URL 路径前缀的语言检测策略。

支持的语言

代码语言时区
en-USEnglishAmerica/New_York
zh-CN简体中文Asia/Shanghai

en-US 为默认语言。

应用 i18n

应用 i18n 由 @raypx/i18n 包驱动,基于 use-intl 构建。

  • 路由前缀:所有页面 URL 以语言代码开头,如 /zh-CN/docs
  • 中间件:服务端中间件自动检测语言并处理重定向
  • 消息文件:位于 packages/i18n/src/messages/ 目录

详细文档:

文档 i18n

文档站点使用 Fumadocs 的内置 i18n 功能,文档内容按语言目录组织:

content/docs/
  en-US/          # 英文文档
  zh-CN/          # 中文文档

Locale 路由结构

应用和文档都使用相同的 URL 模式:

/{locale}/{path}

示例:

URL语言路径
/en-US/docsEnglish/docs
/zh-CN/docs简体中文/docs
/en-US/dashboardEnglish/dashboard
/zh-CN/dashboard简体中文/dashboard

检测优先级

语言检测按以下优先级进行:

  1. URL 路径前缀 —— /zh-CN/... 直接指定语言
  2. Cookie —— raypx-locale Cookie 存储用户偏好
  3. 默认语言 —— 回退到 en-US

语言偏好存储在 raypx-locale Cookie 中:

属性
名称raypx-locale
路径/
最大年龄365 天
SameSiteLax

当用户访问带有语言前缀的页面时,中间件会自动设置此 Cookie。

On this page