mirror of
https://github.com/FoggedLens/iD.git
synced 2026-02-13 01:02:58 +00:00
Only insert sources into the fileMap if not already there
This allows us to setup the fileMap correctly for testing so that it never tries to fetch assets from the CDN.
This commit is contained in:
@@ -78,14 +78,11 @@ export function coreLocalizer() {
|
||||
var _loadPromise;
|
||||
|
||||
localizer.ensureLoaded = () => {
|
||||
|
||||
if (_loadPromise) return _loadPromise;
|
||||
|
||||
let filesToFetch = [
|
||||
// load the list of languages
|
||||
'languages',
|
||||
// load the list of supported locales
|
||||
'locales'
|
||||
'languages', // load the list of languages
|
||||
'locales' // load the list of supported locales
|
||||
];
|
||||
|
||||
const localeDirs = {
|
||||
@@ -95,8 +92,10 @@ export function coreLocalizer() {
|
||||
|
||||
let fileMap = fileFetcher.fileMap();
|
||||
for (let scopeId in localeDirs) {
|
||||
let key = `locales_index_${scopeId}`;
|
||||
fileMap[key] = localeDirs[scopeId] + '/index.min.json';
|
||||
const key = `locales_index_${scopeId}`;
|
||||
if (!fileMap[key]) {
|
||||
fileMap[key] = localeDirs[scopeId] + '/index.min.json';
|
||||
}
|
||||
filesToFetch.push(key);
|
||||
}
|
||||
|
||||
@@ -106,16 +105,12 @@ export function coreLocalizer() {
|
||||
_dataLocales = results[1];
|
||||
|
||||
let indexes = results.slice(2);
|
||||
|
||||
let requestedLocales = (_preferredLocaleCodes || [])
|
||||
// List of locales preferred by the browser in priority order.
|
||||
.concat(utilDetect().browserLocales)
|
||||
// fallback to English since it's the only guaranteed complete language
|
||||
.concat(['en']);
|
||||
.concat(utilDetect().browserLocales) // List of locales preferred by the browser in priority order.
|
||||
.concat(['en']); // fallback to English since it's the only guaranteed complete language
|
||||
|
||||
_localeCodes = localesToUseFrom(requestedLocales);
|
||||
// Run iD in the highest-priority locale; the rest are fallbacks
|
||||
_localeCode = _localeCodes[0];
|
||||
_localeCode = _localeCodes[0]; // Run iD in the highest-priority locale; the rest are fallbacks
|
||||
|
||||
let loadStringsPromises = [];
|
||||
|
||||
@@ -198,7 +193,9 @@ export function coreLocalizer() {
|
||||
|
||||
let fileMap = fileFetcher.fileMap();
|
||||
const key = `locale_${scopeId}_${locale}`;
|
||||
fileMap[key] = `${directory}/${locale}.min.json`;
|
||||
if (!fileMap[key]) {
|
||||
fileMap[key] = `${directory}/${locale}.min.json`;
|
||||
}
|
||||
|
||||
return fileFetcher.get(key)
|
||||
.then(d => {
|
||||
|
||||
@@ -59,7 +59,7 @@ function setNsiSources() {
|
||||
|
||||
let fileMap = fileFetcher.fileMap();
|
||||
for (const k in sources) {
|
||||
fileMap[k] = sources[k];
|
||||
if (!fileMap[k]) fileMap[k] = sources[k];
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user