First full release

This commit is contained in:
Luka Romih
2023-03-10 12:50:23 +01:00
parent 257f3c354f
commit 9867875ef2
285 changed files with 10980 additions and 4692 deletions
+47
View File
@@ -0,0 +1,47 @@
const i18next = require('i18next')
const i18nextMiddleware = require('i18next-http-middleware')
const i18nextBackend = require('i18next-fs-backend')
// If you change this one, don't forget to also update the nodemon ignore flag in package.json scripts.
const LOCALES_PATH = 'public/locales'
const DEFAULT_LANGUAGE = 'sl'
exports.determineRequestLanguage = (req, res, next) => {
const language =
req.user?.language || req.session.language || DEFAULT_LANGUAGE
req.determinedLanguage = language
res.locals.determinedLanguage = language
next()
}
const customLanguageDetector = {
name: 'ownDetector',
lookup(req) {
return req.determinedLanguage
}
}
const languageDetector = new i18nextMiddleware.LanguageDetector()
languageDetector.addDetector(customLanguageDetector)
const inDevEnv = process.env.NODE_ENV === 'development'
i18next
.use(languageDetector)
.use(i18nextBackend)
.init({
// debug: true,
supportedLngs: ['sl', 'en', 'dev'],
preload: ['sl', 'en'],
ns: ['core', 'extended'],
defaultNS: 'core',
// TODO Reenable separators once keys are refactored (also in frontend init in scripts.js)
nsSeparator: false,
keySeparator: false,
...(inDevEnv && { saveMissing: true }),
...(!inDevEnv && { fallbackLng: false }),
detection: { order: ['ownDetector'] },
backend: {
loadPath: `${LOCALES_PATH}/{{lng}}/{{ns}}.json`,
addPath: `${LOCALES_PATH}/{{lng}}/{{ns}}.json`
}
})