Bước 1: Cài thư viện

npm install i18next i18next-http-backend i18next-express-middleware 

Bước 2: Tạo file cấu hình i18n.js

const i18next = require('i18next');
const Backend = require('i18next-http-backend');
const middleware = require('i18next-express-middleware');

i18next
  .use(Backend)
  .use(middleware.LanguageDetector)
  .init({
    fallbackLng: 'en',
    backend: {
      loadPath: __dirname + '/locales/{{lng}}/{{ns}}.json',
      addPath: __dirname + '/locales/{{lng}}/{{ns}}.missing.json',
    },
    detection: {
      order: ['querystring', 'cookie'],
      caches: ['cookie'],
    },
  });

module.exports = i18next;

Bước 3: Tạo thư mục ngôn ngữ

Trong thư mục website, tạo thư mục tên là locales. Trong thư mục này tạo các thư mục con chứa ngôn ngữ.

Ví dụ: en/translation.json

{
  "greeting": "Hello World!"
}

và vi/translation.json 

{
  "greeting": "Xin chào thế giới!"
}

 

Bước 4: Tích hợp vào Express

Trong file app.js nhúng file cấu hình vào

const i18next = require('./i18n');
app.use(i18next.middleware.handle(i18next));

Sử dụng bằng cú pháp:

req.t('greeting')

Bước 5: Chạy ứng dụng

http://localhost:3000/?lng=vi
http://localhost:3000/?lng=en 
hoặc
http://localhost:3000/