/*
* Server side i18n
*/
const _ = require('lodash')
/**
* i18n localization data. Do not use directly - use UB.i18n method instead
*
* @property {object} i18nData
* @private
*/
const i18nData = {}
_.merge(i18nData, {
en: {
property: 'property',
Model: 'Model',
Attribute: 'Attribute',
Type: 'Type',
Caption: 'Caption',
Description: 'Description',
eof: ''
},
ru: {
property: 'свойство',
Model: 'Модель',
Attribute: 'Атрибут',
Type: 'Тип',
Caption: 'Заголовок',
Description: 'Описание',
eof: ''
},
uk: {
property: 'властивість',
Model: 'Модель',
Attribute: 'Атрибут',
Type: 'Тип',
Caption: 'Заголовок',
Description: 'Опис',
eof: ''
},
az: {
property: 'əmlak',
Model: 'Model',
Attribute: 'Attribute',
Type: 'Type',
Caption: 'Caption',
Description: 'Description',
eof: ''
},
ka: {
property: 'property',
Model: 'Model',
Attribute: 'Attribute',
Type: 'Type',
Caption: 'Caption',
Description: 'Description',
eof: ''
},
tg: {
property: 'свойство',
Model: 'Модель',
Attribute: 'Атрибут',
Type: 'Тип',
Caption: 'Заголовок',
Description: 'Описание',
eof: ''
},
ky: {
property: 'свойство',
Model: 'Модель',
Attribute: 'Атрибут',
Type: 'Тип',
Caption: 'Заголовок',
Description: 'Описание',
eof: ''
}
})
/**
* @module i18n
* @memberOf module:@unitybase/ub
*/
/**
* Merge localizationObject to UB.i18n. Usually called form serverLocale scripts
*
* @param {object} localizationObject
*/
function extend (localizationObject) {
_.merge(i18nData, localizationObject)
}
/**
* Localize a message to lang. Return original message either lang not found
* or msg mot found in lang
*
* @param {string} lang
* @param {*} msg
* @returns {*}
*/
function lookup (lang, msg) {
if (!i18nData[lang]) return msg
return i18nData[lang][msg] ? i18nData[lang][msg] : msg
}
module.exports = {
lookup,
extend
}