obcon-scada / app /include /lang.js
chanmin0723's picture
Initial obcon SCADA deploy
e4bf523
Raw
History Blame Contribute Delete
3.2 kB
'use strict'
/**
* Copyright (c) 2017~2020, OBCon Inc.
* All rights reserved.
*/
/**
* @file
* @copyright 2017~2020, OBCon Inc.
* @author gye hyun james kim [pnuskgh@gmail.com]
*/
//--- modules.devices.lang.getModuleName()
//--- modules.devices.lang.getFieldName(req.session.lang, '')
//--- modules.devices.lang.getMsg(req.session.lang, '')
class Lang {
constructor() {
this._model = null;
this.langs = {};
// this.langs = this.setLang();
}
setLang() {
return {
ko_KR: { //--- 언어
name: 'moduleName', //--- 모듈 이름
fields: {
},
msgs: { //--- Messages
},
sites: { //--- Site별 언어 설정 (Reserved)
name: 'moduleName', //--- 모듈 이름
fields: {
},
msgs: { //--- Messages
}
}
}
};
}
_exist(paramObject, paramField) {
return typeof(paramObject[paramField]) != 'undefined';
// return Object.getOwnPropertyNames(paramObject).includes(paramField);
// return -1 < Object.getOwnPropertyNames(paramObject).indexOf(paramField);
}
getModuleName(lang = config.service.lang) {
if ((this._exist(this.langs, lang)) && (this._exist(this.langs[lang], 'name'))) {
return this.langs[lang].name;
}
if (lang != config.service.lang) {
lang = config.service.lang;
if ((this._exist(this.langs, lang)) && (this._exist(this.langs[lang], 'name'))) {
return this.langs[lang].name;
}
}
return this._model._title;
}
getFieldName(lang, field) {
if (arguments.length == 0) {
lang = config.service.lang;
}
if ((this._exist(this.langs, lang)) && (this._exist(this.langs[lang].fields, field))) {
return this.langs[lang].fields[field];
}
if (lang != config.service.lang) {
lang = config.service.lang;
if ((this._exist(this.langs, lang)) && (this._exist(this.langs[lang].fields, field))) {
return this.langs[lang].fields[field];
}
}
return this._model.fields[field].title;
}
getMsg(lang, msg) {
if (arguments.length == 0) {
lang = config.service.lang;
}
if ((this._exist(this.langs, lang)) && (this._exist(this.langs[lang].msgs, msg))) {
return this.langs[lang].msgs[msg];
}
if (lang != config.service.lang) {
lang = config.service.lang;
if ((this._exist(this.langs, lang)) && (this._exist(this.langs[lang].msgs, msg))) {
return this.langs[lang].msgs[msg];
}
}
return '';
}
}
module.exports = Lang;