You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用getServerSideProps与next-i18next时生产环境翻译加载失败

解决方案

针对你在Vercel生产环境中使用getServerSideProps时next-i18next翻译失效的问题,可以尝试以下排查和解决步骤:

  • 检查翻译文件路径配置
    在next-i18next.config.js中确保localePath使用绝对路径,避免生产环境因工作目录差异找不到文件:

    const path = require('path');
    
    module.exports = {
      i18n: {
        locales: ['en', 'zh'], // 替换为你的实际语言列表
        defaultLocale: 'en',
      },
      localePath: path.resolve('./public/locales'),
    };
    

    也可以在serverSideTranslations调用时显式指定路径:

    import path from 'path';
    // ...
    return {
      props: {
        quote,
        ...(await serverSideTranslations(locale, ["common", "nav", "portal", "footer", "configurations"], {
          localePath: path.resolve('./public/locales'),
        })),
      },
    };
    
  • 确认locale参数有效性
    在getServerSideProps中打印locale值(生产环境可通过Vercel日志查看),确保它是Next.js i18n配置中定义的有效值,避免传入未注册的语言标识导致加载失败。

  • 验证翻译文件完整性
    检查public/locales下每个语言文件夹(如en、zh)是否都包含common.json、nav.json等你调用的翻译文件,且文件名、键名拼写完全一致。同时确认.gitignore没有排除public/locales目录,保证部署时文件能被正常上传到Vercel。

  • 查看Vercel构建日志
    登录Vercel控制台查看项目的构建和部署日志,搜索是否有翻译文件加载失败的报错信息(如文件找不到),这能直接定位问题根源。

  • 检查版本兼容性
    确认next-i18next版本与你使用的Next.js(Pages Router)版本兼容,比如Next.js 13+ Pages Router建议搭配next-i18next v13.x版本,版本不匹配可能导致生产环境异常。

内容的提问来源于stack exchange,提问作者ThibaultFeraux

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 19:05:20