Repolode
i18next

i18next/next-i18next

为 Next.js 应用接入 i18next 与 react-i18next 的多语言翻译工具包,支持 App Router 与 Pages Router。

Star
6,166
Fork
756
未关闭 Issue
0
最近提交
10小时前

这是什么?

next-i18next 基于 i18next 和 react-i18next,解决 Next.js 应用多语言翻译中的框架相关问题,包括通过 proxy 或 middleware 检测语言并做locale 重定向,区分服务端与客户端组件,以及把已加载的翻译从服务端传给客户端。

它同时支持 App Router(Server Components、Client Components 与 proxy)和通过 next-i18next/pages 入口使用的 Pages Router,也支持在同一项目中混用两种路由。翻译文件可以放在 public/locales,也可以通过动态 import 加载,适合 Serverless 部署。语言代码可以出现在 URL 路径中,默认语言也可以隐藏前缀,或改用 Cookie 保存语言并保持干净的 URL。

项目可选接入 ICU MessageFormat 与 Unicode MessageFormat 2 插件,也支持替换为 HTTP、Locize 等自定义 i18next 后端,或使用带缓存的 chained backend。

核心功能

  • 01同一项目中可同时使用 App Router、Pages Router 与混合路由。
  • 02根据 Cookie 或 Accept-Language 检测语言,并重定向到带 locale 前缀的路径。
  • 03支持从 public 目录或动态 import 加载翻译,兼容 Serverless 平台。
  • 04将服务端已加载的翻译序列化后传给客户端组件。
  • 05通过可选插件支持 ICU 与 MF2 消息格式。
  • 06可接入 HTTP、Locize 等自定义 i18next 后端。

适用场景

  • 为已有的 Next.js App Router 站点增加多语言支持。
  • 在从 Pages Router 迁移的过程中,让新旧路由并存运行。
  • 将多语言的 Next.js 应用部署到 Vercel 或其他 Serverless 平台。
  • 从 CDN 或翻译管理服务加载翻译内容。

快速上手

  1. 1

    安装软件包

    npm install next-i18next i18next react-i18next
  2. 2

    创建翻译 JSON 文件和带有 resourceLoader 的 i18n 配置

  3. 3

    添加导出 createProxy(i18nConfig) 的 proxy.ts

  4. 4

    在根布局中设置 initServerI18next 和 I18nProvider

使用前须知

  • 在无服务器平台上,必须使用 resourceLoader 加载翻译,因为 public/ 中的文件在运行时不可用。
  • 使用基于 import() 的加载器时,开发模式下翻译的热重载可能会卡住,需要变通方案。
  • 启用 cacheComponents 后,部分基于文件的翻译读取会在 next dev 中触发未缓存数据的警告。

标签

#i18n#nextjs#react#i18next#internationalization#ssr#typescript#next#now#react-i18next

常见问题

next-i18next 是什么?
为 Next.js 应用接入 i18next 与 react-i18next 的多语言翻译工具包,支持 App Router 与 Pages Router。 next-i18next 基于 i18next 和 react-i18next,解决 Next.js 应用多语言翻译中的框架相关问题,包括通过 proxy 或 middleware 检测语言并做locale 重定向,区分服务端与客户端组件,以及把已加载的翻译从服务端传给客户端。
next-i18next 可以免费使用吗?用的什么许可证?
next-i18next 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
next-i18next 还在维护吗?
活跃维护中。next-i18next 最近一次提交是在 2026年11月7日。
next-i18next 适合用来做什么?
为已有的 Next.js App Router 站点增加多语言支持。 在从 Pages Router 迁移的过程中,让新旧路由并存运行。 将多语言的 Next.js 应用部署到 Vercel 或其他 Serverless 平台。 从 CDN 或翻译管理服务加载翻译内容。
next-i18next 怎么安装和运行?
安装软件包: npm install next-i18next i18next react-i18next 创建翻译 JSON 文件和带有 resourceLoader 的 i18n 配置 添加导出 createProxy(i18nConfig) 的 proxy.ts 在根布局中设置 initServerI18next 和 I18nProvider
在哪里获取 next-i18next?
源代码和安装说明在 GitHub 上:https://github.com/i18next/next-i18next

概要由 AI 根据项目 README 生成;GitHub 数据每日更新。

相关项目