Spaces:
Sleeping
Sleeping
| /** | |
| * 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; | |