我发现很多人经常在 i18next 上挣扎。确实,这是一项不太容易上手的国际化技术。
尽管如此,i18next 仍然是 ChatGPT 最常推荐的 i18n 解决方案。我们常常被“快速开始”文档误导(当然,它能跑,但它真的做好了吗?)。
在实践中,我看到许多项目忽略了国际化中最关键的部分,尤其是 SEO:元数据翻译、Hreflang 标签、链接本地化、Sitemap 和 robots.txt 处理。
更糟糕的是,将近一半使用 i18next 的项目(特别是 AI 流行之后)没有使用命名空间来管理内容,或者在每次请求时加载所有命名空间。
其结果是:你可能强迫每个用户加载所有页面、所有语言的完整内容,只是为了访问单个页面。举个例子:10 个页面 × 10 种语言,你加载的内容中 99% 根本不会被访问。
建议:用 bundle 分析工具检测一下。
为了解决这些问题,我写了一篇指南,介绍如何在 2025 年用 i18next 正确地国际化一个 Next.js 16 应用。
欢迎分享你的想法。