47 lines
1.5 KiB
JavaScript
47 lines
1.5 KiB
JavaScript
var fs = require('fs')
|
|
module.exports = function(s,config){
|
|
if(!config.language){
|
|
config.language='en_CA'
|
|
}
|
|
try{
|
|
var lang = require(s.location.languages+'/'+config.language+'.json');
|
|
}catch(er){
|
|
console.error(er)
|
|
console.log('There was an error loading your language file.')
|
|
var lang = require(s.location.languages+'/en_CA.json');
|
|
}
|
|
//load languages dynamically
|
|
s.copySystemDefaultLanguage = function(){
|
|
//en_CA
|
|
return Object.assign({},lang)
|
|
}
|
|
s.listOfPossibleLanguages = []
|
|
fs.readdirSync(s.mainDirectory + '/languages').forEach(function(filename){
|
|
var name = filename.replace('.json','')
|
|
s.listOfPossibleLanguages.push({
|
|
"name": name,
|
|
"value": name,
|
|
})
|
|
})
|
|
s.loadedLanguages={}
|
|
s.loadedLanguages[config.language] = s.copySystemDefaultLanguage()
|
|
s.getLanguageFile = function(rule){
|
|
if(rule && rule !== ''){
|
|
var file = s.loadedLanguages[file]
|
|
if(!file){
|
|
try{
|
|
s.loadedLanguages[rule] = require(s.location.languages+'/'+rule+'.json')
|
|
s.loadedLanguages[rule] = Object.assign({},s.copySystemDefaultLanguage(),s.loadedLanguages[rule])
|
|
file = s.loadedLanguages[rule]
|
|
}catch(err){
|
|
file = s.copySystemDefaultLanguage()
|
|
}
|
|
}
|
|
}else{
|
|
file = s.copySystemDefaultLanguage()
|
|
}
|
|
return file
|
|
}
|
|
return lang
|
|
}
|