2019-03-15 07:32:18 +00:00
|
|
|
var fs = require('fs')
|
2018-09-28 20:26:24 +00:00
|
|
|
module.exports = function(s,config){
|
|
|
|
if(!config.language){
|
|
|
|
config.language='en_CA'
|
|
|
|
}
|
2022-06-08 00:40:53 +00:00
|
|
|
var lang = {};
|
|
|
|
function getLanguageData(choice){
|
|
|
|
let gotLang = {}
|
|
|
|
try{
|
|
|
|
eval(`gotLang = ${fs.readFileSync(s.location.languages+'/'+choice+'.json','utf8')}`)
|
|
|
|
}catch(er){
|
|
|
|
console.error(er)
|
|
|
|
console.log('There was an error loading your language file.')
|
|
|
|
eval(`gotLang = ${fs.readFileSync(s.location.languages+'/en_CA.json','utf8')}`)
|
|
|
|
}
|
|
|
|
return gotLang
|
2018-09-28 20:26:24 +00:00
|
|
|
}
|
2022-06-08 00:40:53 +00:00
|
|
|
lang = getLanguageData(config.language)
|
2018-09-28 05:37:08 +00:00
|
|
|
//load languages dynamically
|
2018-12-12 23:53:49 +00:00
|
|
|
s.copySystemDefaultLanguage = function(){
|
|
|
|
//en_CA
|
2022-06-08 00:40:53 +00:00
|
|
|
return Object.assign({},getLanguageData(config.language))
|
2018-12-12 23:53:49 +00:00
|
|
|
}
|
2019-03-15 07:32:18 +00:00
|
|
|
s.listOfPossibleLanguages = []
|
|
|
|
fs.readdirSync(s.mainDirectory + '/languages').forEach(function(filename){
|
|
|
|
var name = filename.replace('.json','')
|
|
|
|
s.listOfPossibleLanguages.push({
|
|
|
|
"name": name,
|
|
|
|
"value": name,
|
|
|
|
})
|
|
|
|
})
|
2018-09-28 05:37:08 +00:00
|
|
|
s.loadedLanguages={}
|
2018-12-12 23:53:49 +00:00
|
|
|
s.loadedLanguages[config.language] = s.copySystemDefaultLanguage()
|
2018-10-10 19:51:23 +00:00
|
|
|
s.getLanguageFile = function(rule){
|
|
|
|
if(rule && rule !== ''){
|
|
|
|
var file = s.loadedLanguages[file]
|
2022-04-30 20:15:26 +00:00
|
|
|
s.debugLog(file)
|
2018-09-28 05:37:08 +00:00
|
|
|
if(!file){
|
|
|
|
try{
|
2022-04-30 20:15:26 +00:00
|
|
|
let newLang = {}
|
|
|
|
eval(`newLang = ${fs.readFileSync(s.location.languages+'/'+rule+'.json','utf8')}`)
|
|
|
|
s.loadedLanguages[rule] = Object.assign(s.copySystemDefaultLanguage(),newLang)
|
2018-10-10 19:51:23 +00:00
|
|
|
file = s.loadedLanguages[rule]
|
2018-09-28 05:37:08 +00:00
|
|
|
}catch(err){
|
2022-04-30 20:15:26 +00:00
|
|
|
console.error(err)
|
2018-12-12 23:53:49 +00:00
|
|
|
file = s.copySystemDefaultLanguage()
|
2018-09-28 05:37:08 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}else{
|
2018-12-12 23:53:49 +00:00
|
|
|
file = s.copySystemDefaultLanguage()
|
2018-09-28 05:37:08 +00:00
|
|
|
}
|
|
|
|
return file
|
|
|
|
}
|
2022-06-07 23:46:36 +00:00
|
|
|
s.reloadLanguages = function(){
|
|
|
|
s.loadedLanguages = {};
|
|
|
|
s.loadedLanguages[config.language] = s.copySystemDefaultLanguage()
|
|
|
|
}
|
2018-09-28 20:26:24 +00:00
|
|
|
return lang
|
2018-09-28 05:37:08 +00:00
|
|
|
}
|