From 3be3200bf5b23e966fb20610c2b2930282544d38 Mon Sep 17 00:00:00 2001 From: Quoc Nghia Nguyen Date: Tue, 15 May 2018 17:16:40 +0200 Subject: Make jquery.i18n fallback to en_US by default - rewrite some comments in a proper order - fix indentation Change-Id: I34e149a0b78291698c1a3f44640cc6ee458bd8c8 Issue-ID: MSB-196 Signed-off-by: Quoc Nghia Nguyen --- .../js/jquery.i18n/jquery.i18n.properties-1.0.9.js | 41 ++++++++++++---------- 1 file changed, 22 insertions(+), 19 deletions(-) diff --git a/discovery-ui/src/main/resources/iui/microservices/js/jquery.i18n/jquery.i18n.properties-1.0.9.js b/discovery-ui/src/main/resources/iui/microservices/js/jquery.i18n/jquery.i18n.properties-1.0.9.js index a4a6a81..1476348 100644 --- a/discovery-ui/src/main/resources/iui/microservices/js/jquery.i18n/jquery.i18n.properties-1.0.9.js +++ b/discovery-ui/src/main/resources/iui/microservices/js/jquery.i18n/jquery.i18n.properties-1.0.9.js @@ -80,21 +80,24 @@ $.i18n.properties = function(settings) { // load and parse bundle files var files = getFiles(settings.name); for(i=0; i= 2) { - // loadAndParseFile(settings.path + files[i] + '-' + settings.language.substring(0, 2) +'.properties', settings); - //} - // 3. with language code and country code (eg, Messages_pt_PT.properties) - // 将寻找资源文件的顺序倒置 - if(settings.language.length >= 5) { - loadAndParseFile(settings.path + files[i] + '-' + settings.language.substring(0, 5) +'.properties', settings); - } else if(settings.language.length >= 2) { - loadAndParseFile(settings.path + files[i] + '-' + settings.language.substring(0, 2) +'.properties', settings); - } else { - loadAndParseFile(settings.path + files[i] + '.properties', settings); - } + // Look for the bundle files in the following order: + // 1. with language code and country code (eg, Messages_pt_PT.properties) + // 2. with language code (eg, Messages_pt.properties) + // 3. load base (eg, Messages.properties) + // 4. if none of the above is found, load en_US by default (eg, Messages_en_US.properties) + var xhrResult; + if (settings.language.length >= 5) { + xhrResult = loadAndParseFile(settings.path + files[i] + '-' + settings.language.substring(0, 5) + '.properties', settings); + } else if (settings.language.length >= 2) { + xhrResult = loadAndParseFile(settings.path + files[i] + '-' + settings.language.substring(0, 2) + '.properties', settings); + } else { + xhrResult = loadAndParseFile(settings.path + files[i] + '.properties', settings); + } + + if (xhrResult.status === 404) { + // fallback to en_US by default + loadAndParseFile(settings.path + files[i] + '-en-US.properties', settings); + } } // call callback @@ -260,15 +263,15 @@ $.i18n.browserLang = function() { /** Load and parse .properties files */ function loadAndParseFile(filename, settings) { - $.ajax({ + return $.ajax({ url: filename, async: false, - cache: settings.cache, + cache: settings.cache, contentType:'text/plain;charset='+ settings.encoding, dataType: 'text', success: function(data, status) { - parseData(data, settings.mode); - } + parseData(data, settings.mode); + } }); } -- cgit 1.2.3-korg