mirror of
https://framagit.org/les/gancio.git
synced 2025-02-01 00:52:01 +01:00
36 lines
No EOL
1,022 B
JavaScript
36 lines
No EOL
1,022 B
JavaScript
const merge = require('lodash/merge')
|
|
const config = require('../../config')
|
|
const path = require('path')
|
|
const fs = require('fs')
|
|
const log = require('../../log')
|
|
|
|
const localeController = {
|
|
async get (req, res) {
|
|
const locale = req.params.locale
|
|
const locales = require('../../../locales/index')
|
|
|
|
// check if this locale exists
|
|
if (!locales[locale]) {
|
|
return res.sendStatus(404)
|
|
}
|
|
|
|
const defaultLocaleMessages = require(`../../../locales/${locale}.json`)
|
|
|
|
// check if we have a user custom messages
|
|
let customLocaleMessages = {}
|
|
const customLocalePath = path.resolve(config.user_locale, `${locale}.json`)
|
|
if (config.user_locale && fs.existsSync(customLocalePath)) {
|
|
try {
|
|
customLocaleMessages = require(customLocalePath)
|
|
} catch (e) {
|
|
log.error(`Error reading custom locale messages: ${e}`)
|
|
}
|
|
}
|
|
|
|
const ret = merge(defaultLocaleMessages, customLocaleMessages)
|
|
return res.json(ret)
|
|
|
|
}
|
|
}
|
|
|
|
module.exports = localeController |