From e426a425f2a0b8919d3fc16f135d12408ee496d5 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 15 Mar 2019 18:57:56 +0100 Subject: [PATCH 1/3] Automatically commit new translations --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 16fc377..cfe85a0 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "build": "gulp", "transifex-push": "gulp i18next && tx push --source", - "transifex-pull": "tx pull --all --minimum-perc 1 --force", + "transifex-pull": "tx pull --all --minimum-perc 1 --force && (git add locales/*.json && git commit locales/*.json -m 'Update translations' || true)", "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { From 1dffe85eb8609391cf62ee1623699fe1659d40cc Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 15 Mar 2019 18:58:10 +0100 Subject: [PATCH 2/3] Update translations --- locales/pt.json | 171 +++++++++++++++++++++++++++++++++++++++++++++ locales/zh-TW.json | 16 ++--- 2 files changed, 179 insertions(+), 8 deletions(-) create mode 100644 locales/pt.json diff --git a/locales/pt.json b/locales/pt.json new file mode 100644 index 0000000..7a6446c --- /dev/null +++ b/locales/pt.json @@ -0,0 +1,171 @@ +{ + "about": { + "bug-reports": "Relatórios de erros e pedidos de novas funcionalidades:", + "bug-reports-back": "server / backend, routing engine, Android app, profiles, brouter.de site:", + "bug-reports-front": "web client / frontend:", + "contact": "Contacto:", + "data": "Dados:", + "data-description": "This is based on OpenStreetMap. It is usually updated once a week when a new Planet file is available, see dates of data files.", + "description": "Online service of the BRouter routing engine. For the offline Android app and more information see brouter.de.", + "details": "Privacy Policy, \nCredits,\nChangelog and\nmore info on the client.", + "support": "General discussions/questions, support:", + "title": "Sobre" + }, + "credits": { + "brouter": "BRouter", + "brouter-license": "BRouter © Arndt Brenschede", + "cycling-hiking-tiles": "Cycling & Hiking tiles", + "digitalglobe-license": "© DigitalGlobe (Terms of Use)", + "esri-license": "World Imagery © Esri, sources: Esri, DigitalGlobe, Earthstar Geographics, CNES/Airbus DS, GeoEye, USDA FSA, USGS, Getmapping, Aerogrid, IGN, IGP, and the GIS User Community", + "esri-tiles": "Esri World Imagery", + "map-data": "Dados do mapa", + "nominatim": "Search by Nominatim", + "opencyclemap-outdoors-tiles": "OpenCycleMap & Outdoors tiles", + "openstreetmap": "© OpenStreetMap contributors under ODbL", + "opentopomap-license": "© OpenTopoMap under CC-BY-SA SRTM", + "opentopomap-tiles": "OpenTopoMap tiles", + "osm-license": "openstreetmap.org under CC-BY-SA 2.0", + "osm-tiles": "OpenStreetMap tiles", + "osmde-tiles": "OpenStreetMap.de tiles", + "thunderforest-license": "© Thunderforest under CC-BY-SA 2.0", + "waymarked-license": "© Waymarked Trails under CC-BY-SA 3.0 DE" + }, + "footer": { + "ascend": "Ascend (Plain ascend)", + "cost": "Cost (Mean cost factor)", + "distance": "Distance", + "kilometer": "kilometer", + "kilometer-abbrev": "km", + "kilowatthour": "kilowatt hour", + "kilowatthour-abbrev": "kWh", + "meter": "meter", + "meter-abbrev": "m", + "minutes": "minutes", + "minutes-abbrev": "min", + "total-energy": "Total Energy (per 100km)", + "travel-time": "Travel time" + }, + "layers": { + "add-base": "Add base layer", + "add-overlay": "Add overlay", + "customize": "Customize layers", + "placeholder-layer-name": "Custom layer name. (ex: OpenStreetMap)", + "placeholder-layer-url": "Custom layer URL. (ex: https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png)", + "remove-selection": "Remove selection" + }, + "map": { + "attribution-osm-long": "OpenStreetMap contributors", + "attribution-osm-short": "OpenStreetMap", + "clear-route": "Clear route", + "copyright": "Copyright", + "cycling": "Cycling", + "delete-nogo-areas": "  also delete all no-go areas", + "delete-route": "Delete route?", + "draw-route-start": "Draw route (D key)", + "draw-route-stop": "Stop drawing route (ESC key)", + "hiking": "Hiking", + "layer": { + "bing": "Bing Aerial", + "cycle": "OpenCycleMap (Thunderf.)", + "cycling": "Cycling (Waymarked Trails)", + "digitalglobe": "DigitalGlobe Recent Imagery", + "esri": "Esri World Imagery", + "hiking": "Hiking (Waymarked Trails)", + "osm": "OpenStreetMap", + "osmde": "OpenStreetMap.de", + "outdoors": "Outdoors (Thunderforest)", + "strava-segments": "Strava segments", + "topo": "OpenTopoMap" + }, + "loading": "Loading…", + "locate-me": "Show me where I am", + "nogo": { + "cancel": "Cancel drawing no-go area", + "click-drag": "Click and drag to draw circle", + "draw": "Draw no-go area (circle)", + "edit": "Click to edit", + "help": "□ = move / resize, = delete,
click circle to quit editing" + }, + "opacity-slider": "Set transparency of route track and markers", + "privacy": "Privacy", + "strava-biking": "Show Strava biking segments", + "strava-running": "Show Strava running segments", + "zoomInTitle": "Zoom in", + "zoomOutTitle": "Zoom out" + }, + "navbar": { + "about": "About", + "alternative": { + "first": "1st alternative", + "original": "Original", + "second": "2nd alternative", + "third": "3rd alternative" + }, + "download": { + "csv": "data CSV", + "geojson": "GeoJSON", + "gpx": "GPX", + "kml": "KML", + "title": "Download" + }, + "profile": { + "car-eco": "Car (economic)", + "car-fast": "Car (fast)", + "car-test": "Car (test)", + "custom": "Custom", + "fastbike": "Fastbike", + "fastbike-asia-pacific": "Fastbike (Asia Pacific)", + "fastbike-lowtraffic": "Fastbike (low traffic)", + "hiking-beta": "Hiking (beta)", + "moped": "Moped", + "rail": "Rail", + "river": "River", + "safety": "Safety", + "shortest": "Shortest", + "trekking": "Trekking bike", + "trekking-ignore-cr": "Trekking bike (ignore cycle routes)", + "trekking-noferries": "Trekking bike (no ferries)", + "trekking-nosteps": "Trekking bike (no steps)", + "trekking-steep": "Trekking bike (steep)", + "vm-forum-liegerad-schnell": "Recumbent bike (fast)", + "vm-forum-velomobil-schnell": "Velomobile (fast)" + } + }, + "sidebar": { + "custom-profile": { + "title": "Custom profile" + }, + "data": { + "title": "Data" + }, + "itinerary": { + "title": "Itinerary" + }, + "layers": { + "custom-layers": "Custom layers", + "customize": "Add or remove custom layers", + "table": { + "URL": "URL", + "empty": "No custom layer configured yet.", + "name": "Name", + "type": "Type" + }, + "title": "Layers" + }, + "profile": { + "clear": "Clear", + "help": "Help", + "placeholder": "Write your custom profile here.", + "upload": "Upload" + } + }, + "title": "BRouter web client", + "warning": { + "cannot-get-route": "Error getting route URL", + "no-response": "no response from server", + "no-route-found": "Error: cannot find a route for given points. Maybe try to move them closer to roads?", + "profile-error": "Profile error: no or empty response from server", + "temporary-profile": "Note: Uploaded custom profiles are only cached temporarily on the server.
Please save your edits to your local PC.", + "upload-error": "Upload error: {{error}}" + } +} diff --git a/locales/zh-TW.json b/locales/zh-TW.json index bdf40cb..3e31bd1 100644 --- a/locales/zh-TW.json +++ b/locales/zh-TW.json @@ -115,20 +115,20 @@ "custom": "自訂", "fastbike": "機車", "fastbike-asia-pacific": "機車 (亞太)", - "fastbike-lowtraffic": "Fastbike (low traffic)", + "fastbike-lowtraffic": "機車 (低交通流量)", "hiking-beta": "遠足 (Beta測試中)", "moped": "機慢車", "rail": "鐵道", "river": "河道", "safety": "安全", "shortest": "最短", - "trekking": "Trekking bike", - "trekking-ignore-cr": "Trekking bike (ignore cycle routes)", - "trekking-noferries": "Trekking bike (no ferries)", - "trekking-nosteps": "Trekking bike (no steps)", - "trekking-steep": "Trekking bike (steep)", - "vm-forum-liegerad-schnell": "Recumbent bike (fast)", - "vm-forum-velomobil-schnell": "Velomobile (fast)" + "trekking": "登山越野車", + "trekking-ignore-cr": "登山越野車 (忽視自行車道)", + "trekking-noferries": "登山越野車 (不經過渡輪)", + "trekking-nosteps": "登山越野車 (跳過階梯)", + "trekking-steep": "登山越野車 (極限)", + "vm-forum-liegerad-schnell": "臥式自行車 (速度型)", + "vm-forum-velomobil-schnell": "躺車 (速度型)" } }, "sidebar": { From daa8abe810a2b189f319b675cce6f5ddf17a69b2 Mon Sep 17 00:00:00 2001 From: Gautier Pelloux-Prayer Date: Fri, 15 Mar 2019 19:09:51 +0100 Subject: [PATCH 3/3] Display strava error if any --- js/index.js | 3 +++ locales/en.json | 1 + 2 files changed, 4 insertions(+) diff --git a/js/index.js b/js/index.js index 64de3fb..4cc1996 100644 --- a/js/index.js +++ b/js/index.js @@ -253,6 +253,9 @@ }) .addTo(map); layersControl.addOverlay(stravaControl.stravaLayer, i18next.t('map.layer.strava-segments')); + stravaControl.onError = function(err) { + BR.message.showError(i18next.t('warning.strava-error', {error: err && err.message ? err.message : err})); + } } map.addControl(new BR.OpacitySlider({ diff --git a/locales/en.json b/locales/en.json index d900827..bde4cd3 100644 --- a/locales/en.json +++ b/locales/en.json @@ -165,6 +165,7 @@ "no-response": "no response from server", "no-route-found": "Error: cannot find a route for given points. Maybe try to move them closer to roads?", "profile-error": "Profile error: no or empty response from server", + "strava-error": "Error getting Strava segments: {{error}}", "temporary-profile": "Note: Uploaded custom profiles are only cached temporarily on the server.
Please save your edits to your local PC.", "upload-error": "Upload error: {{error}}" }