diff --git a/js/lang.js b/js/lang.js index 6244f16f62..6023002e64 100644 --- a/js/lang.js +++ b/js/lang.js @@ -37,9 +37,14 @@ const os = require('os'); class Lang { constructor (language, poPath, espoPath, onlyModuleName) { + this.baseLanguage = 'en_US'; this.language = language; this.poPath = poPath; + this.ignoreList = [ + 'Global.options.language', + ]; + this.espoPath = espoPath; if (this.espoPath.slice(-1) !== '/') { @@ -47,12 +52,11 @@ class Lang } this.moduleList = ['Crm']; + if (onlyModuleName) { this.moduleList = [onlyModuleName]; } - this.baseLanguage = 'en_US'; - var dirNames = this.dirNames = {}; var coreDir = this.espoPath + 'application/Espo/Resources/i18n/' + this.baseLanguage + '/'; @@ -149,7 +153,7 @@ class Lang var list = fs.readdirSync(path); - list.forEach((fileName) => { + list.forEach(fileName => { var filePath = path + fileName; var resFilePath = resPath + '/' + fileName; @@ -170,6 +174,13 @@ class Lang var c = fileObject; var path = item.path.slice(0); + if ( + this.baseLanguage !== this.language && + ~this.ignoreList.indexOf(fileKey + '.' + path.join('.')) + ) { + return; + } + for (var i in item.path) { var key = item.path[i]; @@ -196,6 +207,7 @@ class Lang if (c[k] === item.stringOriginal) { var p = path.slice(0); p.push(k); + pathList.push(p); isMet = true; } @@ -231,7 +243,7 @@ class Lang return; } - pathList.forEach(path =>{ + pathList.forEach(path => { var c = targetFileObject; path.forEach((pathKey, i) => {