Skip to content

The easiest way to translate your NextJs apps. With Koa support only.

License

Notifications You must be signed in to change notification settings

winstrike/next-i18next-koa

 
 

Repository files navigation

next-i18next-koa

npm version

The easiest way to translate your NextJs apps. With Koa support only. Forked from next-i18next.

What is this?

next-i18next-koa is a fork of next-i18next with Koa server support only. This fork uses koa-i18next-middleware-fixed instead of i18next-express-middleware.

Install

npm i @winstrike/next-i18next-koa or yarn add @winstrike/next-i18next-koa

Project setup (server.js)

nextI18NextMiddleware() returns an array of middleware. You should use all of them, as in this example:

const Koa = require("koa");
const Router = require("koa-router");
const serve = require("koa-static");
const mount = require("koa-mount");
const nextApp = require("next");
const nextI18NextMiddleware = require("@winstrike/next-i18next-koa/middleware");

const nextI18Next = require("./lib/i18n");

const app = nextApp({
  dev: process.env.NODE_ENV !== "production",
});
const handle = app.getRequestHandler();

app.prepare().then(() => {
  const server = new Koa();
  const router = new Router();

  // Access to locales for preloading them from client-side i18next
  server.use(mount("/locales", serve("./locales")));

  router.get("*", async (ctx) => {
    await handle(ctx.req, ctx.res);
    ctx.respond = false;
  });

  // Use all of middlewares
  const middlewares = nextI18NextMiddleware(nextI18Next);
  middlewares.forEach((middleware) => {
    server.use(middleware);
  });

  server.use(router.routes());
  server.listen(port, () => {
    console.log(`> Ready on http://localhost:${port}`);
  });
});

Other information

You can find other information about next-i18next in the original readme.

Notes

About

The easiest way to translate your NextJs apps. With Koa support only.

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

 
 
 

Languages

  • JavaScript 100.0%