var fs = require('fs'); var settings = require('./settings.js'); var path = require('path'); module.exports = { /** * Returns template locale * @param {String} template - Template name * @param {String} countryCode - Language code * @param {Object} cb - Callback */ load: function(template, countryCode, cb) { var localeFile = path.join(__dirname, 'template', `${template}`, 'locale', `${countryCode}.json`); var defaultLocaleFile = path.join(__dirname, 'template', `${template}`, 'locale', `${settings.app().defaultLanguage}.json`); fs.stat(localeFile, (error, stats) => { if (error) { fs.stat(defaultLocaleFile, (error, stats) => { if (error) return cb({status: 'REJECT', data: {message: 'Translation not found for template ' + template + '.'}}); cb({status: 'ACCEPT', data: {locale: require(defaultLocaleFile)}}); }); } else { cb({status: 'ACCEPT', data: {locale: require(localeFile)}}); } }); }, /** * Parse locale text * @param {String} text - Locale text * @param {Object} params - Locale params * @return {String} - Returns parsed text */ parseText: function(text, params) { for (var key in params) { text = text.replace(`%${key}%`, params[key]); } return text; } };