From 3088115abaabd0f2154c7e0937befcbc8b1dbe0c Mon Sep 17 00:00:00 2001 From: Nick O'Leary Date: Thu, 21 Nov 2019 10:42:40 +0000 Subject: [PATCH] Avoid unnecessary i18n catalog load if base lng provided --- packages/node_modules/@node-red/util/lib/i18n.js | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/node_modules/@node-red/util/lib/i18n.js b/packages/node_modules/@node-red/util/lib/i18n.js index 236b66306..49a327382 100644 --- a/packages/node_modules/@node-red/util/lib/i18n.js +++ b/packages/node_modules/@node-red/util/lib/i18n.js @@ -83,6 +83,7 @@ function mergeCatalog(fallback,catalog) { function readFile(lng, ns) { + console.log(lng,ns); return new Promise((resolve, reject) => { if (resourceCache[ns] && resourceCache[ns][lng]) { resolve(resourceCache[ns][lng]); @@ -120,10 +121,14 @@ var MessageFileLoader = { read: function (lng, ns, callback) { readFile(lng, ns) .then(data => callback(null, data)) - .catch(() => { - // if reading language file fails -> try reading base language (e. g. 'fr' instead of 'fr-FR' or 'de' for 'de-DE') - var baseLng = lng.split('-')[0]; - readFile(baseLng, ns).then(baseData => callback(null, baseData)).catch(err => callback(err)); + .catch(err => { + if (/-/.test(lng)) { + // if reading language file fails -> try reading base language (e. g. 'fr' instead of 'fr-FR' or 'de' for 'de-DE') + var baseLng = lng.split('-')[0]; + readFile(baseLng, ns).then(baseData => callback(null, baseData)).catch(err => callback(err)); + } else { + callback(err); + } }); } }