Improved www.ttss.krakow.pl
Jacek Kowalski
2019-04-10 76f5c4d36a5b21663ead52349ad944d18f55e6d6
Use mapping for transations of feature type
6 files modified
115 ■■■■■ changed files
index.html 4 ●●●● patch | view | raw | blame | history
index.js 2 ●●● patch | view | raw | blame | history
lang_en.js 28 ●●●●● patch | view | raw | blame | history
lang_pl.js 30 ●●●● patch | view | raw | blame | history
map.html 4 ●●●● patch | view | raw | blame | history
map.js 47 ●●●● patch | view | raw | blame | history
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>
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);
        }
        
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).',
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).',
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>
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';