Всем привет.
Периодически сталкиваюсь с проблемой когда вроде бы выбран язык по дефолту RU, но на сайте выводится EN, происходит какой то сбой или что то вроде того.
Проверка языка очень примитивна и определяется непосредственно по URL с помощью мидлваре
Если пользователь переходит на сайт в каталог /en/ то все url формируются с данной директорией и естественно в мидлваре определяется языковой пакет.
Вот как я это сделал
module.exports = (request, response, next) => {
locale = request.originalUrl.replace(/.*\/(en|ru)\/.*/, '$1'), noLang = /\//.test(locale), noLang && (locale = "ru"), (request.CONST = response.locals.CONST = require(`../languages/${locale}`)), next()
}
Не знаю даже почему, но иногда бывает что подключается не тот языковой пакет.
Быть может делать как то все по другому?