salix/services/mailer/Application/language.js

26 lines
1.0 KiB
JavaScript

var fs = require('fs');
var settings = require('./settings.js');
var logger = require('./logger.js');
var path = require('path');
module.exports = {
/**
* Devuelve las claves de idioma de una plantilla
* @param {String} templateName - Nombre de la plantilla
* @param {String} langCode - Código de idioma
* @return {Object} Devuelve el objeto con las claves de idioma
*/
load: function(templateName, langCode) {
// Comprobamos que exista una traducción para esta plantilla
var localeFile = path.join(__dirname, 'Language', `${langCode}.${templateName}.json`);
var defaultLocaleFile = path.join(__dirname, 'Language', `${settings.defaultLanguage}.${templateName}.json`);
if (fs.existsSync(localeFile)) {
return require(localeFile);
} else if (fs.existsSync(defaultLocaleFile)) {
return require(defaultLocaleFile);
} else {
throw new Error('No se ha encontrado ninguna traducción para la plantilla ' + templateName + '.');
}
}
};