Don't request locales we don't have; use fallback locales

This commit is contained in:
John Firebaugh
2013-04-22 14:55:30 -07:00
parent 61802674a4
commit e0892eb1b7
5 changed files with 36 additions and 2 deletions
+1
View File
@@ -123,5 +123,6 @@ fs.writeFileSync('data/data.js', 'iD.data = ' + stringify({
},
imperial: r('imperial.json'),
maki: r('maki-sprite.json'),
locales: r('locales.json'),
en: read('dist/locales/en.json')
}) + ';');
+3 -1
View File
@@ -15,6 +15,7 @@ iD.data = {
path + 'data/presets/fields.json',
path + 'data/imperial.json',
path + 'data/maki-sprite.json',
path + 'data/locales.json',
path + 'dist/locales/en.json'
], d3.json, function (err, data) {
@@ -31,7 +32,8 @@ iD.data = {
},
imperial: data[8],
maki: data[9],
en: data[10]
locales: data[10],
en: data[11]
};
callback();
+25
View File
@@ -0,0 +1,25 @@
[
"af",
"bs",
"zh",
"zh_TW",
"cs",
"da",
"nl",
"fr",
"de",
"hu",
"it",
"ja",
"lv",
"pl",
"pt",
"ru",
"sr",
"sk",
"es",
"sv",
"tr",
"uk",
"vi"
]
+1
View File
@@ -56,6 +56,7 @@ function getResource(resource, callback) {
});
fs.writeFileSync('data/locales.json', JSON.stringify(codes, null, 4));
});
}
+6 -1
View File
@@ -38,7 +38,12 @@ window.iD = function () {
context.container(container);
var detectedLocale = iD.detect().locale;
if (detectedLocale !== 'en') {
if (iD.data.locales.indexOf(detectedLocale) === -1) {
detectedLocale = detectedLocale.split('-')[0];
}
if (detectedLocale !== 'en' && iD.data.locales.indexOf(detectedLocale) !== -1) {
d3.json(context.assetPath() + 'locales/' + detectedLocale + '.json', function(err, result) {
locale[detectedLocale] = result;
locale.current(detectedLocale);