From 76f5c4d36a5b21663ead52349ad944d18f55e6d6 Mon Sep 17 00:00:00 2001
From: Jacek Kowalski <Jacek@jacekk.info>
Date: Sat, 13 Apr 2019 23:06:22 +0000
Subject: [PATCH] Use mapping for transations of feature type
---
index.js | 2
map.js | 47 +++++------------------
lang_en.js | 28 ++++++++------
index.html | 4 +-
map.html | 4 +-
lang_pl.js | 30 ++++++++-------
6 files changed, 47 insertions(+), 68 deletions(-)
diff --git a/index.html b/index.html
index 7eda651..4b404ec 100644
--- a/index.html
+++ b/index.html
@@ -134,8 +134,8 @@
</div>
</div>
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT" crossorigin="anonymous"></script>
- <script type="text/javascript" src="lang_pl.js?v4" id="lang_script"></script>
+ <script type="text/javascript" src="lang_pl.js?v7" id="lang_script"></script>
<script type="text/javascript" src="common.js?v7"></script>
- <script type="text/javascript" src="index.js?v4"></script>
+ <script type="text/javascript" src="index.js?v5"></script>
</body>
</html>
diff --git a/index.js b/index.js
index c5e50ad..3000b78 100644
--- a/index.js
+++ b/index.js
@@ -369,7 +369,7 @@
for(var i = 0, il = data.length; i < il; i++) {
var opt = document.createElement('option');
opt.value = data[i].id;
- setText(opt, data[i].id.substr(0,1) == 'b' ? lang.select_stop_bus.replace('$stop', data[i].name) : lang.select_stop_tram.replace('$stop', data[i].name));
+ setText(opt, lang.select_stop_type[data[i].id.substr(0,1)].replace('$stop', data[i].name));
stop_name_autocomplete.appendChild(opt);
}
diff --git a/lang_en.js b/lang_en.js
index 0b767ca..3ced546 100644
--- a/lang_en.js
+++ b/lang_en.js
@@ -12,8 +12,10 @@
jquery_not_loaded: 'Required JavaScript jQuery library failed to load. You may try refreshing the page.',
enter_stop_name_to_begin: 'Enter the stop name to begin.',
select_stop_click_go: 'Select the stop and click "Go".',
- select_stop_tram: '$stop (tram)',
- select_stop_bus: '$stop (bus)',
+ select_stop_type: {
+ 'b': '$stop (bus)',
+ 't': '$stop (tram)',
+ },
stop_name_placeholder: 'Stop name',
go_button: 'Go',
refresh_button: '\u27f3 Refresh',
@@ -45,16 +47,18 @@
time_minutes_ago_prefix: '',
time_minutes_ago_suffix: ' min ago',
- type_vehicle: 'Vehicle',
- type_bus: 'Bus',
- type_tram: 'Tram',
- type_stop: 'Stop',
- type_stop_bus: 'Bus stop',
- type_stop_tram: 'Tram stop',
- type_stoppoint: 'Stop point',
- type_stoppoint_bus: 'Bus stop point',
- type_stoppoint_tram: 'Tram stop point',
- type_location: 'Your location',
+ types: {
+ v: 'Vehicle',
+ b: 'Bus',
+ t: 'Tram',
+ s: 'Stop',
+ sb: 'Bus stop',
+ st: 'Tram stop',
+ p: 'Stop point',
+ pb: 'Bus stop point',
+ pt: 'Tram stop point',
+ l: 'Your location',
+ },
select_feature: 'There is more than one feature here. Select the proper one:',
departures_for_stop: 'Click for stop departures (and not only this stop point).',
diff --git a/lang_pl.js b/lang_pl.js
index 0212619..069f80d 100644
--- a/lang_pl.js
+++ b/lang_pl.js
@@ -12,8 +12,10 @@
jquery_not_loaded: 'Wymagana biblioteka jQuery nie została poprawnie załadowana. Spróbuj odświeżyć stronę.',
enter_stop_name_to_begin: 'Zacznij wpisywać nazwę przystanku.',
select_stop_click_go: 'Wyierz przystanek i kliknij "Dalej".',
- select_stop_tram: '$stop (tramwaj)',
- select_stop_bus: '$stop (autobus)',
+ select_stop_type: {
+ 'b': '$stop (autobus)',
+ 't': '$stop (tramwaj)',
+ },
stop_name_placeholder: 'Nazwa przystanku',
go_button: 'Dalej',
refresh_button: '\u27f3 Odśwież',
@@ -25,8 +27,6 @@
header_line: 'Linia',
header_direction: 'Kierunek',
header_vehicle: 'Pojazd',
- header_bus: 'Autobus',
- header_tram: 'Tramwaj',
header_time: 'Odjazd',
header_delay: 'Opóźn.',
header_lines: 'Linie',
@@ -47,16 +47,18 @@
time_minutes_ago_prefix: '',
time_minutes_ago_suffix: ' min temu',
- type_vehicle: 'Pojazd',
- type_bus: 'Autobus',
- type_tram: 'Tramwaj',
- type_stop: 'Przystanek',
- type_stop_bus: 'Przystanek autobusowy',
- type_stop_tram: 'Przystanek tramwajowy',
- type_stoppoint: 'Peron',
- type_stoppoint_bus: 'Peron autobusowy',
- type_stoppoint_tram: 'Peron tramwajowy',
- type_location: 'Twoja lokalizacja',
+ types: {
+ 'v': 'Pojazd',
+ 'b': 'Autobus',
+ 't': 'Tramwaj',
+ 's': 'Przystanek',
+ 'sb': 'Przystanek autobusowy',
+ 'st': 'Przystanek tramwajowy',
+ 'p': 'Peron',
+ 'pb': 'Peron autobusowy',
+ 'pt': 'Peron tramwajowy',
+ 'l': 'Twoja lokalizacja',
+ },
select_feature: 'W tym miejscu znajduje się więcej niż jeden element. Wybierz właściwy z listy:',
departures_for_stop: 'Kliknij, by zobaczyć odjazdy dla całego przystanku (a nie tylko peronu).',
diff --git a/map.html b/map.html
index b75bf55..ff339ed 100644
--- a/map.html
+++ b/map.html
@@ -24,8 +24,8 @@
<script src="https://code.jquery.com/jquery-3.3.1.min.js" integrity="sha384-tsQFqpEReu7ZLhBV2VZlAu7zcOV+rXbYlF2cqB8txI/8aZajjp4Bqd+V6D5IgvKT" crossorigin="anonymous"></script>
<script src="https://cdn.polyfill.io/v2/polyfill.min.js?features=requestAnimationFrame,Element.prototype.classList"></script>
<script src="https://cdn.jsdelivr.net/gh/openlayers/openlayers.github.io@master/en/v5.3.0/build/ol.js" integrity="sha384-iQkGyyH4ioz3m+maM3s9MX1Oq67mACa4B9Z3ovUv3Sv37LJ96fx3WnZfLoiC3Wfl" crossorigin="anonymous"></script>
-<script tyle="text/javascript" src="lang_pl.js?v6" id="lang_script"></script>
+<script tyle="text/javascript" src="lang_pl.js?v7" id="lang_script"></script>
<script tyle="text/javascript" src="common.js?v7"></script>
-<script tyle="text/javascript" src="map.js?v18"></script>
+<script tyle="text/javascript" src="map.js?v19"></script>
</body>
</html>
diff --git a/map.js b/map.js
index a92594a..1496bb5 100644
--- a/map.js
+++ b/map.js
@@ -504,19 +504,20 @@
var tabular_data = true;
var type = feature.getId().substr(0, 1);
+ var full_type = feature.getId().match(/^[a-z]+/)[0];
+ var typeName = lang.types[full_type];
+ if(typeof typeName === 'undefined') {
+ typeName = '';
+ }
+
// Location
if(type == 'l') {
tabular_data = false;
+ name = typeName;
typeName = '';
- name = lang.type_location;
}
// Vehicle
else if(ttss_types.indexOf(type) >= 0) {
- typeName = lang.type_bus;
- if(type == 't') {
- typeName = lang.type_tram;
- }
-
var span = displayVehicle(feature.get('vehicle_type'));
additional = document.createElement('p');
@@ -539,12 +540,10 @@
else if(['s', 'p'].indexOf(type) >= 0) {
var ttss_type = feature.getId().substr(1, 1);
if(type == 's') {
- typeName = lang.type_stop_tram;
var second_type = lang.departures_for_buses;
var mapping = stops_mapping['sb'];
if(ttss_type == 'b') {
- typeName = lang.type_stop_bus;
second_type = lang.departures_for_trams;
mapping = stops_mapping['st'];
}
@@ -562,11 +561,6 @@
);
}
} else {
- typeName = lang.type_stoppoint_tram;
-
- if(ttss_type == 'b') {
- typeName = lang.type_stoppoint_bus;
- }
stopTable('stopPoint', feature.get('stopPoint'), tbody, ttss_type);
@@ -656,31 +650,10 @@
featureClicked(feature);
}}(feature));
- var type = feature.getId().substr(0, 1);
- var typeName = '';
- if(type == 'l') {
+ var full_type = feature.getId().match(/^[a-z]+/)[0];
+ var typeName = lang.types[full_type];
+ if(typeof typeName === 'undefined') {
typeName = '';
- name = lang.type_location;
- } else if(ttss_types.indexOf(type) >= 0) {
- typeName = lang.type_bus;
- if(type == 't') {
- typeName = lang.type_tram;
- }
- if(feature.get('vehicle_type').num) {
- typeName += ' ' + feature.get('vehicle_type').num;
- }
- } else if(type == 's') {
- typeName = lang.type_stop_tram;
- if(feature.getId().startsWith('sb')) {
- typeName = lang.type_stop_bus;
- }
- } else if (type == 'p') {
- typeName = lang.type_stoppoint_tram;
- if(feature.getId().startsWith('pb')) {
- typeName = lang.type_stoppoint_bus;
- }
- } else {
- continue;
}
addElementWithText(a, 'span', typeName).className = 'small';
--
Gitblit v1.9.1