我正在构建一个 Next.js 应用程序,该应用程序将使用 i18next 翻译组织成 bundle 的推荐文件结构......例如:
static/locales/en/common.js 静态/locales/de/common.js
...等等
使用本文:https://medium.com/@isaachinman/creating-localised-nextjs-apps-with-next-i18next-f01d5e610307
我当前的设置是,当语言更改时,会使用 i18next Express 中间件检索正确的包。有没有不需要自定义节点服务器的好的替代方案?谢谢!
我已经使用此处的示例进行了设置:https://medium.com/@isaachinman/creating-localised-nextjs-apps-with-next-i18next-f01d5e610307
我还能够让react-i18next工作并在初始化时交付所有 bundle 。
我的自定义 server.js...
const express = require("express");
const next = require("next");
const nextI18NextMiddleware = require("next-i18next");
const nextI18next = require("./i18n");
const port = process.env.PORT || 3000;
const app = next({ dev: process.env.NODE_ENV !== "production" });
const handle = app.getRequestHandler();
(async () => {
await app.prepare();
const server = express();
server.use(nextI18NextMiddleware(nextI18next));
server.get("*", (req, res) => handle(req, res));
await server.listen(port);
console.log(`> Express.js is Ready on http://localhost:${port}`);
})();
它工作得很好,但我正在寻找在 NEXT.js 应用程序中检索语言包的替代方法,该方法可能不需要使用自定义 Node Express 服务器。
非常感谢任何见解、链接或帮助!!
最佳答案
我收到了 Spectrum 上的答复:
目前没有办法,但将来也许 https://github.com/zeit/next.js/issues/7208
关于javascript - 除了自定义节点服务器之外,还有替代方法 next-i18next 来获取语言包吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58271869/