@winstrike/next-i18next-koa
TypeScript icon, indicating that this package has built-in type declarations

0.1.14 • Public • Published

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

Package Sidebar

Install

npm i @winstrike/next-i18next-koa

Weekly Downloads

247

Version

0.1.14

License

MIT

Unpacked Size

92.1 kB

Total Files

59

Last publish

Collaborators

  • shuvalov-anton
  • paraboom
  • vitaliyzaytsev
  • janealter