9951 explained code solutions for 126 technologies


expressjsHow can I use Express.js to implement internationalization (i18n)?


Internationalization (i18n) can be implemented using Express.js by using the i18n Node.js module. This module allows you to set the language for each request based on the Accept-Language header.

To use this module in an Express.js application, you will need to install it first:

$ npm install i18n

Once installed, you can setup the i18n middleware in your application:

// setup i18n
app.use(i18n.init);

// set language
app.use((req, res, next) => {
  req.setLocale(req.headers["accept-language"]);
  next();
});

The req.setLocale method sets the current locale based on the Accept-Language header. You can also set it manually if you wish.

Once the language is set, you can access the locale data in your views and templates:

// render a view
res.render('index', {
  title: req.__('Welcome to my site')
});

In this example, the req.__ method is used to access the locale-specific text for the title.

The following links provide more information on implementing internationalization with Express.js and the i18n module:

Edit this code on GitHub