javascript - i18n 支持与下一次导出不兼容。 (SSR - NextJS 10)

标签 javascript deployment internationalization next.js i18next

i18n 支持与下一次导出不兼容。
NextJS 不使用 i18n 运行部署
我使用 nextJS 10,我选择 next 10 的主要原因是我可以做 SSR 并使用 i18n。
Internationalized Routing它是一个新的下一个 js 10 功能,并且只有该功能的页面。
但是当我要进行部署时,会出现此错误: i18n 支持与下一次导出不兼容。
在国际化路由页面中没有任何内容。
我的代码
next.config.js

const withImages = require('next-images')
const path = require('path')

module.exports = withImages({
    esModule: false,
    i18n: {
        locales: ['en-US', 'pt-BR', 'pt-PT', 'es-ES'],
        defaultLocale: 'pt-BR',
      },
});

我创建了一个翻译文件,使条件与下一个路由器
obs: PT 和 EN 是带有文本的 JSON 文件
import * as pt from "./pt";
import * as en from './en';
import { useRouter } from "next/router"

export const traducao = () =>{
  let routes = useRouter();

  let translate;
 
    if (routes.locale == 'pt-PT' || routes.locale == 'pt-BR') {
      translate = pt.default;
    } else {
      translate = en.default;
    }
  
  return translate 
}

我只是在我的项目中像一个函数一样使用:{traducao().homeText.button_text}运行良好,识别浏览器语言并切换。
我使用部署脚本
npm run deploy
"deploy": "npm run clean && npm run build && next export -o dist/"
重现步骤
  • 转到“next.config,js”
  • 创建 i18n 导出
  • 创建一个可以识别浏览器语言的翻译文件
  • 使用您的站点文本导入 JSON 文件
  • 在你想要的地方使用
  • 尝试部署

  • 预期行为
    它只是假设工作正常并正常部署。
    截图
    image
    image
    image
    image
    系统信息
  • 操作系统:Linux Ubuntu
  • IDE:VSCode
  • Next.js 版本:10
  • Node.js 版本:v15.3.0
  • 部署:下次部署
  • 最佳答案

    在 vercel 的 github 上挖掘问题,我发现了这个不使用 next-i18next 或任何其他 nextjs 魔法的替代方案:
    https://github.com/Xairoo/nextjs-i18n-static-page-starter
    这只是使用 i18next 将所有语言环境与 JS 捆绑在一起的基本 i18n,因此有明显的权衡,但至少它适用于 SSG。您可以在此基础上提出更精细的东西。这就是我要做的。

    关于javascript - i18n 支持与下一次导出不兼容。 (SSR - NextJS 10),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65513435/

    相关文章:

    javascript - 移动设备中的谷歌地图

    javascript - 使用合成鼠标事件驱动 Javascript 代码

    c# - ASP.NET 框架错误

    java - GWT:语言环境没有改变?

    internationalization - Yii2翻译

    javascript - 三星智能电视应用程序使用Google API?

    javascript - Meteor.users.findOne() 返回未定义但它仍在工作

    iphone - 如何发布应用程序进行测试

    java - "add-ons"对于 native 应用程序如何工作?

    ruby-on-rails - 我应该如何以 DRY 和数据库有效的方式存储本地化值 - Ruby on Rails/i18n