diff --git a/lib/translator/index.js b/lib/translator/index.js index 029251c..537c9f4 100644 --- a/lib/translator/index.js +++ b/lib/translator/index.js @@ -59,7 +59,11 @@ function Translator(acceptLanguage, allTranslations, logger = console) { * } */ this._language = Transformer.transform(allTranslations, this._preferredLocales, this._logger) || {}; - + /** + * @private + * @type {Object} + */ + this._allTranslations = allTranslations; /** * @private * @type {Object.} @@ -94,6 +98,10 @@ Translator.create = function (acceptLanguage, allTranslations, logger = console) * @returns {string} */ Translator.prototype.translate = function (key, parameters) { + if (parameters.language && parameters.language.length && this._language !== parameters.language) { + this._language = Transformer.transform(this._allTranslations, [parameters.language], this._logger) || {}; + } + if (!this._language.translations || !this._language.translations[key]) { return key; }