TypeError: _this.services.languageUtils.isWhitelisted is not a function

Viewed 732

i am using i18 for language detection and i am getting the TypeError: _this.services.languageUtils.isWhitelisted is not a function error please someone guide me what can i do here

const Backend = require('i18next-node-fs-backend');
const i18nextMiddleware = require('i18next-express-middleware');

i18next
    .use(Backend)
    .use(i18nextMiddleware.LanguageDetector)
    .init({
         debug: true,
        backend: {
            loadPath: __dirname + '/resources/locales/{{lng}}/{{ns}}.json',
            addPath: __dirname + '/resources/{{lng}}/{{ns}}.missing.json'
        },
        fallbackLng: 'en',
        preload: ['en', 'de'],
        saveMissing: false,
    });```
3 Answers
const i18next = require("i18next");
const Backend = require("i18next-node-fs-backend");
const i18nextMiddleware = require("i18next-express-middleware");

i18next.use(Backend).init({
  backend: {
    loadPath: __dirname + "/locales/{{lng}}/{{ns}}.json",
  },
  debug: false,
  detection: {
    order: ["querystring", "cookie"],
    caches: ["cookie"],
  },
  preload: ["en", "ru"],
  saveMissing: true,
  fallbackLng: ["en"],
});

app.use(i18nextMiddleware.handle(i18next));

This package has been deprecated Author message:

replaced by i18next-http-middleware

const i18next = require('i18next');
const Backend = require('i18next-node-fs-backend');
const i18nextMiddleware = require('i18next-http-middleware');

i18next
  .use(Backend)
  .use(i18nextMiddleware.LanguageDetector)
  .init(
    {
      backend: {
        loadPath: path.resolve(__dirname, '../locales/{{lng}}/{{ns}}.json')
      },
      debug: false,
      detection: {
        order: ['querystring', 'cookie'],
        caches: ['cookie']
      },
      saveMissing: true,
      fallbackLng: 'en',
      preload: ['en', 'tr']
    },
    (err, t) => {
      if (err) return console.error(err);
      console.log('i18next is ready...');
      console.log(t('welcome'));
      console.log(t('welcome', { lng: 'tr' }));
    }
  );
Related