diff --git a/webapp/fds-bootstrap.js b/webapp/fds-bootstrap.js index b2cbf9f25..4d6003b6d 100644 --- a/webapp/fds-bootstrap.js +++ b/webapp/fds-bootstrap.js @@ -53,6 +53,26 @@ if (!locale || locale === 'en-us') { } platformBrowserDynamic().bootstrapModule(FdsModule, {providers: providers}); }).fail(function () { - platformBrowserDynamic().bootstrapModule(FdsModule, {providers: providers}); + // was this a country specific locale? if so, try to get the generic version of the language + const localeTokens = locale.split('-'); + if (localeTokens.length === 2) { + translationFile = './webapp/locale/messages.' + localeTokens[0] + '.xlf'; + $.ajax({ + url: translationFile, + dataType: 'text' + }).done(function (translations) { + // add providers if translation file for locale is loaded + if (translations) { + providers.push({provide: TRANSLATIONS, useValue: translations}); + providers.push({provide: TRANSLATIONS_FORMAT, useValue: 'xlf'}); + providers.push({provide: LOCALE_ID, useValue: localeTokens[0]}); + } + platformBrowserDynamic().bootstrapModule(FdsModule, {providers: providers}); + }).fail(function () { + platformBrowserDynamic().bootstrapModule(FdsModule, {providers: providers}); + }); + } else { + platformBrowserDynamic().bootstrapModule(FdsModule, {providers: providers}); + } }); }