Skip to content

Commit 6a75184

Browse files
committed
Default to english translation
If no translation is found in the current language, default to english or key instead of displaying "undefined" or no message at all.
1 parent 20336a4 commit 6a75184

File tree

2 files changed

+27
-12
lines changed

2 files changed

+27
-12
lines changed

src/index.js

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,15 +15,15 @@ require('./polyfill');
1515

1616
var parsedOptions = links.parse(window.location.search.slice(1));
1717
var mergedOptions = L.extend(leafletOptions.defaultState, parsedOptions);
18-
var local = localization.get(mergedOptions.language);
18+
var language = mergedOptions.language;
1919

2020
// load only after language was chosen
2121
var ItineraryBuilder = require('./itinerary_builder')(mergedOptions.language);
2222

2323
var mapLayer = leafletOptions.layer;
2424
var overlay = leafletOptions.overlay;
2525
var baselayer = ls.get('layer') ? mapLayer[0][ls.get('layer')] : leafletOptions.defaultState.layer;
26-
var layers = ls.get('getOverlay') && [baselayer, overlay['Small Components']] || baselayer;
26+
var layers = ls.get('getOverlay') && [baselayer, overlay['hiking']] || baselayer;
2727
var map = L.map('map', {
2828
zoomControl: true,
2929
dragging: true,
@@ -115,8 +115,8 @@ var plan = new ReversablePlan([], {
115115
dragStyles: options.lrm.dragStyles,
116116
geocodersClassName: options.lrm.geocodersClassName,
117117
geocoderPlaceholder: function(i, n) {
118-
var startend = [local['Start - press enter to drop marker'], local['End - press enter to drop marker']];
119-
var via = [local['Via point - press enter to drop marker']];
118+
var startend = [localization.t(language, 'Start - press enter to drop marker'), localization.t(language, 'End - press enter to drop marker')];
119+
var via = [localization.t(language, 'Via point - press enter to drop marker')];
120120
if (i === 0) {
121121
return startend[0];
122122
}
@@ -142,11 +142,19 @@ var controlOptions = {
142142
showAlternatives: options.lrm.showAlternatives,
143143
units: mergedOptions.units,
144144
serviceUrl: leafletOptions.services[0].path,
145+
useHints: false,
146+
services: leafletOptions.services,
145147
useZoomParameter: options.lrm.useZoomParameter,
146148
routeDragInterval: options.lrm.routeDragInterval,
147149
collapsible: options.lrm.collapsible,
148150
itineraryBuilder: new ItineraryBuilder(),
149151
};
152+
// translate profile names
153+
for (var profile = 0, len = controlOptions.services.length; profile < len; profile++)
154+
{
155+
controlOptions.services[profile].label = localization.t(language, controlOptions.services[profile].label) || controlOptions.services[profile].label;
156+
}
157+
150158
var router = (new L.Routing.OSRMv1(controlOptions));
151159
router._convertRouteOriginal = router._convertRoute;
152160
router._convertRoute = function(responseRoute) {

src/localization.js

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -12,19 +12,26 @@ var language_mapping = {
1212
hu: require('../i18n/hu'),
1313
vi: require('../i18n/vi'),
1414
'pt-BR': require('../i18n/pt-BR'),
15-
'zh-Hans': require('../i18n/zh-Hans')
1615
};
1716

1817
module.exports = {
19-
getLanguages: function() {
18+
getLanguages: function () {
2019
var languages = {};
21-
for (var key in language_mapping)
22-
{
23-
languages[key] = language_mapping[key].name;
20+
for (var key in language_mapping) {
21+
languages[key] = language_mapping[key].name;
2422
}
2523
return languages;
2624
},
27-
get: function(language) {
28-
return language_mapping[language];
29-
}
25+
get: function (language) {
26+
return language_mapping[language];
27+
},
28+
t: function (language, key) {
29+
if (language_mapping[language] && language_mapping[language][key]) {
30+
return language_mapping[language][key];
31+
} else if (language_mapping['en'] && language_mapping['en'][key]) {
32+
return language_mapping['en'][key];
33+
} else {
34+
return key;
35+
}
36+
}
3037
};

0 commit comments

Comments
 (0)