From eb7c56d310c524cf869c8a5ab4c8cceefd4385e6 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 1 Nov 2016 21:43:26 -0400 Subject: [PATCH 001/119] Add vertex keyboard navigation (closes #1917) --- modules/modes/select.js | 149 +++++++++++++++++++++++++++++++++++++++- 1 file changed, 148 insertions(+), 1 deletion(-) diff --git a/modules/modes/select.js b/modules/modes/select.js index 064f197df..55cff105e 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -32,6 +32,9 @@ import { uiRadialMenu, uiSelectionList } from '../ui/index'; import { utilEntityOrMemberSelector } from '../util/index'; +var selectedLastParent; + + export function modeSelect(context, selectedIDs) { var mode = { id: 'select', @@ -52,7 +55,9 @@ export function modeSelect(context, selectedIDs) { inspector, radialMenu, newFeature = false, - suppressMenu = false; + suppressMenu = false, + follow = false; + var wrap = context.container() .select('.inspector-wrap'); @@ -65,6 +70,53 @@ export function modeSelect(context, selectedIDs) { } + // find the common parent ways for nextNode, previousNode + function commonParents() { + var graph = context.graph(), + commonParents = []; + + for (var i = 0; i < selectedIDs.length; i++) { + var entity = context.hasEntity(selectedIDs[i]); + if (!entity || entity.geometry(graph) !== 'vertex') { + return []; // selection includes some not vertexes + } + + var currParents = _.map(graph.parentWays(entity), 'id'); + if (!commonParents.length) { + commonParents = currParents; + continue; + } + + commonParents = _.intersection(commonParents, currParents); + if (!commonParents.length) { + return []; + } + } + + return commonParents; + } + + + function singularParent() { + var parents = commonParents(); + if (!parents) return; + + // selectedLastParent is used when we visit a vertex with multiple + // parents, and we want to remember which parent line we started on. + + if (parents.length === 1) { + selectedLastParent = parents[0]; // remember this parent for later + return selectedLastParent; + } + + if (parents.indexOf(selectedLastParent) !== -1) { + return selectedLastParent; // prefer the previously seen parent + } + + return parents[0]; + } + + function closeMenu() { if (radialMenu) { context.surface().call(radialMenu.close); @@ -139,6 +191,13 @@ export function modeSelect(context, selectedIDs) { }; + mode.follow = function(_) { + if (!arguments.length) return follow; + follow = _; + return mode; + }; + + mode.enter = function() { function update() { @@ -200,6 +259,78 @@ export function modeSelect(context, selectedIDs) { } + function firstNode() { + d3.event.preventDefault(); + var parent = singularParent(); + if (parent) { + var way = context.entity(parent); + context.enter( + modeSelect(context, [way.first()]).follow(true) + ); + } + } + + + function lastNode() { + d3.event.preventDefault(); + var parent = singularParent(); + if (parent) { + var way = context.entity(parent); + context.enter( + modeSelect(context, [way.last()]).follow(true) + ); + } + } + + + function previousNode() { + d3.event.preventDefault(); + var parent = singularParent(); + if (!parent) return; + + var way = context.entity(parent), + length = way.nodes.length, + curr = way.nodes.indexOf(selectedIDs[0]), + index = -1; + + if (curr > 0) { + index = curr - 1; + } else if (way.isClosed()) { + index = length - 2; + } + + if (index !== -1) { + context.enter( + modeSelect(context, [way.nodes[index]]).follow(true) + ); + } + } + + + function nextNode() { + d3.event.preventDefault(); + var parent = singularParent(); + if (!parent) return; + + var way = context.entity(parent), + length = way.nodes.length, + curr = way.nodes.indexOf(selectedIDs[0]), + index = -1; + + if (curr < length - 1) { + index = curr + 1; + } else if (way.isClosed()) { + index = 0; + } + + if (index !== -1) { + context.enter( + modeSelect(context, [way.nodes[index]]).follow(true) + ); + } + } + + behaviors.forEach(function(behavior) { context.install(behavior); }); @@ -211,6 +342,10 @@ export function modeSelect(context, selectedIDs) { operations.unshift(Operations.operationDelete(selectedIDs, context)); keybinding + .on('[', previousNode) + .on(']', nextNode) + .on('⌘[', firstNode) + .on('⌘]', lastNode) .on('⎋', esc, true) .on('space', toggleMenu); @@ -248,6 +383,18 @@ export function modeSelect(context, selectedIDs) { positionMenu(); } + if (follow) { + var extent = geoExtent(), + graph = context.graph(); + selectedIDs.forEach(function(id) { + var entity = context.entity(id); + extent._extend(entity.extent(graph)); + }); + + var loc = extent.center(); + context.map().centerEase(loc); + } + timeout = window.setTimeout(function() { if (show) { showMenu(); From 2273a6ed43626e65cfa5908557da24827f5cef59 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 4 Nov 2016 09:41:44 -0400 Subject: [PATCH 002/119] Allow multiple key bindings to be specified in an array --- modules/lib/d3.keybinding.js | 49 +++++++++++++++++++--------------- test/spec/lib/d3.keybinding.js | 10 +++++++ 2 files changed, 37 insertions(+), 22 deletions(-) diff --git a/modules/lib/d3.keybinding.js b/modules/lib/d3.keybinding.js index c152f6d97..cc98ab242 100644 --- a/modules/lib/d3.keybinding.js +++ b/modules/lib/d3.keybinding.js @@ -58,33 +58,37 @@ export function d3keybinding(namespace) { return keybinding; }; - keybinding.on = function(code, callback, capture) { - var binding = { - event: { - keyCode: 0, - shiftKey: false, - ctrlKey: false, - altKey: false, - metaKey: false - }, - capture: capture, - callback: callback - }; + keybinding.on = function(codes, callback, capture) { + var arr = [].concat(codes); + for (var i = 0; i < arr.length; i++) { + var code = arr[i]; + var binding = { + event: { + keyCode: 0, + shiftKey: false, + ctrlKey: false, + altKey: false, + metaKey: false + }, + capture: capture, + callback: callback + }; - code = code.toLowerCase().match(/(?:(?:[^+⇧⌃⌥⌘])+|[⇧⌃⌥⌘]|\+\+|^\+$)/g); + code = code.toLowerCase().match(/(?:(?:[^+⇧⌃⌥⌘])+|[⇧⌃⌥⌘]|\+\+|^\+$)/g); - for (var i = 0; i < code.length; i++) { - // Normalise matching errors - if (code[i] === '++') code[i] = '+'; + for (var j = 0; j < code.length; j++) { + // Normalise matching errors + if (code[j] === '++') code[i] = '+'; - if (code[i] in d3keybinding.modifierCodes) { - binding.event[d3keybinding.modifierProperties[d3keybinding.modifierCodes[code[i]]]] = true; - } else if (code[i] in d3keybinding.keyCodes) { - binding.event.keyCode = d3keybinding.keyCodes[code[i]]; + if (code[j] in d3keybinding.modifierCodes) { + binding.event[d3keybinding.modifierProperties[d3keybinding.modifierCodes[code[j]]]] = true; + } else if (code[j] in d3keybinding.keyCodes) { + binding.event.keyCode = d3keybinding.keyCodes[code[j]]; + } } - } - bindings.push(binding); + bindings.push(binding); + } return keybinding; }; @@ -92,6 +96,7 @@ export function d3keybinding(namespace) { return keybinding; } + d3keybinding.modifierCodes = { // Shift key, ⇧ '⇧': 16, shift: 16, diff --git a/test/spec/lib/d3.keybinding.js b/test/spec/lib/d3.keybinding.js index 79a43a225..62f45118b 100644 --- a/test/spec/lib/d3.keybinding.js +++ b/test/spec/lib/d3.keybinding.js @@ -38,6 +38,16 @@ describe('d3.keybinding', function() { expect(spy).to.have.been.calledOnce; }); + it('adds multiple bindings given an array of keys', function () { + d3.select(document).call(keybinding.on(['A','B'], spy)); + + happen.keydown(document, {keyCode: 65}); + expect(spy).to.have.been.calledOnce; + + happen.keydown(document, {keyCode: 66}); + expect(spy).to.have.been.calledTwice; + }); + it('does not dispatch when focus is in input elements by default', function () { d3.select(document).call(keybinding.on('A', spy)); From d1c7b5c8a24a2e841eac2b86ce3eabf646c6b05e Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 4 Nov 2016 09:49:26 -0400 Subject: [PATCH 003/119] Add alternate vertex navigation keys pgup/pdgown/home/end --- modules/modes/select.js | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/modules/modes/select.js b/modules/modes/select.js index 55cff105e..70149a958 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -342,10 +342,10 @@ export function modeSelect(context, selectedIDs) { operations.unshift(Operations.operationDelete(selectedIDs, context)); keybinding - .on('[', previousNode) - .on(']', nextNode) - .on('⌘[', firstNode) - .on('⌘]', lastNode) + .on(['[','pgup'], previousNode) + .on([']', 'pgdown'], nextNode) + .on(['⌘[', 'home'], firstNode) + .on(['⌘]', 'end'], lastNode) .on('⎋', esc, true) .on('space', toggleMenu); From 3224130821cdd36222aa9ed5157062b55b24baf8 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 4 Nov 2016 10:17:30 -0400 Subject: [PATCH 004/119] Add uiCmd to fix modifier, add keybind arrays to simplify code --- modules/modes/select.js | 5 +++-- modules/ui/init.js | 12 ++++-------- modules/ui/zoom.js | 12 ++++-------- 3 files changed, 11 insertions(+), 18 deletions(-) diff --git a/modules/modes/select.js b/modules/modes/select.js index 70149a958..94eacaeec 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -29,6 +29,7 @@ import { modeBrowse } from './browse'; import { modeDragNode } from './drag_node'; import * as Operations from '../operations/index'; import { uiRadialMenu, uiSelectionList } from '../ui/index'; +import { uiCmd } from '../ui/cmd'; import { utilEntityOrMemberSelector } from '../util/index'; @@ -344,8 +345,8 @@ export function modeSelect(context, selectedIDs) { keybinding .on(['[','pgup'], previousNode) .on([']', 'pgdown'], nextNode) - .on(['⌘[', 'home'], firstNode) - .on(['⌘]', 'end'], lastNode) + .on([uiCmd('⌘['), 'home'], firstNode) + .on([uiCmd('⌘]'), 'end'], lastNode) .on('⎋', esc, true) .on('space', toggleMenu); diff --git a/modules/ui/init.js b/modules/ui/init.js index 801e0c461..4f9d682ac 100644 --- a/modules/ui/init.js +++ b/modules/ui/init.js @@ -256,14 +256,10 @@ export function uiInit(context) { .on('↑', pan([0, pa])) .on('→', pan([-pa, 0])) .on('↓', pan([0, -pa])) - .on('⇧←', pan([mapDimensions[0], 0])) - .on('⇧↑', pan([0, mapDimensions[1]])) - .on('⇧→', pan([-mapDimensions[0], 0])) - .on('⇧↓', pan([0, -mapDimensions[1]])) - .on(uiCmd('⌘←'), pan([mapDimensions[0], 0])) - .on(uiCmd('⌘↑'), pan([0, mapDimensions[1]])) - .on(uiCmd('⌘→'), pan([-mapDimensions[0], 0])) - .on(uiCmd('⌘↓'), pan([0, -mapDimensions[1]])); + .on(['⇧←', uiCmd('⌘←')], pan([mapDimensions[0], 0])) + .on(['⇧↑', uiCmd('⌘↑')], pan([0, mapDimensions[1]])) + .on(['⇧→', uiCmd('⌘→')], pan([-mapDimensions[0], 0])) + .on(['⇧↓', uiCmd('⌘↓')], pan([0, -mapDimensions[1]])); d3.select(document) .call(keybinding); diff --git a/modules/ui/zoom.js b/modules/ui/zoom.js index ae0527693..685671d93 100644 --- a/modules/ui/zoom.js +++ b/modules/ui/zoom.js @@ -72,16 +72,12 @@ export function uiZoom(context) { var keybinding = d3keybinding('zoom'); _.each(['=','ffequals','plus','ffplus'], function(key) { - keybinding.on(key, zoomIn); - keybinding.on('⇧' + key, zoomIn); - keybinding.on(uiCmd('⌘' + key), zoomInFurther); - keybinding.on(uiCmd('⌘⇧' + key), zoomInFurther); + keybinding.on([key, '⇧' + key], zoomIn); + keybinding.on([uiCmd('⌘' + key), uiCmd('⌘⇧' + key)], zoomInFurther); }); _.each(['-','ffminus','_','dash'], function(key) { - keybinding.on(key, zoomOut); - keybinding.on('⇧' + key, zoomOut); - keybinding.on(uiCmd('⌘' + key), zoomOutFurther); - keybinding.on(uiCmd('⌘⇧' + key), zoomOutFurther); + keybinding.on([key, '⇧' + key], zoomOut); + keybinding.on([uiCmd('⌘' + key), uiCmd('⌘⇧' + key)], zoomOutFurther); }); d3.select(document) From b52306b62f52be16a78424818b35262e7f39b976 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sat, 5 Nov 2016 10:25:41 -0400 Subject: [PATCH 005/119] Add Guest Apartment / Condo preset (closes #3548) --- CHANGELOG.md | 1 + data/presets.yaml | 4 ++++ data/presets/presets.json | 20 ++++++++++++++++++++ data/presets/presets/tourism/apartment.json | 20 ++++++++++++++++++++ data/taginfo.json | 4 ++++ dist/locales/en.json | 4 ++++ 6 files changed, 53 insertions(+) create mode 100644 data/presets/presets/tourism/apartment.json diff --git a/CHANGELOG.md b/CHANGELOG.md index 884b4119a..ff7cd8d8c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ * iD requires Node v4 or higher, but does not require `make` anymore * Update install instructions and prerequisites (#3466, thanks @tyrasd) * Many preset improvements: + * Add Guest Apartment / Condo preset (#3548) * Add Waste Transfer preset (#3387) * Add Billboard preset (#3386) * Improve traffic calming presets (#3218) diff --git a/data/presets.yaml b/data/presets.yaml index 1a6ae5bd2..2f334eead 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -3815,6 +3815,10 @@ en: # tourism=alpine_hut name: Alpine Hut terms: '' + tourism/apartment: + # tourism=apartment + name: Guest Apartment / Condo + terms: '' tourism/artwork: # tourism=artwork name: Artwork diff --git a/data/presets/presets.json b/data/presets/presets.json index 154a123b5..71e01def0 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -10629,6 +10629,26 @@ }, "name": "Alpine Hut" }, + "tourism/apartment": { + "icon": "lodging", + "fields": [ + "operator", + "address", + "building_area", + "smoking", + "rooms", + "internet_access", + "internet_access/fee" + ], + "geometry": [ + "point", + "area" + ], + "tags": { + "tourism": "apartment" + }, + "name": "Guest Apartment / Condo" + }, "tourism/artwork": { "icon": "art-gallery", "fields": [ diff --git a/data/presets/presets/tourism/apartment.json b/data/presets/presets/tourism/apartment.json new file mode 100644 index 000000000..7ff3b1571 --- /dev/null +++ b/data/presets/presets/tourism/apartment.json @@ -0,0 +1,20 @@ +{ + "icon": "lodging", + "fields": [ + "operator", + "address", + "building_area", + "smoking", + "rooms", + "internet_access", + "internet_access/fee" + ], + "geometry": [ + "point", + "area" + ], + "tags": { + "tourism": "apartment" + }, + "name": "Guest Apartment / Condo" +} diff --git a/data/taginfo.json b/data/taginfo.json index 0af97dfa4..469eab573 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -2421,6 +2421,10 @@ "key": "tourism", "value": "alpine_hut" }, + { + "key": "tourism", + "value": "apartment" + }, { "key": "tourism", "value": "artwork" diff --git a/dist/locales/en.json b/dist/locales/en.json index bdd861383..2d2b98b35 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -4053,6 +4053,10 @@ "name": "Alpine Hut", "terms": "" }, + "tourism/apartment": { + "name": "Guest Apartment / Condo", + "terms": "" + }, "tourism/artwork": { "name": "Artwork", "terms": "mural,sculpture,statue" From 2e88bc121cf8c563dbacc0e30f2ded082748099e Mon Sep 17 00:00:00 2001 From: Thue Janus Kristensen Date: Sat, 5 Nov 2016 22:45:06 +0100 Subject: [PATCH 006/119] Custom color for farmyards. --- css/map.css | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/css/map.css b/css/map.css index 250f23aed..77a258d0f 100644 --- a/css/map.css +++ b/css/map.css @@ -408,6 +408,18 @@ path.stroke.tag-landuse-farmland { background-color: rgba(140, 208, 95, 0.2); } +path.stroke.tag-landuse-farmyard { + stroke: rgb(245, 220, 186); +} +path.fill.tag-landuse-farmyard { + stroke: rgba(245, 220, 186, 0.3); + fill: rgba(245, 220, 186, 0.3); +} +.preset-icon-fill-area.tag-landuse-farmyard { + border-color: rgb(245, 220, 186); + background: rgba(245, 220, 186, 0.3); +} + .pattern-color-cemetery, .pattern-color-orchard { fill: rgba(140, 208, 95, 0.2); From cb6801c2b6407a87eb4ee732361a055a7e41bdf9 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sat, 5 Nov 2016 23:44:15 -0400 Subject: [PATCH 007/119] Address field improvements and bugfixes (closes #3553) * eliminate duplicate values in suggestions * set minItems(1) on all combo boxes * setup dropdowns for all common address fields --- modules/ui/fields/address.js | 69 ++++++++++++++++++++---------------- 1 file changed, 39 insertions(+), 30 deletions(-) diff --git a/modules/ui/fields/address.js b/modules/ui/fields/address.js index 0b4c90e1c..76f6fcd3d 100644 --- a/modules/ui/fields/address.js +++ b/modules/ui/fields/address.js @@ -30,12 +30,12 @@ export function uiFieldAddress(field, context) { }; - function getStreets() { + function getNearStreets() { var extent = entity.extent(context.graph()), l = extent.center(), box = geoExtent(l).padByMeters(200); - return context.intersects(box) + var streets = context.intersects(box) .filter(isAddressable) .map(function(d) { var loc = context.projection([ @@ -47,22 +47,25 @@ export function uiFieldAddress(field, context) { value: d.tags.name, dist: choice.distance }; - }).sort(function(a, b) { + }) + .sort(function(a, b) { return a.dist - b.dist; }); + return _.uniqBy(streets, 'value'); + function isAddressable(d) { return d.tags.highway && d.tags.name && d.type === 'way'; } } - function getCities() { + function getNearCities() { var extent = entity.extent(context.graph()), l = extent.center(), box = geoExtent(l).padByMeters(200); - return context.intersects(box) + var cities = context.intersects(box) .filter(isAddressable) .map(function(d) { return { @@ -70,10 +73,14 @@ export function uiFieldAddress(field, context) { value: d.tags['addr:city'] || d.tags.name, dist: geoSphericalDistance(d.extent(context.graph()).center(), l) }; - }).sort(function(a, b) { + }) + .sort(function(a, b) { return a.dist - b.dist; }); + return _.uniqBy(cities, 'value'); + + function isAddressable(d) { if (d.tags.name && (d.tags.admin_level === '8' || d.tags.border_type === 'city')) @@ -92,26 +99,27 @@ export function uiFieldAddress(field, context) { } - function getPostCodes() { + function getNearValues(key) { var extent = entity.extent(context.graph()), l = extent.center(), box = geoExtent(l).padByMeters(200); - return context.intersects(box) - .filter(isAddressable) + var results = context.intersects(box) + .filter(function hasTag(d) { + return d.tags[key]; + }) .map(function(d) { return { - title: d.tags['addr:postcode'], - value: d.tags['addr:postcode'], + title: d.tags[key], + value: d.tags[key], dist: geoSphericalDistance(d.extent(context.graph()).center(), l) }; - }).sort(function(a, b) { + }) + .sort(function(a, b) { return a.dist - b.dist; }); - function isAddressable(d) { - return d.tags['addr:postcode']; - } + return _.uniqBy(results, 'value'); } @@ -151,23 +159,24 @@ export function uiFieldAddress(field, context) { .style('width', function (d) { return d.width * 100 + '%'; }); // Update - wrap.selectAll('.addr-street') - .call(d3combobox() - .fetcher(function(value, callback) { - callback(getStreets()); - })); + // setup dropdowns for common address tags + var addrTags = [ + 'street', 'city', 'state', 'province', 'district', + 'subdistrict', 'suburb', 'place', 'postcode' + ]; - wrap.selectAll('.addr-city') - .call(d3combobox() - .fetcher(function(value, callback) { - callback(getCities()); - })); + addrTags.forEach(function(tag) { + var nearValues = (tag === 'street') ? getNearStreets + : (tag === 'city') ? getNearCities + : getNearValues; - wrap.selectAll('.addr-postcode') - .call(d3combobox() - .fetcher(function(value, callback) { - callback(getPostCodes()); - })); + wrap.selectAll('.addr-' + tag) + .call(d3combobox() + .minItems(1) + .fetcher(function(value, callback) { + callback(nearValues('addr:' + tag)); + })); + }); wrap.selectAll('input') .on('blur', change()) From 6376bd8ed7285025b0a4d1b411818097669f53ca Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sat, 5 Nov 2016 23:54:37 -0400 Subject: [PATCH 008/119] Update CHANGELOG --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index ff7cd8d8c..fe973cf9b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ * iD requires Node v4 or higher, but does not require `make` anymore * Update install instructions and prerequisites (#3466, thanks @tyrasd) * Many preset improvements: + * Improve styling of Farmyards (#3556, thanks @Thue) * Add Guest Apartment / Condo preset (#3548) * Add Waste Transfer preset (#3387) * Add Billboard preset (#3386) @@ -46,6 +47,7 @@ * Add Ice Cream Shop preset (#3253, thanks @ankit-m) * Add Taiwan address format to Address field (#3261, thanks @david082321) * New Features: + * Address field improvements - eliminate duplicates, more dropdowns for address fields (#3553) * OSM API calls are now authenticated for logged in users (helps with (#3519, #2262) * When reversing a way, reverse tags on its child nodes (#3076, thanks @Psigio) * Support Right to Left interface for some languages 'ar', 'fa', 'iw', 'dv' (#3007, #3087, thanks @mapmeld) From 08d81c3af1bb13a6611e0048df74e72b8cf9b4f1 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 6 Nov 2016 00:33:51 -0400 Subject: [PATCH 009/119] Adjust presets order in highway and path categories (closes #3558) --- data/presets/categories.json | 10 +++++----- data/presets/categories/path.json | 6 +++--- data/presets/categories/road.json | 4 ++-- 3 files changed, 10 insertions(+), 10 deletions(-) diff --git a/data/presets/categories.json b/data/presets/categories.json index d57b88050..4cdc1beb6 100644 --- a/data/presets/categories.json +++ b/data/presets/categories.json @@ -64,11 +64,11 @@ "highway/pedestrian", "footway/crosswalk", "footway/sidewalk", + "highway/steps", + "highway/path", "highway/footway", "highway/cycleway", - "highway/bridleway", - "highway/path", - "highway/steps" + "highway/bridleway" ] }, "category-rail": { @@ -110,14 +110,14 @@ "highway/primary", "highway/secondary", "highway/tertiary", + "highway/unclassified", "highway/service", + "highway/track", "highway/motorway_link", "highway/trunk_link", "highway/primary_link", "highway/secondary_link", "highway/tertiary_link", - "highway/unclassified", - "highway/track", "highway/road" ] }, diff --git a/data/presets/categories/path.json b/data/presets/categories/path.json index fe13881f5..97a35f0b1 100644 --- a/data/presets/categories/path.json +++ b/data/presets/categories/path.json @@ -6,10 +6,10 @@ "highway/pedestrian", "footway/crosswalk", "footway/sidewalk", + "highway/steps", + "highway/path", "highway/footway", "highway/cycleway", - "highway/bridleway", - "highway/path", - "highway/steps" + "highway/bridleway" ] } diff --git a/data/presets/categories/road.json b/data/presets/categories/road.json index e75df54d3..edb4b6933 100644 --- a/data/presets/categories/road.json +++ b/data/presets/categories/road.json @@ -9,14 +9,14 @@ "highway/primary", "highway/secondary", "highway/tertiary", + "highway/unclassified", "highway/service", + "highway/track", "highway/motorway_link", "highway/trunk_link", "highway/primary_link", "highway/secondary_link", "highway/tertiary_link", - "highway/unclassified", - "highway/track", "highway/road" ] } From 9e025297fed26f8785aba181b3522cc347c32380 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 6 Nov 2016 21:53:05 -0500 Subject: [PATCH 010/119] Add Internet Cafe preset (closes #3559) --- CHANGELOG.md | 1 + data/presets.yaml | 5 ++++ data/presets/presets.json | 26 +++++++++++++++++++ .../presets/amenity/internet_cafe.json | 26 +++++++++++++++++++ data/taginfo.json | 4 +++ dist/locales/en.json | 4 +++ 6 files changed, 66 insertions(+) create mode 100644 data/presets/presets/amenity/internet_cafe.json diff --git a/CHANGELOG.md b/CHANGELOG.md index fe973cf9b..820d86354 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ * iD requires Node v4 or higher, but does not require `make` anymore * Update install instructions and prerequisites (#3466, thanks @tyrasd) * Many preset improvements: + * Add Internet Cafe preset (#3559) * Improve styling of Farmyards (#3556, thanks @Thue) * Add Guest Apartment / Condo preset (#3548) * Add Waste Transfer preset (#3387) diff --git a/data/presets.yaml b/data/presets.yaml index 2f334eead..495d1b730 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -1456,6 +1456,11 @@ en: name: Ice Cream Shop # 'terms: gelato,sorbet,sherbet,frozen,yogurt' terms: '' + amenity/internet_cafe: + # amenity=internet_cafe + name: Internet Cafe + # 'terms: cybercafe,taxiphone,teleboutique,coffee,cafe,net,lanhouse' + terms: '' amenity/kindergarten: # amenity=kindergarten name: Preschool/Kindergarten Grounds diff --git a/data/presets/presets.json b/data/presets/presets.json index 71e01def0..93325d96d 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -1311,6 +1311,32 @@ }, "name": "Ice Cream Shop" }, + "amenity/internet_cafe": { + "fields": [ + "operator", + "address", + "building_area", + "opening_hours", + "smoking" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "cybercafe", + "taxiphone", + "teleboutique", + "coffee", + "cafe", + "net", + "lanhouse" + ], + "tags": { + "amenity": "internet_cafe" + }, + "name": "Internet Cafe" + }, "amenity/kindergarten": { "icon": "school", "fields": [ diff --git a/data/presets/presets/amenity/internet_cafe.json b/data/presets/presets/amenity/internet_cafe.json new file mode 100644 index 000000000..8df97d072 --- /dev/null +++ b/data/presets/presets/amenity/internet_cafe.json @@ -0,0 +1,26 @@ +{ + "fields": [ + "operator", + "address", + "building_area", + "opening_hours", + "smoking" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "cybercafe", + "taxiphone", + "teleboutique", + "coffee", + "cafe", + "net", + "lanhouse" + ], + "tags": { + "amenity": "internet_cafe" + }, + "name": "Internet Cafe" +} diff --git a/data/taginfo.json b/data/taginfo.json index 469eab573..2e8eba395 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -295,6 +295,10 @@ "key": "amenity", "value": "ice_cream" }, + { + "key": "amenity", + "value": "internet_cafe" + }, { "key": "amenity", "value": "kindergarten" diff --git a/dist/locales/en.json b/dist/locales/en.json index 2d2b98b35..e06eae95f 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -1901,6 +1901,10 @@ "name": "Ice Cream Shop", "terms": "gelato,sorbet,sherbet,frozen,yogurt" }, + "amenity/internet_cafe": { + "name": "Internet Cafe", + "terms": "cybercafe,taxiphone,teleboutique,coffee,cafe,net,lanhouse" + }, "amenity/kindergarten": { "name": "Preschool/Kindergarten Grounds", "terms": "kindergarden,pre-school" From 393065725b0536b5b4297562f2662a09896ed271 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 6 Nov 2016 22:23:58 -0500 Subject: [PATCH 011/119] Add Turning Loop preset, adjust icons (closes #3557) For the icons: * use open circle for traversable features (turning_circle, mini-roundabout) * use closed circle for non-traversable features (turning_loop, island) --- data/presets.yaml | 5 +++++ data/presets/presets.json | 19 ++++++++++++++++--- data/presets/presets/craft/clockmaker.json | 1 - data/presets/presets/craft/watchmaker.json | 1 - .../presets/highway/mini_roundabout.json | 3 ++- .../presets/highway/turning_circle.json | 2 +- .../presets/presets/highway/turning_loop.json | 13 +++++++++++++ .../presets/traffic_calming/island.json | 1 + data/taginfo.json | 4 ++++ dist/locales/en.json | 4 ++++ 10 files changed, 46 insertions(+), 7 deletions(-) create mode 100644 data/presets/presets/highway/turning_loop.json diff --git a/data/presets.yaml b/data/presets.yaml index 495d1b730..8a72eae94 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -2453,6 +2453,11 @@ en: name: Turning Circle # 'terms: cul-de-sac' terms: '' + highway/turning_loop: + # highway=turning_loop + name: Turning Loop (Island) + # 'terms: cul-de-sac' + terms: '' highway/unclassified: # highway=unclassified name: Minor/Unclassified Road diff --git a/data/presets/presets.json b/data/presets/presets.json index 93325d96d..008a4845b 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -3647,7 +3647,6 @@ "name": "Caterer" }, "craft/clockmaker": { - "icon": "circle-stroked", "fields": [ "operator", "address", @@ -4200,7 +4199,6 @@ "name": "Upholsterer" }, "craft/watchmaker": { - "icon": "circle-stroked", "fields": [ "operator", "address", @@ -4817,6 +4815,7 @@ "name": "Living Street" }, "highway/mini_roundabout": { + "icon": "circle-stroked", "geometry": [ "vertex" ], @@ -5433,7 +5432,7 @@ "name": "Trunk Road" }, "highway/turning_circle": { - "icon": "circle", + "icon": "circle-stroked", "geometry": [ "vertex" ], @@ -5445,6 +5444,19 @@ ], "name": "Turning Circle" }, + "highway/turning_loop": { + "icon": "circle", + "geometry": [ + "vertex" + ], + "tags": { + "highway": "turning_loop" + }, + "terms": [ + "cul-de-sac" + ], + "name": "Turning Loop (Island)" + }, "highway/unclassified": { "icon": "highway-unclassified", "fields": [ @@ -11124,6 +11136,7 @@ "name": "Speed Hump" }, "traffic_calming/island": { + "icon": "circle", "geometry": [ "vertex" ], diff --git a/data/presets/presets/craft/clockmaker.json b/data/presets/presets/craft/clockmaker.json index f9fb3ce43..20cc83ec0 100644 --- a/data/presets/presets/craft/clockmaker.json +++ b/data/presets/presets/craft/clockmaker.json @@ -1,5 +1,4 @@ { - "icon": "circle-stroked", "fields": [ "operator", "address", diff --git a/data/presets/presets/craft/watchmaker.json b/data/presets/presets/craft/watchmaker.json index 8985c5995..706d00574 100644 --- a/data/presets/presets/craft/watchmaker.json +++ b/data/presets/presets/craft/watchmaker.json @@ -1,5 +1,4 @@ { - "icon": "circle-stroked", "fields": [ "operator", "address", diff --git a/data/presets/presets/highway/mini_roundabout.json b/data/presets/presets/highway/mini_roundabout.json index 25dabe09c..f6ec98f34 100644 --- a/data/presets/presets/highway/mini_roundabout.json +++ b/data/presets/presets/highway/mini_roundabout.json @@ -1,4 +1,5 @@ { + "icon": "circle-stroked", "geometry": [ "vertex" ], @@ -9,4 +10,4 @@ "clock_direction" ], "name": "Mini-Roundabout" -} \ No newline at end of file +} diff --git a/data/presets/presets/highway/turning_circle.json b/data/presets/presets/highway/turning_circle.json index e0a50e4d0..6dc2fbbb1 100644 --- a/data/presets/presets/highway/turning_circle.json +++ b/data/presets/presets/highway/turning_circle.json @@ -1,5 +1,5 @@ { - "icon": "circle", + "icon": "circle-stroked", "geometry": [ "vertex" ], diff --git a/data/presets/presets/highway/turning_loop.json b/data/presets/presets/highway/turning_loop.json new file mode 100644 index 000000000..cf283b62c --- /dev/null +++ b/data/presets/presets/highway/turning_loop.json @@ -0,0 +1,13 @@ +{ + "icon": "circle", + "geometry": [ + "vertex" + ], + "tags": { + "highway": "turning_loop" + }, + "terms": [ + "cul-de-sac" + ], + "name": "Turning Loop (Island)" +} diff --git a/data/presets/presets/traffic_calming/island.json b/data/presets/presets/traffic_calming/island.json index bc337e00a..44cb98883 100644 --- a/data/presets/presets/traffic_calming/island.json +++ b/data/presets/presets/traffic_calming/island.json @@ -1,4 +1,5 @@ { + "icon": "circle", "geometry": [ "vertex" ], diff --git a/data/taginfo.json b/data/taginfo.json index 2e8eba395..6c167eb39 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -1194,6 +1194,10 @@ "key": "highway", "value": "turning_circle" }, + { + "key": "highway", + "value": "turning_loop" + }, { "key": "highway", "value": "unclassified" diff --git a/dist/locales/en.json b/dist/locales/en.json index e06eae95f..006554a92 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -2805,6 +2805,10 @@ "name": "Turning Circle", "terms": "cul-de-sac" }, + "highway/turning_loop": { + "name": "Turning Loop (Island)", + "terms": "cul-de-sac" + }, "highway/unclassified": { "name": "Minor/Unclassified Road", "terms": "" From 5d20bef64de93cecbd0536c8026357f99972eede Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 6 Nov 2016 22:42:36 -0500 Subject: [PATCH 012/119] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 820d86354..8fcf6834f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ * iD requires Node v4 or higher, but does not require `make` anymore * Update install instructions and prerequisites (#3466, thanks @tyrasd) * Many preset improvements: + * Add Turning Loop (Island) preset, adjust icons for traversable/nontraversable features (#3557) * Add Internet Cafe preset (#3559) * Improve styling of Farmyards (#3556, thanks @Thue) * Add Guest Apartment / Condo preset (#3548) From 4d520d4b913a832ffccf3e9bfa30d52a9cb63878 Mon Sep 17 00:00:00 2001 From: bkil Date: Sun, 6 Nov 2016 16:50:05 +0100 Subject: [PATCH 013/119] data/presets/README: some typo fixes --- data/presets/README.md | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/data/presets/README.md b/data/presets/README.md index 83a582225..6c354019b 100644 --- a/data/presets/README.md +++ b/data/presets/README.md @@ -125,7 +125,7 @@ The complete JSON schema for fields can be found in [`data/presets/schema/field. * `cycleway` - Block of dropdowns for adding `cycleway:left` and `cycleway:right` tags on a highway * `maxspeed` - Numeric text field for speed and dropdown for "mph/kph" * `restrictions` - Graphical field for editing turn restrictions -* `wikipedia` - Block of fields for selecting a wiki language and wikipedia page +* `wikipedia` - Block of fields for selecting a wiki language and Wikipedia page #### Field Properties @@ -147,7 +147,7 @@ one of `point`, `vertex`, `line`, `area`. ##### `default` -The default value for the field. For exmaple, the `building_area.json` field +The default value for the field. For example, the `building_area.json` field will automatically add the tag `building=yes` to certain presets that are associated with building features (but only if drawn as a closed area). @@ -179,8 +179,9 @@ The user can pick from any of the options, or type their own value. Combo field types can accept name-value pairs in the `strings` property. This is helpful when the field has a fixed number of options and you want to be -able to provide a translateable description of each option. When using `strings`, +able to provide a translatable description of each option. When using `strings`, the user can not type their own value, they must choose one of the given values. + ```js { "key": "smoothness", From 41b9afd5078bab634e306c42b799d60f87349467 Mon Sep 17 00:00:00 2001 From: bkil Date: Sun, 6 Nov 2016 15:09:03 +0100 Subject: [PATCH 014/119] data/presets: add construction, height and icon to mast, tower --- data/presets/fields/height.json | 5 +++++ data/presets/fields/tower/construction.json | 6 ++++++ data/presets/fields/{towertype.json => tower/type.json} | 0 data/presets/presets/man_made/mast.json | 6 ++++++ data/presets/presets/man_made/tower.json | 5 ++++- 5 files changed, 21 insertions(+), 1 deletion(-) create mode 100644 data/presets/fields/height.json create mode 100644 data/presets/fields/tower/construction.json rename data/presets/fields/{towertype.json => tower/type.json} (100%) diff --git a/data/presets/fields/height.json b/data/presets/fields/height.json new file mode 100644 index 000000000..2640c1982 --- /dev/null +++ b/data/presets/fields/height.json @@ -0,0 +1,5 @@ +{ + "key": "height", + "type": "number", + "label": "Height (meters)" +} diff --git a/data/presets/fields/tower/construction.json b/data/presets/fields/tower/construction.json new file mode 100644 index 000000000..8166ec014 --- /dev/null +++ b/data/presets/fields/tower/construction.json @@ -0,0 +1,6 @@ +{ + "key": "tower:construction", + "type": "combo", + "label": "Tower construction", + "placeholder": "Guyed, Lattice, Concealed, ..." +} diff --git a/data/presets/fields/towertype.json b/data/presets/fields/tower/type.json similarity index 100% rename from data/presets/fields/towertype.json rename to data/presets/fields/tower/type.json diff --git a/data/presets/presets/man_made/mast.json b/data/presets/presets/man_made/mast.json index 9ce0c49f7..b498ad29b 100644 --- a/data/presets/presets/man_made/mast.json +++ b/data/presets/presets/man_made/mast.json @@ -1,4 +1,10 @@ { + "icon": "lighthouse", + "fields": [ + "tower/type", + "tower/construction", + "height" + ], "geometry": [ "point" ], diff --git a/data/presets/presets/man_made/tower.json b/data/presets/presets/man_made/tower.json index e2285df23..f60381e5d 100644 --- a/data/presets/presets/man_made/tower.json +++ b/data/presets/presets/man_made/tower.json @@ -1,6 +1,9 @@ { + "icon": "lighthouse", "fields": [ - "towertype" + "tower/type", + "tower/construction", + "height" ], "geometry": [ "point", From 37965f40d8296a4742fc783bcc079dddb1a4bcb6 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 7 Nov 2016 01:12:14 -0500 Subject: [PATCH 015/119] Adjust tower field labels, remove lighthouse icons --- data/presets.yaml | 12 ++++++++++-- data/presets/fields.json | 15 +++++++++++++-- data/presets/fields/tower/construction.json | 2 +- data/presets/fields/tower/type.json | 2 +- data/presets/presets.json | 9 ++++++++- data/presets/presets/man_made/mast.json | 1 - data/presets/presets/man_made/tower.json | 1 - dist/locales/en.json | 11 +++++++++-- 8 files changed, 42 insertions(+), 11 deletions(-) diff --git a/data/presets.yaml b/data/presets.yaml index 8a72eae94..7aa559841 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -441,6 +441,9 @@ en: handrail: # handrail=* label: Handrail + height: + # height=* + label: Height (meters) highway: # highway=* label: Type @@ -1074,9 +1077,14 @@ en: tourism: # tourism=* label: Type - towertype: + tower/construction: + # 'tower:construction=*' + label: Construction + # tower/construction field placeholder + placeholder: 'Guyed, Lattice, Concealed, ...' + tower/type: # 'tower:type=*' - label: Tower type + label: Type tracktype: # tracktype=* label: Track Type diff --git a/data/presets/fields.json b/data/presets/fields.json index 07b14a6c0..561340768 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -615,6 +615,11 @@ "type": "check", "label": "Handrail" }, + "height": { + "key": "height", + "type": "number", + "label": "Height (meters)" + }, "highway": { "key": "highway", "type": "typeCombo", @@ -1451,10 +1456,16 @@ "type": "typeCombo", "label": "Type" }, - "towertype": { + "tower/construction": { + "key": "tower:construction", + "type": "combo", + "label": "Construction", + "placeholder": "Guyed, Lattice, Concealed, ..." + }, + "tower/type": { "key": "tower:type", "type": "combo", - "label": "Tower type" + "label": "Type" }, "tracktype": { "key": "tracktype", diff --git a/data/presets/fields/tower/construction.json b/data/presets/fields/tower/construction.json index 8166ec014..d6723507d 100644 --- a/data/presets/fields/tower/construction.json +++ b/data/presets/fields/tower/construction.json @@ -1,6 +1,6 @@ { "key": "tower:construction", "type": "combo", - "label": "Tower construction", + "label": "Construction", "placeholder": "Guyed, Lattice, Concealed, ..." } diff --git a/data/presets/fields/tower/type.json b/data/presets/fields/tower/type.json index 08bbc5e9f..f73bf9737 100644 --- a/data/presets/fields/tower/type.json +++ b/data/presets/fields/tower/type.json @@ -1,5 +1,5 @@ { "key": "tower:type", "type": "combo", - "label": "Tower type" + "label": "Type" } diff --git a/data/presets/presets.json b/data/presets/presets.json index 008a4845b..de79a65fa 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -6711,6 +6711,11 @@ "name": "Lighthouse" }, "man_made/mast": { + "fields": [ + "tower/type", + "tower/construction", + "height" + ], "geometry": [ "point" ], @@ -6870,7 +6875,9 @@ }, "man_made/tower": { "fields": [ - "towertype" + "tower/type", + "tower/construction", + "height" ], "geometry": [ "point", diff --git a/data/presets/presets/man_made/mast.json b/data/presets/presets/man_made/mast.json index b498ad29b..eb118bdfb 100644 --- a/data/presets/presets/man_made/mast.json +++ b/data/presets/presets/man_made/mast.json @@ -1,5 +1,4 @@ { - "icon": "lighthouse", "fields": [ "tower/type", "tower/construction", diff --git a/data/presets/presets/man_made/tower.json b/data/presets/presets/man_made/tower.json index f60381e5d..2023409c1 100644 --- a/data/presets/presets/man_made/tower.json +++ b/data/presets/presets/man_made/tower.json @@ -1,5 +1,4 @@ { - "icon": "lighthouse", "fields": [ "tower/type", "tower/construction", diff --git a/dist/locales/en.json b/dist/locales/en.json index 006554a92..7d70c675e 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -1024,6 +1024,9 @@ "handrail": { "label": "Handrail" }, + "height": { + "label": "Height (meters)" + }, "highway": { "label": "Type" }, @@ -1533,8 +1536,12 @@ "tourism": { "label": "Type" }, - "towertype": { - "label": "Tower type" + "tower/construction": { + "label": "Construction", + "placeholder": "Guyed, Lattice, Concealed, ..." + }, + "tower/type": { + "label": "Type" }, "tracktype": { "label": "Track Type", From 6b77116303d227f2ed3bf0663addb6d9b194c6cb Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 7 Nov 2016 01:21:15 -0500 Subject: [PATCH 016/119] Add religious-christian icon to wayside_cross preset --- data/presets/presets.json | 1 + data/presets/presets/historic/wayside_cross.json | 3 ++- 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/data/presets/presets.json b/data/presets/presets.json index de79a65fa..a27ac3b8d 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -5557,6 +5557,7 @@ "name": "Ruins" }, "historic/wayside_cross": { + "icon": "religious-christian", "geometry": [ "point", "vertex", diff --git a/data/presets/presets/historic/wayside_cross.json b/data/presets/presets/historic/wayside_cross.json index b706533b6..16cd3a66f 100644 --- a/data/presets/presets/historic/wayside_cross.json +++ b/data/presets/presets/historic/wayside_cross.json @@ -1,4 +1,5 @@ { + "icon": "religious-christian", "geometry": [ "point", "vertex", @@ -8,4 +9,4 @@ "historic": "wayside_cross" }, "name": "Wayside Cross" -} \ No newline at end of file +} From 3ddebc92093c5aa5f06f731f742dcd3d1edd69e8 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 7 Nov 2016 01:25:21 -0500 Subject: [PATCH 017/119] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 8fcf6834f..31bc86d90 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -13,6 +13,7 @@ * iD requires Node v4 or higher, but does not require `make` anymore * Update install instructions and prerequisites (#3466, thanks @tyrasd) * Many preset improvements: + * Add Construction and Tower Type fields to Mast and Tower presets (#3561, thanks @bkil) * Add Turning Loop (Island) preset, adjust icons for traversable/nontraversable features (#3557) * Add Internet Cafe preset (#3559) * Improve styling of Farmyards (#3556, thanks @Thue) From 25624609622d5b847ea365235d65f048f0c4fa36 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 7 Nov 2016 11:46:38 -0500 Subject: [PATCH 018/119] Exit to browse mode if selected items gone, only in response to user drags --- modules/modes/select.js | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/modules/modes/select.js b/modules/modes/select.js index 94eacaeec..658814d69 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -243,7 +243,10 @@ export function modeSelect(context, selectedIDs) { .selectAll(utilEntityOrMemberSelector(selectedIDs, context.graph())); if (selection.empty()) { - if (drawn) { // Exit mode if selected DOM elements have disappeared.. + // Return to browse mode if selected DOM elements have + // disappeared because the user moved them out of view.. + var source = d3.event && d3.event.type === 'zoom' && d3.event.sourceEvent; + if (drawn && source && (source.type === 'mousemove' || source.type === 'touchmove')) { context.enter(modeBrowse(context)); } } else { From 774b3a0ccd89a23da3448d38dbcf8a56f68b7779 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 7 Nov 2016 13:44:25 -0500 Subject: [PATCH 019/119] Add '\' key to toggle related parent, add .related class (like hover) --- css/map.css | 5 +++ modules/modes/select.js | 84 ++++++++++++++++++++++++++++++----------- 2 files changed, 68 insertions(+), 21 deletions(-) diff --git a/css/map.css b/css/map.css index 250f23aed..c0d5f42ec 100644 --- a/css/map.css +++ b/css/map.css @@ -37,6 +37,7 @@ g.point .shadow { stroke-opacity: 0; } +g.point.related:not(.selected) .shadow, g.point.hover:not(.selected) .shadow { stroke-opacity: 0.5; } @@ -104,7 +105,9 @@ g.vertex.vertex-hover { display: block; } +g.vertex.related:not(.selected) .shadow, g.vertex.hover:not(.selected) .shadow, +g.midpoint.related:not(.selected) .shadow, g.midpoint.hover:not(.selected) .shadow { fill-opacity: 0.5; } @@ -144,6 +147,7 @@ path.shadow { stroke-opacity: 0; } +path.shadow.related:not(.selected), path.shadow.hover:not(.selected) { stroke-opacity: 0.4; } @@ -1600,6 +1604,7 @@ text.gpx { stroke-width: 8; } +.fill-wireframe path.shadow.related:not(.selected), .fill-wireframe path.shadow.hover:not(.selected) { stroke-opacity: 0.4; } diff --git a/modules/modes/select.js b/modules/modes/select.js index 658814d69..06d88b544 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -30,10 +30,10 @@ import { modeDragNode } from './drag_node'; import * as Operations from '../operations/index'; import { uiRadialMenu, uiSelectionList } from '../ui/index'; import { uiCmd } from '../ui/cmd'; -import { utilEntityOrMemberSelector } from '../util/index'; +import { utilEntityOrMemberSelector, utilEntitySelector } from '../util/index'; -var selectedLastParent; +var relatedParent; export function modeSelect(context, selectedIDs) { @@ -71,7 +71,7 @@ export function modeSelect(context, selectedIDs) { } - // find the common parent ways for nextNode, previousNode + // find the common parent ways for nextVertex, previousVertex function commonParents() { var graph = context.graph(), commonParents = []; @@ -100,18 +100,21 @@ export function modeSelect(context, selectedIDs) { function singularParent() { var parents = commonParents(); - if (!parents) return; + if (!parents) { + relatedParent = null; + return null; + } - // selectedLastParent is used when we visit a vertex with multiple + // relatedParent is used when we visit a vertex with multiple // parents, and we want to remember which parent line we started on. if (parents.length === 1) { - selectedLastParent = parents[0]; // remember this parent for later - return selectedLastParent; + relatedParent = parents[0]; // remember this parent for later + return relatedParent; } - if (parents.indexOf(selectedLastParent) !== -1) { - return selectedLastParent; // prefer the previously seen parent + if (parents.indexOf(relatedParent) !== -1) { + return relatedParent; // prefer the previously seen parent } return parents[0]; @@ -233,14 +236,24 @@ export function modeSelect(context, selectedIDs) { function selectElements(drawn) { - var entity = singular(); + var surface = context.surface(), + entity = singular(); + if (entity && context.geometry(entity.id) === 'relation') { suppressMenu = true; return; } + var parent = singularParent(); + if (parent) { + surface.selectAll('.related') + .classed('related', false); + surface.selectAll(utilEntitySelector([relatedParent])) + .classed('related', true); + } + var selection = context.surface() - .selectAll(utilEntityOrMemberSelector(selectedIDs, context.graph())); + .selectAll(utilEntityOrMemberSelector(selectedIDs, context.graph())); if (selection.empty()) { // Return to browse mode if selected DOM elements have @@ -263,7 +276,7 @@ export function modeSelect(context, selectedIDs) { } - function firstNode() { + function firstVertex() { d3.event.preventDefault(); var parent = singularParent(); if (parent) { @@ -275,7 +288,7 @@ export function modeSelect(context, selectedIDs) { } - function lastNode() { + function lastVertex() { d3.event.preventDefault(); var parent = singularParent(); if (parent) { @@ -287,7 +300,7 @@ export function modeSelect(context, selectedIDs) { } - function previousNode() { + function previousVertex() { d3.event.preventDefault(); var parent = singularParent(); if (!parent) return; @@ -311,7 +324,7 @@ export function modeSelect(context, selectedIDs) { } - function nextNode() { + function nextVertex() { d3.event.preventDefault(); var parent = singularParent(); if (!parent) return; @@ -335,6 +348,26 @@ export function modeSelect(context, selectedIDs) { } + function nextParent() { + d3.event.preventDefault(); + var parents = _.uniq(commonParents()); + if (!parents || parents.length < 2) return; + + var index = parents.indexOf(relatedParent); + if (index < 0 || index > parents.length - 2) { + relatedParent = parents[0]; + } else { + relatedParent = parents[index + 1]; + } + + var surface = context.surface(); + surface.selectAll('.related') + .classed('related', false); + surface.selectAll(utilEntitySelector([relatedParent])) + .classed('related', true); + } + + behaviors.forEach(function(behavior) { context.install(behavior); }); @@ -346,10 +379,11 @@ export function modeSelect(context, selectedIDs) { operations.unshift(Operations.operationDelete(selectedIDs, context)); keybinding - .on(['[','pgup'], previousNode) - .on([']', 'pgdown'], nextNode) - .on([uiCmd('⌘['), 'home'], firstNode) - .on([uiCmd('⌘]'), 'end'], lastNode) + .on(['[','pgup'], previousVertex) + .on([']', 'pgdown'], nextVertex) + .on([uiCmd('⌘['), 'home'], firstVertex) + .on([uiCmd('⌘]'), 'end'], lastVertex) + .on(['\\', 'pause'], nextParent) .on('⎋', esc, true) .on('space', toggleMenu); @@ -432,11 +466,19 @@ export function modeSelect(context, selectedIDs) { .on('undone.select', null) .on('redone.select', null); - context.surface() - .on('dblclick.select', null) + var surface = context.surface(); + + surface + .on('dblclick.select', null); + + surface .selectAll('.selected') .classed('selected', false); + surface + .selectAll('.related') + .classed('related', false); + context.map().on('drawn.select', null); context.ui().sidebar.hide(); }; From ac3dcdadc8ccaef5ad075b2d7fa5e28d24efca58 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 7 Nov 2016 14:17:46 -0500 Subject: [PATCH 020/119] update CHANGELOG --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 31bc86d90..bdddfcc81 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,12 @@ * Add Ice Cream Shop preset (#3253, thanks @ankit-m) * Add Taiwan address format to Address field (#3261, thanks @david082321) * New Features: + * Vertex keyboard navigation (#1917, #3539) + * `[` or `pageup` - jump to previous vertex + * `]` or `pagedown` - jump to next vertex + * `⌘[` or `home` - jump to first vertex + * `⌘]` or `end` - jump to last vertex + * `\` or `pause-break` - select next parent, if at intersection * Address field improvements - eliminate duplicates, more dropdowns for address fields (#3553) * OSM API calls are now authenticated for logged in users (helps with (#3519, #2262) * When reversing a way, reverse tags on its child nodes (#3076, thanks @Psigio) From 48621d3155ff80deca7878220bd92b0ad03200d4 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 7 Nov 2016 17:03:33 -0500 Subject: [PATCH 021/119] Add callback to ui() that will be called after loadLocale completes (closes #3550) --- modules/core/context.js | 16 +++++++++++----- modules/ui/init.js | 11 ++++++++--- 2 files changed, 19 insertions(+), 8 deletions(-) diff --git a/modules/core/context.js b/modules/core/context.js index 5007e9569..a0c8ee52a 100644 --- a/modules/core/context.js +++ b/modules/core/context.js @@ -318,16 +318,22 @@ export function coreContext(root) { return context; }; - context.loadLocale = function(cb) { + context.loadLocale = function(callback) { if (locale && locale !== 'en' && dataLocales.indexOf(locale) !== -1) { localePath = localePath || context.asset('locales/' + locale + '.json'); d3.json(localePath, function(err, result) { - addTranslation(locale, result[locale]); - setLocale(locale); - cb(); + if (!err) { + addTranslation(locale, result[locale]); + setLocale(locale); + } + if (callback) { + callback(err); + } }); } else { - cb(); + if (callback) { + callback(); + } } }; diff --git a/modules/ui/init.js b/modules/ui/init.js index 4f9d682ac..ffa257209 100644 --- a/modules/ui/init.js +++ b/modules/ui/init.js @@ -284,11 +284,16 @@ export function uiInit(context) { } - function ui(node) { + function ui(node, callback) { var container = d3.select(node); context.container(container); - context.loadLocale(function() { - render(container); + context.loadLocale(function(err) { + if (!err) { + render(container); + } + if (callback) { + callback(err); + } }); } From df1d9d5723d5ad2e4bc793f78225d9e5bb26d866 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 7 Nov 2016 17:08:34 -0500 Subject: [PATCH 022/119] Update CHANGELOG --- CHANGELOG.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index bdddfcc81..5106cd2cf 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -50,6 +50,7 @@ * Add Ice Cream Shop preset (#3253, thanks @ankit-m) * Add Taiwan address format to Address field (#3261, thanks @david082321) * New Features: + * `ui()` initializer now accepts a callback that will be called when loadLocale is finished (#3550) * Vertex keyboard navigation (#1917, #3539) * `[` or `pageup` - jump to previous vertex * `]` or `pagedown` - jump to next vertex From cc599f3c03d4596a203f681bfd7eedb53bbcbb46 Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Tue, 8 Nov 2016 12:13:31 +0100 Subject: [PATCH 023/119] fix undefined underscore keycode (#3564) --- modules/lib/d3.keybinding.js | 3 ++- modules/ui/zoom.js | 2 +- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/modules/lib/d3.keybinding.js b/modules/lib/d3.keybinding.js index cc98ab242..7c9ec918a 100644 --- a/modules/lib/d3.keybinding.js +++ b/modules/lib/d3.keybinding.js @@ -169,7 +169,8 @@ d3keybinding.keyCodes = { '=': 187, 'equals': 187, // Comma, or , ',': 188, comma: 188, - 'dash': 189, //??? + // Dash / Underscore key + 'dash': 189, // Period, or ., or full-stop '.': 190, period: 190, 'full-stop': 190, // Slash, or /, or forward-slash diff --git a/modules/ui/zoom.js b/modules/ui/zoom.js index 685671d93..e8065d581 100644 --- a/modules/ui/zoom.js +++ b/modules/ui/zoom.js @@ -75,7 +75,7 @@ export function uiZoom(context) { keybinding.on([key, '⇧' + key], zoomIn); keybinding.on([uiCmd('⌘' + key), uiCmd('⌘⇧' + key)], zoomInFurther); }); - _.each(['-','ffminus','_','dash'], function(key) { + _.each(['-','ffminus','dash'], function(key) { keybinding.on([key, '⇧' + key], zoomOut); keybinding.on([uiCmd('⌘' + key), uiCmd('⌘⇧' + key)], zoomOutFurther); }); From 7d14d2b0b03f788e0896e5168124610d07bb31b9 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 8 Nov 2016 02:27:49 -0500 Subject: [PATCH 024/119] chore(package): update shx to version 0.2.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b4d5239a4..88b511043 100644 --- a/package.json +++ b/package.json @@ -62,7 +62,7 @@ "rollup-plugin-commonjs": "5.0.5", "rollup-plugin-json": "2.0.2", "rollup-plugin-node-resolve": "2.0.0", - "shx": "~0.1.4", + "shx": "~0.2.0", "sinon": "~1.17.5", "sinon-chai": "~2.8.0", "smash": "0.0", From 7069ca8ef7b4802d55f8c8b395a51080ab0d3211 Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Tue, 8 Nov 2016 17:21:08 +0100 Subject: [PATCH 025/119] fix info box content and crash when drawing areas while info box is open --- modules/ui/info.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/modules/ui/info.js b/modules/ui/info.js index 6af8d8ab7..56e590f3d 100644 --- a/modules/ui/info.js +++ b/modules/ui/info.js @@ -6,6 +6,11 @@ import { geoExtent } from '../geo/index'; import { utilDetect } from '../util/detect'; import { uiCmd } from './cmd'; +import { + geoLength as d3GeoLength, + geoCentroid as d3GeoCentroid +} from 'd3'; + export function uiInfo(context) { var key = uiCmd('⌘I'), @@ -149,9 +154,9 @@ export function uiInfo(context) { if (geometry === 'line' || geometry === 'area') { var closed = (entity.type === 'relation') || (entity.isClosed() && !entity.isDegenerate()), feature = entity.asGeoJSON(resolver), - length = radiansToMeters(d3.geoLength(toLineString(feature))), + length = radiansToMeters(d3GeoLength(toLineString(feature))), lengthLabel = t('infobox.' + (closed ? 'perimeter' : 'length')), - centroid = d3.geoCentroid(feature); + centroid = d3GeoCentroid(feature); list.append('li') .text(t('infobox.geometry') + ': ' + From 16ada1f29ad2af91ac88b75f2a4abc21710f1254 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 8 Nov 2016 21:10:53 -0500 Subject: [PATCH 026/119] Better error handling for common osm api error conditions * if 509 Bandwidth Exceeded / 429 Too Many Requests, prompt for login (closes #2262) * if 400 Bad Request / 401 Unauthorized / 403 Forbidden - logout and retry (closes #3546) --- css/app.css | 7 +++- data/core.yaml | 2 + dist/locales/en.json | 4 +- modules/renderer/map.js | 2 + modules/services/osm.js | 83 ++++++++++++++++++++++++++++----------- modules/ui/account.js | 4 +- modules/ui/init.js | 7 ++-- modules/ui/spinner.js | 4 +- modules/ui/status.js | 29 +++++++++++--- test/spec/services/osm.js | 6 +-- 10 files changed, 108 insertions(+), 40 deletions(-) diff --git a/css/app.css b/css/app.css index 4d291387b..5d50672e3 100644 --- a/css/app.css +++ b/css/app.css @@ -2601,12 +2601,17 @@ img.tile-removing { text-align: right; width: 100%; padding: 0px 10px; + color: #eee; } .api-status.offline, .api-status.readonly, .api-status.error { - background: red; + background: #a22; +} + +.api-status-login { + color: #aaf; } /* Modals diff --git a/data/core.yaml b/data/core.yaml index 101440de6..e1e8bf3c8 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -180,6 +180,7 @@ en: localized_translation_language: Choose language localized_translation_name: Name zoom_in_edit: Zoom in to Edit + login: login logout: logout loading_auth: "Connecting to OpenStreetMap..." report_a_bug: Report a bug @@ -191,6 +192,7 @@ en: error: Unable to connect to API. offline: The API is offline. Please try editing later. readonly: The API is read-only. You will need to wait to save your changes. + rateLimit: The API is limiting anonymous connections. You can fix this by logging in. commit: title: Save Changes description_placeholder: Brief description of your contributions (required) diff --git a/dist/locales/en.json b/dist/locales/en.json index 7d70c675e..d566fe4c8 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -227,6 +227,7 @@ "localized_translation_name": "Name" }, "zoom_in_edit": "Zoom in to Edit", + "login": "login", "logout": "logout", "loading_auth": "Connecting to OpenStreetMap...", "report_a_bug": "Report a bug", @@ -238,7 +239,8 @@ "status": { "error": "Unable to connect to API.", "offline": "The API is offline. Please try editing later.", - "readonly": "The API is read-only. You will need to wait to save your changes." + "readonly": "The API is read-only. You will need to wait to save your changes.", + "rateLimit": "The API is limiting anonymous connections. You can fix this by logging in." }, "commit": { "title": "Save Changes", diff --git a/modules/renderer/map.js b/modules/renderer/map.js index 3203713bc..eb1cc327a 100644 --- a/modules/renderer/map.js +++ b/modules/renderer/map.js @@ -64,6 +64,8 @@ export function rendererMap(context) { context .on('change.map', immediateRedraw); + context.connection() + .on('change.map', immediateRedraw); context.history() .on('change.map', immediateRedraw); context.background() diff --git a/modules/services/osm.js b/modules/services/osm.js index b888f42d4..c22db080c 100644 --- a/modules/services/osm.js +++ b/modules/services/osm.js @@ -9,7 +9,7 @@ import { utilDetect } from '../util/detect'; import { utilRebind } from '../util/rebind'; -var dispatch = d3.dispatch('authenticating', 'authenticated', 'auth', 'loading', 'loaded'), +var dispatch = d3.dispatch('authLoading', 'authDone', 'change', 'loading', 'loaded'), useHttps = window.location.protocol === 'https:', protocol = useHttps ? 'https:' : 'http:', urlroot = protocol + '//www.openstreetmap.org', @@ -20,25 +20,28 @@ var dispatch = d3.dispatch('authenticating', 'authenticated', 'auth', 'loading', url: urlroot, oauth_consumer_key: '5A043yRSEugj4DJ5TljuapfnrflWDte8jTOcWLlT', oauth_secret: 'aB3jKq1TRsCOUrfOIZ6oQMEDmv2ptV76PA54NGLL', - loading: authenticating, - done: authenticated + loading: authLoading, + done: authDone }), + rateLimitError, userDetails, off; -function authenticating() { - dispatch.call('authenticating'); +function authLoading() { + dispatch.call('authLoading'); } -function authenticated() { - dispatch.call('authenticated'); +function authDone() { + dispatch.call('authDone'); } function abortRequest(i) { - i.abort(); + if (i) { + i.abort(); + } } @@ -129,10 +132,10 @@ var parsers = { }; -function parse(dom) { - if (!dom || !dom.childNodes) return; +function parse(xml) { + if (!xml || !xml.childNodes) return; - var root = dom.childNodes[0], + var root = xml.childNodes[0], children = root.childNodes, entities = []; @@ -151,7 +154,7 @@ function parse(dom) { export default { init: function() { - this.event = utilRebind(this, dispatch, 'on'); + utilRebind(this, dispatch, 'on'); }, @@ -189,9 +192,34 @@ export default { loadFromAPI: function(path, callback) { - function done(err, dom) { - return callback(err, parse(dom)); + var that = this; + + function done(err, xml) { + var isAuthenticated = that.authenticated(); + + // 400 Bad Request, 401 Unauthorized, 403 Forbidden + // Logout and retry the request.. + if (isAuthenticated && err && + (err.status === 400 || err.status === 401 || err.status === 403)) { + that.logout(); + that.loadFromAPI(path, callback); + + // else, no retry.. + } else { + // 509 Bandwidth Limit Exceeded, 429 Too Many Requests + // Set the rateLimitError flag and trigger a warning.. + if (!isAuthenticated && !rateLimitError && err && + (err.status === 509 || err.status === 429)) { + rateLimitError = err; + dispatch.call('change'); + } + + if (callback) { + callback(err, parse(xml)); + } + } } + if (this.authenticated()) { return oauth.xhr({ method: 'GET', path: path }, done); } else { @@ -402,8 +430,13 @@ export default { status: function(callback) { function done(capabilities) { - var apiStatus = capabilities.getElementsByTagName('status'); - callback(undefined, apiStatus[0].getAttribute('api')); + if (rateLimitError) { + callback(rateLimitError, 'rateLimited'); + } else { + var apiStatus = capabilities.getElementsByTagName('status'), + val = apiStatus[0].getAttribute('api'); + callback(undefined, val); + } } d3.xml(urlroot + '/api/capabilities').get() .on('load', done) @@ -467,8 +500,10 @@ export default { inflight[id] = that.loadFromAPI( '/api/0.6/map?bbox=' + tile.extent.toParam(), function(err, parsed) { - loadedTiles[id] = true; delete inflight[id]; + if (!err) { + loadedTiles[id] = true; + } if (callback) { callback(err, _.extend({ data: parsed }, tile)); @@ -477,7 +512,8 @@ export default { if (_.isEmpty(inflight)) { dispatch.call('loaded'); } - }); + } + ); }); }, @@ -487,10 +523,10 @@ export default { oauth.options(_.extend({ url: urlroot, - loading: authenticating, - done: authenticated + loading: authLoading, + done: authDone }, options)); - dispatch.call('auth'); + dispatch.call('change'); this.reset(); return this; }, @@ -512,7 +548,7 @@ export default { logout: function() { userDetails = undefined; oauth.logout(); - dispatch.call('auth'); + dispatch.call('change'); return this; }, @@ -520,7 +556,8 @@ export default { authenticate: function(callback) { userDetails = undefined; function done(err, res) { - dispatch.call('auth'); + rateLimitError = undefined; + dispatch.call('change'); if (callback) callback(err, res); } return oauth.authenticate(done); diff --git a/modules/ui/account.js b/modules/ui/account.js index e846541e0..13c122b47 100644 --- a/modules/ui/account.js +++ b/modules/ui/account.js @@ -67,7 +67,9 @@ export function uiAccount(context) { .attr('id', 'userLink') .classed('hide', true); - connection.event.on('auth.account', function() { update(selection); }); + connection + .on('change.account', function() { update(selection); }); + update(selection); }; } diff --git a/modules/ui/init.js b/modules/ui/init.js index ffa257209..1b5661b42 100644 --- a/modules/ui/init.js +++ b/modules/ui/init.js @@ -271,14 +271,15 @@ export function uiInit(context) { .call(uiRestore(context)); var authenticating = uiLoading(context) - .message(t('loading_auth')); + .message(t('loading_auth')) + .blocking(true); context.connection() - .on('authenticating.ui', function() { + .on('authLoading.ui', function() { context.container() .call(authenticating); }) - .on('authenticated.ui', function() { + .on('authDone.ui', function() { authenticating.close(); }); } diff --git a/modules/ui/spinner.js b/modules/ui/spinner.js index 1cd8b0d52..9daaf4b92 100644 --- a/modules/ui/spinner.js +++ b/modules/ui/spinner.js @@ -8,13 +8,13 @@ export function uiSpinner(context) { .attr('src', context.imagePath('loader-black.gif')) .style('opacity', 0); - connection.event + connection .on('loading.spinner', function() { img.transition() .style('opacity', 1); }); - connection.event + connection .on('loaded.spinner', function() { img.transition() .style('opacity', 0); diff --git a/modules/ui/status.js b/modules/ui/status.js index 6bdb4e7a8..05cf2bc9d 100644 --- a/modules/ui/status.js +++ b/modules/ui/status.js @@ -1,18 +1,36 @@ +import * as d3 from 'd3'; import { t } from '../util/locale'; +import { svgIcon } from '../svg/index'; + export function uiStatus(context) { - var connection = context.connection(), - errCount = 0; + var connection = context.connection(); return function(selection) { function update() { connection.status(function(err, apiStatus) { selection.html(''); - if (err && errCount++ < 2) return; if (err) { - selection.text(t('status.error')); + if (apiStatus === 'rateLimited') { + selection + .text(t('status.rateLimit')) + .append('a') + .attr('class', 'api-status-login') + .attr('target', '_blank') + .call(svgIcon('#icon-out-link', 'inline')) + .append('span') + .text(t('login')) + .on('click.login', function() { + d3.event.preventDefault(); + connection.authenticate(); + }); + } else { + // TODO: nice messages for different error types + selection.text(t('status.error')); + } + } else if (apiStatus === 'readonly') { selection.text(t('status.readonly')); } else if (apiStatus === 'offline') { @@ -20,12 +38,11 @@ export function uiStatus(context) { } selection.attr('class', 'api-status ' + (err ? 'error' : apiStatus)); - if (!err) errCount = 0; }); } connection - .on('auth', function() { update(selection); }); + .on('change', function() { update(selection); }); window.setInterval(update, 90000); update(selection); diff --git a/test/spec/services/osm.js b/test/spec/services/osm.js index a16adb047..c4bd4950d 100644 --- a/test/spec/services/osm.js +++ b/test/spec/services/osm.js @@ -44,9 +44,9 @@ describe('iD.serviceOsm', function () { expect(connection.changesetURL(1)).to.equal('http://example.com/changeset/1'); }); - it('emits an auth event', function(done) { - connection.on('auth', function() { - connection.on('auth', null); + it('emits a change event', function(done) { + connection.on('change', function() { + connection.on('change', null); done(); }); connection.switch({ urlroot: 'http://example.com' }); From 82a0030ff08258b784f1fb28bdb21c31c3dd2c8d Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 8 Nov 2016 21:54:19 -0500 Subject: [PATCH 027/119] Hover style for login link in status bar --- css/app.css | 3 +++ 1 file changed, 3 insertions(+) diff --git a/css/app.css b/css/app.css index 5d50672e3..bb473e00f 100644 --- a/css/app.css +++ b/css/app.css @@ -2613,6 +2613,9 @@ img.tile-removing { .api-status-login { color: #aaf; } +.api-status-login:hover { + color: #ccf; +} /* Modals ------------------------------------------------------- */ From 10a6719ea245f3153c687e6d911b5dbb0c53a6fa Mon Sep 17 00:00:00 2001 From: Martin Raifer Date: Wed, 9 Nov 2016 11:14:22 +0100 Subject: [PATCH 028/119] add presets for tourism=information subtags * guidepost * board * map * office --- data/presets.yaml | 25 ++++++++ data/presets/fields.json | 15 +++++ data/presets/fields/board_type.json | 5 ++ data/presets/fields/map_size.json | 5 ++ data/presets/fields/map_type.json | 5 ++ data/presets/presets.json | 63 +++++++++++++++++++ .../presets/tourism/information/board.json | 15 +++++ .../tourism/information/guidepost.json | 15 +++++ .../presets/tourism/information/map.json | 16 +++++ .../presets/tourism/information/office.json | 17 +++++ data/taginfo.json | 16 +++++ dist/locales/en.json | 25 ++++++++ 12 files changed, 222 insertions(+) create mode 100644 data/presets/fields/board_type.json create mode 100644 data/presets/fields/map_size.json create mode 100644 data/presets/fields/map_type.json create mode 100644 data/presets/presets/tourism/information/board.json create mode 100644 data/presets/presets/tourism/information/guidepost.json create mode 100644 data/presets/presets/tourism/information/map.json create mode 100644 data/presets/presets/tourism/information/office.json diff --git a/data/presets.yaml b/data/presets.yaml index 7aa559841..93d04ca5f 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -191,6 +191,9 @@ en: stemcells: stem cell samples # 'blood:=whole' whole: whole blood + board_type: + # board_type=* + label: Type boundary: # boundary=* label: Type @@ -583,6 +586,12 @@ en: man_made: # man_made=* label: Type + map_size: + # map_size=* + label: Coverage + map_type: + # map_type=* + label: Type maxspeed: # maxspeed=* label: Speed Limit @@ -3882,6 +3891,22 @@ en: # tourism=information name: Information terms: '' + tourism/information/board: + # 'tourism=information, information=board' + name: Information Board + terms: '' + tourism/information/guidepost: + # 'tourism=information, information=guidepost' + name: Guidepost + terms: '' + tourism/information/map: + # 'tourism=information, information=map' + name: Map + terms: '' + tourism/information/office: + # 'tourism=information, information=office' + name: Tourist Information Office + terms: '' tourism/motel: # tourism=motel name: Motel diff --git a/data/presets/fields.json b/data/presets/fields.json index 561340768..d9651315c 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -256,6 +256,11 @@ } } }, + "board_type": { + "key": "board_type", + "type": "typeCombo", + "label": "Type" + }, "boundary": { "key": "boundary", "type": "combo", @@ -806,6 +811,16 @@ "type": "typeCombo", "label": "Type" }, + "map_size": { + "key": "map_size", + "type": "typeCombo", + "label": "Coverage" + }, + "map_type": { + "key": "map_type", + "type": "typeCombo", + "label": "Type" + }, "maxspeed": { "key": "maxspeed", "type": "maxspeed", diff --git a/data/presets/fields/board_type.json b/data/presets/fields/board_type.json new file mode 100644 index 000000000..f54b6b484 --- /dev/null +++ b/data/presets/fields/board_type.json @@ -0,0 +1,5 @@ +{ + "key": "board_type", + "type": "typeCombo", + "label": "Type" +} diff --git a/data/presets/fields/map_size.json b/data/presets/fields/map_size.json new file mode 100644 index 000000000..418fd5a8e --- /dev/null +++ b/data/presets/fields/map_size.json @@ -0,0 +1,5 @@ +{ + "key": "map_size", + "type": "typeCombo", + "label": "Coverage" +} diff --git a/data/presets/fields/map_type.json b/data/presets/fields/map_type.json new file mode 100644 index 000000000..4341ed6b5 --- /dev/null +++ b/data/presets/fields/map_type.json @@ -0,0 +1,5 @@ +{ + "key": "map_type", + "type": "typeCombo", + "label": "Type" +} diff --git a/data/presets/presets.json b/data/presets/presets.json index a27ac3b8d..e0d84dedb 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -10903,6 +10903,69 @@ }, "name": "Information" }, + "tourism/information/board": { + "fields": [ + "operator", + "board_type" + ], + "geometry": [ + "point", + "vertex" + ], + "tags": { + "tourism": "information", + "information": "board" + }, + "name": "Information Board" + }, + "tourism/information/guidepost": { + "fields": [ + "operator", + "ref" + ], + "geometry": [ + "point", + "vertex" + ], + "tags": { + "tourism": "information", + "information": "guidepost" + }, + "name": "Guidepost" + }, + "tourism/information/map": { + "fields": [ + "operator", + "map_type", + "map_size" + ], + "geometry": [ + "point", + "vertex" + ], + "tags": { + "tourism": "information", + "information": "map" + }, + "name": "Map" + }, + "tourism/information/office": { + "fields": [ + "operator", + "address", + "building_area" + ], + "geometry": [ + "point", + "vertex", + "area" + ], + "tags": { + "tourism": "information", + "information": "office" + }, + "name": "Tourist Information Office" + }, "tourism/motel": { "icon": "lodging", "fields": [ diff --git a/data/presets/presets/tourism/information/board.json b/data/presets/presets/tourism/information/board.json new file mode 100644 index 000000000..5333b01f0 --- /dev/null +++ b/data/presets/presets/tourism/information/board.json @@ -0,0 +1,15 @@ +{ + "fields": [ + "operator", + "board_type" + ], + "geometry": [ + "point", + "vertex" + ], + "tags": { + "tourism": "information", + "information": "board" + }, + "name": "Information Board" +} diff --git a/data/presets/presets/tourism/information/guidepost.json b/data/presets/presets/tourism/information/guidepost.json new file mode 100644 index 000000000..88f35e4a6 --- /dev/null +++ b/data/presets/presets/tourism/information/guidepost.json @@ -0,0 +1,15 @@ +{ + "fields": [ + "operator", + "ref" + ], + "geometry": [ + "point", + "vertex" + ], + "tags": { + "tourism": "information", + "information": "guidepost" + }, + "name": "Guidepost" +} diff --git a/data/presets/presets/tourism/information/map.json b/data/presets/presets/tourism/information/map.json new file mode 100644 index 000000000..179def1fc --- /dev/null +++ b/data/presets/presets/tourism/information/map.json @@ -0,0 +1,16 @@ +{ + "fields": [ + "operator", + "map_type", + "map_size" + ], + "geometry": [ + "point", + "vertex" + ], + "tags": { + "tourism": "information", + "information": "map" + }, + "name": "Map" +} diff --git a/data/presets/presets/tourism/information/office.json b/data/presets/presets/tourism/information/office.json new file mode 100644 index 000000000..945f213ba --- /dev/null +++ b/data/presets/presets/tourism/information/office.json @@ -0,0 +1,17 @@ +{ + "fields": [ + "operator", + "address", + "building_area" + ], + "geometry": [ + "point", + "vertex", + "area" + ], + "tags": { + "tourism": "information", + "information": "office" + }, + "name": "Tourist Information Office" +} diff --git a/data/taginfo.json b/data/taginfo.json index 6c167eb39..213105593 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -2473,6 +2473,22 @@ "key": "tourism", "value": "information" }, + { + "key": "information", + "value": "board" + }, + { + "key": "information", + "value": "guidepost" + }, + { + "key": "information", + "value": "map" + }, + { + "key": "information", + "value": "office" + }, { "key": "tourism", "value": "motel" diff --git a/dist/locales/en.json b/dist/locales/en.json index d566fe4c8..ebfc82efa 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -805,6 +805,9 @@ "stemcells": "stem cell samples" } }, + "board_type": { + "label": "Type" + }, "boundary": { "label": "Type" }, @@ -1148,6 +1151,12 @@ "man_made": { "label": "Type" }, + "map_size": { + "label": "Coverage" + }, + "map_type": { + "label": "Type" + }, "maxspeed": { "label": "Speed Limit", "placeholder": "40, 50, 60..." @@ -4114,6 +4123,22 @@ "name": "Information", "terms": "" }, + "tourism/information/board": { + "name": "Information Board", + "terms": "" + }, + "tourism/information/guidepost": { + "name": "Guidepost", + "terms": "" + }, + "tourism/information/map": { + "name": "Map", + "terms": "" + }, + "tourism/information/office": { + "name": "Tourist Information Office", + "terms": "" + }, "tourism/motel": { "name": "Motel", "terms": "" From 9845f0594e70889c3e2b45287ac3eb70aabf1ecf Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 9 Nov 2016 11:41:19 -0500 Subject: [PATCH 029/119] Don't rely on test side effects to init() osm service --- test/spec/services/osm.js | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/test/spec/services/osm.js b/test/spec/services/osm.js index c4bd4950d..fa5a1b0ac 100644 --- a/test/spec/services/osm.js +++ b/test/spec/services/osm.js @@ -1,8 +1,10 @@ describe('iD.serviceOsm', function () { - var connection; + var context, connection; + beforeEach(function () { - connection = iD.services.osm; + context = iD.Context(window); + connection = context.connection(); connection.switch({ urlroot: 'http://www.openstreetmap.org'}); connection.reset(); }); From 9bf6c25bde641267c9857753602f127538a44e9c Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 9 Nov 2016 17:58:25 -0500 Subject: [PATCH 030/119] Clear saved rate limit error when calling reset() --- modules/services/osm.js | 1 + 1 file changed, 1 insertion(+) diff --git a/modules/services/osm.js b/modules/services/osm.js index c22db080c..e55f29a91 100644 --- a/modules/services/osm.js +++ b/modules/services/osm.js @@ -160,6 +160,7 @@ export default { reset: function() { userDetails = undefined; + rateLimitError = undefined; _.forEach(inflight, abortRequest); loadedTiles = {}; inflight = {}; From b8be480267b0a2d3dba634b03c574d718860f78a Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 9 Nov 2016 17:59:07 -0500 Subject: [PATCH 031/119] Tests for `loadFromAPI`, esp to cover retry and dispatch behaviors --- test/spec/services/osm.js | 178 ++++++++++++++++++++++++++++++++++---- 1 file changed, 159 insertions(+), 19 deletions(-) diff --git a/test/spec/services/osm.js b/test/spec/services/osm.js index fa5a1b0ac..9609f38b5 100644 --- a/test/spec/services/osm.js +++ b/test/spec/services/osm.js @@ -1,14 +1,31 @@ describe('iD.serviceOsm', function () { - var context, connection; + var context, connection, spy; + function login() { + if (!connection) return; + connection.switch({ + urlroot: 'http://www.openstreetmap.org', + oauth_consumer_key: '5A043yRSEugj4DJ5TljuapfnrflWDte8jTOcWLlT', + oauth_secret: 'aB3jKq1TRsCOUrfOIZ6oQMEDmv2ptV76PA54NGLL', + oauth_token: 'foo', + oauth_token_secret: 'foo' + }); + } + + function logout() { + if (!connection) return; + connection.logout(); + } beforeEach(function () { context = iD.Context(window); connection = context.connection(); - connection.switch({ urlroot: 'http://www.openstreetmap.org'}); + connection.switch({ urlroot: 'http://www.openstreetmap.org' }); connection.reset(); + spy = sinon.spy(); }); + it('is instantiated', function () { expect(connection).to.be.ok; }); @@ -46,46 +63,169 @@ describe('iD.serviceOsm', function () { expect(connection.changesetURL(1)).to.equal('http://example.com/changeset/1'); }); - it('emits a change event', function(done) { - connection.on('change', function() { - connection.on('change', null); - done(); - }); + it('emits a change event', function() { + connection.on('change', spy); connection.switch({ urlroot: 'http://example.com' }); + expect(spy).to.have.been.calledOnce; }); }); describe('#loadFromAPI', function () { + var server, + path = '/api/0.6/map?bbox=-74.542,40.655,-74.541,40.656', + response = '' + + '' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ' ' + + ''; + beforeEach(function() { - // force loading locally via d3.xml - connection.switch({ urlroot: '' }).logout(); + connection.reset(); + server = sinon.fakeServer.create(); + spy = sinon.spy(); }); - it('loads test data', function (done) { - connection.loadFromAPI('data/node.xml', done); + afterEach(function() { + server.restore(); }); + it('returns an object', function (done) { - connection.loadFromAPI('data/node.xml', function (err, graph) { + connection.loadFromAPI(path, function (err, xml) { expect(err).to.not.be.ok; - expect(typeof graph).to.eql('object'); + expect(typeof xml).to.eql('object'); done(); }); + + server.respondWith('GET', 'http://www.openstreetmap.org' + path, + [200, { 'Content-Type': 'text/xml' }, response]); + server.respond(); }); - it('parses a node', function (done) { - connection.loadFromAPI('data/node.xml', function (err, entities) { - expect(entities[0]).to.be.instanceOf(iD.Entity); + it('retries an authenticated call unauthenticated if 400 Bad Request', function (done) { + login(); + connection.loadFromAPI(path, function (err, xml) { + expect(err).to.be.not.ok; + expect(typeof xml).to.eql('object'); + expect(connection.authenticated()).to.be.not.ok; done(); }); + + server.respondWith('GET', 'http://www.openstreetmap.org' + path, + function(request) { + if (connection.authenticated()) { + return request.respond(400, {}); + } else { + return request.respond(200, { 'Content-Type': 'text/xml' }, response); + } + } + ); + server.respond(); + server.respond(); }); - it('parses a way', function (done) { - connection.loadFromAPI('data/way.xml', function (err, entities) { - expect(entities[0]).to.be.instanceOf(iD.Entity); + it('retries an authenticated call unauthenticated if 401 Unauthorized', function (done) { + login(); + connection.loadFromAPI(path, function (err, xml) { + expect(err).to.be.not.ok; + expect(typeof xml).to.eql('object'); + expect(connection.authenticated()).to.be.not.ok; done(); }); + + server.respondWith('GET', 'http://www.openstreetmap.org' + path, + function(request) { + if (connection.authenticated()) { + return request.respond(401, {}); + } else { + return request.respond(200, { 'Content-Type': 'text/xml' }, response); + } + } + ); + server.respond(); + server.respond(); }); + + it('retries an authenticated call unauthenticated if 403 Forbidden', function (done) { + login(); + connection.loadFromAPI(path, function (err, xml) { + expect(err).to.be.not.ok; + expect(typeof xml).to.eql('object'); + expect(connection.authenticated()).to.be.not.ok; + done(); + }); + + server.respondWith('GET', 'http://www.openstreetmap.org' + path, + function(request) { + if (connection.authenticated()) { + return request.respond(403, {}); + } else { + return request.respond(200, { 'Content-Type': 'text/xml' }, response); + } + } + ); + server.respond(); + server.respond(); + }); + + + it('dispatches change event if 509 Bandwidth Limit Exceeded', function (done) { + logout(); + connection.on('change', spy); + connection.loadFromAPI(path, function (err) { + expect(err).to.have.property('status', 509); + expect(spy).to.have.been.calledOnce; + done(); + }); + + server.respondWith('GET', 'http://www.openstreetmap.org' + path, + function(request) { + if (!connection.authenticated()) { + // workaround: sinon.js seems to call error handler with a + // sinon.Event instead of the target XMLHttpRequest object.. + var orig = request.onreadystatechange; + request.onreadystatechange = function(o) { orig((o && o.target) || o); }; + return request.respond(509, {}); + } else { + return request.respond(200, { 'Content-Type': 'text/xml' }, response); + } + } + ); + server.respond(); + }); + + it('dispatches change event if 429 Too Many Requests', function (done) { + logout(); + connection.on('change', spy); + connection.loadFromAPI(path, function (err) { + expect(err).to.have.property('status', 429); + expect(spy).to.have.been.calledOnce; + done(); + }); + + server.respondWith('GET', 'http://www.openstreetmap.org' + path, + function(request) { + if (!connection.authenticated()) { + // workaround: sinon.js seems to call error handler with a + // sinon.Event instead of the target XMLHttpRequest object.. + var orig = request.onreadystatechange; + request.onreadystatechange = function(o) { orig((o && o.target) || o); }; + return request.respond(429, {}); + } else { + return request.respond(200, { 'Content-Type': 'text/xml' }, response); + } + } + ); + server.respond(); + }); + }); describe('#loadEntity', function () { From 02850f3c60748daaa437f87819ac120aa0e8d66f Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 9 Nov 2016 21:56:01 -0500 Subject: [PATCH 032/119] Show scale bar for values <1m or <1ft (closes #3567) --- modules/ui/scale.js | 2 ++ 1 file changed, 2 insertions(+) diff --git a/modules/ui/scale.js b/modules/ui/scale.js index 948724c76..c3df02c77 100644 --- a/modules/ui/scale.js +++ b/modules/ui/scale.js @@ -28,6 +28,8 @@ export function uiScale(context) { if (dist >= val) { scale.dist = Math.floor(dist / val) * val; break; + } else { + scale.dist = +dist.toFixed(2); } } From af3db7ea36407463a6b78650f058939496067380 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 10 Nov 2016 09:50:14 -0500 Subject: [PATCH 033/119] Swap url hash map order to zoom/latitude/longitude (closes #3554) --- API.md | 7 +++---- CHANGELOG.md | 1 + modules/behavior/hash.js | 8 ++++---- test/spec/behavior/hash.js | 24 +++++------------------- 4 files changed, 13 insertions(+), 27 deletions(-) diff --git a/API.md b/API.md index 7d7b6b44a..672aaaed0 100644 --- a/API.md +++ b/API.md @@ -8,8 +8,8 @@ iD supports several URL parameters. When constructing a URL to a standalone inst of iD (e.g. `http://openstreetmap.us/iD/release/`), the following parameters are available in the hash portion of the URL: -* `map` - A slash separated `zoom/longitude/latitude`. Example: - `map=20.00/-77.02271/38.90085` +* `map` - A slash separated `zoom/latitude/longitude`. Example: + `map=20.00/38.90085/-77.02271` * `id` - The character 'n', 'w', or 'r', followed by the OSM ID of a node, way or relation, respectively. Selects the specified entity, and, unless a `map` parameter is also provided, centers the map on it. @@ -35,8 +35,7 @@ When constructing a URL to an instance of iD embedded in the OpenStreetMap Rails Port (e.g. `http://www.openstreetmap.org/edit?editor=id`), the following parameters are available as regular URL query parameters: -* `map` - slash separated `zoom/latitude/longitude`. Example: - `map=20.00/38.90085/-77.02271`. +* `map` - same as standalone * `lat`, `lon`, `zoom` - Self-explanatory. * `node`, `way`, `relation` - Select the specified entity. * `background` - same as standalone diff --git a/CHANGELOG.md b/CHANGELOG.md index 5106cd2cf..6db9e804a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -12,6 +12,7 @@ * :warning: iD now uses `npm` scripts for all build processes * iD requires Node v4 or higher, but does not require `make` anymore * Update install instructions and prerequisites (#3466, thanks @tyrasd) +* :warning: iD url hash map order has changed to `zoom/latitude/longitude` to match OSM and others (#3554) * Many preset improvements: * Add Construction and Tower Type fields to Mast and Tower presets (#3561, thanks @bkil) * Add Turning Loop (Island) preset, adjust icons for traversable/nontraversable features (#3557) diff --git a/modules/behavior/hash.js b/modules/behavior/hash.js index 1cdeb9b15..6849aa6c3 100644 --- a/modules/behavior/hash.js +++ b/modules/behavior/hash.js @@ -14,8 +14,8 @@ export function behaviorHash(context) { if (args.length < 3 || args.some(isNaN)) { return true; // replace bogus hash } else if (s !== formatter(map).slice(1)) { - map.centerZoom([args[1], - Math.min(lat, Math.max(-lat, args[2]))], args[0]); + map.centerZoom([args[2], + Math.min(lat, Math.max(-lat, args[1]))], args[0]); } }; @@ -40,8 +40,8 @@ export function behaviorHash(context) { } newParams.map = zoom.toFixed(2) + - '/' + center[0].toFixed(precision) + - '/' + center[1].toFixed(precision); + '/' + center[1].toFixed(precision) + + '/' + center[0].toFixed(precision); return '#' + utilQsString(_.assign(q, newParams), true); }; diff --git a/test/spec/behavior/hash.js b/test/spec/behavior/hash.js index 66f2159d3..15c86e963 100644 --- a/test/spec/behavior/hash.js +++ b/test/spec/behavior/hash.js @@ -4,15 +4,13 @@ describe('iD.behaviorHash', function () { var hash, context; beforeEach(function () { - context = iD.Context(window) - .imagery(iD.dataImagery); + context = iD.Context(window); context.container(d3.select(document.createElement('div'))); // Neuter connection context.connection().loadTiles = function () {}; hash = iD.behaviorHash(context); - d3.select(document.createElement('div')) .call(context.map()); }); @@ -22,18 +20,14 @@ describe('iD.behaviorHash', function () { }); it('sets hadHash if location.hash is present', function () { - location.hash = 'map=20.00/-77.02405/38.87952'; - + location.hash = 'map=20.00/38.87952/-77.02405'; hash(); - expect(hash.hadHash).to.be.true; }); it('centerZooms map to requested level', function () { - location.hash = 'map=20.00/-77.02405/38.87952'; - + location.hash = 'map=20.00/38.87952/-77.02405'; hash(); - expect(context.map().center()[0]).to.be.closeTo(-77.02405, 0.1); expect(context.map().center()[1]).to.be.closeTo(38.87952, 0.1); expect(context.map().zoom()).to.equal(20.0); @@ -41,7 +35,6 @@ describe('iD.behaviorHash', function () { it('centerZooms map at requested coordinates on hash change', function (done) { hash(); - d3.select(window).on('hashchange', function () { expect(context.map().center()[0]).to.be.closeTo(-77.02405, 0.1); expect(context.map().center()[1]).to.be.closeTo(38.87952, 0.1); @@ -49,24 +42,17 @@ describe('iD.behaviorHash', function () { d3.select(window).on('hashchange', null); done(); }); - - location.hash = 'map=20.00/-77.02405/38.87952'; + location.hash = 'map=20.00/38.87952/-77.02405'; }); it('stores the current zoom and coordinates in location.hash on map move events', function () { location.hash = ''; - hash(); - var clock = sinon.useFakeTimers(); - - context.map().center([38.9, -77.0]); + context.map().center([-77.0, 38.9]); context.map().zoom(2.0); - clock.tick(500); - expect(location.hash).to.equal('#map=2.00/38.9/-77.0'); - clock.restore(); }); }); From 722eb3ae4bdff1a387d6fabc975fa732477125a4 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 10 Nov 2016 11:17:28 -0500 Subject: [PATCH 034/119] perf: call geoPolygonIntersectsPolygon monomorphically to avoid deopts --- modules/osm/relation.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/osm/relation.js b/modules/osm/relation.js index 9ce06f566..e4b754994 100644 --- a/modules/osm/relation.js +++ b/modules/osm/relation.js @@ -286,7 +286,7 @@ _.extend(osmRelation.prototype, { for (o = 0; o < outers.length; o++) { outer = outers[o]; - if (geoPolygonIntersectsPolygon(outer, inner)) + if (geoPolygonIntersectsPolygon(outer, inner, false)) return o; } } From c46c5d94f54d5cba5719e8123f98c623020bfd99 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 10 Nov 2016 14:02:01 -0500 Subject: [PATCH 035/119] Prevent imagery offset nudging buttons from getting stuck (closes #3576) --- CHANGELOG.md | 1 + modules/ui/background.js | 24 +++++++++++++++++++----- 2 files changed, 20 insertions(+), 5 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6db9e804a..233eec336 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -67,6 +67,7 @@ * Allow `Del` key as a without modifier as a Delete shortcut (#3455) * Remove diacritics (accented chars) when doing fuzzy searches (#3159) * Bugfixes: + * Prevent imagery offset nudging buttons from getting stuck if user clicks again (#3576) * Don't include terms for non-searchable presets in translation source (#3323) * Let user know if the documentation points to a redirect page (#3337) * Fix line labeling placement for IE11, Edge (#3020) diff --git a/modules/ui/background.js b/modules/ui/background.js index 2e956fb92..f8758ea2a 100644 --- a/modules/ui/background.js +++ b/modules/ui/background.js @@ -208,6 +208,7 @@ export function uiBackground(context) { function resetOffset() { + if (d3.event.button !== 0) return; context.background().offset([0, 0]); updateOffsetVal(); } @@ -220,22 +221,30 @@ export function uiBackground(context) { function buttonOffset(d) { + if (d3.event.button !== 0) return; var timeout = window.setTimeout(function() { interval = window.setInterval(nudge.bind(null, d), 100); }, 500), interval; - d3.select(window).on('mouseup', function() { - window.clearInterval(interval); + function doneNudge() { window.clearTimeout(timeout); - d3.select(window).on('mouseup', null); - }); + window.clearInterval(interval); + d3.select(window) + .on('mouseup.buttonoffset', null, true) + .on('mousedown.buttonoffset', null, true); + } + + d3.select(window) + .on('mouseup.buttonoffset', doneNudge, true) + .on('mousedown.buttonoffset', doneNudge, true); nudge(d); } function inputOffset() { + if (d3.event.button !== 0) return; var input = d3.select(this); var d = input.node().value; @@ -257,6 +266,7 @@ export function uiBackground(context) { function dragOffset() { + if (d3.event.button !== 0) return; var origin = [d3.event.clientX, d3.event.clientY]; context.container() @@ -275,6 +285,7 @@ export function uiBackground(context) { nudge(d); }) .on('mouseup.offset', function() { + if (d3.event.button !== 0) return; d3.selectAll('.nudge-surface') .remove(); @@ -313,7 +324,7 @@ export function uiBackground(context) { if (show) { selection.on('mousedown.background-inside', function() { - return d3.event.stopPropagation(); + d3.event.stopPropagation(); }); content.style('display', 'block') .style('right', '-300px') @@ -460,6 +471,7 @@ export function uiBackground(context) { .classed('hide-toggle', true) .classed('expanded', false) .on('click', function() { + if (d3.event.button !== 0) return; var exp = d3.select(this).classed('expanded'); nudgeContainer.style('display', exp ? 'none' : 'block'); d3.select(this).classed('expanded', !exp); @@ -483,6 +495,7 @@ export function uiBackground(context) { .append('input') .on('change', inputOffset) .on('mousedown', function() { + if (d3.event.button !== 0) return; d3.event.stopPropagation(); }); @@ -492,6 +505,7 @@ export function uiBackground(context) { .append('button') .attr('class', function(d) { return d[0] + ' nudge'; }) .on('mousedown', function(d) { + if (d3.event.button !== 0) return; buttonOffset(d[1]); }); From e606f4713f5a9ed2b2752316c8420360bbc77869 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 10 Nov 2016 15:14:27 -0500 Subject: [PATCH 036/119] Force utilDetect() to re-detect after setting the locale (closes #3574) --- modules/core/context.js | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/modules/core/context.js b/modules/core/context.js index a0c8ee52a..2a773cefe 100644 --- a/modules/core/context.js +++ b/modules/core/context.js @@ -1,6 +1,6 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { t, addTranslation, setLocale } from '../util/locale'; +import { t, currentLocale, addTranslation, setLocale } from '../util/locale'; import { coreHistory } from './history'; import { dataLocales, dataEn } from '../../data/index'; import { geoRawMercator } from '../geo/raw_mercator'; @@ -22,12 +22,7 @@ export function setAreaKeys(value) { } -export function coreContext(root) { - if (!root.locale) { - root.locale = { - current: function(_) { this._current = _; } - }; - } +export function coreContext() { addTranslation('en', dataEn); setLocale('en'); @@ -310,9 +305,14 @@ export function coreContext(root) { return context.asset('img/' + _); }; + + /* locales */ + // `locale` variable contains a "requested locale". + // It won't become the `currentLocale` until after loadLocale() is called. var locale, localePath; + context.locale = function(loc, path) { - if (!arguments.length) return locale; + if (!arguments.length) return currentLocale; locale = loc; localePath = path; return context; @@ -325,12 +325,17 @@ export function coreContext(root) { if (!err) { addTranslation(locale, result[locale]); setLocale(locale); + utilDetect(true); } if (callback) { callback(err); } }); } else { + if (locale) { + setLocale(locale); + utilDetect(true); + } if (callback) { callback(); } From f800e5afbc6dee0fb06a7aae6fd60d9544cc95ea Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 10 Nov 2016 15:19:03 -0500 Subject: [PATCH 037/119] Remove unnecessary `window` parameter to Context --- API.md | 6 +++--- data/presets/README.md | 2 +- index.html | 2 +- test/spec/actions/split.js | 2 +- test/spec/behavior/hash.js | 2 +- test/spec/behavior/lasso.js | 2 +- test/spec/behavior/select.js | 2 +- test/spec/core/context.js | 12 ++++++------ test/spec/core/history.js | 2 +- test/spec/modes/add_point.js | 2 +- test/spec/osm/way.js | 2 +- test/spec/renderer/features.js | 2 +- test/spec/renderer/map.js | 2 +- test/spec/renderer/tile_layer.js | 2 +- test/spec/services/mapillary.js | 2 +- test/spec/services/osm.js | 2 +- test/spec/svg/areas.js | 2 +- test/spec/svg/layers.js | 2 +- test/spec/svg/lines.js | 2 +- test/spec/svg/midpoints.js | 2 +- test/spec/svg/points.js | 2 +- test/spec/svg/vertices.js | 2 +- test/spec/ui/fields/access.js | 2 +- test/spec/ui/fields/wikipedia.js | 2 +- test/spec/ui/raw_tag_editor.js | 2 +- 25 files changed, 32 insertions(+), 32 deletions(-) diff --git a/API.md b/API.md index 672aaaed0..8c686d5ec 100644 --- a/API.md +++ b/API.md @@ -147,7 +147,7 @@ iD can use external presets exclusively or along with the default OpenStreetMap ```js -var id = iD.Context(window) +var id = iD.Context() .presets(customPresets) .imagery(iD.dataImagery); @@ -161,7 +161,7 @@ Just like Presets, Imagery can be configured using the `context.imagery` accesso ```js -var id = iD.Context(window) +var id = iD.Context() .presets(customPresets) .imagery(customImagery); @@ -176,7 +176,7 @@ The minimum zoom at which iD enters the edit mode is configured using the `conte ```js -var id = iD.Context(window). +var id = iD.Context() .minEditableZoom(zoom_level) ``` diff --git a/data/presets/README.md b/data/presets/README.md index 6c354019b..ac5d0986f 100644 --- a/data/presets/README.md +++ b/data/presets/README.md @@ -236,7 +236,7 @@ iD supports deployments which use a custom set of presets. You can supply preset the `presets` accessor: ```js -var id = iD.Context(window).presets({ +var id = iD.Context().presets({ presets: { ... }, fields: { ... }, defaults: { ... }, diff --git a/index.html b/index.html index e8638d677..930cd9e1c 100644 --- a/index.html +++ b/index.html @@ -17,7 +17,7 @@
From 9c8037ca4eef694eb33678b7317829278ced5f4e Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Mon, 14 Nov 2016 02:17:41 -0500 Subject: [PATCH 043/119] chore(package): update lodash to version 4.17.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a86276920..8e7aa15f2 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "diacritics": "1.2.3", - "lodash": "4.16.6", + "lodash": "4.17.0", "marked": "0.3.6", "osm-auth": "1.0.1", "rbush": "2.0.1", From 93d50b4e876bc937678a162ce45e253697e7ed37 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 14 Nov 2016 11:15:03 -0500 Subject: [PATCH 044/119] Use live bound object for imagery array, remove context.imagery() accessor Also update documentation, closes #3359 --- API.md | 89 +++++++++++++++++++++++++++------- data/index.js | 6 ++- dist/index.html | 5 +- index.html | 2 +- modules/core/context.js | 12 ++--- modules/renderer/background.js | 12 +++-- modules/svg/debug.js | 5 +- test/spec/behavior/lasso.js | 2 +- test/spec/behavior/select.js | 2 +- test/spec/modes/add_point.js | 1 - test/spec/renderer/map.js | 2 +- test/spec/spec_helpers.js | 1 + 12 files changed, 97 insertions(+), 42 deletions(-) diff --git a/API.md b/API.md index 8c686d5ec..8038fa3df 100644 --- a/API.md +++ b/API.md @@ -137,9 +137,79 @@ class. Elements that are currently selected shall have the `.selected` class. + ## Customized Deployments -iD is used to edit data outside of the OpenStreetMap environment. There are some basic configuration steps to introduce custom presets, imagery and tag information. +iD may be used to edit maps in a non-OpenStreetMap environment. This requires +certain parts of the iD code to be replaced at runtime by custom code or data. + +iD is written in a modular style and bundled with [rollup.js](http://rollupjs.org/), +which makes hot code replacement tricky. (ES6 module exports are +[immutable bindings](http://www.2ality.com/2015/07/es6-module-exports.html)). +Because of this, the parts of iD which are designed for customization are exported +as live bound objects that can be overriden at runtime _before initializing the iD context_. + +### Services + +The `iD.services` object includes code that talks to other web services. + +To replace the OSM service with a custom service that exactly mimics the default OSM service: +```js +iD.services.osm = serviceMyOSM; +``` + +Some services may be removed entirely. For example, to remove the Mapillary service: +```js +iD.services.mapillary = undefined; +// or +delete iD.services.mapillary; +``` + + +### Background Imagery + +iD's background imagery database is stored in the `iD.data.imagery` array and can be +overridden. (Note that the "None" and "Custom" options will always be shown in the list) + +To remove all imagery from iD: +```js +iD.data.imagery = []; +``` + +To replace all imagery with a single source: +```js +iD.data.imagery = [{ + "id": "ExampleImagery", + "name": "My Imagery", + "type": "tms", + "template": "http://{switch:a,b,c}.tiles.example.com/{z}/{x}/{y}.png" +}]; +``` + +Each imagery source should have the following properties: +* `id` - Unique identifier for this source (also used as a url paramater) +* `name` - Display name for the source +* `type` - Source type, currently only `tms` is supported +* `template` - Url template, valid replacement tokens include: + * `{z}`, `{x}`, `{y}` - for Z/X/Y scheme + * `{-y}` or `{ty}` - for flipped Y + * `{u}` - for quadtile scheme + * `{switch:a,b,c}` - for parts of the url that can be cycled for connection parallelization + +Optional properties: +* `description` - A longer source description which, if included, will be displayed in a popup when viewing the background imagery list +* `overlay` - If `true`, this is an overlay layer (a transparent layer rendered above base imagery layer). Defaults to `false` +* `scaleExtent` - Allowable min and max zoom levels, defaults to `[0, 20]` +* `polygon` - Array of coordinate rings within which imagery is valid. If omitted, imagery is assumed to be valid worldwide +* `overzoom` - Can this imagery be scaled up when zooming in beyond the max zoom? Defaults to `true` +* `terms_url` - Url to link to when displaying the imagery terms +* `terms_html` - Html content to display in the imagery terms +* `terms_text` - Text content to display in the imagery terms +* `best` - If set to `true`, this imagery is considered "better than Bing" and may be chosen by default when iD starts. Will display with a star in the background imagery list. Defaults to `false` + +For more details about the `iD.data.imagery` structure, see +[`update_imagery.js`](https://github.com/openstreetmap/iD/blob/master/data/update_imagery.js). + ### Presets @@ -148,27 +218,12 @@ iD can use external presets exclusively or along with the default OpenStreetMap ```js var id = iD.Context() - .presets(customPresets) - .imagery(iD.dataImagery); + .presets(customPresets); ``` The format of the Preset object is [documented here](https://github.com/openstreetmap/iD/tree/master/data/presets#custom-presets). -### Imagery - -Just like Presets, Imagery can be configured using the `context.imagery` accessor: - -```js - -var id = iD.Context() - .presets(customPresets) - .imagery(customImagery); - -``` - -The Imagery object should follow the structure defined by [editor-layer-index](https://github.com/osmlab/editor-layer-index/blob/gh-pages/schema.json) - ### Minimum Editable Zoom diff --git a/data/index.js b/data/index.js index 60e99a255..970d5544d 100644 --- a/data/index.js +++ b/data/index.js @@ -5,7 +5,6 @@ export { default as dataSuggestions } from 'name-suggestion-index/name-suggestio export { dataAddressFormats } from './address-formats.json'; export { dataDeprecated } from './deprecated.json'; export { dataDiscarded } from './discarded.json'; -export { dataImagery } from './imagery.json'; export { dataLocales } from './locales.json'; export { dataPhoneFormats } from './phone-formats.json'; @@ -24,3 +23,8 @@ export var dataPresets = { categories: categories, fields: fields }; + +import { dataImagery } from './imagery.json'; +export var data = { + imagery: dataImagery +}; diff --git a/dist/index.html b/dist/index.html index 7e4cce361..99f55093e 100644 --- a/dist/index.html +++ b/dist/index.html @@ -37,9 +37,8 @@ document.getElementById('id-container').innerHTML = 'Sorry, your browser is not currently supported. Please use Potlatch 2 to edit the map.'; document.getElementById('id-container').className = 'unsupported'; } else { - var id = iD.Context(window) - .presets(iD.dataPresets) - .imagery(iD.dataImagery); + var id = iD.Context() + .presets(iD.dataPresets); id.ui()(document.getElementById('id-container')); } diff --git a/index.html b/index.html index 1a4395b2e..be8418bbd 100644 --- a/index.html +++ b/index.html @@ -17,9 +17,9 @@
diff --git a/index.html b/index.html index be8418bbd..7168ff60b 100644 --- a/index.html +++ b/index.html @@ -19,7 +19,6 @@ - + diff --git a/test/rendering.html b/test/rendering.html index 7573a3a0d..ae3c5d69a 100644 --- a/test/rendering.html +++ b/test/rendering.html @@ -46,7 +46,7 @@ }; context.presets = function() { - return iD.presetInit().load({ + return iD.presetIndex().load({ presets: { 'amenity/restaurant': { geometry: ['point'], diff --git a/test/spec/actions/split.js b/test/spec/actions/split.js index 94c304a51..009c71195 100644 --- a/test/spec/actions/split.js +++ b/test/spec/actions/split.js @@ -1,8 +1,7 @@ describe('iD.actionSplit', function () { beforeEach(function () { - iD.areaKeys = iD.Context() - .presets(iD.dataPresets).presets().areaKeys(); + iD.areaKeys = iD.Context().presets().areaKeys(); }); describe('#disabled', function () { diff --git a/test/spec/core/context.js b/test/spec/core/context.js index 036b79d27..04f665400 100644 --- a/test/spec/core/context.js +++ b/test/spec/core/context.js @@ -51,54 +51,6 @@ describe('iD.Context', function() { }); }); - describe('#presets', function() { - it('supports custom presets', function() { - var presetsCollection = { - presets: { - 'mines': { - geometry: ['point', 'area'], - name: 'Mining Concession', - tags: { 'concession': 'mining' } - }, - 'area': { - 'name': 'Area', - 'tags': {}, - 'geometry': ['area'] - }, - 'point': { - 'name': 'Point', - 'tags': {}, - 'geometry': ['point'] - }, - 'line': { - 'name': 'Line', - 'tags': {}, - 'geometry': ['line'] - }, - 'vertex': { - 'name': 'Other', - 'tags': {}, - 'geometry': ['vertex'] - } - }, - fields: { - 'name': { - 'key': 'name', - 'type': 'localized', - 'label': 'Name', - 'placeholder': 'Common name (if any)' - } - } - }; - - var context = iD.Context().presets(presetsCollection), - way = iD.Way({tags: {concession: 'mining', area: 'yes'}}), - graph = iD.Graph([way]); - - expect(context.presets().match(way, graph).id).to.eql('mines'); - }); - }); - describe('#debug', function() { it('sets and gets debug flags', function() { var context = iD.Context(), diff --git a/test/spec/modes/add_point.js b/test/spec/modes/add_point.js index b8fff59f8..66916c577 100644 --- a/test/spec/modes/add_point.js +++ b/test/spec/modes/add_point.js @@ -5,7 +5,6 @@ describe.skip('iD.modeAddPoint', function() { var container = d3.select(document.createElement('div')); context = iD.Context() - .presets(iD.dataPresets) .container(container); context.loadTiles = function () {}; diff --git a/test/spec/osm/way.js b/test/spec/osm/way.js index a5879cdf2..a49ea4082 100644 --- a/test/spec/osm/way.js +++ b/test/spec/osm/way.js @@ -318,7 +318,7 @@ describe('iD.osmWay', function() { describe('#isArea', function() { before(function() { - iD.Context().presets(iD.dataPresets); + iD.Context(); }); it('returns false when the way has no tags', function() { diff --git a/test/spec/presets/init.js b/test/spec/presets/index.js similarity index 55% rename from test/spec/presets/init.js rename to test/spec/presets/index.js index e14a18f61..163dd9a2d 100644 --- a/test/spec/presets/init.js +++ b/test/spec/presets/index.js @@ -1,65 +1,84 @@ -describe('iD.presetInit', function() { - var p = { - point: { - tags: {}, - geometry: ['point'] - }, - line: { - tags: {}, - geometry: ['line'] - }, - vertex: { - tags: {}, - geometry: ['vertex'] - }, - residential: { - tags: { highway: 'residential' }, - geometry: ['line'] - }, - park: { - tags: { leisure: 'park' }, - geometry: ['point', 'area'] - } - }; +describe('iD.presetIndex', function() { + var savedPresets; - var c = iD.presetInit().load({presets: p}); + before(function () { + savedPresets = iD.data.presets; + }); + + after(function () { + iD.data.presets = savedPresets; + }); describe('#match', function() { + var testPresets = { + presets: { + point: { + tags: {}, + geometry: ['point'] + }, + line: { + tags: {}, + geometry: ['line'] + }, + vertex: { + tags: {}, + geometry: ['vertex'] + }, + residential: { + tags: { highway: 'residential' }, + geometry: ['line'] + }, + park: { + tags: { leisure: 'park' }, + geometry: ['point', 'area'] + } + } + }; + it('returns a collection containing presets matching a geometry and tags', function() { - var way = iD.Way({ tags: { highway: 'residential' } }), + iD.data.presets = testPresets; + var presets = iD.Context().presets(), + way = iD.Way({ tags: { highway: 'residential' } }), graph = iD.Graph([way]); - expect(c.match(way, graph).id).to.eql('residential'); + + expect(presets.match(way, graph).id).to.eql('residential'); }); it('returns the appropriate fallback preset when no tags match', function() { - var point = iD.Node(), + iD.data.presets = testPresets; + var presets = iD.Context().presets(), + point = iD.Node(), line = iD.Way({ tags: { foo: 'bar' } }), graph = iD.Graph([point, line]); - expect(c.match(point, graph).id).to.eql('point'); - expect(c.match(line, graph).id).to.eql('line'); + expect(presets.match(point, graph).id).to.eql('point'); + expect(presets.match(line, graph).id).to.eql('line'); }); it('matches vertices on a line as vertices', function() { - var point = iD.Node({ tags: { leisure: 'park' } }), + iD.data.presets = testPresets; + var presets = iD.Context().presets(), + point = iD.Node({ tags: { leisure: 'park' } }), line = iD.Way({ nodes: [point.id], tags: { 'highway': 'residential' } }), graph = iD.Graph([point, line]); - expect(c.match(point, graph).id).to.eql('vertex'); + expect(presets.match(point, graph).id).to.eql('vertex'); }); it('matches vertices on an addr:interpolation line as points', function() { - var point = iD.Node({ tags: { leisure: 'park' } }), + iD.data.presets = testPresets; + var presets = iD.Context().presets(), + point = iD.Node({ tags: { leisure: 'park' } }), line = iD.Way({ nodes: [point.id], tags: { 'addr:interpolation': 'even' } }), graph = iD.Graph([point, line]); - expect(c.match(point, graph).id).to.eql('park'); + expect(presets.match(point, graph).id).to.eql('park'); }); - }); + describe('#areaKeys', function() { - var presets = iD.presetInit().load({ + var testPresets = { presets: { 'amenity/fuel/shell': { tags: { 'amenity': 'fuel' }, @@ -91,62 +110,78 @@ describe('iD.presetInit', function() { geometry: ['point', 'area'] } } - }); + }; it('whitelists keys for presets with area geometry', function() { + iD.data.presets = testPresets; + var presets = iD.Context().presets(); expect(presets.areaKeys()).to.include.keys('natural'); }); it('blacklists key-values for presets with a line geometry', function() { + iD.data.presets = testPresets; + var presets = iD.Context().presets(); expect(presets.areaKeys().natural).to.include.keys('tree_row'); expect(presets.areaKeys().natural.tree_row).to.be.true; }); it('does not blacklist key-values for presets with both area and line geometry', function() { + iD.data.presets = testPresets; + var presets = iD.Context().presets(); expect(presets.areaKeys().golf).not.to.include.keys('water_hazard'); }); it('does not blacklist key-values for presets with neither area nor line geometry', function() { + iD.data.presets = testPresets; + var presets = iD.Context().presets(); expect(presets.areaKeys().natural).not.to.include.keys('peak'); }); it('does not blacklist generic \'*\' key-values', function() { + iD.data.presets = testPresets; + var presets = iD.Context().presets(); expect(presets.areaKeys().natural).not.to.include.keys('natural'); }); it('ignores keys like \'highway\' that are assumed to be lines', function() { + iD.data.presets = testPresets; + var presets = iD.Context().presets(); expect(presets.areaKeys()).not.to.include.keys('highway'); }); it('ignores suggestion presets', function() { + iD.data.presets = testPresets; + var presets = iD.Context().presets(); expect(presets.areaKeys()).not.to.include.keys('amenity'); }); - }); - describe('expected matches', function() { - var presets; - before(function() { - presets = iD.presetInit().load(iD.dataPresets); - }); + describe('expected matches', function() { it('prefers building to multipolygon', function() { - var relation = iD.Relation({tags: {type: 'multipolygon', building: 'yes'}}), - graph = iD.Graph([relation]); + iD.data.presets = savedPresets; + var presets = iD.Context().presets(), + relation = iD.Relation({ tags: { type: 'multipolygon', building: 'yes' }}), + graph = iD.Graph([relation]); expect(presets.match(relation, graph).id).to.eql('building'); }); it('prefers building to address', function() { - var way = iD.Way({tags: {area: 'yes', building: 'yes', 'addr:housenumber': '1234'}}), + iD.data.presets = savedPresets; + var presets = iD.Context().presets(), + way = iD.Way({ tags: { area: 'yes', building: 'yes', 'addr:housenumber': '1234' }}), graph = iD.Graph([way]); expect(presets.match(way, graph).id).to.eql('building'); }); it('prefers pedestrian to area', function() { - var way = iD.Way({tags: {area: 'yes', highway: 'pedestrian'}}), + iD.data.presets = savedPresets; + var presets = iD.Context().presets(), + way = iD.Way({ tags: { area: 'yes', highway: 'pedestrian' }}), graph = iD.Graph([way]); expect(presets.match(way, graph).id).to.eql('highway/pedestrian'); }); }); + }); diff --git a/test/spec/ui/fields/access.js b/test/spec/ui/fields/access.js index 772a543ee..4e84c5dd6 100644 --- a/test/spec/ui/fields/access.js +++ b/test/spec/ui/fields/access.js @@ -2,8 +2,7 @@ describe('iD.uiFieldAccess', function() { var selection, field; beforeEach(function() { selection = d3.select(document.createElement('div')); - field = iD.Context() - .presets(iD.dataPresets).presets().field('access'); + field = iD.Context().presets().field('access'); }); it('creates inputs for a variety of modes of access', function() { diff --git a/test/spec/ui/fields/wikipedia.js b/test/spec/ui/fields/wikipedia.js index 237a21671..6ffc13a3a 100644 --- a/test/spec/ui/fields/wikipedia.js +++ b/test/spec/ui/fields/wikipedia.js @@ -14,7 +14,7 @@ describe('iD.uiFieldWikipedia', function() { context = iD.Context(); context.history().merge([entity]); selection = d3.select(document.createElement('div')); - field = context.presets(iD.dataPresets).presets().field('wikipedia'); + field = context.presets().field('wikipedia'); window.JSONP_DELAY = 0; window.JSONP_FIX = { entities: { @@ -114,7 +114,7 @@ describe('iD.uiFieldWikipedia', function() { // skip delayed wikidata for 'Skip' // 'Skip' wikidata +20ms expect(spy.getCall(4)).to.have.been.calledWith({ wikipedia: 'de:Title', wikidata: 'Q216353' }); // 'Title' wikidata +40ms done(); - }, 50); + }, 100); }); it('does not set delayed wikidata tag if selected entity has changed', function(done) { @@ -140,7 +140,7 @@ describe('iD.uiFieldWikipedia', function() { expect(spy.getCall(1)).to.have.been.calledWith({ wikipedia: 'de:Title' }); // 'Title' on blur // wikidata tag not changed because another entity is now selected done(); - }, 50); + }, 100); }); }); From f8e022c7b44d315f338cada5c8976676432b69ee Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 15 Nov 2016 00:27:17 -0500 Subject: [PATCH 046/119] Update ARCHITECTURE.md Could use a bit more, but at least it is up to date (closes #3234) --- ARCHITECTURE.md | 199 ++++++++++++++++++++++++++---------------------- 1 file changed, 108 insertions(+), 91 deletions(-) diff --git a/ARCHITECTURE.md b/ARCHITECTURE.md index 6de3f9a2a..538530aa4 100644 --- a/ARCHITECTURE.md +++ b/ARCHITECTURE.md @@ -1,59 +1,74 @@ -## d3 +## iD Architecture + +iD is written in a modular code style using ES6 modules. The modules are bundled +with [rollup.js](http://rollupjs.org/). iD eventually aims to be a reusable, +modular library to kickstart other JavaScript-based tools for OpenStreetMap. + +### d3 [d3](http://d3js.org/) is the primary library used by iD. It is used for rendering the map data as well as many sorts of general DOM manipulation tasks for which jQuery would often be used. Notable features of d3 that are used by iD include -[d3.xhr](https://github.com/mbostock/d3/wiki/Requests#wiki-d3_xhr), which is +[d3.request](https://github.com/d3/d3/blob/master/API.md#requests-d3-request), which is used to make the API requests to download data from openstreetmap.org and save changes; -[d3.dispatch](https://github.com/mbostock/d3/wiki/Internals#wiki-d3_dispatch), +[d3.dispatch](https://github.com/d3/d3/blob/master/API.md#dispatches-d3-dispatch), which provides a callback-based [Observer pattern](http://en.wikipedia.org/wiki/Observer_pattern) between different parts of iD; -[d3.geoPath](https://github.com/mbostock/d3/wiki/Geo-Paths#wiki-path), which +[d3.geoPath](https://github.com/d3/d3/blob/master/API.md#paths), which generates SVG paths for lines and areas; and -[d3.behavior.zoom](https://github.com/mbostock/d3/wiki/Zoom-Behavior#wiki-zoom), +[d3.zoom](https://github.com/d3/d3/blob/master/API.md#zooming-d3-zoom), which implements map panning and zooming. -## Core -The iD *core* implements OSM data types, a graph of OSM objects' -relationships to one another, an undo/redo history for changes made during -editing, and a couple of important auxiliary classes. It eventually aims -to be a reusable, modular library to kickstart other JavaScript-based -tools for OpenStreetMap. +### Core Module -The OSM data model includes three basic data types: nodes, ways, and -relations. +The iD *core* module implements the basic datastructures needed to support +browser-based editing: -* A _node_ is a point type, having a single geographic coordinate. -* A _way_ is an ordered list of nodes. -* A _relation_ groups together nodes, ways, and other relations to provide +* `iD.coreContext` - container for all iD "global" objects and bootstrap code +* `iD.coreGraph` - graph of objects and their relationships to one another +* `iD.coreHistory` - undo/redo history for changes made during editing +* `iD.coreDifference` - efficiently determine the difference between two graphs +* `iD.coreTree` - performs fast spatial indexing of the loaded objects + +### OSM Module + +The iD *osm* module includes classes which represent the basic OpenStreetMap +objects: nodes, ways, and relations. + +* `iD.osmNode` - a _node_ is a point type, having a single geographic coordinate +* `iD.osmWay` - a _way_ is an ordered list of nodes +* `iD.osmRelation` - a _relation_ groups together nodes, ways, and other relations to provide free-form higher-level structures. -Each of these three types has _tags_: an associative array of key-value pairs which +Each of these three types has _tags_: an associative array of key-value pairs which describe the object. -In iD, these three types are implemented by `iD.Node`, `iD.Way` and -`iD.Relation`. These three classes inherit from a common base, `iD.Entity`. +* `iD.osmEntity` - common base class for `iD.osmNode`, `iD.osmWay`, `iD.osmRelation` + +These three classes inherit from a common base, `iD.osmEntity`. This is the only use of classical inheritance in iD, but it's justified -by the common functionality of the types. Generically, we refer to a +by the common functionality of the types. Generically, we refer to a node, way or relation as an _entity_. -Every entity has an _ID_ either assigned by the OSM database or -a negative, local identifier assigned by iD for newly-created objects. -IDs from the OSM database as treated as opaque strings; no +Every entity has a unique numeric `id`. By convention, positive numbers are +assigned by the OSM database for saved features, and negative numbers are +assigned by the iD editor for local newly-created objects. + +`id` values from the OSM database as treated as opaque strings; no [assumptions](http://lists.openstreetmap.org/pipermail/dev/2013-February/026495.html) are made of them other than that they can be compared for identity and do not -begin with a minus sign (and thus will not conflict with proxy IDs). The three -types of entities have separate ID spaces: a -node can have the same numeric ID as a way or a relation. Instead of segregating -ways, nodes, and other entities into different datastructures, -iD internally uses fully-unique IDs generated by prefixing -each OSM ID with the first letter of the entity type. For example, a way -with OSM ID 123456 is represented as 'w123456' within iD. +begin with a minus sign (and thus will not conflict with local `id` values). +The three types of entities have separate `id` spaces: a node can have the +same numeric `id` as a way or a relation. Instead of segregating ways, nodes, +and other entities into different datastructures, iD internally uses fully-unique +`id` values generated by prefixing each OSM ID with the first letter of the entity +type. For example, a way with OSM `id` `123456` is represented as `w123456` +within iD. iD entities are *immutable*: once constructed, an `Entity` object cannot change. Tags cannot be updated; nodes cannot be added or removed from ways, @@ -66,19 +81,30 @@ structure](http://en.wikipedia.org/wiki/Persistent_data_structure). Since iD is an editor, it must allow for new versions of entities. The solution is that all edits produce new copies of anything that changes. At the -entity level, this takes the form of methods such as `iD.Node#move`, which -returns a new node object that has the same ID and tags as the original, but a -different coordinate. More generically, `iD.Entity#update` returns a new -entity of the same type and ID as the original but with specified properties +entity level, this takes the form of methods such as `iD.osmNode#move`, which +returns a new node object that has the same `id` and `tags` as the original, but a +different `loc` coordinate. More generically, `iD.osmEntity#update` returns +a new entity of the same type and `id` as the original but with specified properties such as `nodes`, `tags`, or `members` replaced. ![](http://farm9.staticflickr.com/8087/8508309757_ccf5b6f09b_o.png) Entities are related to one another: ways have many nodes and relations have -many members. To render a map of a certain area, iD needs a +many members. + +The osm module also includes code related to special kinds of objects in OpenStreetMap. + +* `iD.osmIntersection` - code for working with turn restrictions +* `iD.osmLanes` - code for working with traffic and turn lanes +* `iD.osmMultipolygon` - code for working with multipolygon relations + + +### Editing OSM + +To render a map of a certain area, iD needs a datastructure to hold all the entities in that area and traverse these -relationships. `iD.Graph` provides this functionality. The core of a graph is -a map between IDs and the associated entities; given an ID, the graph can give +relationships. `iD.coreGraph` provides this functionality. The core of a graph is +a map between `id`s and the associated entities; given an `id`, the graph can give you the entity. Like entities, a graph is immutable: adding, replacing, or removing an entity produces a new graph, and the original is unchanged. Because entities are immutable, the original and new graphs can minimize @@ -87,7 +113,7 @@ copying the entire graph. This persistent data structure approach is similar to the internals of the [git](http://git-scm.com/) revision control system. -The final major component of the core is `iD.History`, which tracks the changes +The final major component of the core is `iD.coreHistory`, which tracks the changes made in an editing session and provides undo/redo capabilities. Here, the immutable nature of the core types really pays off: the history is a simple stack of graphs, each representing the state of the data at a particular point @@ -102,41 +128,41 @@ Instead of changing a single copy of local data and having to implement an 'undo' for each specific action, actions in iD do not need to be aware of history and the undo system. -Finally, we have the auxiliary classes `iD.Difference` and `iD.Tree`. +Finally, we have the auxiliary classes `iD.coreDifference` and `iD.coreTree`. -`iD.Difference` encapsulates the difference between two graphs, and knows how to calculate the +`iD.coreDifference` encapsulates the difference between two graphs, and knows how to calculate the set of entities that were created, modified, or deleted, and need to be redrawn. ```js -var a = iD.Graph(), b = iD.Graph(); +var a = iD.coreGraph(), b = iD.coreGraph(); // (fill a & b with data) -var difference = iD.Difference(a, b); +var difference = iD.coreDifference(a, b); -// returns entities created between and b +// returns entities created between a and b difference.created(); ``` -`iD.Tree` calculates the set of downloaded entities that are visible in the +`iD.coreTree` calculates the set of downloaded entities that are visible in the current map view. To calculate this quickly during map interaction, it uses an [R-tree](http://en.wikipedia.org/wiki/R-tree). ```js -var graph = iD.Graph(); +var graph = iD.coreGraph(); // (load OSM data into graph) // this tree indexes the contents of the graph -var tree = iD.Tree(graph); +var tree = iD.coreTree(graph); // quickly pull all features that intersect with an extent var features = tree.intersects( iD.geoExtent([0, 0], [2, 2]), tree.graph()); ``` -## Actions +### Actions Module In iD, an _action_ is a function that accepts a graph as input and returns a new, modified graph as output. Actions typically need other inputs as well; for -example, `iD.actionDeleteNode` also requires the ID of a node to delete. The +example, `iD.actionDeleteNode` also requires the `id` of a node to delete. The additional input is passed to the action's constructor: ```js @@ -165,10 +191,10 @@ knowledge of the OpenStreetMap data model. It is our hope that JavaScript based tools for OpenStreetMap can reuse the iD's core implementation, significantly reducing the work necessary to create a robust tool. -## Modes +### Modes Module With _modes_, we shift gears from abstract data types and algorithms to the -parts of the architecture that implement the user interface for iD. Modes are +parts of the architecture that implement the user interface for iD. Modes are manifested in the interface by the three buttons at the top left: ![Mode buttons](docs/img/modes.png) @@ -199,7 +225,7 @@ The `exit` mode does the opposite, removing the behavior installed by the and exclusive: each mode knows exactly the behavior that is specific to that mode, and exactly one mode's behavior is active at any time. -## Behavior +### Behavior Module Certain behaviors are common to more than one mode. For example, iD indicates interactive map elements by drawing a halo around them when you hover over @@ -208,7 +234,7 @@ of duplicating the code to implement this behavior in all these modes, we extract it to `iD.behaviorHover`. _Behaviors_ take their inspiration from [d3's -behaviors](https://github.com/mbostock/d3/wiki/Behaviors). Like d3's `zoom` +behaviors](https://github.com/d3/d3/blob/master/API.md). Like d3's `zoom` and `drag`, each iD behavior is a function that takes as input a d3 selection (assumed to consist of a single element) and installs the DOM event bindings necessary to implement the behavior. The `Hover` behavior, for example, @@ -223,12 +249,12 @@ Each behavior implements an `off` function that "uninstalls" the behavior. This is very similar to the `exit` method of a mode, and in fact many modes do little else but uninstall behaviors in their `exit` methods. -## Operations +### Operations Module _Operations_ wrap actions, providing their user-interface: tooltips, key bindings, and the logic that determines whether an action can be validly performed given the current map state and selection. Each operation is -constructed with the list of IDs which are currently selected and a `context` +constructed with the list of `id`s which are currently selected and a `context` object which provides access to the history and other important parts of iD's internal state. After being constructed, an operation can be queried as to whether or not it should be made available (i.e., show up in the context menu) @@ -250,11 +276,11 @@ the history, and then enter the appropriate mode. For example, `iD.operationSplit` performs `iD.actionSplit`, then enters `iD.modeSelect` with the resulting ways selected. -## Map Rendering +### Renderer and SVG Modules Finally, we get to the parts of iD that actually draw and manipulate the map -entities on screen. The rendering is coordinated by `iD.Map`, which takes care -of setting up a [Spherical Mercator](http://bl.ocks.org/mbostock/3757132) +entities on screen. The rendering is coordinated by `iD.rendererMap`, which +takes care of setting up a [Spherical Mercator](http://bl.ocks.org/mbostock/3757132) projection and the [zoom behavior](https://github.com/mbostock/d3/wiki/Zoom-Behavior), and provides accessors for such things as the current zoom level and map center. @@ -271,7 +297,7 @@ entity types of the OSM data model: For each of these geometric types, `iD.svg` has a corresponding module: `iD.svgPoints`, `iD.svgVertices`, `iD.svgLines`, and `iD.svgAreas`. To -render entities on screen, `iD.Map` delegates to these modules. Internally, +render entities on screen, `iD.rendererMap` delegates to these modules. Internally, they make heavy use of [d3 joins](http://bost.ocks.org/mike/join/) to manipulate the SVG elements that visually represent the map entities. When an entity is rendered for the first time, it is part of the _enter_ selection, @@ -289,53 +315,44 @@ via CSS at either the key or key-value levels. SVG elements also receive a class corresponding to their entity type (`node`, `way`, or `relation`) and one corresponding to their geometry type (`point`, `line`, or `area`). -The `iD.svg` namespace has a few other modules that don't have a one-to-one +The `iD.svg` module has a few other submodules that don't have a one-to-one correspondence with entities: -* `iD.svgMidpoints` renders the small "virtual node" at the midpoint between +* `iD.svgMidpoints` - draws the small "virtual node" at the midpoint between two vertices. -* `iD.svgLabels` renders the textual - [labels](http://mapbox.com/osmdev/2013/02/12/labeling-id/). -* `iD.svgLayers` sets up a number of layers that ensure that map elements +* `iD.svgLabels` - draws textual labels +* `iD.svgLayers` - sets up a number of layers that ensure that map elements appear in an appropriate z-order. +* `iD.svgOsm` - sets up the OSM-specific data layers +* `iD.svgGpx` - draws gpx traces +* `iD.svgDebug` - draws debugging information -## Other UI +### Other UI iD provides a lot of user interface elements other than the core map component: the page footer, the interface for saving changes, the splash screen you see -the first time you use iD, the geocoding and background layer controls, and the -tag/preset editor, for example. +the first time you use iD, the map controls, and the tag/preset editor, for example. -![Geocoder UI](docs/img/geocoder.png) - -The implementations for all non-map UI components live in the `iD.ui` namespace. -Many of the modules in this namespace follow a pattern for reusable d3 +The implementations for all non-map UI components live in the `iD.ui` module. +Many of the submodules under the `ui` module follow a pattern for reusable d3 components [originally suggested](http://bost.ocks.org/mike/chart/) by Mike -Bostock in the context of charts. The entry point to a UI element is a -constructor function, e.g. `iD.uiGeocoder()`. The constructor function may +Bostock in the context of charts. The entry point to a UI element is a +constructor function, e.g. `iD.uiViewOnOSM()`. The constructor function may require a set of mandatory arguments; for most UI components exactly one -argument is required, a `context` object produced by the top-level `iD()` -function. +argument is required, a `context`. -A component needs some way to be rendered on screen by creating new DOM -elements or manipulating existing elements. This is done by calling the -component as a function, and passing a d3 selection where the component should -render itself: +The constructor function returns a draw function which accepts a d3 selection. +Drawing is then accomplished with +[d3.selection#call](https://github.com/d3/d3-selection/blob/master/README.md#selection_call): -``` -var container = d3.select('body').append('div') - .attr('class', 'map-control geocode-control'); +```js + footer = footer.enter() + .append('div') + .attr('class', 'footer') + .merge(footer); -var geocoder = iD.uiGeocoder(context)(container); -``` - -Alternatively, and more commonly, the same result is accomplished with -[d3.selection#call](https://github.com/mbostock/d3/wiki/Selections#wiki-call): - -``` -d3.select('body').append('div') - .attr('class', 'map-control geocode-control') - .call(iD.uiGeocoder(context)); + footer + .call(uiViewOnOSM(context).entityID(entityID)); ``` Some components are reconfigurable, and some provide functionality beyond From 6828187d962d4c5fa1045fcd9e3423e8bccd04d8 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 15 Nov 2016 00:37:59 -0500 Subject: [PATCH 047/119] npm run translations --- dist/locales/af.json | 6 - dist/locales/ar.json | 88 +++- dist/locales/ast.json | 308 ++++++++++++- dist/locales/bg-BG.json | 18 - dist/locales/bs.json | 7 - dist/locales/ca.json | 110 ++++- dist/locales/cs.json | 106 ++++- dist/locales/da.json | 151 ++++++- dist/locales/de.json | 123 +++++- dist/locales/el.json | 23 - dist/locales/en-GB.json | 18 +- dist/locales/es.json | 128 +++++- dist/locales/et.json | 3 - dist/locales/fa.json | 928 ++++++++++++++++++++++++++++++++-------- dist/locales/fi.json | 22 - dist/locales/fr.json | 347 +++++++++------ dist/locales/gl.json | 6 - dist/locales/hr.json | 28 +- dist/locales/hu.json | 127 +++++- dist/locales/hy.json | 15 - dist/locales/id.json | 42 +- dist/locales/is.json | 6 - dist/locales/it.json | 397 +++++++++++++---- dist/locales/ja.json | 192 +++++++-- dist/locales/kn.json | 12 - dist/locales/ko.json | 22 - dist/locales/lt.json | 21 - dist/locales/lv.json | 3 - dist/locales/nl.json | 117 +++-- dist/locales/no.json | 20 - dist/locales/pl.json | 86 +++- dist/locales/pt-BR.json | 142 +++++- dist/locales/pt.json | 87 +++- dist/locales/ru.json | 26 +- dist/locales/si.json | 3 - dist/locales/sk.json | 23 - dist/locales/sl.json | 21 - dist/locales/sr.json | 21 +- dist/locales/sv.json | 59 ++- dist/locales/tr.json | 19 - dist/locales/uk.json | 82 +++- dist/locales/vi.json | 108 ++++- dist/locales/yue.json | 23 - dist/locales/zh-CN.json | 113 +++-- dist/locales/zh-HK.json | 23 - dist/locales/zh-TW.json | 151 ++++++- dist/locales/zh.json | 6 - 47 files changed, 3185 insertions(+), 1202 deletions(-) diff --git a/dist/locales/af.json b/dist/locales/af.json index 4880bbd10..e7aeeb630 100644 --- a/dist/locales/af.json +++ b/dist/locales/af.json @@ -549,9 +549,6 @@ "tourism": { "label": "Tipe" }, - "towertype": { - "label": "Toring tipe" - }, "trail_visibility": { "label": "Sigbaarheid van voetslaanpad" }, @@ -1337,9 +1334,6 @@ "tourism/attraction": { "name": "Toerismeaantreklikheid" }, - "tourism/camp_site": { - "name": "Kamppeer Plek" - }, "tourism/caravan_site": { "name": "RV Park" }, diff --git a/dist/locales/ar.json b/dist/locales/ar.json index aa73d336d..fcd5fb788 100644 --- a/dist/locales/ar.json +++ b/dist/locales/ar.json @@ -1094,20 +1094,6 @@ "service": { "label": "النوع" }, - "service/bicycle/chain_tool": { - "options": { - "no": "لا", - "undefined": "يفترض أنها لا", - "yes": "نعم" - } - }, - "service/bicycle/pump": { - "options": { - "no": "لا", - "undefined": "يفترض أنها لا", - "yes": "نعم" - } - }, "shelter": { "label": "ملجأ" }, @@ -1166,14 +1152,18 @@ "tourism": { "label": "النوع" }, - "towertype": { - "label": "نوع البرج" + "tracktype": { + "label": "صنف الدرب" }, "traffic_signals": { "label": "النوع" }, "trail_visibility": { - "label": "وضوحية الطريق" + "label": "وضوحية الطريق", + "placeholder": "ممتاز، جيد، رديء ..." + }, + "trees": { + "label": "أشجار" }, "tunnel": { "label": "نفق" @@ -1184,6 +1174,9 @@ "water": { "label": "النوع" }, + "water_point": { + "label": "نقطة مياه" + }, "waterway": { "label": "النوع" }, @@ -1352,6 +1345,9 @@ "name": "أرض مستشفى", "terms": "أرض مستشفى" }, + "amenity/internet_cafe": { + "name": "مقهى الإنترنت" + }, "amenity/library": { "name": "مكتبة", "terms": "مكتبة" @@ -1433,6 +1429,9 @@ "name": "مأوى", "terms": "مأوى, ملجأ, ملاذ, سقيفة, وقاء" }, + "amenity/social_facility/food_bank": { + "name": "بنك غذاء" + }, "amenity/studio": { "name": "أستوديو" }, @@ -1463,6 +1462,9 @@ "name": "أرض جامعة", "terms": "أرض جامعة, حرم جامعي" }, + "amenity/vending_machine/cigarettes": { + "name": "آلة بيع السجائر" + }, "amenity/vending_machine/parking_tickets": { "name": "ماكينة بيع تذاكر وقوف", "terms": "ماكينة تذاكر" @@ -1561,6 +1563,15 @@ "name": "جراج", "terms": "مَرْأب , كراج, تصليح سيارات" }, + "building/greenhouse": { + "name": "بيت بلاستيكي" + }, + "building/hospital": { + "name": "مبنى المستشفى" + }, + "building/hotel": { + "name": "مبنى فندق" + }, "building/house": { "name": "منزل", "terms": "منزل, بيت" @@ -1573,10 +1584,37 @@ "name": "مبنى صناعي", "terms": "مبنى صناعي" }, + "building/public": { + "name": "مبنى عمومي" + }, "building/residential": { "name": "مبنى سكني", "terms": "مبنى سكني" }, + "building/roof": { + "name": "سقف" + }, + "building/train_station": { + "name": "محطة قطار" + }, + "building/university": { + "name": "مبنى جامعي" + }, + "craft/carpenter": { + "name": "نجار" + }, + "craft/jeweler": { + "name": "بائع مجوهرات" + }, + "craft/photographer": { + "name": "مصور" + }, + "craft/plumber": { + "name": "سمكري" + }, + "craft/shoemaker": { + "name": "إسكافي" + }, "emergency/ambulance_station": { "name": "محطة إسعاف", "terms": "محطة إسعاف, محطة اسعاف" @@ -1624,6 +1662,9 @@ "name": "طريق سريع", "terms": "طريق سريع" }, + "highway/motorway_junction": { + "name": "محول طريق سيار / مخرج" + }, "highway/motorway_link": { "name": "رابط لطريق سريع", "terms": "رابط لطريق سريع" @@ -1688,6 +1729,9 @@ "name": "إشارة توقف", "terms": "إشارة توقف، ممنوع الوقوف، قف" }, + "highway/street_lamp": { + "name": "مصباح الشارع" + }, "highway/tertiary": { "name": "طريق ثالثي", "terms": "شارع ثالثي" @@ -1938,6 +1982,9 @@ "name": "خط أنابيب", "terms": "خط أنابيب" }, + "man_made/pumping_station": { + "name": "محطة ضخ" + }, "man_made/storage_tank": { "name": "خزان" }, @@ -1964,6 +2011,9 @@ "name": "محطة مياه", "terms": "محطة مياه" }, + "military/checkpoint": { + "name": "نقطة تفتيش" + }, "military/danger_area": { "name": "منطقة خطرة", "terms": "خطر, خطرة" @@ -2510,10 +2560,6 @@ "name": "معلم سياحي", "terms": "معلم سياحي, مكان سياحي" }, - "tourism/camp_site": { - "name": "موقع مخيم", - "terms": "موقع تخييم" - }, "tourism/caravan_site": { "name": "موقف عربات كبيرة", "terms": "موقف عربات كبيرة" diff --git a/dist/locales/ast.json b/dist/locales/ast.json index ac8f216d5..cec598925 100644 --- a/dist/locales/ast.json +++ b/dist/locales/ast.json @@ -690,6 +690,9 @@ "barrier": { "label": "Tipu" }, + "beauty": { + "label": "Tipu de tienda" + }, "bench": { "label": "Bancu" }, @@ -699,6 +702,15 @@ "bin": { "label": "Contenedor de basoria" }, + "blood_components": { + "label": "Componentes de la sangre", + "options": { + "plasma": "plasma", + "platelets": "plaquetes", + "stemcells": "célules madre", + "whole": "sangre entera" + } + }, "boundary": { "label": "Tipu" }, @@ -773,6 +785,9 @@ "currency_multi": { "label": "Tipos de divisa" }, + "cycle_network": { + "label": "Rede" + }, "cycleway": { "label": "Carriles bici", "options": { @@ -811,6 +826,9 @@ "cycleway:right": "Llau drechu" } }, + "date": { + "label": "Data" + }, "delivery": { "label": "Repartu" }, @@ -826,6 +844,9 @@ "diaper": { "label": "Con cambiador de pañales" }, + "display": { + "label": "Pantalla" + }, "dock": { "label": "Tipu" }, @@ -956,6 +977,9 @@ "internet_access/fee": { "label": "Accesu a Internet de pagu" }, + "kerb": { + "label": "Bordiellu rebaxáu" + }, "lamp_type": { "label": "Tipu" }, @@ -1080,6 +1104,39 @@ "network": { "label": "Rede" }, + "network_bicycle": { + "label": "Tipu de rede", + "options": { + "icn": "Internacional", + "lcn": "Llocal", + "ncn": "Nacional", + "rcn": "Rexonal" + }, + "placeholder": "Llocal, Rexonal, Nacional, Internacional" + }, + "network_foot": { + "label": "Tipu de rede", + "options": { + "iwn": "Internacional", + "lwn": "Llocal", + "nwn": "Nacional", + "rwn": "Rexonal" + }, + "placeholder": "Llocal, Rexonal, Nacional, Internacional" + }, + "network_horse": { + "label": "Tipu de rede", + "options": { + "ihn": "Internacional", + "lhn": "Llocal", + "nhn": "Nacional", + "rhn": "Rexonal" + }, + "placeholder": "Llocal, Rexonal, Nacional, Internacional" + }, + "network_road": { + "label": "Rede" + }, "note": { "label": "Nota" }, @@ -1197,6 +1254,13 @@ "recycling_accepts": { "label": "Aceuta" }, + "recycling_type": { + "label": "Tipu de reciclax", + "options": { + "centre": "Centru de reciclax", + "container": "Contenedor" + } + }, "ref": { "label": "Referencia" }, @@ -1240,6 +1304,7 @@ "label": "Estacional" }, "second_hand": { + "label": "Vende usao", "options": { "no": "Non", "only": "Sólo", @@ -1250,21 +1315,8 @@ "service": { "label": "Tipu" }, - "service/bicycle/chain_tool": { - "label": "Tronchacadenes", - "options": { - "no": "Non", - "undefined": "Créyese que non", - "yes": "Si" - } - }, - "service/bicycle/pump": { - "label": "Bomba", - "options": { - "no": "Non", - "undefined": "Créyese que non", - "yes": "Si" - } + "service/bicycle": { + "label": "Servicios" }, "service_rail": { "label": "Tipu de serviciu", @@ -1359,6 +1411,9 @@ "supervised": { "label": "Supervisáu" }, + "support": { + "label": "Sofitu" + }, "surface": { "label": "Superficie" }, @@ -1386,9 +1441,6 @@ "tourism": { "label": "Tipu" }, - "towertype": { - "label": "Tipu de torre" - }, "tracktype": { "label": "Tipu de caleya", "options": { @@ -1400,6 +1452,9 @@ }, "placeholder": "Sólidu, mayormente sólidu, dondu..." }, + "traffic_calming": { + "label": "Tipu" + }, "traffic_signals": { "label": "Tipu" }, @@ -1424,6 +1479,14 @@ "vending": { "label": "Tipu de mercancía" }, + "visibility": { + "label": "Visibilidá", + "options": { + "area": "Más de 20m (65ft)", + "house": "Fasta 5m (16ft)", + "street": "De 5 a 20m (16 to 65ft)" + } + }, "water": { "label": "Tipu" }, @@ -1455,6 +1518,9 @@ "name": "Direición", "terms": "Señes,Allugamientu" }, + "advertising/billboard": { + "name": "Tableru d'anuncios" + }, "aerialway": { "name": "Tendíu aéreu" }, @@ -1547,6 +1613,9 @@ "amenity/bicycle_rental": { "name": " Alquiler de bicicletes" }, + "amenity/bicycle_repair_station": { + "name": "Caballete pa reparar bicicletes" + }, "amenity/biergarten": { "name": "Cervecería al aire llibre", "terms": "Biergarten" @@ -1610,6 +1679,9 @@ "amenity/courthouse": { "name": "Xulgáu" }, + "amenity/coworking_space": { + "name": "Espaciu de trabayu compartíu" + }, "amenity/dentist": { "name": "Dentista", "terms": "Estomatólogu,Clínica dental" @@ -1746,6 +1818,9 @@ "name": "Reciclaxe", "terms": "Llimpieza,Reutilización,Escombru" }, + "amenity/recycling_centre": { + "name": "Centru de reciclax" + }, "amenity/register_office": { "name": "Oficina de rexistru" }, @@ -1849,6 +1924,9 @@ "amenity/waste_disposal": { "name": "Contenedor de basoria" }, + "amenity/waste_transfer_station": { + "name": "Estación de tresferencia de basoria" + }, "amenity/water_point": { "name": "Agua potable pa caravanes" }, @@ -2190,14 +2268,32 @@ "emergency/defibrillator": { "name": "Desfibrilador" }, + "emergency/designated": { + "name": "Accesu d'emerxencia designáu" + }, + "emergency/destination": { + "name": "Accesu d'emerxencia a destín" + }, "emergency/fire_hydrant": { "name": "Toma de mangueres", "terms": "Apagafueos,Fueu,Boca de riegu" }, + "emergency/no": { + "name": "Accesu d'emerxencia Non" + }, + "emergency/official": { + "name": "Accesu d'emerxencia oficial" + }, "emergency/phone": { "name": "Teléfonu d'emerxencia", "terms": "S.O.S.,Teléfonu d'ayuda,Teléfonu de socorru" }, + "emergency/private": { + "name": "Accesu d'emerxencia priváu" + }, + "emergency/yes": { + "name": "Accesu d'emerxencia Si" + }, "entrance": { "name": "Entrada/Salida", "terms": "Accesu, puerta" @@ -2229,12 +2325,24 @@ "golf/hole": { "name": "Furacu de golf" }, + "golf/lateral_water_hazard_area": { + "name": "Llagu d'agua llateral en golf" + }, + "golf/lateral_water_hazard_line": { + "name": "Llagu d'agua llateral en golf" + }, "golf/rough": { "name": "Rough de golf" }, "golf/tee": { "name": "Salida de percorríu" }, + "golf/water_hazard_area": { + "name": "Llagu de golf" + }, + "golf/water_hazard_line": { + "name": "Llagu de golf" + }, "healthcare/blood_donation": { "name": "Centru de donantes de sangre" }, @@ -2473,6 +2581,12 @@ "leisure/adult_gaming_centre": { "name": "Centru de xuegos p'adultos" }, + "leisure/bird_hide": { + "name": "Observatoriu d'aves" + }, + "leisure/bowling_alley": { + "name": "Bolera americana" + }, "leisure/common": { "name": "Terrén comunitariu" }, @@ -2483,6 +2597,15 @@ "name": "Barbacoa", "terms": "Parrilla" }, + "leisure/fitness_centre": { + "name": "Ximnasiu / Centru de fitness" + }, + "leisure/fitness_centre/yoga": { + "name": "Centru de yoga" + }, + "leisure/fitness_station": { + "name": "Centru de fitness albentestate" + }, "leisure/garden": { "name": "Xardín" }, @@ -2521,6 +2644,9 @@ "leisure/pitch/basketball": { "name": "Pista de baloncestu" }, + "leisure/pitch/bowls": { + "name": "Bolera" + }, "leisure/pitch/rugby_league": { "name": "Campu de rugby a 13" }, @@ -2550,6 +2676,9 @@ "leisure/slipway": { "name": "Rampla de botadura" }, + "leisure/sports_centre": { + "name": "Centru deportivu / Complexu" + }, "leisure/sports_centre/swimming": { "name": "Centru de natación" }, @@ -2616,12 +2745,18 @@ "man_made/pipeline": { "name": "Tubería" }, + "man_made/pumping_station": { + "name": "Estación de bombéu" + }, "man_made/silo": { "name": "Silu" }, "man_made/storage_tank": { "name": "Tanque d'almacenamientu" }, + "man_made/surveillance": { + "name": "Vixilancia" + }, "man_made/survey_point": { "name": "Vértiz xeodésicu" }, @@ -2641,8 +2776,12 @@ "man_made/water_works": { "name": "Captación d'agua" }, + "man_made/works": { + "name": "Fábrica" + }, "military/airfield": { - "name": "Campu d'aviación" + "name": "Campu d'aviación", + "terms": "Aeródromu, Campu d'aviación" }, "military/barracks": { "name": "Cuartel", @@ -2651,8 +2790,20 @@ "military/bunker": { "name": "Bunker" }, + "military/checkpoint": { + "name": "Puntu de control", + "terms": "Puestu de control" + }, + "military/danger_area": { + "name": "Área de peligru", + "terms": "Peligru, Área peligrosa" + }, "military/naval_base": { - "name": "Base naval" + "name": "Base naval", + "terms": "Arsenal" + }, + "military/obstacle_course": { + "name": "Recorríu d'obstáculos" }, "military/range": { "name": "Campu de tiru", @@ -3043,10 +3194,16 @@ "name": "Floristería", "terms": "flores, florista, floristería" }, + "shop/frame": { + "name": "Marcos" + }, "shop/funeral_directors": { "name": "Velatoriu", "terms": "Tanatoriu, Funeraria" }, + "shop/furnace": { + "name": "Fornos" + }, "shop/furniture": { "name": "Mueblería" }, @@ -3074,15 +3231,27 @@ "shop/hifi": { "name": "Equipos de música" }, + "shop/houseware": { + "name": "Menaxe del llar" + }, + "shop/interior_decoration": { + "name": "Decoración d'interiores" + }, "shop/jewelry": { "name": "Xoyería" }, "shop/kiosk": { "name": "Puestu de periódicos" }, + "shop/kitchen": { + "name": "Diseñu de cocines" + }, "shop/laundry": { "name": "Llavandería" }, + "shop/leather": { + "name": "Artículos de piel" + }, "shop/locksmith": { "name": "Cerraxería", "terms": "Cerradura,Llaves" @@ -3094,6 +3263,12 @@ "shop/mall": { "name": "Centru comercial" }, + "shop/massage": { + "name": "Masaxes" + }, + "shop/medical_supply": { + "name": "Tienda d'equipu médicu" + }, "shop/mobile_phone": { "name": "Telefonía móvil" }, @@ -3115,14 +3290,26 @@ "name": "Prensa y revistes", "terms": "Puestu de periódicos," }, + "shop/nutrition_supplements": { + "name": "Tienda de suplementos nutritivos" + }, "shop/optician": { "name": "Óptica", "terms": "ópticu, optometrista" }, + "shop/organic": { + "name": "Tienda de productos ecolóxicos" + }, + "shop/outdoor": { + "name": "Equipamientu d'aire llibre" + }, "shop/paint": { "name": "Tienda de pintures", "terms": "barnices, droguería" }, + "shop/pastry": { + "name": "Pastelería" + }, "shop/pawnbroker": { "name": "Casa d'empeños", "terms": "Monte de piedá" @@ -3135,6 +3322,12 @@ "name": "Fotografía", "terms": "Fotógrafu,Reveláu,Material fotográficu" }, + "shop/pyrotechnics": { + "name": "Venta de pirotecnia" + }, + "shop/radiotechnics": { + "name": "Componentes electrónicos" + }, "shop/religion": { "name": "Artículos relixosos" }, @@ -3145,6 +3338,9 @@ "name": "Mariscos", "terms": "Pescadería" }, + "shop/second_hand": { + "name": "Reventa d'empeños" + }, "shop/shoes": { "name": "Zapatería" }, @@ -3214,6 +3410,9 @@ "shop/weapons": { "name": "Armería" }, + "shop/window_blind": { + "name": "Venta de persianes" + }, "shop/wine": { "name": "Bodega" }, @@ -3230,7 +3429,7 @@ "name": "Atracción turística" }, "tourism/camp_site": { - "name": "Llugar d'acampada" + "name": "Campamentu" }, "tourism/caravan_site": { "name": "Aparcaderu d'autocaravanes" @@ -3273,6 +3472,37 @@ "tourism/zoo": { "name": "Zoo" }, + "traffic_calming": { + "name": "Calmu pal tráficu" + }, + "traffic_calming/bump": { + "name": "Llombu pa reducir velocidá" + }, + "traffic_calming/chicane": { + "name": "Chicane pal tráficu" + }, + "traffic_calming/choker": { + "name": "Estrechamientu de tráficu" + }, + "traffic_calming/cushion": { + "name": "Llombu pa reducir velocidá partíu" + }, + "traffic_calming/dip": { + "name": "Riegu" + }, + "traffic_calming/hump": { + "name": "Llombu anchu pa reducir velocidá" + }, + "traffic_calming/island": { + "name": "Refuxu de tráficu", + "terms": "Islla de tráficu" + }, + "traffic_calming/rumble_strip": { + "name": "Bandes sonores" + }, + "traffic_calming/table": { + "name": "Pasu de peatones eleváu" + }, "type/boundary": { "name": "Llende" }, @@ -3285,6 +3515,27 @@ "type/restriction": { "name": "Torga" }, + "type/restriction/no_left_turn": { + "name": "Xiru a la izquierda torgáu" + }, + "type/restriction/no_right_turn": { + "name": "Xiru a la drecha torgáu" + }, + "type/restriction/no_straight_on": { + "name": "Nun sigue de frente" + }, + "type/restriction/no_u_turn": { + "name": "Sin cambiu de sentíu" + }, + "type/restriction/only_left_turn": { + "name": "Xirar sólo a la izquierda" + }, + "type/restriction/only_right_turn": { + "name": "Xirar sólo a la drecha" + }, + "type/restriction/only_straight_on": { + "name": "Xiru torgáu" + }, "type/route": { "name": "Ruta" }, @@ -3308,6 +3559,10 @@ "name": "Ruta escursionista", "terms": "Senderismu, Escursionismu" }, + "type/route/horse": { + "name": "Ruta a caballu", + "terms": "Ruta ecuestre" + }, "type/route/pipeline": { "name": "Ruta de tubería", "terms": "ruta de tubería" @@ -3321,7 +3576,8 @@ "terms": "Ruta de carretera" }, "type/route/train": { - "name": "Ruta de tren" + "name": "Ruta de tren", + "terms": "Ruta ferroviaria" }, "type/route/tram": { "name": "Ruta de tranvía" @@ -3329,12 +3585,20 @@ "type/route_master": { "name": "Ruta maestra" }, + "type/site": { + "name": "Llugar", + "terms": "Puntu, Allugamientu" + }, "vertex": { "name": "Otru" }, "waterway": { "name": "Vía d'agua" }, + "waterway/boatyard": { + "name": "Astilleru", + "terms": "Carpinteru de ribera, calafate" + }, "waterway/canal": { "name": "Canal" }, diff --git a/dist/locales/bg-BG.json b/dist/locales/bg-BG.json index 28f421042..e5c3c3c0c 100644 --- a/dist/locales/bg-BG.json +++ b/dist/locales/bg-BG.json @@ -814,18 +814,6 @@ "service": { "label": "Вид" }, - "service/bicycle/chain_tool": { - "options": { - "no": "Не", - "yes": "Да" - } - }, - "service/bicycle/pump": { - "options": { - "no": "Не", - "yes": "Да" - } - }, "shelter": { "label": "Навес" }, @@ -863,9 +851,6 @@ "tourism": { "label": "Вид" }, - "towertype": { - "label": "Вид кула" - }, "trail_visibility": { "label": "Видимост на туристическата пътека" }, @@ -1625,9 +1610,6 @@ "tourism/attraction": { "name": "Туристическа атракция" }, - "tourism/camp_site": { - "name": "Къмпинг" - }, "tourism/caravan_site": { "name": "Паркинг за каравани" }, diff --git a/dist/locales/bs.json b/dist/locales/bs.json index 4af886c05..3410603c3 100644 --- a/dist/locales/bs.json +++ b/dist/locales/bs.json @@ -713,9 +713,6 @@ "tourism": { "label": "Vrsta" }, - "towertype": { - "label": "Tip tornja" - }, "trail_visibility": { "label": "Vidljivost traga" }, @@ -2050,10 +2047,6 @@ "name": "Turistička atrakcija", "terms": "turistička atrakcija,spomenici kulture i prirode" }, - "tourism/camp_site": { - "name": "Kamp", - "terms": "kamp,autokamp" - }, "tourism/caravan_site": { "name": "Kamp park", "terms": "kamp park,autokamp" diff --git a/dist/locales/ca.json b/dist/locales/ca.json index 6d6947f05..b47920784 100644 --- a/dist/locales/ca.json +++ b/dist/locales/ca.json @@ -294,6 +294,7 @@ "inspector": { "no_documentation_combination": "No hi ha documentació per a aquesta combinació d'etiquetes", "no_documentation_key": "No hi ha documentació per a aquesta clau", + "documentation_redirect": "Aquesta documentació ha estat redirigida a una nova pàgina", "show_more": "Mostra'n més", "view_on_osm": "Mostra-ho a openstreetmap.org", "all_fields": "Tots els camps", @@ -625,7 +626,7 @@ "name": "Característiques de Golf" }, "category-landuse": { - "name": "Característiques d'Ús de la Terra" + "name": "Característiques d'ús del territori" }, "category-path": { "name": "Característiques de Camins" @@ -781,6 +782,9 @@ "barrier": { "label": "Tipus" }, + "beauty": { + "label": "Tipus de botiga" + }, "bench": { "label": "Banc per a asseure's" }, @@ -1342,6 +1346,13 @@ "recycling_accepts": { "label": "N'accepta" }, + "recycling_type": { + "label": "Tipus de reciclatge", + "options": { + "centre": "Centre de reciclatge", + "container": "Contenidor" + } + }, "ref": { "label": "Referència" }, @@ -1396,21 +1407,8 @@ "service": { "label": "Tipus" }, - "service/bicycle/chain_tool": { - "label": "Eina de cadena", - "options": { - "no": "No", - "undefined": "Sobreentès que és no", - "yes": "Sí" - } - }, - "service/bicycle/pump": { - "label": "Bombament d'aire", - "options": { - "no": "No", - "undefined": "Entès que no", - "yes": "Sí" - } + "service/bicycle": { + "label": "Serveis" }, "service_rail": { "label": "Tipus de servei de la via", @@ -1535,9 +1533,6 @@ "tourism": { "label": "Tipus" }, - "towertype": { - "label": "Tipus de torre" - }, "tracktype": { "label": "Tipus de pista", "options": { @@ -1549,6 +1544,9 @@ }, "placeholder": "Sòlid, majoritàriament sòlid, tou..." }, + "traffic_calming": { + "label": "Tipus" + }, "traffic_signals": { "label": "Tipus" }, @@ -1612,6 +1610,9 @@ "name": "Adreça", "terms": "Adreça, Direcció, Domicili" }, + "advertising/billboard": { + "name": "Taulell" + }, "aerialway": { "name": "Transport per cable" }, @@ -1912,6 +1913,9 @@ "amenity/recycling": { "name": "Reciclatge" }, + "amenity/recycling_centre": { + "name": "Centre de Reciclatge" + }, "amenity/register_office": { "name": "Oficina de registre" }, @@ -2011,6 +2015,9 @@ "amenity/waste_disposal": { "name": "Contenidor d'escombraries" }, + "amenity/waste_transfer_station": { + "name": "Centre de tractament de residus" + }, "amenity/water_point": { "name": "Aigua potable d'autocaravana" }, @@ -2210,6 +2217,9 @@ "building/warehouse": { "name": "Magatzem" }, + "camp_site/camp_pitch": { + "name": "Àrea de campament" + }, "craft": { "name": "Artesà" }, @@ -2416,12 +2426,24 @@ "golf/hole": { "name": "Forat" }, + "golf/lateral_water_hazard_area": { + "name": "Obstacle d'aigua lateral" + }, + "golf/lateral_water_hazard_line": { + "name": "Obstacle d'aigua lateral" + }, "golf/rough": { "name": "Rough" }, "golf/tee": { "name": "Àrea inicial" }, + "golf/water_hazard_area": { + "name": "Obstacle d'aigua" + }, + "golf/water_hazard_line": { + "name": "Obstacle d'aigua" + }, "healthcare/blood_donation": { "name": "Centre de donació de sang" }, @@ -2723,9 +2745,15 @@ "leisure/firepit": { "name": "Lloc per a fogueres" }, + "leisure/fitness_centre": { + "name": "Gimnàs / Centre de Fitness" + }, "leisure/fitness_centre/yoga": { "name": "Estudi de Yoga" }, + "leisure/fitness_station": { + "name": "Instal·lació exterior de Fitness" + }, "leisure/garden": { "name": "Jardí", "terms": "Jardí,Parc,Zona ajardinada" @@ -2806,6 +2834,9 @@ "name": "Pendent per a embarcacions", "terms": "Varador" }, + "leisure/sports_centre": { + "name": "Complex esportiu" + }, "leisure/sports_centre/swimming": { "name": "Instal·lacions de Piscina" }, @@ -3181,6 +3212,9 @@ "railway/abandoned": { "name": "Via fèrria abandonada" }, + "railway/crossing": { + "name": "Pas a nivell (camí)" + }, "railway/disused": { "name": "Via fèrria fora d'ús", "terms": "Via fèrria abandonada, Via de tren fora d'ús, Via de tren abandonada" @@ -3191,6 +3225,9 @@ "railway/halt": { "name": "Parada de Ferrocarril" }, + "railway/level_crossing": { + "name": "Pas a nivell (carretera)" + }, "railway/monorail": { "name": "Monocarril", "terms": "Monoraíl" @@ -3262,6 +3299,12 @@ "shop/beauty": { "name": "Botiga de cosmètics" }, + "shop/beauty/nails": { + "name": "Saló de manicures" + }, + "shop/beauty/tanning": { + "name": "Saló de bronzejat" + }, "shop/bed": { "name": "Botiga de matalassos" }, @@ -3364,6 +3407,9 @@ "name": "Bugaderia", "terms": "Tintoreria, Centre de neteja, Neteja, Neteja en sec" }, + "shop/e-cigarette": { + "name": "Botiga de cigars electrònics" + }, "shop/electronics": { "name": "Botiga d'electrònica", "terms": "Botiga d'electrònica, Botiga de components electrònics" @@ -3498,6 +3544,9 @@ "shop/paint": { "name": "Botiga de pintura" }, + "shop/pastry": { + "name": "Pastisseria" + }, "shop/pawnbroker": { "name": "Botiga d'empenyoraments" }, @@ -3605,6 +3654,9 @@ "tourism/alpine_hut": { "name": "Refugi de muntanya" }, + "tourism/apartment": { + "name": "Habitatge de convidats" + }, "tourism/artwork": { "name": "Obra d'art" }, @@ -3612,7 +3664,7 @@ "name": "Atracció turística" }, "tourism/camp_site": { - "name": "Càmping " + "name": "Àrea d'acampada" }, "tourism/caravan_site": { "name": "Càmping per a caravanes" @@ -3660,14 +3712,32 @@ "name": "Zoo", "terms": "Zoo, Zoològic" }, + "traffic_calming": { + "name": "Mesures de reducció de velocitat" + }, "traffic_calming/bump": { "name": "Ressalt", "terms": "Cavalló, Resalt, Túmul, Reductor, Tope" }, + "traffic_calming/chicane": { + "name": "Chicane" + }, + "traffic_calming/choker": { + "name": "Reductor d'amplada" + }, + "traffic_calming/cushion": { + "name": "Coixí Berlinès" + }, + "traffic_calming/dip": { + "name": "Rebaix" + }, "traffic_calming/hump": { "name": "Esquena d'ase", "terms": "Esquena de ruc, Esquena de burro, Esquena de bou, Esquena de toro, Llom d'ase, Llom de ruc, Llom de burro, Llom de bou, Llom de toro, Ressalt, Cavalló, Túmul" }, + "traffic_calming/island": { + "name": "Refugi viari" + }, "traffic_calming/rumble_strip": { "name": "Bandes rugoses", "terms": "banda, bandes, rugós, rugoses" diff --git a/dist/locales/cs.json b/dist/locales/cs.json index 2ebff2ae7..efb53418d 100644 --- a/dist/locales/cs.json +++ b/dist/locales/cs.json @@ -227,6 +227,7 @@ "localized_translation_name": "Název" }, "zoom_in_edit": "Pro editaci přibližte mapu", + "login": "přihlášení", "logout": "odhlásit", "loading_auth": "Připojování na OpenStreetMap…", "report_a_bug": "Nahlásit chybu", @@ -238,7 +239,8 @@ "status": { "error": "Nepodařilo se připojit k API.", "offline": "API je offline. Zkuste prosím editaci později.", - "readonly": "API je ve stavu \"pouze pro čtení\", takže vaše úpravy nelze uložit. Zkuste to znovu později." + "readonly": "API je ve stavu \"pouze pro čtení\", takže vaše úpravy nelze uložit. Zkuste to znovu později.", + "rateLimit": "API omezuje anonymní připojení. Můžete to vyřešit tím, že se přihlásíte." }, "commit": { "title": "Uložit změny", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "K této kombinaci vlastností není k dispozici dokumentace", "no_documentation_key": "K tomuto klíči není k dispozici dokumentace", + "documentation_redirect": "Tato dokumentace byla přesměrována na novou stránku", "show_more": "Zobrazit víc", "view_on_osm": "Zobrazit na openstreetmap.org", "all_fields": "Všechna pole", @@ -781,6 +784,9 @@ "barrier": { "label": "Typ" }, + "beauty": { + "label": "Druh obchodu" + }, "bench": { "label": "Lavička" }, @@ -799,6 +805,9 @@ "whole": "krev" } }, + "board_type": { + "label": "Typ" + }, "boundary": { "label": "Typ" }, @@ -1020,6 +1029,9 @@ "handrail": { "label": "Zábradlí" }, + "height": { + "label": "Výška (metry)" + }, "highway": { "label": "Typ" }, @@ -1139,6 +1151,12 @@ "man_made": { "label": "Typ" }, + "map_size": { + "label": "Pokrytí" + }, + "map_type": { + "label": "Typ" + }, "maxspeed": { "label": "Povolená rychlost", "placeholder": "40, 50, 60..." @@ -1342,6 +1360,13 @@ "recycling_accepts": { "label": "Určení" }, + "recycling_type": { + "label": "Druh recyklace", + "options": { + "centre": "Recyklační centrum", + "container": "Kontejner" + } + }, "ref": { "label": "Označení" }, @@ -1396,21 +1421,8 @@ "service": { "label": "Typ" }, - "service/bicycle/chain_tool": { - "label": "Nýtovač řetězu", - "options": { - "no": "Ne", - "undefined": "Implicitně Ne", - "yes": "Ano" - } - }, - "service/bicycle/pump": { - "label": "Pumpička", - "options": { - "no": "Ne", - "undefined": "Implicitně Ne", - "yes": "Ano" - } + "service/bicycle": { + "label": "Služby" }, "service_rail": { "label": "Typ manipulační koleje", @@ -1535,8 +1547,11 @@ "tourism": { "label": "Typ" }, - "towertype": { - "label": "Typ věže" + "tower/construction": { + "label": "Konstrukce" + }, + "tower/type": { + "label": "Typ" }, "tracktype": { "label": "Klasifikace povrchu", @@ -1549,6 +1564,9 @@ }, "placeholder": "Pevný, převážně pevný, měkký povrch" }, + "traffic_calming": { + "label": "Typ" + }, "traffic_signals": { "label": "Typ" }, @@ -1612,6 +1630,10 @@ "name": "Adresa", "terms": "adresa,PSČ,ulice" }, + "advertising/billboard": { + "name": "Reklamní poutač", + "terms": "reklama,billboard,plakát" + }, "aerialway": { "name": "Lanovka/vlek" }, @@ -1861,6 +1883,9 @@ "name": "Zmrzlina", "terms": "zmrzlina,prodejna zmrzliny,zmrzlinářství,nanuk,mražený jogurt,gelato,sorbet" }, + "amenity/internet_cafe": { + "name": "Internetová kavárna" + }, "amenity/kindergarten": { "name": "Prostor školky/jeslí", "terms": "jesle,školka,kindergarten,předškolní,mateřská školka" @@ -1953,6 +1978,9 @@ "name": "Recyklační místo", "terms": "recyklace,kontejner,recyklační centrum,sběr,sběrna,sběrné suroviny,sběrna odpadu,sběr odpadu,odpad,odpadky,popelnice" }, + "amenity/recycling_centre": { + "name": "Recyklační centrum" + }, "amenity/register_office": { "name": "Matriční úřad" }, @@ -2071,6 +2099,9 @@ "name": "Kontejner na směsný odpad", "terms": "kontejner,popelnice,odpad,odpadky" }, + "amenity/waste_transfer_station": { + "name": "Překládací stanice odpadu" + }, "amenity/water_point": { "name": "Pitná voda pro karavany", "terms": "pitná voda,karavan,obytný vůz" @@ -2295,6 +2326,9 @@ "name": "Skladiště", "terms": "skladiště,sklad,překladiště,hala,silo,repozitář" }, + "camp_site/camp_pitch": { + "name": "Stanoviště v kempu" + }, "craft": { "name": "Řemeslník", "terms": "řemeslník,řemeslo,ruční výroba" @@ -2553,6 +2587,14 @@ "name": "Dráha do jamky", "terms": "jamka,dráha od odpaliště,dráha do jamkoviště,dráha" }, + "golf/lateral_water_hazard_area": { + "name": "Podélná vodní překážka", + "terms": "voda,podélná voda,podélná překážka,červená voda" + }, + "golf/lateral_water_hazard_line": { + "name": "Podélná vodní překážka", + "terms": "voda,podélná voda,podélná překážka,červená voda" + }, "golf/rough": { "name": "Rough", "terms": "rough,vysoká tráva" @@ -2561,6 +2603,14 @@ "name": "Odpaliště", "terms": "odpaliště,tee,týčko,tee box" }, + "golf/water_hazard_area": { + "name": "Vodní překážka", + "terms": "voda,příčná voda,příčná překážka,žlutá voda" + }, + "golf/water_hazard_line": { + "name": "Vodní překážka", + "terms": "voda,příčná voda,příčná překážka,žlutá voda" + }, "healthcare/blood_donation": { "name": "Odběr krve", "terms": "odběr krve,darování krve,transfúze,transfúzní stanice" @@ -2728,6 +2778,10 @@ "name": "Obratiště", "terms": "místo k otočení" }, + "highway/turning_loop": { + "name": "Obratiště s ostrůvkem", + "terms": "obratiště,smyčka,ostrůvek" + }, "highway/unclassified": { "name": "Silnice bez klasifikace", "terms": "silnice bez klasifikace,neklasifikovaná silnice,místní komunikace" @@ -3436,6 +3490,9 @@ "name": "Opuštěná železnice", "terms": "opuštěná železnice,opuštěná trať,nepoužívaná" }, + "railway/crossing": { + "name": "Železniční přejezd (přes cestu)" + }, "railway/disused": { "name": "Nepoužívaná železnice", "terms": "nepoužívaná železnice, nepoužívaná železniční dráha" @@ -3448,6 +3505,9 @@ "name": "Železniční zastávka", "terms": "železniční zastávka, železniční stanice, vlaková zastávka, vlaková stanice, nádraží, železniční nástupiště, vlakové nástupiště" }, + "railway/level_crossing": { + "name": "Železniční přejezd (přes silnici)" + }, "railway/monorail": { "name": "Jednokolejka", "terms": "jednokolejka,monorail,jednokolejná trať" @@ -3531,6 +3591,12 @@ "name": "Kosmetický salón", "terms": "kosmetický salón,kadeřnictví,vizážista,kosmetika,salón krásy,nehty,kosmetika,depilace" }, + "shop/beauty/nails": { + "name": "Nehtový salón" + }, + "shop/beauty/tanning": { + "name": "Solarium" + }, "shop/bed": { "name": "Prodejna postelí", "terms": "postel,postele,matrace,lůžko,lůžka,spaní,spánek" @@ -3961,10 +4027,6 @@ "name": "Pamětihodnost", "terms": "pamětihodnost,turistická atrakce,turistická zajímavost,turistické lákadlo,atrakce,zajímavost,lákadlo" }, - "tourism/camp_site": { - "name": "Kemp", - "terms": "kemp,camp,camping,kamp,kamping,stan,přívěs,karavan,tábořiště,tábor" - }, "tourism/caravan_site": { "name": "Místo pro karavany", "terms": "místo pro karavany,kemp,camp,camping,karavan" diff --git a/dist/locales/da.json b/dist/locales/da.json index 9e9ab92ad..bf8ad6b6f 100644 --- a/dist/locales/da.json +++ b/dist/locales/da.json @@ -227,6 +227,7 @@ "localized_translation_name": "Navn" }, "zoom_in_edit": "Zoom ind for at redigere", + "login": "login", "logout": "log ud", "loading_auth": "Forbinder til OpenStreetMap...", "report_a_bug": "Rapporterer en fejl", @@ -238,7 +239,8 @@ "status": { "error": "Er ikke i stand til at forbinde til API'et.", "offline": "API'et er offline. Prøv venligst at redigere senere.", - "readonly": "API'et er i læs-kun-status. Du er nødt til at vente med at gemme dine ændringer." + "readonly": "API'et er i læs-kun-status. Du er nødt til at vente med at gemme dine ændringer.", + "rateLimit": "Dette er API er begrænset ved annonym forbindelse. Du kan ordne dette ved at være logget ind." }, "commit": { "title": "Gem ændringer", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "Der er ingen tilgængelig dokumentation for denne kombination af tags", "no_documentation_key": "Der er ingen tilgængelig dokumentation for denne nøgle", + "documentation_redirect": "Denne dokumentation er blevet redigereret til en ny side", "show_more": "Vis mere", "view_on_osm": "Se på openstreetmap.org", "all_fields": "Alle felter", @@ -781,6 +784,9 @@ "barrier": { "label": "Type" }, + "beauty": { + "label": "Butikstype" + }, "bench": { "label": "Bænk" }, @@ -799,6 +805,9 @@ "whole": "Blodtransfusionspakke" } }, + "board_type": { + "label": "Type" + }, "boundary": { "label": "Type" }, @@ -1020,6 +1029,9 @@ "handrail": { "label": "Gelænder" }, + "height": { + "label": "Højde (meter)" + }, "highway": { "label": "Type" }, @@ -1139,6 +1151,12 @@ "man_made": { "label": "Type" }, + "map_size": { + "label": "Dækning" + }, + "map_type": { + "label": "Type" + }, "maxspeed": { "label": "Hastighedsbegrænsning", "placeholder": "40, 50, 60..." @@ -1342,6 +1360,13 @@ "recycling_accepts": { "label": "Accepterer" }, + "recycling_type": { + "label": "Genbrugstype", + "options": { + "centre": "Genbrugsplads", + "container": "Container" + } + }, "ref": { "label": "Reference" }, @@ -1396,21 +1421,8 @@ "service": { "label": "Type" }, - "service/bicycle/chain_tool": { - "label": "Kædeværktøj", - "options": { - "no": "Nej", - "undefined": "Antages at være Nej", - "yes": "Ja" - } - }, - "service/bicycle/pump": { - "label": "Luftpumpe", - "options": { - "no": "Nej", - "undefined": "Antages at være Nej", - "yes": "Ja" - } + "service/bicycle": { + "label": "Service" }, "service_rail": { "label": "Servicetype", @@ -1535,8 +1547,12 @@ "tourism": { "label": "Type" }, - "towertype": { - "label": "Tårntype" + "tower/construction": { + "label": "Konstruktion", + "placeholder": "Udbarduneret, Lattice, Fastspændt, ..." + }, + "tower/type": { + "label": "Type" }, "tracktype": { "label": "Sportype", @@ -1549,6 +1565,9 @@ }, "placeholder": "Fast, overvejende fast, blød …" }, + "traffic_calming": { + "label": "Type" + }, "traffic_signals": { "label": "Type" }, @@ -1612,6 +1631,10 @@ "name": "Adresse", "terms": "adresse, adresser" }, + "advertising/billboard": { + "name": "Billboard", + "terms": "Billboard, Gadeopslagstavle" + }, "aerialway": { "name": "Skiliftbane" }, @@ -1861,6 +1884,10 @@ "name": "Ishus", "terms": "Ishus, isbutik" }, + "amenity/internet_cafe": { + "name": "Internetcafe", + "terms": "Internetcafe" + }, "amenity/kindergarten": { "name": "Børnehavegrund", "terms": "Børnehavegrund" @@ -1953,6 +1980,10 @@ "name": "Genbrug", "terms": "Genbrug" }, + "amenity/recycling_centre": { + "name": "Genbrugsplads", + "terms": "Genbrugsplads" + }, "amenity/register_office": { "name": "Tinglysningskontor" }, @@ -2071,6 +2102,10 @@ "name": "Skraldespand", "terms": "Skraldespand" }, + "amenity/waste_transfer_station": { + "name": "Affaldsstation", + "terms": "Affaldsstation, Omlasteplads" + }, "amenity/water_point": { "name": "Genbrugsvand", "terms": "Genbrugsvand" @@ -2295,6 +2330,10 @@ "name": "Lager", "terms": "Lager, Lagerhotel, Varelager" }, + "camp_site/camp_pitch": { + "name": "Campingplads", + "terms": "Campingplads" + }, "craft": { "name": "Håndværk", "terms": "Håndværk" @@ -2553,6 +2592,14 @@ "name": "Golfhul", "terms": "Golfhul" }, + "golf/lateral_water_hazard_area": { + "name": "Golfvandhul", + "terms": "Golfvandhul" + }, + "golf/lateral_water_hazard_line": { + "name": "Golfvandhul", + "terms": "Golfvandhul" + }, "golf/rough": { "name": "Rough", "terms": "Rough, Højt gras" @@ -2561,6 +2608,14 @@ "name": "Tee Box", "terms": "Tee Box" }, + "golf/water_hazard_area": { + "name": "Golfvandbunker", + "terms": "Golfvandbunker" + }, + "golf/water_hazard_line": { + "name": "Golfvandbunker", + "terms": "Golfvandbunker" + }, "healthcare/blood_donation": { "name": "Blodbank", "terms": "Blodbank, Donorblodbank" @@ -2728,6 +2783,10 @@ "name": "Vendeplads", "terms": "Vendeplads" }, + "highway/turning_loop": { + "name": "Helleanlæg (trafikø)", + "terms": "Helleanlæg (trafikø)" + }, "highway/unclassified": { "name": "Mindre/Uspecificeret vej", "terms": "Mindre/Uspecificeret vej" @@ -3552,6 +3611,14 @@ "name": "Parfumebutik", "terms": "Parfumebutik, Skønhedbutik, Materialist" }, + "shop/beauty/nails": { + "name": "Neglesalon", + "terms": "Neglesalon" + }, + "shop/beauty/tanning": { + "name": "Hudklinik", + "terms": "Hudklinik" + }, "shop/bed": { "name": "Sengetøj / Madras forhandler", "terms": "Sengetøj / Madras forhandler" @@ -3978,6 +4045,10 @@ "name": "Bjerghytte", "terms": "Bjerghytte" }, + "tourism/apartment": { + "name": "Gæstelejlighed/Ejerlejlighed", + "terms": "Gæstelejlighed/Ejerlejlighed" + }, "tourism/artwork": { "name": "Kunstværk", "terms": "Kunstværk" @@ -3987,8 +4058,8 @@ "terms": "Turistattraktion, Seværdighed" }, "tourism/camp_site": { - "name": "Campingplads", - "terms": "Campingplads" + "name": "Campinggrund", + "terms": "Campinggrund" }, "tourism/caravan_site": { "name": "Autocamperplads", @@ -4018,6 +4089,22 @@ "name": "Information", "terms": "Turistinformation" }, + "tourism/information/board": { + "name": "Informationstavle", + "terms": "Informationstavle" + }, + "tourism/information/guidepost": { + "name": "Guidepost", + "terms": "Guidepost" + }, + "tourism/information/map": { + "name": "Kort", + "terms": "Kort" + }, + "tourism/information/office": { + "name": "Turistinformationskontor", + "terms": "Turistinformationskontor" + }, "tourism/motel": { "name": "Motel", "terms": "Motel, Bilmotel" @@ -4042,14 +4129,38 @@ "name": "Zoologisk have", "terms": "Zoologisk have, Zoo" }, + "traffic_calming": { + "name": "Trafiksanering", + "terms": "Trafiksanering" + }, "traffic_calming/bump": { "name": "Vejbump", "terms": "Vejbump" }, + "traffic_calming/chicane": { + "name": "Trafikchikane", + "terms": "Trafikchikane" + }, + "traffic_calming/choker": { + "name": "Vejindsnævring", + "terms": "Vejindsnævring" + }, + "traffic_calming/cushion": { + "name": "Fartbump", + "terms": "Fartbump" + }, + "traffic_calming/dip": { + "name": "Vejbump", + "terms": "Vejbump" + }, "traffic_calming/hump": { "name": "Fartbumprampe", "terms": "Fartbumprampe" }, + "traffic_calming/island": { + "name": "Helleanlæg", + "terms": "Helleanlæg" + }, "traffic_calming/rumble_strip": { "name": "Rumlestriber", "terms": "Rumlestriber, Rumleriller" diff --git a/dist/locales/de.json b/dist/locales/de.json index 60aee2565..c38e9701d 100644 --- a/dist/locales/de.json +++ b/dist/locales/de.json @@ -227,6 +227,7 @@ "localized_translation_name": "Name" }, "zoom_in_edit": "Hineinzoomen, um zu bearbeiten", + "login": "Login", "logout": "Abmelden", "loading_auth": "Mit OpenStreetMap verbinden …", "report_a_bug": "Fehler melden", @@ -238,7 +239,8 @@ "status": { "error": "Verbindungsaufbau zur API nicht möglich.", "offline": "Die API ist offline. Bitte versuche es später noch einmal.", - "readonly": "Die API ist im „Nur-Lese“-Modus. Änderungen können zur Zeit nicht gespeichert werden." + "readonly": "Die API ist im „Nur-Lese“-Modus. Änderungen können zur Zeit nicht gespeichert werden.", + "rateLimit": "Der API-Zugang limitiert anonyme Verbindungen. Du kannst das Limit durch einloggen umgehen." }, "commit": { "title": "Änderungen speichern", @@ -803,6 +805,9 @@ "whole": "Vollblut" } }, + "board_type": { + "label": "Typ" + }, "boundary": { "label": "Typ" }, @@ -1024,6 +1029,9 @@ "handrail": { "label": "Geländer" }, + "height": { + "label": "Höhe (Meter)" + }, "highway": { "label": "Typ" }, @@ -1143,6 +1151,12 @@ "man_made": { "label": "Typ" }, + "map_size": { + "label": "Abdeckung" + }, + "map_type": { + "label": "Typ" + }, "maxspeed": { "label": "Höchstgeschwindigkeit", "placeholder": "40, 50, 60 …" @@ -1346,6 +1360,13 @@ "recycling_accepts": { "label": "akzeptiert" }, + "recycling_type": { + "label": "Recycling Typ", + "options": { + "centre": "Recycling Zentrum", + "container": "Container" + } + }, "ref": { "label": "Referenz" }, @@ -1400,21 +1421,8 @@ "service": { "label": "Typ" }, - "service/bicycle/chain_tool": { - "label": "Kettennietdrücker", - "options": { - "no": "Nein", - "undefined": "Standardwert Nein", - "yes": "Ja" - } - }, - "service/bicycle/pump": { - "label": "Luftpumpe", - "options": { - "no": "Nein", - "undefined": "Standardwert Nein", - "yes": "Ja" - } + "service/bicycle": { + "label": "Fahrradservice" }, "service_rail": { "label": "Gleistyp", @@ -1539,8 +1547,12 @@ "tourism": { "label": "Typ" }, - "towertype": { - "label": "Turmart" + "tower/construction": { + "label": "Baustelle", + "placeholder": "Guyed, eingezäunt, verborgen, ...." + }, + "tower/type": { + "label": "Typ" }, "tracktype": { "label": "Wegzustand des Feld-/Waldweges", @@ -1553,6 +1565,9 @@ }, "placeholder": "Fest, Großenteils fest, Weich …" }, + "traffic_calming": { + "label": "Typ" + }, "traffic_signals": { "label": "Typ" }, @@ -1616,6 +1631,10 @@ "name": "Adresse", "terms": "Adresse" }, + "advertising/billboard": { + "name": "Plakatwand", + "terms": "Werbetafel,Anschlagtafel,Reklametafel,Anschlagbrett" + }, "aerialway": { "name": "Seilbahn" }, @@ -1865,6 +1884,10 @@ "name": "Eisgeschäft", "terms": "Eisgeschäft, Eisladen, Schleckeisladen, Schleckeishändler" }, + "amenity/internet_cafe": { + "name": "Internetcafé", + "terms": "Internetcafé, Cybercafé" + }, "amenity/kindergarten": { "name": "Kindergarten", "terms": "Kindergartengeläde,Kinderkrippengelände" @@ -1957,6 +1980,10 @@ "name": "Recycling", "terms": "Recyclingcontainer, Abfallwiederverwertung, Container, Abfall, Müll" }, + "amenity/recycling_centre": { + "name": "Recycling Zentrum", + "terms": "Recycling Zentrum, Abfallwirtschaftszentrum, Abfallsammelstelle, Abfallwirtschaftshof" + }, "amenity/register_office": { "name": "Standesamt" }, @@ -2075,6 +2102,10 @@ "name": "Müllcontainer", "terms": "Müllcontainer, Müllkübel, Abfallcontainer, Abfallkübel" }, + "amenity/waste_transfer_station": { + "name": "Müllumladestation", + "terms": "Müllumladestation, Müllzwischenlager" + }, "amenity/water_point": { "name": "Camping-Trinkwasser", "terms": "Trinkwasserreserve, Frischwasserreserve" @@ -2299,6 +2330,10 @@ "name": "Lagerhalle", "terms": "Lagerhaus, Lagergebäude" }, + "camp_site/camp_pitch": { + "name": "Campingplatz", + "terms": "Campingplatz, Zeltplatz" + }, "craft": { "name": "Handwerker", "terms": "Kunsthandwerk" @@ -2748,6 +2783,10 @@ "name": "Wendestelle", "terms": "Wendekreis, Wendeplatz, Wendehammer, Wendestelle" }, + "highway/turning_loop": { + "name": "Wendeschleife (Insel)", + "terms": "Wendeschleife (mit Mittelinsel), Wendekreis mit nicht überfahrbarere Mittelinsel" + }, "highway/unclassified": { "name": "Nebenstraße/Verbindungsstraße", "terms": "Nebenstraße, Verbindungsstraße, kleine Verbindungsstraße" @@ -4006,6 +4045,10 @@ "name": "Berghütte", "terms": "Berghütte,Almhütte,Alm,Schutzhütte,Schutzhaus,Hospiz,Winterraum" }, + "tourism/apartment": { + "name": "Ferienwohnung / Eigentumswohnung", + "terms": "Ferienwohnung / Eigentumswohnung, Gästewohnung, Gästeapartment" + }, "tourism/artwork": { "name": "Kunst", "terms": "Kunstwerk" @@ -4015,8 +4058,8 @@ "terms": "Touristenattraktion" }, "tourism/camp_site": { - "name": "Zelt-Campingplatz", - "terms": "Campingplatz, Zeltplatz" + "name": "Campingplatz", + "terms": "Camping Lager, Zeltplatz, Campingplatz" }, "tourism/caravan_site": { "name": "Wohnwagen-Campingplatz", @@ -4046,6 +4089,22 @@ "name": "Information", "terms": "Information" }, + "tourism/information/board": { + "name": "Informationstafel", + "terms": "Informationsbrett, Infotafel, Infobrett" + }, + "tourism/information/guidepost": { + "name": "Wegweiser", + "terms": "Hinweistafel, Schild, Beschilderung" + }, + "tourism/information/map": { + "name": "Karte", + "terms": "Landkarte, Touristeninformationskarte, Sehenswürdigkeitenkarte" + }, + "tourism/information/office": { + "name": "Tourismusbüro", + "terms": "Touristeninfo, Touristeninformationsbüro" + }, "tourism/motel": { "name": "Motel", "terms": "Motel" @@ -4070,14 +4129,38 @@ "name": "Zoo", "terms": "Zoo" }, + "traffic_calming": { + "name": "Verkehrsberuhigung", + "terms": "Verkehrsberuhigung, Verkehrsberuhigungsmaßnahme" + }, "traffic_calming/bump": { "name": "Bremsschwelle (schmal)", "terms": "Temposchwelle, Bodenschwelle, Beruhigungsschwelle, Rüttelschwelle, Fahrbahnhöcker, Bremsschwelle, Bremshügel, Drempel" }, + "traffic_calming/chicane": { + "name": "Schikane", + "terms": "Schikane, Verkehrsverschwenkung, Verkehrsschikane" + }, + "traffic_calming/choker": { + "name": "Fahrbahnverengung", + "terms": "Fahrbahnverengung" + }, + "traffic_calming/cushion": { + "name": "Bodenwelle mit Lücken", + "terms": "Bodenwelle mit Lücken" + }, + "traffic_calming/dip": { + "name": "Bodensenke", + "terms": "Bodensenke" + }, "traffic_calming/hump": { "name": "Bremsschwelle (breit)", "terms": "Temposchwelle, Bodenschwelle, Beruhigungsschwelle, Rüttelschwelle, Fahrbahnhöcker, Bremsschwelle, Bremshügel, Drempel" }, + "traffic_calming/island": { + "name": "Verkehrsinsel", + "terms": "Verkehrsinsel, Fahrbahnteiler" + }, "traffic_calming/rumble_strip": { "name": "Rüttelstreifen", "terms": "Rumpelstreifen, Rüttelstreifen, Holperstreifen" diff --git a/dist/locales/el.json b/dist/locales/el.json index 2de34a0c2..e03da2dc2 100644 --- a/dist/locales/el.json +++ b/dist/locales/el.json @@ -1135,22 +1135,6 @@ "service": { "label": "Τύπος" }, - "service/bicycle/chain_tool": { - "label": "Εξωλκέας Αλυσίδας", - "options": { - "no": "Όχι", - "undefined": "Υποθετικά Όχι", - "yes": "Ναι" - } - }, - "service/bicycle/pump": { - "label": "Τρόμπα Αέρος", - "options": { - "no": "Όχι", - "undefined": "Υποθετικά Όχι", - "yes": "Ναι" - } - }, "service_rail": { "options": { "crossover": "Σύνδεση Παραλλήλων Γραμμών" @@ -1228,9 +1212,6 @@ "tourism": { "label": "Τύπος" }, - "towertype": { - "label": "Τύπος Πύργου" - }, "trail_visibility": { "label": "Ορατότητα Μονοπατιού", "options": { @@ -2834,10 +2815,6 @@ "name": "Τ", "terms": "Τουριστικό Αξιοθέατο" }, - "tourism/camp_site": { - "name": "Χώρος Κατασκήνωσης", - "terms": "Χώρος κατασκήνωσης, Κάμπινγκ" - }, "tourism/caravan_site": { "name": "Πάρκο τροχόσπιτων", "terms": "Πάρκο τροχόσπιτων" diff --git a/dist/locales/en-GB.json b/dist/locales/en-GB.json index 0df6fd298..325a43a9f 100644 --- a/dist/locales/en-GB.json +++ b/dist/locales/en-GB.json @@ -1315,22 +1315,6 @@ "service": { "label": "Type" }, - "service/bicycle/chain_tool": { - "label": "Chain Tool", - "options": { - "no": "No", - "undefined": "Assumed to be No", - "yes": "Yes" - } - }, - "service/bicycle/pump": { - "label": "Air Pump", - "options": { - "no": "No", - "undefined": "Assumed to be No", - "yes": "Yes" - } - }, "service_rail": { "label": "Service Type", "options": { @@ -1555,7 +1539,7 @@ "name": "Shoe Shop" }, "tourism/camp_site": { - "terms": "camping" + "name": "Camp Site" }, "tourism/caravan_site": { "name": "Caravan Park" diff --git a/dist/locales/es.json b/dist/locales/es.json index 2a99e013b..b7f5bb2a7 100644 --- a/dist/locales/es.json +++ b/dist/locales/es.json @@ -227,6 +227,7 @@ "localized_translation_name": "Nombre" }, "zoom_in_edit": "Acercar para editar", + "login": "iniciar sesión", "logout": "Cerrar sesión", "loading_auth": "Conectando a OpenStreetMap...", "report_a_bug": "Reportar un error", @@ -238,7 +239,8 @@ "status": { "error": "No se puede conectar con la API.", "offline": "La API está desconectada. Intente editar más tarde.", - "readonly": "El API está en modo de sólo lectura. Tendrá que esperar para guardar sus cambios." + "readonly": "El API está en modo de sólo lectura. Tendrá que esperar para guardar sus cambios.", + "rateLimit": "La API está limitando las conexiones anónimas. Puede solucionar esto conectándose." }, "commit": { "title": "Guardar cambios", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "No hay documentación disponible para esta combinación de etiquetas", "no_documentation_key": "No hay documentación disponible para esta etiqueta", + "documentation_redirect": "Esta documentación ha sido redireccionada a una nueva página", "show_more": "Ver más", "view_on_osm": "Ver en openstreetmap.org", "all_fields": "Todos los campos", @@ -781,6 +784,9 @@ "barrier": { "label": "Tipo" }, + "beauty": { + "label": "Tipo de tienda" + }, "bench": { "label": "Banco" }, @@ -799,6 +805,9 @@ "whole": "sangre pura" } }, + "board_type": { + "label": "Tipo" + }, "boundary": { "label": "Tipo" }, @@ -1020,6 +1029,9 @@ "handrail": { "label": "Pasamanos" }, + "height": { + "label": "Altura (metros)" + }, "highway": { "label": "Tipo" }, @@ -1139,6 +1151,12 @@ "man_made": { "label": "Tipo" }, + "map_size": { + "label": "Covertura" + }, + "map_type": { + "label": "Tipo" + }, "maxspeed": { "label": "Límite de velocidad", "placeholder": "40, 50, 60..." @@ -1342,6 +1360,13 @@ "recycling_accepts": { "label": "Acepta" }, + "recycling_type": { + "label": "Tipo de reciclaje", + "options": { + "centre": "Centro de reciclaje", + "container": "Contenedor" + } + }, "ref": { "label": "Referencia" }, @@ -1396,21 +1421,8 @@ "service": { "label": "Tipo" }, - "service/bicycle/chain_tool": { - "label": "Trochacadena", - "options": { - "no": "No", - "undefined": "Asume que No", - "yes": "Si" - } - }, - "service/bicycle/pump": { - "label": "Bomba de aire", - "options": { - "no": "No", - "undefined": "Asume que Si", - "yes": "Sí" - } + "service/bicycle": { + "label": "Servicios" }, "service_rail": { "label": "Tipo de servicio", @@ -1535,8 +1547,12 @@ "tourism": { "label": "Tipo" }, - "towertype": { - "label": "Tipo de torre" + "tower/construction": { + "label": "Construcción", + "placeholder": "Guía de alambre, enrejada, oculta/disfrazada, ..." + }, + "tower/type": { + "label": "Tipo" }, "tracktype": { "label": "Tipo de pista", @@ -1549,6 +1565,9 @@ }, "placeholder": "Sólido, Mayormente sólido, Suave..." }, + "traffic_calming": { + "label": "Tipo" + }, "traffic_signals": { "label": "Tipo" }, @@ -1612,6 +1631,10 @@ "name": "Dirección", "terms": "dirección, domicilio, señas, residencia" }, + "advertising/billboard": { + "name": "Panel publicitario", + "terms": "panel, cartel, cartelera, valla, publicitario, publicidad" + }, "aerialway": { "name": "Transporte por cable" }, @@ -1861,6 +1884,10 @@ "name": "Heladería", "terms": "nevería, helado, sorbete, nieve, raspadillo, frozen, yogur, copas, tarta helada, postre" }, + "amenity/internet_cafe": { + "name": "Internet café", + "terms": "internet, terminales, cafe, cyber, cyber cafe, cybercafe, ciber, ciber café, cibercafé, juegos, juegos en red" + }, "amenity/kindergarten": { "name": "Terreno de preescolar o jardín de infancia", "terms": "terreno, área, suelo, preescolar, preprimaria, jardín de infancia, jardín de niños, kinder, parvulario, párvulos" @@ -1953,6 +1980,10 @@ "name": "Contenedor de reciclado", "terms": "reciclaje, reciclado" }, + "amenity/recycling_centre": { + "name": "Centro de reciclaje", + "terms": "reciclaje, acopio, basura, botella, lata, vidrio, desecho, chatarra, cartón" + }, "amenity/register_office": { "name": "Oficina de registro" }, @@ -2071,6 +2102,10 @@ "name": "Contenedor de residuos", "terms": "residuo, basura, desperdicio, contenedor, depósito, basurero, contenedor de basuras, papelera" }, + "amenity/waste_transfer_station": { + "name": "Estación de transferencia de residuos", + "terms": "intercambio residuos, vertedero, basura, reciclaje, desecho, chatarra" + }, "amenity/water_point": { "name": "Recarga de agua potable para autocaravanas", "terms": "casa rodante, autocaravana, caravana, motorhome, camper, agua potable, agua, recarga" @@ -2295,6 +2330,10 @@ "name": "Almacén", "terms": "almacén, depósito, bodega, lonja, nave" }, + "camp_site/camp_pitch": { + "name": "Cancha de acampar", + "terms": "lugar, patio, cancha, terreno, camping, cámping, campamento, acampe, tienda, carpa, rv, motorhome, motor home, caravana, autocaravana, " + }, "craft": { "name": "Oficio", "terms": "oficio, trabajo, artesanal, manual" @@ -2744,6 +2783,10 @@ "name": "Círculo de giro", "terms": "círculo de giro, cul de sac" }, + "highway/turning_loop": { + "name": "Bucle de giro (Isla)", + "terms": "bucle de giro, cul-de-sac, cul de sac, calle sin salida, callejón sin salida" + }, "highway/unclassified": { "name": "Camino menor / sin clasificación", "terms": "carretera, camino, sendero, vía, menor, no clasificada, sin clasificación" @@ -3568,6 +3611,14 @@ "name": "Salón de belleza", "terms": "salón de belleza, estética, belleza, cuidado personal, embellecimiento" }, + "shop/beauty/nails": { + "name": "Salón de manicura", + "terms": "manicura, pedicura, uñas, manos, pies, salón de uñas, arreglo de uñas, salón de belleza" + }, + "shop/beauty/tanning": { + "name": "Salón de bronceado", + "terms": "cama solar, salón de bronceo, rayos uva, rayos ultravioleta, centro de bronceado" + }, "shop/bed": { "name": "Tienda de ropa de cama/colchón", "terms": "almohada, sábanas, cama, colchón, ropa de cama" @@ -3994,6 +4045,10 @@ "name": "Cabaña alpina", "terms": "Refugio de montaña, refugio alpino, refugio, cabaña, choza, caseta, chabola, cabina, cobertizo" }, + "tourism/apartment": { + "name": "Apartamento de huéspedes", + "terms": "apartamento, piso, condominio, bloque, huéspedes, invitados" + }, "tourism/artwork": { "name": "Obra de arte", "terms": "obra de arte, pieza de arte, pintura, escultura, mural, pintada, estatua" @@ -4003,8 +4058,8 @@ "terms": "punto de interés, interés turístico, atracción turística, atracciones turísticas, atractivos turísticos, lugares turísticos" }, "tourism/camp_site": { - "name": "Camping", - "terms": "camping, campings, acampada, lugar de acampada, campamento" + "name": "Terreno de acampar", + "terms": "terreno, área, lugar, camping, cámping, campamento, acampe, tienda, carpa, rv, motorhome, motor home, caravana, autocaravana" }, "tourism/caravan_site": { "name": "Parque de autocaravanas", @@ -4034,6 +4089,15 @@ "name": "Información turística", "terms": "información, información turística, oficina de información" }, + "tourism/information/board": { + "name": "Tablero de información" + }, + "tourism/information/map": { + "name": "Mapa" + }, + "tourism/information/office": { + "name": "Oficina de información turística" + }, "tourism/motel": { "name": "Motel", "terms": "motel, alojamiento" @@ -4058,14 +4122,38 @@ "name": "Zoológico", "terms": "zoo, zoológico " }, + "traffic_calming": { + "name": "Pacificador de tráfico", + "terms": "moderador de tráfico, apaciguador de tráfico, calmado de tráfico, reductor de velocidad, tráfico, tránsito, circulación, chichón, joroba, velocidad, guardias tumbados, policías acostados, badén" + }, "traffic_calming/bump": { "name": "Reductor de velocidad estrecho", "terms": "badén, guardia tumbado, lomo de burro, lomo de toro, resalto, resalte, tope, rompemuelle, túmulo, calmado de tráfico, reductor de velocidad" }, + "traffic_calming/chicane": { + "name": "Chicana de tráfico", + "terms": "chicane, chicana, curvas, frenar, velocidad, reductor de velocidad" + }, + "traffic_calming/choker": { + "name": "Gargantas de tráfico", + "terms": "garganta, estrangulamiento, estrechamiento, frenar, velocidad, reductor de velocidad" + }, + "traffic_calming/cushion": { + "name": "Banda de frenado", + "terms": "banda de frenado, cojines de frenado, almohadas de frenado, frenar, velocidad, reductor de velocidad" + }, + "traffic_calming/dip": { + "name": "Cuneta/Badén", + "terms": "cuneta, badén, depresión, canalizador de agua, frenar, velocidad, reductor de velocidad" + }, "traffic_calming/hump": { "name": "Reductor de velocidad ancho", "terms": "badén, guardia tumbado, lomo de burro, lomo de toro, resalto, resalte, tope, rompemuelle, túmulo, calmado de tráfico, reductor de velocidad" }, + "traffic_calming/island": { + "name": "Isleta de tráfico", + "terms": "círculo, rotonda, frenar, velocidad, reductor de velocidad" + }, "traffic_calming/rumble_strip": { "name": "Banda sonora reductora de velocidad", "terms": "banda sonora, calmado del tráfico, tráfico, pacificación del tráfico, reductor de velocidad" diff --git a/dist/locales/et.json b/dist/locales/et.json index 56cd8e677..ba02062e1 100644 --- a/dist/locales/et.json +++ b/dist/locales/et.json @@ -699,9 +699,6 @@ "surface": { "label": "Pinnakate" }, - "towertype": { - "label": "Torni tüüp" - }, "website": { "label": "Veebileht", "placeholder": "http://näidis24.ee/" diff --git a/dist/locales/fa.json b/dist/locales/fa.json index 083a78d0d..ed31df065 100644 --- a/dist/locales/fa.json +++ b/dist/locales/fa.json @@ -3,17 +3,17 @@ "modes": { "add_area": { "title": "محدوده", - "description": "افزودن پارک ها، ساختمان ها، دریاچه ها و سایر فضاها به نقشه.", - "tail": "برای شروع کشیدن محدوده‌هایی مثل پارک، دریاچه، یا ساختمان روی نقشه کلیک کنید." + "description": "افزودن پارک‌ها، ساختمان‌ها، دریاچه‌ها و سایر محدوده‌ها به نقشه.", + "tail": "برای کشیدن محدوده‌هایی مثل پارک، دریاچه، یا ساختمان روی نقشه کلیک کنید." }, "add_line": { "title": "خط", - "description": "افزودن بزرگ راه ها، خیابان ها، مسیر های پیاده روی، کانال ها یا سایر خطوط به نقشه.", - "tail": "برای شروع کشیدن راه، مسیر پیاده یا مسیر روی نقشه کلیک کنید." + "description": "افزودن بزرگ‌راه‌ها، خیابان‌ها، مسیر‌های پیاده‌روی، کانال‌ها یا سایر خطوط به نقشه.", + "tail": "برای آغاز کشیدن جاده، مسیر پیاده یا مسیر، روی نقشه کلیک کنید." }, "add_point": { "title": "نقطه", - "description": "افزودن رستوران ها، کوه ها، صندوق های پستی یا سایر نقاط به نقشه.", + "description": "افزودن رستوران‌ها، آثار تاریخی، صندوق‌های پستی یا سایر نقاط به نقشه.", "tail": "برای افزودن نقطه روی نقشه کلیک کنید." }, "browse": { @@ -30,15 +30,15 @@ "operations": { "add": { "annotation": { - "point": "انقطه ای اضافه شد.", - "vertex": "گره ای به راه اضافه شد.", + "point": "نقطه‌ای اضافه شد.", + "vertex": "گره‌ای به راه اضافه شد.", "relation": "ارتباط اضافه شد." } }, "start": { "annotation": { "line": "خطی شروع شد.", - "area": "فضایی آغاز شد." + "area": "محدوده‌ای آغاز شد." } }, "continue": { @@ -48,131 +48,131 @@ "not_eligible": "خط قابل ادامه دادنی اینجا نیست.", "multiple": "اینجا چندین خط قابل ادامه دادن است. برای انتخاب یک خط، کلید Shift را فشار دهید و روی آن کلیک کنید تا انتخاب شود.", "annotation": { - "line": "نقطه ای ادامه داده شد.", - "area": "فضایی ادامه داده شد." + "line": "نقطه‌ای ادامه داده شد.", + "area": "محدوده‌ای ادامه داده شد." } }, "cancel_draw": { "annotation": "کشیدن لغو شد." }, "change_role": { - "annotation": "نقش عضو مرتبط تغییر یافت." + "annotation": "نقش عضو رابطه تغییر یافت." }, "change_tags": { "annotation": "برچسب ها تغییر یافت." }, "circularize": { - "title": "حلقه", + "title": "دایره کردن", "description": { - "line": "این خط را حلقوی کن.", - "area": "این فضا را حلقوی کن." + "line": "این خط را دایره کن.", + "area": "این فضا را دایره‌ای کن." }, "key": "O", "annotation": { - "line": "ساخت یک خط حلقوی.", - "area": "ساخت یک فضای حلقوی." + "line": "ساخت یک خط دایره‌ای.", + "area": "ساخت یک محدوده‌ی دایره‌ای." }, "not_closed": "این را نمی‌توان دایره کرد زیرا بسته نیست.", - "too_large": "این قابل تبدیل به دایره نیست زیرا در حال حاظر مقدار کافی از آن در دید نیست.", - "connected_to_hidden": "این قابل تبدیل به دایره نیست زیرا در به یک ویژگی پنهان اتصال دارد." + "too_large": "این قابل تبدیل به دایره نیست زیرا در حال حاظر مقدار کافی از آن نمایان نیست.", + "connected_to_hidden": "این قابل تبدیل به دایره نیست زیرا به یک عنصر پنهان اتصال دارد." }, "orthogonalize": { - "title": "گرد کردن", + "title": "مربع", "description": { - "line": "گرد کردن گوشه های این خط.", - "area": "گرد کردن گوشه های این فضا." + "line": "قائم کردن گوشه‌های این خط.", + "area": "قائم کردن گوشه های این محدوده." }, "key": "S", "annotation": { - "line": "گوشه های خط گرد شد.", - "area": "گوشه های فضا گرد شد." + "line": "گوشه های خط قائم شد.", + "area": "گوشه های محدوده قائم شد." }, - "not_squarish": "اینرا نمیتوان گرد کرد چون تقریبا چهارگوش نیست.", + "not_squarish": "اینرا نمیتوان قائم کرد چون مربع نیست.", "too_large": "این قابل تبدیل به مربع نیست زیرا در حال حاظر مقدار کافی از آن در دید نیست.", - "connected_to_hidden": "این قابل تبدیل به مربع نیست زیرا در به یک ویژگی پنهان اتصال دارد." + "connected_to_hidden": "این قابل تبدیل به مربع نیست زیرا به یک عنصر پنهان اتصال دارد." }, "straighten": { - "title": "مرتب کردن", - "description": "مرتب کردن این خط.", + "title": "صاف کردن", + "description": "صاف کردن این خط.", "key": "S", - "annotation": "خط مرتب شد.", - "too_bendy": "این خط قابل مرتب شدن نیست زیرا بیش از حد انحراف دارد.", - "connected_to_hidden": "این خط قابل صاف شدن نیست چون به یک ویژگی پنهان متصل است." + "annotation": "خط صاف شد.", + "too_bendy": "این خط قابل صاف شدن نیست زیرا بیش از حد انحراف دارد.", + "connected_to_hidden": "این خط قابل صاف شدن نیست چون به یک عنصر پنهان متصل است." }, "delete": { "title": "حذف", - "description": "پاک کردن شیء به صورت دائمی.", + "description": "حذف کردن شیء به صورت دائمی.", "annotation": { "point": "نقطه حذف شد.", "vertex": "گره از راه حذف شد.", "line": "خط حذف شد.", - "area": "فضا حذف شد.", - "relation": "ارتباطی حذف شد.", - "multiple": "{n} شیئ حذف شد." + "area": "محدوده حذف شد.", + "relation": "رابطه حذف شد.", + "multiple": "{n} شئ حذف شد." }, - "incomplete_relation": "این ویژگی قابل حذف نیست زیرا کاملا دانلود نشده.", - "part_of_relation": "این ویژگی عضو یک رابطه بزرگ‌تر است و امکان حذف آن وجود ندارد. برای حذف، ابتدا آن را از رابطه حذف کنید.", - "connected_to_hidden": "به دلیل اتصال به یک ویژگی پنهان، امکان حذف وجود ندارد." + "incomplete_relation": "این عنصر قابل حذف نیست زیرا کاملا دانلود نشده.", + "part_of_relation": "این عنصر عضو یک رابطه بزرگ‌تر است و امکان حذف آن وجود ندارد. برای حذف، ابتدا آن را از رابطه حذف کنید.", + "connected_to_hidden": "به دلیل اتصال به یک عنصر پنهان، امکان حذف وجود ندارد." }, "add_member": { - "annotation": "عضو به ارتباط اضافه شد." + "annotation": "یک عضو به رابطه اضافه شد." }, "delete_member": { - "annotation": "عضو از ارتباط حذف شد." + "annotation": "یک عضو از رابطه حذف شد." }, "connect": { "annotation": { "point": "راه به نقطه ای متصل شد.", - "vertex": "راه به بقیه متصل شد.", + "vertex": "راه به یکی دیگر متصل شد.", "line": "راه به خطی متصل شد.", - "area": "راه به فضایی متصل شد." + "area": "راه به محدوده‌ای متصل شد." } }, "disconnect": { "title": "قطع اتصال", - "description": "قطع ارتباط این خطوط/فضاها از هر چیز دیگری.", + "description": "قطع ارتباط این خطوط/محدوده‌ها از یک دیگر.", "key": "D", - "annotation": "ارتباط خطوط/فضاها قطع شد.", - "not_connected": "خطوط/فضاهای کافی برای قطع اتصال وجود ندارد.", - "connected_to_hidden": "این قابل جدا شدن نمی‌باشد زبرا به یم ویژگی پنهان اتصال دارد.", + "annotation": "ارتباط خطوط/محدوده‌ها قطع شد.", + "not_connected": "خطوط/محدوده‌های کافی برای قطع اتصال وجود ندارد.", + "connected_to_hidden": "این قابل جدا شدن نمی‌باشد زبرا به یک عنصر پنهان اتصال دارد.", "relation": "امکان حذف اتصال وجود ندارد چون اعضای یک رابطه از این طریق به هم متصل‌اند." }, "merge": { - "title": "ترکیب کردن", - "description": "ادغام این ویژگی‌ها", + "title": "ادغام کردن", + "description": "ادغام این عناصر", "key": "C", - "annotation": "{n} ویژگی ادغام شده.", - "not_eligible": "این ویژگی قابل ترکیب نیست.", - "not_adjacent": "امکان ادغام این وبژگی‌ها وجود ندارد زیرا آن‌ها متصل نیستند.", - "restriction": "امکان ادغام این وبژگی‌ها وجود ندارد زیرا حداقل یکی از آن‌ها جزو رابطه \"{relation}\" می‌باشد.", - "incomplete_relation": "امکان ادغام این وبژگی‌ها وجود ندارد زیرا حداقل یکی از آن‌ها کامل دانلود نشده است.", - "conflicting_tags": "امکان ادغام این وبژگی‌ها وجود ندارد زیرا بعضی از آن‌ها دارای برچسب‌هایی با مقادیر مخالف یکدیگر هستند." + "annotation": "{n} عنصر ادغام شده.", + "not_eligible": "این عناصر قابل ترکیب نیستند.", + "not_adjacent": "امکان ادغام این عناصر وجود ندارد زیرا آن‌ها متصل نیستند.", + "restriction": "امکان ادغام این عناصر وجود ندارد زیرا حداقل یکی از آن‌ها جزو رابطه \"{relation}\" می‌باشد.", + "incomplete_relation": "امکان ادغام این عناصر وجود ندارد زیرا حداقل یکی از آن‌ها کامل دانلود نشده است.", + "conflicting_tags": "امکان ادغام این عناصر وجود ندارد زیرا بعضی از آن‌ها دارای برچسب‌هایی با مقادیر مخالف یکدیگر هستند." }, "move": { - "title": "انتقال", - "description": "انتقال این به مکان دیگری.", + "title": "جابه‌جایی", + "description": "این را به مکان دیگری جابه‌جا کن.", "key": "M", "annotation": { - "point": "نقطه منتقل شد.", - "vertex": "گره در راه منتقل شد.", - "line": "خط منتقل شد.", - "area": "فضا منتقل شد.", - "multiple": "چند شیئ منتقل شد." + "point": "نقطه جابه‌جا شد.", + "vertex": "گره در راه جابه‌جا شد.", + "line": "خط جابه‌جا شد.", + "area": "محدوده جابه‌جا شد.", + "multiple": "چند شئ جابجا شدند." }, - "incomplete_relation": "این ویژگی قابل انتقال نیست زیرا بطور کامل دانلود نشده.", + "incomplete_relation": "این عنصر قابل جابجایی نیست زیرا بطور کامل دانلود نشده.", "too_large": "امکان جابجایی وجود ندارد زیرا در حال حاضر مقدار کاقی از آن در دیدرس نیست.", - "connected_to_hidden": "امکان جابجایی وجود ندارد زیرا به یک ویژگی پنهان اتصال دارد." + "connected_to_hidden": "امکان جابجایی وجود ندارد زیرا به یک عنصر پنهان اتصال دارد." }, "rotate": { "title": "چرخش", - "description": "چرخش این شیئ حول نقطه ی مرکزی آن.", + "description": "چرخش این شئ حول نقطه‌ی مرکزی آن.", "key": "R", "annotation": { "line": "خط چرخش یافت.", - "area": "فضا چرخش یافت." + "area": "محدوده چرخش یافت." }, "too_large": "امکان چرخش نیست چون مقدار کافی از این در دیدرس نیست.", - "connected_to_hidden": "امکان چرخش به دلیل اتصال به یک ویژگی پنهان وجود ندارد." + "connected_to_hidden": "امکان چرخش به دلیل اتصال به یک عنصر پنهان وجود ندارد." }, "reverse": { "title": "وارونه", @@ -183,19 +183,19 @@ "split": { "title": "جداسازی", "description": { - "line": "تقسیم این خط به دو تا در این گره.", - "area": "تقسیم مرز این منطقه به دو.", - "multiple": "تقسیم مرز های خطوط/منطقه به دو تا در این گره." + "line": "جداسازی این خط به دو خط در این گره.", + "area": "جداسازی مرز این منطقه به دو.", + "multiple": "جداسازی مرز های خطوط/محدوده به دو تا در این گره." }, "key": "X", "annotation": { - "line": "تقسیم خط.", - "area": "تقسیم مرز منطقه.", + "line": "جداسازی یک خط.", + "area": "جداسازی یک مرز منطقه.", "multiple": "تقسیم مرز {n} خط/فضا" }, "not_eligible": "خطوط در شروع و پایانشان قابل تقسیم نیستند.", "multiple_ways": "تعداد خیلی زیادی خط برای تقسیم اینجا وجود دارد.", - "connected_to_hidden": "امکان جدا کردن به دلیل اتصال به یک ویژگی پنهان وجود ندارد." + "connected_to_hidden": "امکان جدا کردن به دلیل اتصال به یک عنصر پنهان وجود ندارد." }, "restriction": { "help": { @@ -219,6 +219,7 @@ "nothing": "چیزی برای انجام دوباره نیست." }, "tooltip_keyhint": "میانبر:", + "browser_notice": "این ویراستار از مرورگرهای کروم، سافاری، اپرا و اینترنت اکسپلورر 11 و ویرایش های جدیدتر آن پشتیبانی می کند. لطفا مرورگر خود را بروزرسانی کنید یا از Potlatch 2 برای ویرایش نقشه استفاده کنید", "translate": { "translate": "ترجمه", "localized_translation_label": "نام چند زبانه", @@ -226,18 +227,20 @@ "localized_translation_name": "نام" }, "zoom_in_edit": "بزرگنمایی برای ویرایش", + "login": "ورود", "logout": "خروج", "loading_auth": "در حال اتصال به OpenStreetMap...", "report_a_bug": "گزارش یک اشکال", "help_translate": "کمک به ترجمه", "feature_info": { - "hidden_warning": "{COUNT} ویژگی های پنهان", - "hidden_details": "این ویژگی ها در حال حاضر پنهان‌اند:{details}" + "hidden_warning": "{COUNT} عنصر پنهان", + "hidden_details": "این عناصر در حال حاضر پنهان‌اند:\n{details}" }, "status": { "error": "اتصال به API ممکن نیست.", "offline": "API آفلاین است. لطفا ویرایش را بعدا مجدد انجام دهید.", - "readonly": "API فقط خواندنی است. شما برای دخیره ی تغییراتتان باید صبر کنید." + "readonly": "API فقط خواندنی است. شما برای دخیره ی تغییراتتان باید صبر کنید.", + "rateLimit": "این API برای کاربران ثبت‌نام نکرده محدود است. برای رفع این مشکل میتوانید وارد شوید." }, "commit": { "title": "ذخیره تغییرات", @@ -254,7 +257,8 @@ "created": "ساخته شد", "about_changeset_comments": "درباره توضیحات تغییرات", "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/Good_changeset_comments", - "google_warning": "شما در توضیحات خود از گوگل نام بردید. لطفا توجه داشته باشید که کپی کردن از نقشه‌های گوگل، ممنوع است." + "google_warning": "شما در توضیحات خود از گوگل نام بردید. لطفا توجه داشته باشید که کپی کردن از نقشه‌های گوگل، ممنوع است.", + "google_warning_link": "http://www.openstreetmap.org/copyright" }, "contributors": { "list": "ویرایش توسط {users}", @@ -292,6 +296,7 @@ "inspector": { "no_documentation_combination": "برای این ترکیب برچسب اسنادی موجود نیست", "no_documentation_key": "برای این کلید اسنادی موجود نیست", + "documentation_redirect": "این اسناد به صفحه جدیدی منتقل شده اند", "show_more": "نمایش بیشتر", "view_on_osm": "نمایش در openstreetmap.org", "all_fields": "همه فیلدها", @@ -300,17 +305,17 @@ "all_relations": "تمام روابط", "new_relation": "رابطه جدید...", "role": "نقش", - "choose": "انتخاب نوع ویژگی", + "choose": "انتخاب نوع عنصر", "results": "{n} نتیجه برای {search}", "reference": "نمایش در ویکی OpenStreetMap", - "back_tooltip": "تغییر ویژگی", + "back_tooltip": "تغییر عنصر", "remove": "پاک کردن", "search": "جستجو", "multiselect": "موارد انتخاب شدند", "unknown": "ناشناخته", "incomplete": "<دانلود نشده>", - "feature_list": "جستجوی ویژگی ها", - "edit": "ویرایش ویژگی", + "feature_list": "جستجوی عناصر", + "edit": "ویرایش عنصر", "check": { "yes": "بله", "no": "خیر" @@ -332,9 +337,11 @@ "switch": "بازگشت به این پس‌زمینه", "custom": "سفارشی", "custom_button": "ویرایش پشت زمینه سفارشی", + "custom_prompt": "آدرس قالب کاشی را وارد کنید. ورودی‌های درست {z}, {x}, {y} هستند برای الگوی Z/X/Y و {u} برای طرح چهار کاشی.", "fix_misalignment": "تنظیم فاصله تصویری", "imagery_source_faq": "منبع این تصویر کجاست؟", "reset": "باز نشاندن", + "offset": "برای تنظیم افست تصاویر، محدوده خاکستری زیر را بکشید یا مقادیر را به متر در کادر زیر وارد کنید.", "minimap": { "description": "نقشه کوچک", "tooltip": "برای پیدا کردن محل منطقه نشان داده شده، یک نقشه کوچک نمایی نشان بده" @@ -345,7 +352,8 @@ "description": "نقشه داده", "data_layers": "لایها داده ها", "fill_area": "محدوده‌ها را پر کنید", - "map_features": "ویژگی‌های نقشه" + "map_features": "عناصر نقشه", + "autohidden": "این عناصر به صورت خودکار مخفی شدند چون تعداد زیادی از آنها بر روی صفحه نمایش میافت. برای ویرایش آنها زوم کنید." }, "feature": { "points": { @@ -353,7 +361,12 @@ "tooltip": "نقاط مورد علاقه" }, "traffic_roads": { - "description": "جاده‌های ترافیکی" + "description": "جاده‌های ترافیکی", + "tooltip": "بزرگراه ها، خیابانها، و غیره." + }, + "service_roads": { + "description": "راه‌های خدماتی", + "tooltip": "جاده‌های خدماتی، راه‌های پارکینگ، مسیر و غیره." }, "paths": { "description": "مسیرها", @@ -364,20 +377,28 @@ "tooltip": "ساختمان‌ها، پناهگاه‌ها، گاراژها، غیره." }, "landuse": { - "description": "ویژگی‌های کاربری" + "description": "عناصر کاربری زمین", + "tooltip": "جنگل‌ها، زمین‌های کشاورزی، پارک‌ها، مسکونی، تجاری و غیره." }, "boundaries": { - "description": "مرزها" + "description": "مرزها", + "tooltip": "مرزهای اداری" }, "water": { - "description": "ویژگی های آب" + "description": "عناصر آبی", + "tooltip": "رودخانه‌ها، دریاچه‌ها، حوضچه‌ها و غیره." }, "rail": { - "description": "ویژگی‌های راه‌آهن", - "tooltip": "راه آهن" + "description": "عناصر راه‌آهن", + "tooltip": "راه‌آهن‌ها" + }, + "power": { + "description": "عناصر نیرو", + "tooltip": "خطوط برق، نیروگاه‌ها، ایستگاه‌های فرعی و غیره." }, "past_future": { - "description": "گذشته / آینده" + "description": "گذشته/آینده", + "tooltip": "پیشنهاد شده، در حال ساخت و ساز، رها شده، تخریب شده و غیره." }, "others": { "description": "دیگران", @@ -385,8 +406,17 @@ } }, "area_fill": { + "wireframe": { + "description": "بدون پر کردن (قاب سیمی)", + "tooltip": "فعال کردن قاب سیمی، مشاهده تصاویر پس‌زمینه را آسان می‌کند." + }, + "partial": { + "description": "پر کردن جزئی", + "tooltip": "محدوده فقط در کنار مرزهایش پر می‌شود. (پیشنهاد شده برای نقشه‌کش‌های مبتدی)" + }, "full": { - "description": "پر کردن کامل" + "description": "پر کردن کامل", + "tooltip": "محدوده به صورت کامل پر می‌شود." } }, "restore": { @@ -399,16 +429,32 @@ "title": "ذخیره", "help": "ذخیره تغییرات در OpenStreetMap, آنها را برای دیگران قابل نمایش می سازد.", "no_changes": "تغییراتی برای دخیره نیست.", + "error": "هنگامی که تلاش شد ذخیره شود مشکلاتی رخ داد", + "status_code": "سرور کد {code} را بازگرداند.", + "unknown_error_details": "لطفا اطمینان پیدا کنید که به اینترنت متصل هستید.", "uploading": "در حال بارگذاری تغییرات در OpenStreetMap.", "unsaved_changes": "شما تغییرات ذخیره نشده دارید", "conflict": { + "header": "حل کردن ویرایش‌های متداخل", + "count": "تداخل {num} از {total}", "previous": "قبلی >", "next": "< بعد", "keep_local": "مال من را نگه‌دار", "keep_remote": "از مال آن‌ها استفاده کن", "restore": "بازگرداندن", "delete": "رها کردن پاک‌شده‌ها", - "download_changes": "و یا بارگیری تغییرات شما." + "download_changes": "و یا بارگیری تغییرات شما.", + "done": "تمامی تداخل‌ها حل شد!", + "help": "یک کاربر دیگر بعضی از عناصری که شما نیز تغیر داده‌اید را تغیر داده.\nروی هر یک از آیتم‌‌های زیر کلیک کنید تا جزئیات بشتری در مورد این تداخل ببینید و هرکدام را که میخواهید نگه دارید.\nتغیرات شما یا تغیرات دیگر کاربران.\n" + } + }, + "merge_remote_changes": { + "conflict": { + "deleted": "ای شئ توسط {user} حذف شده.", + "location": "ای شئ توسط شما و {user} جابه‌جا شده.", + "nodelist": "گره‌ها توسط شما و {user} تغیر یافتند.", + "memberlist": "اعضای رابطه توسط شما و {user} تغیر یافتند.", + "tags": "شما برچسب {tag} را به \"{local}\" تغیر دادید و {user} به \"{remote}\" تغیر داد." } }, "success": { @@ -417,7 +463,10 @@ "view_on_osm": "نمایش در OSM", "facebook": "اشتراک گذاری در فیسبوک", "twitter": "اشتراک گذاری در تویتر", - "google": "اشتراک گذاری در Google+" + "google": "اشتراک گذاری در Google+", + "help_html": "تغییرات شما در لایه‌ی \"استاندارد\" به زودی قابل رؤیت است. تغیرات در سایر لایه‌ها و عناصر خاص، ممکن است بیشتر طول کشد تا نمایان شوند.", + "help_link_text": "جزئیات", + "help_link_url": "https://wiki.openstreetmap.org/wiki/Fa:FAQ#.D9.85.D9.86_.D8.AA.D8.BA.DB.8C.DB.8C.D8.B1.D8.A7.D8.AA.DB.8C_.D8.AF.D8.B1_.D9.86.D9.82.D8.B4.D9.87_.D8.A7.DB.8C.D8.AC.D8.A7.D8.AF_.DA.A9.D8.B1.D8.AF.D9.85.D8.8C_.DA.86.D8.B7.D9.88.D8.B1_.D9.85.DB.8C_.D8.AA.D9.88.D8.A7.D9.86.D9.85_.D9.88.DB.8C.D8.B1.D8.A7.DB.8C.D8.B4_.D9.87.D8.A7.DB.8C_.D8.AE.D9.88.D8.AF_.D8.B1.D8.A7_.D8.A8.D8.A8.DB.8C.D9.86.D9.85.D8.9F" }, "confirm": { "okay": "باشه", @@ -445,6 +494,9 @@ "untagged_area": "فضای برچسب گذاری نشده", "many_deletions": "شما در حال حذف {n} شیئ هستید. مطمئنید میخواهید این کار را انجام دهید؟ این کار آنها را از نقشه ای که دیگران در openstreetmap.org میبینند حذف می کند.", "tag_suggests_area": "برچسب {tag} پیشنهاد میکند خط باید یک فضا باشد، اما این یک فضا نیست", + "untagged_point_tooltip": "یک نوع عنصر را برای توصیف موجودیت این نقطه انتخاب کنید.", + "untagged_line_tooltip": "یک نوع عنصر را برای توصیف موجودیت این خط انتخاب کنید.", + "untagged_area_tooltip": "یک نوع عنصر را برای توصیف موجودیت این محدوده انتخاب کنید.", "deprecated_tags": "برچسب های توصیه شده: {tags}" }, "zoom": { @@ -452,46 +504,114 @@ "out": "کوچک نمایی" }, "cannot_zoom": "در حالت فعلی بیش از این نمیتوان کوچک نمایی کرد.", + "full_screen": "تعویض صفحه‌نمایش کامل", "gpx": { "local_layer": "فایل GPX محلی", "drag_drop": "یک پرونده ی .gpx را بکشید و در این صفحه رها کنید، یا برای مرور دکمه ی سمت راست را کلیک کنید", "zoom": "بزرگنمایی به ردپای GPX", "browse": "مرور برای یک پرونده ی .gpx" }, + "mapillary_images": { + "tooltip": "عکس‌های خیابانی از Mapillary", + "title": "لایه پوشش عکس (Mapillary)" + }, + "mapillary_signs": { + "tooltip": "علائم ترافیکی از Mapillary (باید \"لایه پوشش عکس\" فعال شود)", + "title": "لایه پوششی علامت ترافیکی (Mapillary)" + }, + "mapillary": { + "view_on_mapillary": "نمایش این تصویر در Mapillary" + }, "help": { - "title": "کمک", - "roads": "# جاده ها\n\nشما میتوانید جاده ها را ایجاد کنید، تعمیر کنید، و حذف کنید به وسیله ی این ویرایشگر. جاده ها میتوانند همه نوعی باشند:\nپیاده روی، بزرگراه، راه آهن، راه موتور سیکلت، و بیشتر - هر چیزی که غالبا - برای عبور است\nباید نقشه شود.\n\n### انتخاب کردن\n\nروی جاده کلیک کنید تا انتخاب شود. طرح کلی باید قابل نمایش باشد، همراه\nیک منوی ابزار کوچک روی نقشه و یک نوار کناری نشان میدهد اطلاعات بیشتری\nدرباره جاده.\n\n### اصلاح کردن\n\nاغلب جاده هایی که میبینید با تصاویر نقشه نگاری پشت سرشان یا پیگیری GPS\nهم طراز نیستند. شما میتوانید این جاده ها را در مکان درستشان تطبیق\nدهید.\n\nاولین کلیک روی نقشه شما میخواهید تغییر دهید. اینکار آنرا برجسته میکند و نقاط\nکنترل را نشان میدهد شما میتوانید آنرا به مکان بهتری بکشید. اگر\nبخواهید نقاط کنترل جدید بیشتری برای اطلاعات بیشتر اضافه کنید، روی قسمتی\nاز نقشه که بدون گره است دوبار کلیک کنید، و یکی اضاف خواهد شد.\n\nاگر جاده به جاده های دیگر متصل باشد، اما روی نقشه به درستی\nمتصل نباشد، شما میتوانید یکی از نقاط کنترل را بکشید به سایر جاده ها برای\nفراهم کردن پیوستن آنها. داشتن جاده های پیوسته و متصل برای نقشه مهم است\nو ارائه دستورالعمل ها ی رانندگی ضروری است.\n\nهمچنین میتوانید روی ابزار 'انتقال' کلیک کنید یا کلید میانبر `M` را فشار دهید تا همه جاده یک بار منتقل\nشود، و بعد دوباره کلیک کنید تا جابجایی ذخیره شود.\n\n### حذف کردن\n\nاگر جاده کامل اشتباه است - میتوانید ببینید که در تصویر ماهواره ای موجود نیست و بصورت ایده آل\nبطور محلی پذیرفته شده که در حال حاضر موجود نیست - شما میتوانید\nآنرا حذف کنید، با پاک کردن آن از نقشه. هنگام حذف ویژگی محتاط باشید-\nشبیه هر ویرایش دیگری، نتایج توسط هر کسی دیده میشود تصاویر ماهواره ای غالبا تاریخ گذشته اند،\nپس ممکن است به طور ساده جاده جدیدا ساخته شده باشد.\n\nشما میتوانید جاده ای را حذف کنید با کلیک روی آن و انتخاب آن، سپس کلیک روی آیکون سطل زباله\nیا فشار دکمه ی 'Delete'.\n\n### ایجاد کردن\n\nجاهایی یافت میشوند که باید جاده باشند ولی اینگونه نیست؟ روی آیکون 'خط'\nدر بالا سمت چپ ویرایشگر کلیک کنید یا کلید میانبر`2` را فشار دهید\nتا کشیدن یک خط شروع شود.\n\nبرای شروع کشیدن روی ابتدای جاده کلیک کنید. اگر جاده\nشاخه ای از جاده ی موجود باشد، با کلیک روی مکانی که به هم متصل اند شروع کنید.\n\nسپس روی نقاط در امتداد جاده کلیک کنید به طوری که از مسیر سمت راست ، طبق تصاویر ماهواره ای\nیا GPS پیروی کند. اگر جاده ی در حال کشیدن شما از سایر جاده ها میگذرد، با کلیک\nروی نقطه تقاطع آنرا متصل کنید. وقتی کشیدنتان انجان شد، دوبار کلیک کنید\nیا 'بازگشت' را فشار دهید یا روی صفحه کلید 'Enter' را فشار دهید.\n", + "title": "راهنمایی", + "help": "#راهنمایی\n\nاین یک ویرایشگر برای [OpenStreetMap](http://www.openstreetmap.org/) است،\nنقشه ای رایگان و قابل ویرایش از جهان. شما میتوانید از آن برای افزودن و بروزرسانی\nداده ها در ناحیه‌تان استفاده کنید، ساختن نقشه ی منبع‌باز و داده‌باز از جهان\nبرای همه بهتر است.\n\nویرایش هایی که شما در این نقشه می سازید برای هر کسی که از OpenStreetMap استفاده میکند قابل استفاده است. برای ایجاد یک ویرایش، شما نیاز دارید که یک\n[حساب رایگان OpenStreetMap](https://www.openstreetmap.org/user/new) داشته باشید.\n\n[ویرایشگر ID](http://ideditor.com/) یک پروژه مشترک است که [منبع کد در GitHub\nموجود است](https://github.com/systemed/iD).\n", + "editing_saving": "# ویرایش و ذخیره کردن\n\nاین ویرایشگر طراحی شده تا کاملا آنلاین کار کند و از طریق وبسایت به آن دسترسی داشته باشید.\n\n### انتخاب عناصر\n\nبرای انتخاب یک عنصر نقشه، مانند یک جاده یا یک نقطه؛ بر روی آن در نقشه کلیک کنید. این کار باعث می‌شود تا آن عنصر پررنگ شود و یک کادر جزئیات در کنار صفحه در مورد آن باز شود و یک منو از عملیات‌هایی که می‌توانید با این عنصر انجام دهید را مشاهده کنید.\n\nبرای انتخاب چند عنصر، کلید shift را پایین نگه دارید. سپس همزمان بر روی عنصر دوم کلیک کنید. یک مستطیل ظاهر می‌شود. با موس محدوده‌ای مشخص را انتخاب کنید تا تمامی عناصر درون مستطیل انتخاب شوند.\n\n\n### ذخیره کردن ویرایش‌ها\n\nزمانی که شما تغیراتی را مانند ویرایش جاده‌ها، ساختمان‌ها و مکان‌ها انجام می‌دهید، این‌ها به صورت محلی ذخیره می‌شوند تا هنگامی که آن‌ها را به سرور بفرستید. نگران نباشید اگر اشتباهی انجام دادید. شما می‌توانید با آندو و ریدو کردن تغیرات را به عقب برگردانید.\n\nبرای اتمام یک سری از تغیرات بر روی دکمه‌ی 'ذخیره' کلیک کنید، هنگامی که تغیرات مربوط به محلی را اتمام و می‌خواهید محل دیگری را ویرایش کنید. شما امکان این را دارید تا تغیراتی را که انجام داده‌اید را بازبینی کنید و همچنین ویرایشگر پیشنهادات و هشدارهایی به شما می‌دهد اگر مشکلی در این تغیرات دیده شود.\n\n\nاگر همه چیز خوب به نظر برسد، شما میتوانید یک دیدگاه کوتاه که توضیح دهد چه کاری انجام داده‌اید وارد کنید و بر روی دکمه‌ی 'ذخیره' کلیک کنید تا تغیرات در [OpenStreetMap.org](http://www.openstreetmap.org/) ذخیره شود. جایی که برای تمامی کاربران دیگر نیز قابل مشاهده است.\n\nاگر شما نمی‌توانید ویرایش خود را تکمیل کنید، میتوانید ویرایشگر را رها کنید و در آینده برگردید (در همان رایانه و مرورگر) و ویرایشگر به شما امکان می‌دهد تغیرات پیشین خود را بازیابی کنید.\n\n\n### استفاده از ویرایشگر\n\nیک فهرست از میانبرهای صفحه‌کلید در [اینجا](http://wiki.openstreetmap.org/wiki/ID/Shortcuts) قابل مشاهده است.\n\n\n\n", + "roads": "# جاده ها\n\nشما میتوانید جاده ها را ایجاد کنید، تعمیر کنید، و حذف کنید به وسیله ی این ویرایشگر. جاده ها میتوانند همه نوعی باشند:\nپیاده روی، بزرگراه، راه آهن، راه موتور سیکلت، و بیشتر - هر چیزی که غالبا - برای عبور است\nباید نقشه شود.\n\n### انتخاب کردن\n\nروی جاده کلیک کنید تا انتخاب شود. طرح کلی باید قابل نمایش باشد، همراه\nیک منوی ابزار کوچک روی نقشه و یک نوار کناری نشان میدهد اطلاعات بیشتری\nدرباره جاده.\n\n### اصلاح کردن\n\nاغلب جاده هایی که میبینید با تصاویر نقشه نگاری پشت سرشان یا پیگیری GPS\nهم طراز نیستند. شما میتوانید این جاده ها را در مکان درستشان تطبیق\nدهید.\n\nاولین کلیک روی نقشه شما میخواهید تغییر دهید. اینکار آنرا برجسته میکند و نقاط\nکنترل را نشان میدهد شما میتوانید آنرا به مکان بهتری بکشید. اگر\nبخواهید نقاط کنترل جدید بیشتری برای اطلاعات بیشتر اضافه کنید، روی قسمتی\nاز نقشه که بدون گره است دوبار کلیک کنید، و یکی اضاف خواهد شد.\n\nاگر جاده به جاده های دیگر متصل باشد، اما روی نقشه به درستی\nمتصل نباشد، شما میتوانید یکی از نقاط کنترل را بکشید به سایر جاده ها برای\nفراهم کردن پیوستن آنها. داشتن جاده های پیوسته و متصل برای نقشه مهم است\nو ارائه دستورالعمل ها ی رانندگی ضروری است.\n\nهمچنین میتوانید روی ابزار 'انتقال' کلیک کنید یا کلید میانبر `M` را فشار دهید تا همه جاده یک بار منتقل\nشود، و بعد دوباره کلیک کنید تا جابجایی ذخیره شود.\n\n### حذف کردن\n\nاگر جاده کامل اشتباه است - میتوانید ببینید که در تصویر ماهواره ای موجود نیست و بصورت ایده آل\nبطور محلی پذیرفته شده که در حال حاضر موجود نیست - شما میتوانید\nآنرا حذف کنید، با پاک کردن آن از نقشه. هنگام حذف عنصر محتاط باشید-\nشبیه هر ویرایش دیگری، نتایج توسط هر کسی دیده میشود تصاویر ماهواره ای غالبا تاریخ گذشته اند،\nپس ممکن است به طور ساده جاده جدیدا ساخته شده باشد.\n\nشما میتوانید جاده ای را حذف کنید با کلیک روی آن و انتخاب آن، سپس کلیک روی آیکون سطل زباله\nیا فشار دکمه ی 'Delete'.\n\n### ایجاد کردن\n\nجاهایی یافت میشوند که باید جاده باشند ولی اینگونه نیست؟ روی آیکون 'خط'\nدر بالا سمت چپ ویرایشگر کلیک کنید یا کلید میانبر`2` را فشار دهید\nتا کشیدن یک خط شروع شود.\n\nبرای شروع کشیدن روی ابتدای جاده کلیک کنید. اگر جاده\nشاخه ای از جاده ی موجود باشد، با کلیک روی مکانی که به هم متصل اند شروع کنید.\n\nسپس روی نقاط در امتداد جاده کلیک کنید به طوری که از مسیر سمت راست ، طبق تصاویر ماهواره ای\nیا GPS پیروی کند. اگر جاده ی در حال کشیدن شما از سایر جاده ها میگذرد، با کلیک\nروی نقطه تقاطع آنرا متصل کنید. وقتی کشیدنتان انجان شد، دوبار کلیک کنید\nیا 'بازگشت' را فشار دهید یا روی صفحه کلید 'Enter' را فشار دهید.\n", + "gps": "# جی‌پی‌اس\n\nردیابی‌های جی‌پی‌اس جمع‌آوری شده یکی از منابع ارزشمند برای اوپن‌استریت‌مپ هستند.\nاین ویرایشگر از ردیابی‌های محلی (پرونده‌های `.gpx`) پشتیبانی می‌کند.\nشما می‌توانید این نوع ردیابی‌ها را با بعضی از نرم‌افزارهای تلفن‌های هوشمند یا سخت‌افزارهای GPS ضبط کنید.\n\nبرای اطلاعات بیشتر در این موارد و چگونگی اجرای این کار میتوانید آموزش [نقشه‌کشی با گوشی هوشمند، دستگاه GPS و یا نقشه کاغذی](http://learnosm.org/fa/mobile-mapping/) را بخوانید.\n\nبرای استفاده از یک ردیابی GPX، فایل را به داخل ویرایشگر بکشید.\nاگر فایل GPX شناسایی بشود، مسیرهای آن به شکل خطوط بنفشی روشن در نقشه نشان داده می‌شوند. در منوی سمت راست صفحه بر روی گذینه‌ی 'Map Data' کلیک کنید تا تنظیمات این لایه GPX را مشاهده کنید.\n\nThe GPX track isn't directly uploaded to OpenStreetMap - the best way to\nuse it is to draw on the map, using it as a guide for the new features that\nyou add, and also to [upload it to OpenStreetMap](http://www.openstreetmap.org/trace/create)\nfor other users to use.\n\n", + "imagery": "# تصاویر هوایی\n\nتصاویر هوایی یک منبع مهمبرای نقشه‌کشی هستند. یک مجموعه از تصاویر و نقشه‌های هوایی و ماهواره‌ای رایگان در منوی سمت راست و بخش the 'Background Settings' وجود دارند.\n\nبه طور پیشفرض تصاویر ماهواره‌ای [نقشه بینگ](http://www.bing.com/maps/) در پس‌زمینه قرار دارند، اما به محض زوم کردن و جابجایی در نقشه منابع دیگر نیز در دسترس خواهند بود. بعضی کشورها مانند ایالات متحده، فرانسه و دانمارک در بعضی ناحیه‌ها دارای تصاویر بسیار باکیفیت هوایی هستند.\n\nتصاویر گاهی اوقات به علت خطا در سرور ارائه دهنده با موقعیت واقعی اختلاف دارند. اگر شما مسیر‌های بسیاری می‌بینید که با تصویر پس‌زمینه فاصله دارند، به هیچ عنوان بدون تحقیق آنها را با توجه به پس‌زمینه انتقال ندهید! به جای این کار می‌توانید پس از مطلع شدن از اختلاف تصاویر، آن‌ها را با کلیک بر روی دکمه‌ی 'Fix alignment' تنظیم کنید.\n", "addresses": "# آدرس ها\n\nآدرس ها مقداری از اطلاعات بسیار سودمند برای نقشه هستند.\n\nاگرچه آدرس ها اغلب بعنوان بخش هایی از جاده نمایان میشوند، در OpenStreetMap\nآنها بعنوان ویژگی هایی از ساختمان ها و مکان ها در امتداد خیابان ها ثبت میشوند.\n\nشما میتوانید اطلاعات آدرس را به مکان های نقشه شده بعنوان خطوط اضافه ساخته شده و\nهمچنین آنهایی که بعنوان یک نقطه نقشه شده اند اضافه کنید. منبع مناسب برای داده های آدرس\nبررسی بر روی زمین و دانش شخصی است -مثل هر ویژگی دیگری،\nکپی برداری از منابع تجاری مثل نقشه های گوگل به شدت\nممنوع است.\n", - "buildings": "# ساختمان ها\n\nOpenStreetMap یک دیتابیس عظیم جهان از ساختمان ها است. شما میتوانید\nاین دیتابیس را بسازید و بهبود بخشید.\n\n### انتخاب کردن\n\nمیتوانید با کلیک روی مرز ساختمان آن را انتخاب کنید. اینکار ساختمان را\nبرجسته میکند و یک منو ابزار کوچک باز میکند همجنین یک نوار کناری اطلاعات بیشتری\nدرباره ی ساختمان نشان میدهد.\n\n### اصلاح کردن\n\nگاهی اوقات ساختمان ها نادرست جاگذاری شده اند یا برچسب نادرست دارند.\n\nبرای انتقال کل ساختمان، آنرا انتخاب کنید، بعد روی ابزار 'انتقال' کلیک کنید. موس تان\nرا برای تغییر ساختمان حرکت دهید، و وقتی به درستی جایگذاری شد کلیک کنید.\n\nبرای تعمیر قسمت خاصی از ساختمان، روی گره هایی که مرز را مشخص میکنند کلیک کنید\nو آنها را به مکان بهتری بکشید.\n\n### ایجاد کردن\n\nیکی از موضوعات اصلی پیرامون افزودن ساختمان ها به نقشه این است که\nOpenStreetMap ساختمان ها را هم بصورت نقاط و هم شکل ها ثبت میکند. قاعده کلی برای\n_نقشه کردن ساختمان ها بصورت شکل هر وقت ممکن باشد_ این است، و نقشه کردن شرکت ها، خانه ها،\nامکانات رفاهی، و چیزهای دیگری که به عنوان ساختمان کاربرد دارند قرار گرفتن نقاط با شکل\nساختمان است\n\nکشیدن ساختمان بصورت شکل را شروع کنید با کلیک روی کلید 'فضا' در بالا سمت چپ\nرابط کاربری، و به آن پایان دهید توسط فشار دادن دکمه ی 'بازگشت' در صفحه کلیدتان\nیا کلیک روی اولین گره کشیده شده تا شکل بسته شود.\n\n### حذف کردن\n\nاگر ساختمانی کاملا نادرست است- میتوانید ببینید که در تصویر ماهواره ای\nموجود نیست و ایده آل تر بصورت محلی پذیرفته شده که موجود نیست - میتوانید\nآن را حذف کنید، با پاک کردن آن از نقشه. هنگام حذف ویژگی محتاط باشید\nشبیه هر ویرایش دیگری، نتایج توسط هر کسی دیده میشود و تصاویر ماهواره ای\nغالبا تاریخ گذشته است، پس بطور ساده ممکن است ساختمان جدیدا ساخته شده.\n\nمیتوانید یک ساختمان را حذف کنید با کلیک روی آن و انتخاب آن، سپس\nروی آیکون سطل زباله کلیک کنید یا کلید 'Delete' را فشار دهید.\n" + "inspector": "# Using the Inspector\n\nThe inspector is the section on the left side of the page that allows you to\nedit the details of the selected feature.\n\n### Selecting a Feature Type\n\nAfter you add a point, line, or area, you can choose what type of feature it\nis, like whether it's a highway or residential road, supermarket or cafe.\nThe inspector will display buttons for common feature types, and you can\nfind others by typing what you're looking for in the search box.\n\nClick the 'i' in the bottom-right-hand corner of a feature type button to\nlearn more about it. Click a button to choose that type.\n\n### Using Forms and Editing Tags\n\nAfter you choose a feature type, or when you select a feature that already\nhas a type assigned, the inspector will display fields with details about\nthe feature like its name and address.\n\nBelow the fields you see, you can click the 'Add field' dropdown to add\nother details, like a Wikipedia link, wheelchair access, and more.\n\nAt the bottom of the inspector, click 'Additional tags' to add arbitrary\nother tags to the element. [Taginfo](http://taginfo.openstreetmap.org/) is a\ngreat resource for learn more about popular tag combinations.\n\nChanges you make in the inspector are automatically applied to the map.\nYou can undo them at any time by clicking the 'Undo' button.\n", + "buildings": "# ساختمان ها\n\nOpenStreetMap یک دیتابیس عظیم جهان از ساختمان ها است. شما میتوانید\nاین دیتابیس را بسازید و بهبود بخشید.\n\n### انتخاب کردن\n\nمیتوانید با کلیک روی مرز ساختمان آن را انتخاب کنید. اینکار ساختمان را\nبرجسته میکند و یک منو ابزار کوچک باز میکند همجنین یک نوار کناری اطلاعات بیشتری\nدرباره ی ساختمان نشان میدهد.\n\n### اصلاح کردن\n\nگاهی اوقات ساختمان ها نادرست جاگذاری شده اند یا برچسب نادرست دارند.\n\nبرای انتقال کل ساختمان، آنرا انتخاب کنید، بعد روی ابزار 'انتقال' کلیک کنید. موس تان\nرا برای تغییر ساختمان حرکت دهید، و وقتی به درستی جایگذاری شد کلیک کنید.\n\nبرای تعمیر قسمت خاصی از ساختمان، روی گره هایی که مرز را مشخص میکنند کلیک کنید\nو آنها را به مکان بهتری بکشید.\n\n### ایجاد کردن\n\nیکی از موضوعات اصلی پیرامون افزودن ساختمان ها به نقشه این است که\nOpenStreetMap ساختمان ها را هم بصورت نقاط و هم شکل ها ثبت میکند. قاعده کلی برای\n_نقشه کردن ساختمان ها بصورت شکل هر وقت ممکن باشد_ این است، و نقشه کردن شرکت ها، خانه ها،\nامکانات رفاهی، و چیزهای دیگری که به عنوان ساختمان کاربرد دارند قرار گرفتن نقاط با شکل\nساختمان است\n\nکشیدن ساختمان بصورت شکل را شروع کنید با کلیک روی کلید 'فضا' در بالا سمت چپ\nرابط کاربری، و به آن پایان دهید توسط فشار دادن دکمه ی 'بازگشت' در صفحه کلیدتان\nیا کلیک روی اولین گره کشیده شده تا شکل بسته شود.\n\n### حذف کردن\n\nاگر ساختمانی کاملا نادرست است- میتوانید ببینید که در تصویر ماهواره ای\nموجود نیست و ایده آل تر بصورت محلی پذیرفته شده که موجود نیست - میتوانید\nآن را حذف کنید، با پاک کردن آن از نقشه. هنگام حذف عنصر محتاط باشید\nشبیه هر ویرایش دیگری، نتایج توسط هر کسی دیده میشود و تصاویر ماهواره ای\nغالبا تاریخ گذشته است، پس بطور ساده ممکن است ساختمان جدیدا ساخته شده.\n\nمیتوانید یک ساختمان را حذف کنید با کلیک روی آن و انتخاب آن، سپس\nروی آیکون سطل زباله کلیک کنید یا کلید 'Delete' را فشار دهید.\n", + "relations": "# Relations\n\nA relation is a special type of feature in OpenStreetMap that groups together\nother features. For example, two common types of relations are *route relations*,\nwhich group together sections of road that belong to a specific freeway or\nhighway, and *multipolygons*, which group together several lines that define\na complex area (one with several pieces or holes in it like a donut).\n\nThe group of features in a relation are called *members*. In the sidebar, you can\nsee which relations a feature is a member of, and click on a relation there\nto select the it. When the relation is selected, you can see all of its\nmembers listed in the sidebar and highlighted on the map.\n\nFor the most part, iD will take care of maintaining relations automatically\nwhile you edit. The main thing you should be aware of is that if you delete a\nsection of road to redraw it more accurately, you should make sure that the\nnew section is a member of the same relations as the original.\n\n## Editing Relations\n\nIf you want to edit relations, here are the basics.\n\nTo add a feature to a relation, select the feature, click the \"+\" button in the\n\"All relations\" section of the sidebar, and select or type the name of the relation.\n\nTo create a new relation, select the first feature that should be a member,\nclick the \"+\" button in the \"All relations\" section, and select \"New relation...\".\n\nTo remove a feature from a relation, select the feature and click the trash\nbutton next to the relation you want to remove it from.\n\nYou can create multipolygons with holes using the \"Merge\" tool. Draw two areas (inner\nand outer), hold the Shift key and click on each of them to select them both, and then\nclick the \"Merge\" (+) button.\n" }, "intro": { + "done": "انجام شده", + "graph": { + "city_hall": "سالن شهر مهران‌آباد", + "fire_department": "آتش‌نشانی مهران‌آباد", + "memory_isle_park": "پارک دانشجو", + "riverwalk_trail": "کنارروی رودخانه", + "w_michigan_ave": "خیابان سرو غربی", + "e_michigan_ave": "خیابان سرو شرقی", + "spring_st": "خیابان معلم", + "scidmore_park": "پارک لاله", + "petting_zoo": "باغ‌وحش ارم", + "n_andrews_st": "خیابان کارگر شمالی", + "s_andrews_st": "خیابان کارگر جنوبی", + "n_constantine_st": "خیابان شریعتی شمالی", + "s_constantine_st": "خیابان شریعتی جنوبی", + "rocky_river": "رودخانه کن", + "railroad_dr": "راه‌آهن رو", + "conrail_rr": "راه آهن جمهوری اسلامی ایران", + "st_joseph_river": "رودخانه زاینده‌رود", + "n_main_st": "خیابان کوروش شمالی", + "s_main_st": "خیابان کوروش جنوبی", + "water_st": "خیابان سازمان آب", + "foster_st": "خیابان انقلاب", + "portage_river": "رودخانه میهن", + "flower_st": "خیابان سهروردی", + "elm_st": "خیابان دانش", + "walnut_st": "خیابان گلستان", + "morris_ave": "خیابان ولی‌عصر", + "east_st": "خیابان شرق", + "portage_ave": "خیابان گمرک" + }, "navigation": { "title": "ناوبری", "drag": "ناحیه اصلی نقشه داده های OpenStreetMap را در بالای پس زمینه نشان می دهد. شما میتوانید با کشیدن و اسکرول کردن هدایت کنید، شبیه هر نقشه ی تحت وب دیگری. **نقشه را بکشید!**", - "select": "ویژگی های نقشه به سه روش نمایان میشوند: استفاده از نقاط، خطوط یا فضاها. همه ی ویژگی ها یا کلیک روی آنها قابل انتخاب اند.**برای انتخاب نقطه روی آن کلیک کنید.**" + "select": "عناصر نقشه به سه روش نشان داده می‌شوند: استفاده از نقاط، خطوط یا محدوده‌ها. همه‌ی عنصار با کلیک روی آنها قابل انتخاب اند.**برای انتخاب نقطه روی آن کلیک کنید.**", + "pane": "وقتی یک عنصر انتخاب می‌شود، ویرایشگر عنصر نمایش داده می‌شود. سربرگ نوع عنصر و پنل اصلی ویژگی‌های آن عنصر را به ما نشان میدهد، مانند نام و آدرس آن.**ویرایشگر عنصر را توسط دکمه {button} در بالای آن ببندید.**", + "search": "شما همچنین می‌توانید در میان عناصر نمای کنونی یا تمام دنیا جست‌وجو کنید. **به '{name}' را جست‌وجو کنید.**", + "choose": "**{name} را از لیست برگزینید تا آن را انتخاب کنید**", + "chosen": "عالیه! {name} حالا انتخاب شده. **ویرایشگر عنصر را با انتخاب دکمه {button} ببندید.**" }, "points": { "title": "نقاط", - "search": "ویژگی های مختلف زیادی وجود دارند که توسط نقاط ارائه میشوند. نقطه ای که فقط شما اضافه کردید یک کافه است.**جستجو کنید برای '{name}'**", + "add": "نقاط میتوانند برای نشان دادن عنصرهایی مثل فروشگاه‌ها، رستوران‌ها و آثار تاریخی استفاده شوند. آنها یک مکان خاص را تعیین میکنند، و آنچه آنجا است را توصیف می‌کنند. ** برای افزودن یک نقطه جدید بر روی {button} نقطه جدید کلیک کنید.**", + "place": "نقطه میتواند با کلیک کردن روی نقشه جایگذاری شود.**برو روی نقشه کلیک کنید تا نقطه را بالای ساختمان جای دهید.**", + "search": "انواع زیادی از عنصرها وجود دارند که میتوانند توسط نقاط ارائه شوند. نقطه‌ای که اکنون شما اضافه کردید یک کافه است.**جستجو کنید برای '{name}'**", "choose": "**کافه را از لیست انتخاب کنید.**", - "describe": "نقطه اکنون به عنوان کافه تعیین شد. با استفاده از ویرایشگر ویژگی، میتوانیم اطلاعات بیشتری درباره ویژگی اضافه کنیم.**اسمی را اضافه کنید.**" + "describe": "نقطه اکنون به عنوان کافه تعیین شد. با استفاده از ویرایشگر عنصر، میتوانیم اطلاعات بیشتری درباره این عنصر اضافه کنیم.**یک نام اضافه کنید.**", + "close": "ویرایشگر عنصر تمامی تغیرات شما را خودکار به خاطر خواهد سپرد. هنگامی که یک عنصر را تغیر می‌دهید، دکمه‌ی بستن، به یک علامت تیک تغیر شکل خواهد داد. **بر روی دکمه‌ی {button} کلیک کنید تا ویرایشگر عنصر بسته شود**", + "reselect": "غالبا نقاط از قبل موجود خواهند بود، اما دارای اشتباه یا ناقص‌اند. ما میتوانیم نقاط موجود را ویرایش کنیم.**نقطه ای که همین حالا ساخته‌اید را انتخاب کنید.**", + "fixname": "**نام را تغیر دهید، سپس بر روی دکمه {button} کلیک کنید تا ویرایشگر عنصر را ببندید**", + "reselect_delete": "تمام عناصر روی نقشه می‌توانند حذف شوند**بر روی نقطه‌ای که ایجاد کردید، کلیک کنید.**", + "delete": "منوی ظاهر شده کنار نقطه، چندین عمل اصلی که می‌تواند انجام شود، از جمله حذف را نشان می‌دهد. **بر روی دکمه‌ی {button} کلیک کنید تا نقطه را حذف کنید. **" }, "areas": { - "title": "فضاها", + "title": "محدوده‌ها", + "add": "محدوده‌ها می‌توانند عناصری مانند دریاچه‌ها، ساختمان‌ها و منطقه‌های مسکونی را نشان دهند. محدوده‌ها علاوه بر این، برای ترسیم دقیقتر بسیاری از عناصری که به طور معمول با نقطه مشخص می‌کنید نیز استفاده می‌شوند. **برای افزودن محدوده‌ی جدید روی دکمه ی {button} کلیک کنید.**", + "corner": "محدوده‌ها با رسم گره‌های که مرز محدوده را مشخص می‌کنند طراحی می‌شوند. **گره آغازین را در یکی از گوشه های زمین بازی قرار دهید.**", "place": "فضا را با گذاشتن گره های بیشتر بکشید. فضا را با کلیک روی نقطه ی شروع پایان دهید.**فضایی برای زمین بازی بکشید.**", - "search": "**برای '{name}' جستجو کنید.**", - "choose": "**زمین بازی را از لیست انتخاب کنید.**" + "search": "**'{name}' را جستجو کنید.**", + "choose": "**زمین بازی را از لیست انتخاب کنید.**", + "describe": "**یک نام اضافه کنید، سپس بر روی دکمه {button} کلیک کنید تا ویرایشگر عنصر را ببندید**" }, "lines": { "title": "خطوط", + "add": "خطوط میتوانند برای نشان دادن عنصرهایی مثل جاده‌ها، راه‌آهن‌ها، رودخانه‌ها استفاده شوند. ** برای افزودن یک خط جدید بر روی {button} خط جدید کلیک کنید.**", "start": "**خط را با کلیک روی پایان جاده آغاز کنید.**", + "intersect": "برای افزودن گره بیشتر به خط کلیک کنید. اگر نیاز باشد میتوانید نقشه را حین کشیدن خطوط حرکت دهید. جاده ها، و انواع دیگری از خطوط، قسمتی از یک شبکه ی بزرگترند. این مهم است که جاده‌ها به درستی به مهم وصل شده باشند تا شبکه‌ی مسیریابی به درستی کار کند.\n**برای ایجاد یک تقاطع از دو خط، روی {name} کلیک کنید.**", "finish": "خط ها میتوانند با کلیک دوباره روی آخرین نقطه پایان یابند.**کشیدن نقشه را تمام کنید.**", "road": "**جاده را از لیست انتخاب کنید**", "residential": "انواع مختلفی از جاده وجود دارد، شایع ترینش مسکونی است.**نوع را جاده ی مسکونی انتخاب کنید**", + "describe": "**جاده را نامگذاری کنید، سپس بر روی دکمه {button} کلیک کنید تا ویرایشگر عنصر را ببندید.**", + "restart": "جاده نیاز به اتصال به تقاطع {name} دارد.", "wrong_preset": "شما نوع جاده را مسکونی انتخاب نکرده اید.**برای انتخاب دوباره اینجا کلیک کنید**" }, "startediting": { "title": "شروع ویرایش", + "help": "شما می‌توانید این راهنمایی گام‌به‌گام را باز ببینید یا با کلیک بر روی دکمهی {button} راهنمایی، مستندات بیشتری را مشاهده کنید.", "save": "فراموش نکنید که به طور منظم تغییرات را ذخیره کنید!", "start": "شروع نقشه کشی!" } @@ -508,13 +628,16 @@ "name": "ویژگی‌های گلف" }, "category-landuse": { - "name": "ویژگی‌های کاربری" + "name": "ویژگی‌های کاربری اراضی" + }, + "category-path": { + "name": "ویژگی‌های مسیر" }, "category-rail": { "name": "ویژگی‌های راه‌آهن" }, "category-restriction": { - "name": "ویژگی‌های محدوده" + "name": "ویژگی‌های محدودیت" }, "category-road": { "name": "ویژگی‌های جاده" @@ -523,10 +646,10 @@ "name": "ویژگی‌های مسیر" }, "category-water-area": { - "name": "ویژگی های آب" + "name": "ویژگی‌های آب" }, "category-water-line": { - "name": "ویژگی های آب" + "name": "ویژگی‌های آب" } }, "fields": { @@ -565,9 +688,9 @@ "placeholder": "تعیین نشده", "types": { "access": "همه", - "bicycle": "دوچرخه ها", + "bicycle": "دوچرخه‌ها", "foot": "پیاده", - "horse": "اسب ها", + "horse": "اسب‌ها", "motor_vehicle": "وسایل نقلیه موتوری" } }, @@ -578,16 +701,17 @@ "label": "دسترسی" }, "address": { - "label": "ادرس", + "label": "آدرس", "placeholders": { "city": "شهر", "conscriptionnumber": "123", "country": "کشور", "district": "منطقه", + "floor": "طبقه", "hamlet": "دهکده", "housename": "نام خانه", "housenumber": "123", - "place": "محل", + "place": "مکان", "postcode": "کدپستی", "province": "استان", "state": "ایالت", @@ -605,7 +729,7 @@ "aerialway/access": { "label": "دسترسی", "options": { - "both": "هردو", + "both": "هر دو", "entry": "ورودی", "exit": "خروج" } @@ -614,7 +738,7 @@ "label": "قل قل کردن" }, "aerialway/capacity": { - "label": "ظرفیت (بر ساعت)", + "label": "ظرفیت (در ساعت)", "placeholder": "500, 2500, 5000..." }, "aerialway/duration": { @@ -631,7 +755,7 @@ "aerialway/summer/access": { "label": "دسترسی (تابستان)", "options": { - "both": "هردو", + "both": "هر دو", "entry": "ورودی", "exit": "خروج" } @@ -655,20 +779,41 @@ "label": "خودپرداز" }, "backrest": { - "label": "تکیه گاه" + "label": "تکیه‌گاه" }, "barrier": { "label": "نوع" }, + "beauty": { + "label": "نوع فروشگاه" + }, "bench": { "label": "نیمکت" }, "bicycle_parking": { "label": "نوع" }, + "bin": { + "label": "سطل زباله" + }, + "blood_components": { + "label": "اجزای خون", + "options": { + "plasma": "پلاسما", + "platelets": "پلاکت‌ها", + "stemcells": "نمونه‌های سلولهای بنیادی", + "whole": "خون کامل" + } + }, + "board_type": { + "label": "نوع" + }, "boundary": { "label": "نوع" }, + "brand": { + "label": "نام تجاری" + }, "building": { "label": "ساختمان" }, @@ -725,16 +870,26 @@ "craft": { "label": "نوع" }, + "crop": { + "label": "محصول کشاورزی" + }, "crossing": { "label": "نوع" }, "cuisine": { "label": "غذا" }, + "currency_multi": { + "label": "انواع ارز" + }, + "cycle_network": { + "label": "شبکه" + }, "cycleway": { "label": "خطوط دوچرخه", "options": { "lane": { + "description": "خط دوچرخه جدا شده از ترافیک خودرو با خط رنگی", "title": "خط استاندارد دوچرخه" }, "none": { @@ -745,8 +900,12 @@ "description": "خط ویژه دوچرخه‌سواری دو جهته در خیابان یک طرفه", "title": "مسیر ویژه دوچرخه در جهت مخالف حرکت" }, + "opposite_lane": { + "description": "خط ویژه دوچرخه‌سواری در جهت برعکس رفت‌آمد", + "title": "خط دوچرخه مخالف" + }, "share_busway": { - "description": "خط دوچرخه مشترک با خط اتوبوس", + "description": "یک خط دوچرخه مشترک با خط اتوبوس", "title": "خط دوچرخه مشترک با خط اتوبوس" }, "shared_lane": { @@ -755,7 +914,7 @@ }, "track": { "description": "خط دوچرخه جدا شده از ترافیک خودرو با مانع فیزیکی", - "title": "خط دوچرخه‌سواری جدا شده از ترافیک بوسیله مانع فیزیکی" + "title": "رد دوچرخه" } }, "placeholder": "هیچکدام", @@ -771,7 +930,7 @@ "label": "تحویل" }, "denomination": { - "label": "پول" + "label": "مذهب" }, "denotation": { "label": "مفهوم" @@ -794,10 +953,12 @@ "electrified": { "label": "برق رسانی", "options": { + "contact_line": "خط ارتباطی", "no": "خیر", "rail": "راه‌آهن برقی", - "yes": "بلی (نامشخص)" - } + "yes": "بله (نامشخص)" + }, + "placeholder": "خط ارتباطی، راه‌آهن برقی..." }, "elevation": { "label": "ارتفاع" @@ -821,13 +982,14 @@ "fire_hydrant/type": { "label": "نوع", "options": { - "pond": "دریاچه", - "underground": "زیر زمین", + "pillar": "ستون/سطح بالا تر از زمین", + "pond": "برکه", + "underground": "زیرزمین", "wall": "دیوار" } }, "fixme": { - "label": "تصحیح من" + "label": "من رو درست کن" }, "fuel": { "label": "سوخت" @@ -867,6 +1029,9 @@ "handrail": { "label": "نرده راه پله" }, + "height": { + "label": "ارتفاع (متر)" + }, "highway": { "label": "نوع" }, @@ -874,6 +1039,7 @@ "label": "نوع" }, "hoops": { + "label": "حلقه ها", "placeholder": "1, 2, 4..." }, "iata": { @@ -903,8 +1069,8 @@ "options": { "no": "خیر", "terminal": "پايانه", - "wired": "سيمي", - "wlan": "واي فاي", + "wired": "با سیم", + "wlan": "وای فای", "yes": "بلی" } }, @@ -985,6 +1151,12 @@ "man_made": { "label": "نوع" }, + "map_size": { + "label": "پوشش" + }, + "map_type": { + "label": "نوع" + }, "maxspeed": { "label": "محدودیت سرعت", "placeholder": "40, 50, 60..." @@ -1001,11 +1173,12 @@ "3": "۳: سطوح سُر، اجسام بزرگ، پیچ‌های تند دشوار", "4": "سطوح یا تخته‌سنگ‌های سست، پیچ‌های تند خطرناک", "5": "۵: بیشترین دشواری، زمین‌های تخته‌سنگی، کوه‌ریزش‌ها", - "6": "۶: غیرقابل اطمینان جز بوسیلهٔ بهترین دوچرخه‌سواران کوهستان" + "6": "۶: غیرقابل رکاب‌زدن جز بوسیلهٔ بهترین دوچرخه‌سواران کوهستان" }, "placeholder": "0, 1, 2, 3..." }, "mtb/scale/imba": { + "label": "درجه سختی مسیر طبق معیار انجمن بین المللی دوچرخه سواری کوهستان", "options": { "0": "آسان‌ترین (دایره سفید)", "1": "آسان (دایره سبز)", @@ -1028,7 +1201,7 @@ "placeholder": "0, 1, 2, 3..." }, "name": { - "label": "اسم", + "label": "نام", "placeholder": "نام مشترک (در صورت وجود)" }, "natural": { @@ -1102,6 +1275,13 @@ "label": "برابری", "placeholder": "3, 4, 5..." }, + "parallel_direction": { + "label": "جهت", + "options": { + "backward": "به عقب", + "forward": "به جلو" + } + }, "park_ride": { "label": "پارک و سوار شدن" }, @@ -1117,6 +1297,9 @@ "underground": "زیر زمین" } }, + "payment_multi": { + "label": "روش‌های پرداخت" + }, "phone": { "label": "تلفن", "placeholder": "+31 42 123 4567" @@ -1137,6 +1320,7 @@ "piste/grooming": { "label": "تیمار کردن", "options": { + "backcountry": "مکان کمپ بدون امکانات", "classic": "کلاسیک", "classic+skating": "کلاسیک و اسکیت", "mogul": "مغول", @@ -1152,6 +1336,7 @@ "ice_skate": "اسکی روی یخ", "nordic": "شمال اروپا", "playground": "زمین بازی", + "skitour": "مناسب برای Skitour", "sled": "با سورتمه حمل کردن", "sleigh": "سورتمه", "snow_park": "پارک برفی" @@ -1172,6 +1357,16 @@ "railway": { "label": "نوع" }, + "recycling_accepts": { + "label": "قبول" + }, + "recycling_type": { + "label": "نوع بازیافت", + "options": { + "centre": "مرکز بازیافت", + "container": "ظرف بازیافت" + } + }, "ref": { "label": "مراجعتی" }, @@ -1187,6 +1382,9 @@ "restrictions": { "label": "محدودیت‌های گردش" }, + "rooms": { + "label": "اتاق‌ها" + }, "route": { "label": "نوع" }, @@ -1197,6 +1395,9 @@ "label": "پیاده‌روی دشوار", "options": { "alpine_hiking": "T4: پیاده روی آلپ", + "demanding_alpine_hiking": "T 5: نیازمند مهارت های کوهنوردی نیمه حرفه ای", + "demanding_mountain_hiking": "T3: نیازمند مهارت های مقدماتی کوهنوردی", + "difficult_alpine_hiking": "T6: نیازمند مهارت های کوهنرودی حرفه ای", "hiking": "T1: پیاده‌روی", "mountain_hiking": "T2: پیاده‌روی کوهستانی" }, @@ -1208,24 +1409,20 @@ "seasonal": { "label": "فصلی" }, + "second_hand": { + "label": "فروش دسته دوم", + "options": { + "no": "نه", + "only": "فقط", + "yes": "بله" + }, + "placeholder": "فقط از Yes و NO استفاده شود" + }, "service": { "label": "نوع" }, - "service/bicycle/chain_tool": { - "label": "ابزار زنجیر", - "options": { - "no": "خیر", - "undefined": "خیر فرض شده", - "yes": "بلی" - } - }, - "service/bicycle/pump": { - "label": "پمپ هوا", - "options": { - "no": "خیر", - "undefined": "خیر فرض شده", - "yes": "بلی" - } + "service/bicycle": { + "label": "خدمات" }, "service_rail": { "label": "نوع خدمات", @@ -1245,10 +1442,14 @@ "shop": { "label": "نوع" }, + "site": { + "label": "نوع" + }, "smoking": { "label": "کشیدن مواد افیونی", "options": { "dedicated": "اختصاص داده شده به استعمال کنندگان مواد افیونی (عنوان مثال باشگاه افراد سیگاری)", + "isolated": "در مناطق سیگار کشیدن، از لحاظ فیزیکی جدا شده", "no": "در همه جا سیگارکشیدن ممنوع", "outside": "مجاز فقط در خارج از محدوده", "separated": "در مناطق مصرف سیگار، از نظر فیزیکی جدا نشده", @@ -1260,14 +1461,18 @@ "label": "صافی", "options": { "bad": "چرخ مقاوم: دوچرخه کوهستانی، ماشین، کالسکه", + "excellent": "مناسب برای چرخ های کوچک: اسکیت", "good": "چرخ نازک: دوچرخه مسابقه‌ای", "horrible": "خارج از جاده: خودرو سنگین خارج از جاده", "impassable": "صعب العبور/وسیله نقلیه بدون چرخ", "intermediate": "چرخ: دوچرخه شهری، صندلی چرخدار، اسکوتر", - "very_bad": "خیلی تمیز: خودروی سبک خارج از جاده" - } + "very_bad": "خیلی تمیز: خودروی سبک خارج از جاده", + "very_horrible": "مخصوص خودروهای خارج از جاده: تراکتور، ATV" + }, + "placeholder": "چرخ های کوچک، جرخ بزرگ، چرخ آفرود" }, "social_facility_for": { + "label": "خدمت مردمی", "placeholder": "بی خانمان، معلول، کودک، و غیره" }, "source": { @@ -1282,6 +1487,16 @@ "sport_racing": { "label": "ورزشي" }, + "stars": { + "label": "ستاره ها" + }, + "stop": { + "label": "نوع فروشگاه", + "options": { + "all": "همه‌ی راه‌ها", + "minor": "جاده‌ی جزئی" + } + }, "structure": { "label": "ساختاری", "options": { @@ -1293,12 +1508,18 @@ }, "placeholder": "ناشناخته" }, + "studio": { + "label": "نوع" + }, "substation": { "label": "نوع" }, "supervised": { "label": "نظارت" }, + "support": { + "label": "پشتیبانی" + }, "surface": { "label": "سطح" }, @@ -1306,26 +1527,34 @@ "label": "سنگفرش لمسی -برای نابینایان" }, "takeaway": { + "label": "بیرون بر", "options": { "no": "خیر", + "only": "فقط بیرون بر", "yes": "بلی" - } + }, + "placeholder": "بله، خیر، فقط بیرون بر..." }, "toilets/disposal": { "label": "در اختیار", "options": { "bucket": "سطل", "chemical": "شیمیایی", - "flush": "فلش" + "flush": "فلش", + "pitlatrine": "گودال مستراح" } }, "tourism": { "label": "نوع" }, - "towertype": { - "label": "نوع برج" + "tower/construction": { + "label": "ساخت و ساز" + }, + "tower/type": { + "label": "نوع" }, "tracktype": { + "label": "نوع مسیر:", "options": { "grade1": "سخت: سنگفرش و یا سطح سخت به شدت فشرده", "grade2": "عمدتا سخت: ماسه / سنگ مخلوط شده با بعضی از مواد نرم", @@ -1335,6 +1564,9 @@ }, "placeholder": "سخت، عمدتا سخت، نرم ..." }, + "traffic_calming": { + "label": "نوع" + }, "traffic_signals": { "label": "نوع" }, @@ -1359,9 +1591,20 @@ "vending": { "label": "نوع محموله" }, + "visibility": { + "label": "دید", + "options": { + "area": "بیش از 20 متر (65 فوت)", + "house": "تا 5 متر دیده می‌شود (16فوت)", + "street": "از 5 تا 20 متر دیده می‌شود (16 تا 65 فوت)" + } + }, "water": { "label": "نوع" }, + "water_point": { + "label": "نقطه آبی" + }, "waterway": { "label": "نوع" }, @@ -1385,22 +1628,26 @@ "presets": { "address": { "name": "آدرس", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آدرس'، با کاما جدا می‌شوند>" + "terms": "آدرس, ادرس" + }, + "advertising/billboard": { + "name": "تابلو تبلیغاتی", + "terms": "تابلو, بیلبورد, تبلیغ," }, "aerialway": { "name": "بالابر" }, "aerialway/cable_car": { "name": "ماشین کابلی", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ترن برقی'، با کاما جدا می‌شوند>" + "terms": "ترن برقی, تراموای برقی, Cable Car" }, "aerialway/chair_lift": { "name": "صندلی بالابر", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'تله‌سی‌یژ'، با کاما جدا می‌شوند>" + "terms": "تله‌اسکی,تله سی یژ" }, "aerialway/gondola": { "name": "تله کابین", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'گوندولا'، با کاما جدا می‌شوند>" + "terms": "بلم, قایق" }, "aerialway/magic_carpet": { "name": "آسانسور اسکی", @@ -1496,6 +1743,14 @@ "name": "اجاره دوچرخه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اجاره دوچرخه'، با کاما جدا می‌شوند>" }, + "amenity/bicycle_repair_station": { + "name": "ایستگاه تعمیر دوچرخه", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه تعمیر دوچرخه'، با کاما جدا می‌شوند>" + }, + "amenity/biergarten": { + "name": "باغ آبجو", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'باغ آبجو'، با کاما جدا می‌شوند>" + }, "amenity/boat_rental": { "name": "کرایه قایق", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کرایه قایق'، با کاما جدا می‌شوند>" @@ -1524,6 +1779,10 @@ "name": "کارواش", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کارواش'، با کاما جدا می‌شوند>" }, + "amenity/casino": { + "name": "کازینو", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کازینو'، با کاما جدا می‌شوند>" + }, "amenity/charging_station": { "name": "ایستگاه شارژ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه شارژ'، با کاما جدا می‌شوند>" @@ -1549,7 +1808,8 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'محیط کالج'، با کاما جدا می‌شوند>" }, "amenity/community_centre": { - "name": "مرکز اجتماع" + "name": "مرکز اجتماع", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرکز اجتماع'، با کاما جدا می‌شوند>" }, "amenity/compressed_air": { "name": "هوای فشرده", @@ -1559,6 +1819,10 @@ "name": "دادگاه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دادگاه'، با کاما جدا می‌شوند>" }, + "amenity/coworking_space": { + "name": "فضای همکاری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای'فضای همکاری'، با کاما جدا می‌شوند>" + }, "amenity/dentist": { "name": "دندانپزشک", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دندانپزشک'، با کاما جدا می‌شوند>" @@ -1583,6 +1847,10 @@ "name": "غذای آماده", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'غذای آماده'، با کاما جدا می‌شوند>" }, + "amenity/ferry_terminal": { + "name": "پایانه کشتی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پایانه کشتی'، با کاما جدا می‌شوند>" + }, "amenity/fire_station": { "name": "ایستگاه آتش نشانی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه آتش نشانی'، با کاما جدا می‌شوند>" @@ -1607,6 +1875,18 @@ "name": "محیط بیمارستان", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'محیط بیمارستان'، با کاما جدا می‌شوند>" }, + "amenity/hunting_stand": { + "name": "ایستگاه شکار", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه شکار'، با کاما جدا می‌شوند>" + }, + "amenity/ice_cream": { + "name": "بستنی فروشی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بستنی فروشی'، با کاما جدا می‌شوند>" + }, + "amenity/internet_cafe": { + "name": "کافی‌نت", + "terms": "کافه‌ی اینترنت" + }, "amenity/kindergarten": { "name": "پیش دبستانی / محیط کودکستان", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیش دبستانی / محیط کودکستان'، با کاما جدا می‌شوند>" @@ -1663,6 +1943,10 @@ "name": "مسجد", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسجد'، با کاما جدا می‌شوند>" }, + "amenity/planetarium": { + "name": "آسمان نما", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آسمان نما'، با کاما جدا میشوند>" + }, "amenity/police": { "name": "پليس", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پلیس'، با کاما جدا می‌شوند>" @@ -1675,6 +1959,10 @@ "name": "اداره پست", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اداره پست'، با کاما جدا می‌شوند>" }, + "amenity/prison": { + "name": "محوطه زندان", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'محوطه زندان'، با کاما جدا می‌شوند>" + }, "amenity/pub": { "name": "میخانه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'میخانه'، با کاما جدا می‌شوند>" @@ -1684,12 +1972,17 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'قفسه کتاب عمومی'، با کاما جدا می‌شوند>" }, "amenity/ranger_station": { - "name": "ایستگاه جنگل بانی" + "name": "ایستگاه جنگلبانی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه جنگلبانی'، با کاما جدا می‌شوند>" }, "amenity/recycling": { "name": "بازیافت مواد", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بازیافت'، با کاما جدا می‌شوند>" }, + "amenity/recycling_centre": { + "name": "مرکز بازیافت", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرکز بازیافت'، با کاما جدا می‌شوند>" + }, "amenity/register_office": { "name": "اداره ثبت" }, @@ -1756,6 +2049,14 @@ "name": "محیط دانشگاهی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'محیط دانشگاه'، با کاما جدا می‌شوند>" }, + "amenity/vending_machine/cigarettes": { + "name": "دستگاه فروش سیگار", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه فروش سیگار'، با کاما جدا می‌شوند>" + }, + "amenity/vending_machine/condoms": { + "name": "دستگاه فروش کاندوم", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه فروش کاندوم'، با کاما جدا می‌شوند>" + }, "amenity/vending_machine/drinks": { "name": "دستگاه خودفروش آب آشامیدنی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه خودفروش آب آشامیدنی'، با کاما جدا می‌شوند>" @@ -1768,6 +2069,10 @@ "name": "دستگاه خود فروش روزنامه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه خود فروش روزنامه'، با کاما جدا می‌شوند>" }, + "amenity/vending_machine/parcel_pickup_dropoff": { + "name": "سرویس دریافت مرسولات پستی، دستگاه دریافت مرسولات پستی", + "terms": "سرویس دریافت امانات پستی، دستگاه دریافت کننده مرسولات پستی " + }, "amenity/vending_machine/parking_tickets": { "name": "دستگاه فروش خودکار کارت پارکینگ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه فروش خودکار کارت پارکینگ'، با کاما جدا می‌شوند>" @@ -1792,6 +2097,14 @@ "name": "سطل زباله", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سطل زباله'، با کاما جدا می‌شوند>" }, + "amenity/waste_disposal": { + "name": "زباله‌دان", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'زباله‌دان'، با کاما جدا می‌شوند>" + }, + "amenity/waste_transfer_station": { + "name": "ایستگاه انتقال زباله", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه انتقال زباله'، با کاما جدا می‌شوند>" + }, "amenity/water_point": { "name": "آب قابل شرب RV", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای'آب قابل شرب RV'، با کاما جدا می‌شوند>" @@ -1828,6 +2141,10 @@ "name": "مانع مستطیلی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مانع مستطیلی'، با کاما جدا می‌شوند>" }, + "barrier/ditch": { + "name": "خندق", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خندق'، با کاما جدا می‌شوند>" + }, "barrier/entrance": { "name": "ورودی" }, @@ -1876,12 +2193,12 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان'، با کاما جدا می‌شوند>" }, "building/apartments": { - "name": "آپارتمان ها", + "name": "آپارتمان", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آپارتمان'، با کاما جدا می‌شوند>" }, "building/barn": { "name": "انبار غله", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'انبار غله'، با کاما جدا می‌شوند>" + "terms": "انبار کاه" }, "building/bunker": { "name": "انباربزرگ" @@ -1903,16 +2220,16 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان کلیسا'، با کاما جدا می‌شوند>" }, "building/college": { - "name": "ساختمان کالج", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان کالج'، با کاما جدا می‌شوند>" + "name": "ساختمان دانشکده", + "terms": "ساختمان کالج" }, "building/commercial": { - "name": "ساختمان ارتباطی", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان ارتباطی'، با کاما جدا می‌شوند>" + "name": "ساختمان تجاری", + "terms": "تجاری, بازرگانی,مجتمع تجاری" }, "building/construction": { "name": "ساختمان در دست ساخت", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان در دست ساخت'، با کاما جدا می‌شوند>" + "terms": "سازه, در حال ساخت, ساخت و ساز" }, "building/detached": { "name": "خانه ویلایی", @@ -1920,7 +2237,7 @@ }, "building/dormitory": { "name": "خوابگاه", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خوابگاه'، با کاما جدا می‌شوند>" + "terms": "خواب گاه," }, "building/entrance": { "name": "ورود/خروج" @@ -2012,6 +2329,10 @@ "name": "انبار", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'انبار'، با کاما جدا می‌شوند>" }, + "camp_site/camp_pitch": { + "name": "مکان برقراری چادر", + "terms": "مکان برقراری چادر، مکان قرار دادن خودرو کاروان" + }, "craft": { "name": "پیشه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیشه'، با کاما جدا می‌شوند>" @@ -2192,6 +2513,10 @@ "name": "ساخت و ساز پنجره", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پنجره‌ساز'، با کاما جدا می‌شوند>" }, + "craft/winery": { + "name": "شراب خانه", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'شراب خانه'، با کاما جدا می‌شوند>" + }, "embankment": { "name": "خاک ریز", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'Embankment'، با کاما جدا می‌شوند>" @@ -2200,14 +2525,36 @@ "name": "ایستگاه آمبولانس", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه آمبولانس'، با کاما جدا می‌شوند>" }, + "emergency/defibrillator": { + "name": "دستگاه شوک", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه شوک'، با کاما جدا می‌شوند>" + }, + "emergency/designated": { + "name": "دسترسی اضطراری تعیین شده" + }, + "emergency/destination": { + "name": "دسترسی اضطراری مقصد" + }, "emergency/fire_hydrant": { "name": "آتش نشانی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'شیر آتش‌نشانی'، با کاما جدا می‌شوند>" }, + "emergency/no": { + "name": "دسترسی اظطراری خیر" + }, + "emergency/official": { + "name": "دسترسی اظطراری رسمی" + }, "emergency/phone": { "name": "تلفن اورژانسی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'تلفن اورژانسی'، با کاما جدا می‌شوند>" }, + "emergency/private": { + "name": "دسترسی اضطراری شخصی" + }, + "emergency/yes": { + "name": "دسترسی اظطراری بله" + }, "entrance": { "name": "ورود/خروج", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ورودی / خروجی'، با کاما جدا می‌شوند>" @@ -2225,7 +2572,8 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیاده‌رو'، با کاما جدا می‌شوند>" }, "ford": { - "name": "معبر" + "name": "معبر", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'معبر'، با کاما جدا می‌شوند>" }, "golf/bunker": { "name": "تله شن و ماسه", @@ -2243,6 +2591,14 @@ "name": "سوراخ گلف", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سوراخ گلف'، با کاما جدا می‌شوند>" }, + "golf/lateral_water_hazard_area": { + "name": "خطر آب های کناری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خطر آب های کناری'، با کاما جدا می‌شوند>" + }, + "golf/lateral_water_hazard_line": { + "name": "خطر آب های کناری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای خطر آب های کناری'، با کاما جدا می‌شوند>" + }, "golf/rough": { "name": "منطقه زمخت", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'زمین خشن گلف'، با کاما جدا می‌شوند>" @@ -2251,6 +2607,18 @@ "name": "Tee Box", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مستطیل کاشت توپ گلف'، با کاما جدا می‌شوند>" }, + "golf/water_hazard_area": { + "name": "خطر آب", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خطر آب'، با کاما جدا می‌شوند>" + }, + "golf/water_hazard_line": { + "name": "خطر آب", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خطر آب'، با کاما جدا می‌شوند>" + }, + "healthcare/blood_donation": { + "name": "مرکز اهدای خون", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرکز اهدای خون'، با کاما جدا می‌شوند>" + }, "highway": { "name": "بزرگراه" }, @@ -2282,6 +2650,10 @@ "name": "مسیر پیاده روی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر پیاده'، با کاما جدا می‌شوند>" }, + "highway/give_way": { + "name": "تابلو حق تقدم با خودرو روبرو", + "terms": "علامت توقف" + }, "highway/living_street": { "name": "خیابان محدوده زندگی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خیابان محل زندگی'، با کاما جدا می‌شوند>" @@ -2390,6 +2762,10 @@ "name": "اتصال سومی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیوند سوم'، با کاما جدا می‌شوند>" }, + "highway/track": { + "name": "جاده خاکی رها شده", + "terms": "راه خاکی، راه جنگلی، راه روستایی، مسیر تراکتور" + }, "highway/traffic_signals": { "name": "چراغ راهنمایی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'چراغ راهنمایی'، با کاما جدا می‌شوند>" @@ -2406,6 +2782,10 @@ "name": "بنبست قابل دور زدن", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بنبست قابل دور زدن'، با کاما جدا می‌شوند>" }, + "highway/unclassified": { + "name": "جاده طبقه‌بندی نشده/جزئی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'جاده طبقه‌بندی نشده/جزئی'، با کاما جدا می‌شوند>" + }, "historic": { "name": "مکان تاریخی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مکان تاریخی'، با کاما جدا می‌شوند>" @@ -2435,10 +2815,12 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ویرانه'، با کاما جدا می‌شوند>" }, "historic/wayside_cross": { - "name": "صلیب کنار جاده" + "name": "صلیب کنار جاده", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'صلیب کنار جاده'، با کاما جدا می‌شوند>" }, "historic/wayside_shrine": { - "name": "آرامگاه کنار جاده" + "name": "آرامگاه کنار جاده", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آرامگاه کنار جاده'، با کاما جدا می‌شوند>" }, "junction": { "name": "اتصال", @@ -2523,6 +2905,10 @@ "name": "معدن سنگ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'معدن'، با کاما جدا می‌شوند>" }, + "landuse/recreation_ground": { + "name": "محوطه تفریحی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'محوطه تفریحی'، با کاما جدا می‌شوند>" + }, "landuse/residential": { "name": "منطقه مسکونی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'منطقه مسکونی'، با کاما جدا می‌شوند>" @@ -2543,12 +2929,17 @@ "name": "مرکز بازی بزرگسالان", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرکز بازی بزرگسالان'، با کاما جدا می‌شوند>" }, + "leisure/bird_hide": { + "name": "مکان تماشای پرندگان", + "terms": "مخفیگاه تماشای پرندگان" + }, "leisure/bowling_alley": { "name": "سالن بولینگ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سالن بولینگ'، با کاما جدا می‌شوند>" }, "leisure/common": { - "name": "عمومی" + "name": "عمومی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'عمومی'، با کاما جدا میشوند>" }, "leisure/dog_park": { "name": "پارک سگ", @@ -2558,6 +2949,18 @@ "name": "گودال آتش", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'گودال آتش'، با کاما جدا می‌شوند>" }, + "leisure/fitness_centre": { + "name": "مرکز پرورش و تناسب اندام", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرکز پرورش و تناسب اندام'، با کاما جدا می‌شوند>" + }, + "leisure/fitness_centre/yoga": { + "name": "استودیو یوگا", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'استودیو یوگا'، با کاما جدا می‌شوند>" + }, + "leisure/fitness_station": { + "name": "ایستگاه ورزشی در فضای باز", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه ورزشی در فضای باز'، با کاما جدا می‌شوند>" + }, "leisure/garden": { "name": "باغ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'باغ'، با کاما جدا می‌شوند>" @@ -2574,6 +2977,10 @@ "name": "تفرجگاه ساحلی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بندرگاه قایق'، با کاما جدا می‌شوند>" }, + "leisure/miniature_golf": { + "name": "گلف مینیاتوری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'گلف مینیاتوری'، با کاما جدا میشوند>" + }, "leisure/nature_reserve": { "name": "ذخیره‌گاه طبیعی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ذخیره‌گاه طبیعی'، با کاما جدا می‌شوند>" @@ -2602,6 +3009,10 @@ "name": "محوطه بسکتبال", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'زمین بسکتبال'، با کاما جدا می‌شوند>" }, + "leisure/pitch/bowls": { + "name": "چمن مخصوص بولینگ", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'چمن مخصوص بولینگ'، با کاما جدا می‌شوند>" + }, "leisure/pitch/rugby_league": { "name": "زمین راگبی ۱۳ نفره", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'زمین راگبی ۱۳ نفره'، با کاما جدا می‌شوند>" @@ -2638,6 +3049,14 @@ "name": "قایق ساکن", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر لغزشی کشتی'، با کاما جدا می‌شوند>" }, + "leisure/sports_centre": { + "name": "مجتمع/مرکز ورزشی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرکز/سالن ورزشی'، با کاما جدا می‌شوند>" + }, + "leisure/sports_centre/swimming": { + "name": "تاسیسات استخر", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'امکانات استخر'، با کاما جدا می‌شوند>" + }, "leisure/stadium": { "name": "ورزشگاه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ورزشگاه'، با کاما جدا می‌شوند>" @@ -2650,6 +3069,10 @@ "name": "مسیر مسابقه (غیر ورزش‌های موتوری)", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر مسابقه (غیر ورزش‌های موتوری)'، با کاما جدا می‌شوند>" }, + "leisure/water_park": { + "name": "پارک آبی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پارک آبی'، با کاما جدا می‌شوند>" + }, "line": { "name": "خط", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خط'، با کاما جدا می‌شوند>" @@ -2666,6 +3089,14 @@ "name": "موج شکن", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'موج شکن'، با کاما جدا می‌شوند>" }, + "man_made/bridge": { + "name": "پل", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پل'، با کاما جدا می‌شوند>" + }, + "man_made/chimney": { + "name": "دودکش", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دودکش'، با کاما جدا می‌شوند>" + }, "man_made/cutline": { "name": "خط برش", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر جنگلی'، با کاما جدا می‌شوند>" @@ -2677,6 +3108,14 @@ "name": "میله پرچم", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'میله پرچم'، با کاما جدا می‌شوند>" }, + "man_made/gasometer": { + "name": "کنتور گاز", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کنتور گاز'، با کاما جدا میشوند>" + }, + "man_made/groyne": { + "name": "آبشکن", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آبشکن'، با کاما جدا می‌شوند>" + }, "man_made/lighthouse": { "name": "فانوس دریایی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فانوس دریایی'، با کاما جدا می‌شوند>" @@ -2701,6 +3140,10 @@ "name": "خط لوله", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خط لوله'، با کاما جدا می‌شوند>" }, + "man_made/pumping_station": { + "name": "ایستگاه پمپاژ", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه پمپاژ'، با کاما جدا می‌شوند>" + }, "man_made/silo": { "name": "سیلو", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سيلو'، با کاما جدا می‌شوند>" @@ -2709,8 +3152,13 @@ "name": "مخزن ذخیره", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مخزن ذخیره'، با کاما جدا می‌شوند>" }, + "man_made/surveillance": { + "name": "تجهیزات نظارتی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'تجهیزات نظارتی'، با کاما جدا میشوند>" + }, "man_made/survey_point": { - "name": "نقطه مطالعاتی" + "name": "نقطه مطالعاتی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'نقطه مطالعاتی'، با کاما جدا می‌شوند>" }, "man_made/tower": { "name": "دکل، برج", @@ -2732,6 +3180,10 @@ "name": "امور آب", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'تأسیسات آبرسانی'، با کاما جدا می‌شوند>" }, + "man_made/works": { + "name": "کارخانه", + "terms": "کارخانه، کارگاه" + }, "military/airfield": { "name": "پایگاه هوایی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فرودگاه'، با کاما جدا می‌شوند>" @@ -2904,6 +3356,10 @@ "name": "اداره دولتی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اداره دولتی'، با کاما جدا می‌شوند>" }, + "office/government/register_office": { + "name": "اداره ثبت", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اداره ثبت'، با کاما جدا می‌شوند>" + }, "office/insurance": { "name": "دفتر بیمه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اداره بیمه'، با کاما جدا می‌شوند>" @@ -3047,6 +3503,10 @@ "name": "راه آهن متروکه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'راه آهن متروکه'، با کاما جدا می‌شوند>" }, + "railway/crossing": { + "name": "مسیر گذرنده از راه‌آهن", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر گذرنده از راه‌آهن'، با کاما جدا می‌شوند>" + }, "railway/disused": { "name": "راه آهن بلا استفاده", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'راه آهن منسوخ'، با کاما جدا می‌شوند>" @@ -3059,6 +3519,10 @@ "name": "توقف گاه راه آهن", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'توقفگاه راه آهن'، با کاما جدا می‌شوند>" }, + "railway/level_crossing": { + "name": "جاده گذرنده از راه‌آهن", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'جاده گذرنده از راه‌آهن'، با کاما جدا می‌شوند>" + }, "railway/monorail": { "name": "ترن هوایی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مونوریل'، با کاما جدا می‌شوند>" @@ -3088,8 +3552,8 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ورودی مترو'، با کاما جدا می‌شوند>" }, "railway/tram": { - "name": "واگن برقی", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'تراموا'، با کاما جدا می‌شوند>" + "name": "تراموا", + "terms": "تراموا, واگن برقی" }, "relation": { "name": "رابطه", @@ -3118,6 +3582,10 @@ "name": "فروشگاه عتیقه‌جات", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'عتیقه فروشی'، با کاما جدا می‌شوند>" }, + "shop/art": { + "name": "فروشگاه آثار هنری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه آثار هنری'، با کاما جدا می‌شوند>" + }, "shop/baby_goods": { "name": "فروشگاه محصولات کودکان", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه سیسمونی'، با کاما جدا می‌شوند>" @@ -3138,6 +3606,14 @@ "name": "فروشگاه زیبایی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سالن آرایش وزیبایی'، با کاما جدا می‌شوند>" }, + "shop/beauty/nails": { + "name": "سالن آرایش ناخن", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سالن کاشت ناخن'، با کاما جدا می‌شوند>" + }, + "shop/beauty/tanning": { + "name": "سالن برنزه", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سالن برنزه'، با کاما جدا می‌شوند>" + }, "shop/bed": { "name": "فروشگاه کالای خواب/ تشک", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه کالای خواب/ تشک'، با کاما جدا می‌شوند>" @@ -3186,10 +3662,18 @@ "name": "فرش فروشی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه فرش'، با کاما جدا می‌شوند>" }, + "shop/charity": { + "name": "فروشگاه خیریه", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه خیریه'، با کاما جدا می‌شوند>" + }, "shop/cheese": { "name": "پنیر فروشی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پنیر فروشی'، با کاما جدا می‌شوند>" }, + "shop/chemist": { + "name": "داروخانه", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'داروخانه'، با کاما جدا می‌شوند>" + }, "shop/chocolate": { "name": "فروشگاه شکلات", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه شکلات'، با کاما جدا می‌شوند>" @@ -3198,6 +3682,10 @@ "name": "فروشگاه لباس", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه پوشاک'، با کاما جدا می‌شوند>" }, + "shop/coffee": { + "name": "فروشگاه قهوه", + "terms": "کافی شاپ,کافیشاپ,قهوه خونه" + }, "shop/computer": { "name": "فروشگاه کامپیوتر", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه رایانه'، با کاما جدا می‌شوند>" @@ -3246,6 +3734,10 @@ "name": "خشکشویی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خشکشویی'، با کاما جدا می‌شوند>" }, + "shop/e-cigarette": { + "name": "فروشگاه سیگار الکترونیکی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه سیگار الکترونیکی'، با کاما جدا می‌شوند>" + }, "shop/electronics": { "name": "فروشگاه الکترونیک", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه لوازم الکترونیکی'، با کاما جدا می‌شوند>" @@ -3326,7 +3818,8 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه لوازم خانگی'، با کاما جدا می‌شوند>" }, "shop/interior_decoration": { - "name": "فروشگاه تزئینات داخلی" + "name": "فروشگاه تزئینات داخلی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه تزئینات داخلی'، با کاما جدا می‌شوند>" }, "shop/jewelry": { "name": "جواهر فروشی", @@ -3334,18 +3827,19 @@ }, "shop/kiosk": { "name": "باجه روزنامه فروشی", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'باجه روزنامه فروشی'، با کاما جدا می‌شوند>" + "terms": "کیوسک روزنامه" }, "shop/kitchen": { "name": "فروشگاه تزئینات آشپزخانه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه تزئینات آشپزخانه'، با کاما جدا می‌شوند>" }, "shop/laundry": { - "name": "خشک شویی" + "name": "خشک‌شویی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خشک‌شویی'، با کاما جدا می‌شوند>" }, "shop/leather": { "name": "فروشگاه چرم", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه چرم'، با کاما جدا می‌شوند>" + "terms": "دباغی, چرم فروشی" }, "shop/locksmith": { "name": "قفل سازی", @@ -3353,7 +3847,7 @@ }, "shop/lottery": { "name": "فروشگاه قرعه کشی", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه قرعه کشی'، با کاما جدا می‌شوند>" + "terms": "لاتاری" }, "shop/mall": { "name": "مرکز خرید", @@ -3391,6 +3885,10 @@ "name": "فروشگاه روزنامه/مجله", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه روزنامه/مجله'، با کاما جدا می‌شوند>" }, + "shop/nutrition_supplements": { + "name": "فروشگاه تغذیه مکمل", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه تغذیه مکمل'، با کاما جدا می‌شوند>" + }, "shop/optician": { "name": "عینک سازی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'عینک سازی'، با کاما جدا می‌شوند>" @@ -3407,6 +3905,10 @@ "name": "فروشگاه رنگ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه رنگ'، با کاما جدا می‌شوند>" }, + "shop/pastry": { + "name": "شیرینی فروشی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'شیرینی فروشی'، با کاما جدا می‌شوند>" + }, "shop/pawnbroker": { "name": "سمساری", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سمساری'، با کاما جدا می‌شوند>" @@ -3455,6 +3957,10 @@ "name": "فروشگاه لوازم التحریر", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه لوازم التحریر'، با کاما جدا می‌شوند>" }, + "shop/storage_rental": { + "name": "کرایه انبار", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کرایه انبار'، با کاما جدا می‌شوند>" + }, "shop/supermarket": { "name": "سوپرمارکت", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سوپرمارکت'، با کاما جدا میشوند>" @@ -3518,6 +4024,14 @@ "name": "فروشگاه سلاح", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه سلاح'، با کاما جدا می‌شوند>" }, + "shop/window_blind": { + "name": "فروشگاه پرده و کرکره", + "terms": "فروشگاه پرده، فروشگاه کرکره" + }, + "shop/wine": { + "name": "فروشگاه شراب", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه شراب'، با کاما جدا می‌شوند>" + }, "tourism": { "name": "توریستی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'توریستی'، با کاما جدا می‌شوند>" @@ -3526,6 +4040,10 @@ "name": "کلبه آلپ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کلبه آلپ'، با کاما جدا می‌شوند>" }, + "tourism/apartment": { + "name": "آپارتمان مهمان / کاندو", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آپارتمان مهمان / کاندو'، با کاما جدا می‌شوند>" + }, "tourism/artwork": { "name": "اثر هنری", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اثر هنری'، با کاما جدا می‌شوند>" @@ -3536,7 +4054,7 @@ }, "tourism/camp_site": { "name": "اردوگاه", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اردوگاه'، با کاما جدا می‌شوند>" + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اردوگاه'، با کاما جدا میشوند>" }, "tourism/caravan_site": { "name": "پارکینگ ماشین کاروان", @@ -3546,6 +4064,10 @@ "name": "کلبه ییلاقی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کلبه ییلاقی'، با کاما جدا می‌شوند>" }, + "tourism/gallery": { + "name": "گالری هنری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'گالری هنری'، با کاما جدا می‌شوند>" + }, "tourism/guest_house": { "name": "مهمان خانه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کلبه ییلاقی'، با کاما جدا می‌شوند>" @@ -3562,6 +4084,18 @@ "name": "اطلاعات", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اطلاعات'، با کاما جدا می‌شوند>" }, + "tourism/information/board": { + "name": "تابلوی اطلاعات", + "terms": "صفحه‌ی اطلاعات" + }, + "tourism/information/map": { + "name": "نقشه", + "terms": "نگاشت" + }, + "tourism/information/office": { + "name": "دفتر اطلاعات گردشگری", + "terms": "دفتر اطلاعات توریستی, کیوسک اطلاعات گردشگری" + }, "tourism/motel": { "name": "متل", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'متل'، با کاما جدا می‌شوند>" @@ -3586,14 +4120,38 @@ "name": "باغ وحش", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'باغ وحش'، با کاما جدا می‌شوند>" }, + "traffic_calming": { + "name": "آرام‌بخش ترافیک", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آرام‌بخش ترافیک'، با کاما جدا می‌شوند>" + }, "traffic_calming/bump": { "name": "سرعت گیر", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سرعت گیر'، با کاما جدا می‌شوند>" }, + "traffic_calming/chicane": { + "name": "پیچ سرعت گیر", + "terms": "سرعت گیر، سرعت کاه" + }, + "traffic_calming/choker": { + "name": "ترافیک خفه‌کن", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ترافیک خفه‌کن'، با کاما جدا می‌شوند>" + }, + "traffic_calming/cushion": { + "name": "سرعت گیر", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سرعت گیر'، با کاما جدا می‌شوند>" + }, + "traffic_calming/dip": { + "name": "آبراه کوچک", + "terms": "کانال باریک آب، آبراه وسط خیابان" + }, "traffic_calming/hump": { "name": "سرعت گیر عریض", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سرعت گیر عریض'، با کاما جدا می‌شوند>" }, + "traffic_calming/island": { + "name": "جزیره ترافیکی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'جزیره ترافیکی'، با کاما جدا می‌شوند>" + }, "traffic_calming/rumble_strip": { "name": "نوار رامبل", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'نوار رامبل'، با کاما جدا می‌شوند>" @@ -3673,13 +4231,17 @@ "name": "مسیر کوهنوردی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر کوهنوردی'، با کاما جدا می‌شوند>" }, + "type/route/horse": { + "name": "مسیر سوارکاری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر سوارکاری'، با کاما جدا می‌شوند>" + }, "type/route/pipeline": { "name": "مسیر خط لوله", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر خط لوله'، با کاما جدا می‌شوند>" }, "type/route/power": { "name": "مسیر برق", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر انتقال برق'، با کاما جدا می‌شوند>" + "terms": "خط انتقال برق" }, "type/route/road": { "name": "مسیر جاده", @@ -3690,16 +4252,20 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر راه آهن'، با کاما جدا می‌شوند>" }, "type/route/tram": { - "name": "مسیر قطار برقی", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر قطار برقی'، با کاما جدا می‌شوند>" + "name": "مسیر تراموا", + "terms": "مسیر تراموا, مسیر واگن برقی" }, "type/route_master": { "name": "مسیر اصلی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر اصلی'، با کاما جدا می‌شوند>" }, + "type/site": { + "name": "سایت", + "terms": "سایت، منطقه" + }, "vertex": { "name": "سایر", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سایر'، با کاما جدا می‌شوند>" + "terms": "دیگر, بقیه, باقی" }, "waterway": { "name": "راه آبی" @@ -3720,9 +4286,13 @@ "name": "جوی آب", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'جوی آب'، با کاما جدا می‌شوند>" }, + "waterway/dock": { + "name": "بارانداز تر / بارانداز خشک", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بارانداز تر / بارانداز خشک'، با کاما جدا می‌شوند>" + }, "waterway/drain": { "name": "فاضلاب", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فاضلاب'، با کاما جدا می‌شوند>" + "terms": "زهکش، آبگذر، ابگذر زهکش فاضلاب" }, "waterway/fuel": { "name": "جایگاه سوخت دریایی", @@ -3730,11 +4300,11 @@ }, "waterway/river": { "name": "رودخانه", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'رودخانه'، با کاما جدا می‌شوند>" + "terms": "رودخانه، رود, " }, "waterway/riverbank": { "name": "حاشیه رودخانه", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'حاشیه رودخانه'، با کاما جدا می‌شوند>" + "terms": "رودکنار, حاشیه رود" }, "waterway/sanitary_dump_station": { "name": "دفع توالت دریایی", @@ -3742,7 +4312,7 @@ }, "waterway/stream": { "name": "نهر", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'نهر'، با کاما جدا می‌شوند>" + "terms": "نهر, جریان, جوی" }, "waterway/water_point": { "name": "آب آشامیدنی دریایی", diff --git a/dist/locales/fi.json b/dist/locales/fi.json index bb4aff52a..8b55a8130 100644 --- a/dist/locales/fi.json +++ b/dist/locales/fi.json @@ -1266,22 +1266,6 @@ "service": { "label": "Tyyppi" }, - "service/bicycle/chain_tool": { - "label": "Ketjutyökalu", - "options": { - "no": "Ei", - "undefined": "Oletettavasti ei", - "yes": "Kyllä" - } - }, - "service/bicycle/pump": { - "label": "Rengaspainepumppu", - "options": { - "no": "Ei", - "undefined": "Oletettavasti ei", - "yes": "Kyllä" - } - }, "service_rail": { "label": "Käyttötarkoitus", "options": { @@ -1380,9 +1364,6 @@ "tourism": { "label": "Tyyppi" }, - "towertype": { - "label": "Tornin tyyppi" - }, "trail_visibility": { "label": "Havaittavuus", "options": { @@ -3278,9 +3259,6 @@ "tourism/attraction": { "name": "Turistikohde" }, - "tourism/camp_site": { - "name": "Leirintäalue" - }, "tourism/caravan_site": { "name": "Asuntoautopysäköinti" }, diff --git a/dist/locales/fr.json b/dist/locales/fr.json index a2b47a859..24931ef65 100644 --- a/dist/locales/fr.json +++ b/dist/locales/fr.json @@ -227,6 +227,7 @@ "localized_translation_name": "Nom" }, "zoom_in_edit": "Zoomer pour Modifier", + "login": "identifiant", "logout": "Déconnexion", "loading_auth": "Connexion à OpenStreetMap...", "report_a_bug": "Rapporter un bug", @@ -238,7 +239,8 @@ "status": { "error": "Impossible de se connecter à l'API.", "offline": "L'API est hors ligne. Veuillez essayer d'éditer plus tard.", - "readonly": "L'API est en lecture seule. Vous devez attendre pour enregistrer vos changements." + "readonly": "L'API est en lecture seule. Vous devez attendre pour enregistrer vos changements.", + "rateLimit": "L'API limite les connexions anonymes. Vous pouvez résoudre ce problème en vous connectant." }, "commit": { "title": "Sauvegarder vos modifications", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "Aucune documentation n'est disponible pour cette combinaison d'étiquettes", "no_documentation_key": "Aucune documentation n'est disponible pour cette clé", + "documentation_redirect": "Cette documentation a été redirigée vers une nouvelle page", "show_more": "Plus d'informations", "view_on_osm": "Visualiser sur openstreetmap.org", "all_fields": "Tous les champs", @@ -619,16 +622,16 @@ "name": "Éléments de barrières" }, "category-building": { - "name": "Éléments pour bâtiments" + "name": "Éléments de bâtiments" }, "category-golf": { - "name": "Éléments pour golfs" + "name": "Éléments de golfs" }, "category-landuse": { "name": "Éléments d'occupation des sols" }, "category-path": { - "name": "Éléments pour chemins" + "name": "Éléments de chemins" }, "category-rail": { "name": "Éléments ferroviaires" @@ -781,6 +784,9 @@ "barrier": { "label": "Type" }, + "beauty": { + "label": "Type de Magasin" + }, "bench": { "label": "Banc" }, @@ -799,6 +805,9 @@ "whole": "sang naturel" } }, + "board_type": { + "label": "Type" + }, "boundary": { "label": "Type" }, @@ -949,7 +958,7 @@ "rail": "Rails électrifiés", "yes": "Oui (non spécifié)" }, - "placeholder": "Ligne de contact, Lignes électriques" + "placeholder": "Caténaire, troisième rail…" }, "elevation": { "label": "Altitude" @@ -1020,6 +1029,9 @@ "handrail": { "label": "Rampe - à main" }, + "height": { + "label": "Hauteur (mètres)" + }, "highway": { "label": "Type" }, @@ -1084,17 +1096,17 @@ "leaf_cycle": { "label": "Phénologie des feuilles", "options": { - "deciduous": "Caduc", - "evergreen": "Sempervirent", - "mixed": "Mélangé", - "semi_deciduous": "Semi-caduc", - "semi_evergreen": "Semi-sempervirent" + "deciduous": "caduc", + "evergreen": "sempervirent", + "mixed": "mélangé", + "semi_deciduous": "semi-caduc", + "semi_evergreen": "semi-sempervirent" } }, "leaf_cycle_singular": { "label": "Cycle de vie des feuilles", "options": { - "deciduous": "Caduc", + "deciduous": "caduc", "evergreen": "à feuilles persistantes", "semi_deciduous": "semi-caduque", "semi_evergreen": "semi-persistant" @@ -1103,18 +1115,18 @@ "leaf_type": { "label": "Type de feuille", "options": { - "broadleaved": "Feuillus", - "leafless": "Sans feuilles", - "mixed": "Mélangé", - "needleleaved": "Arbres à aiguilles" + "broadleaved": "feuillus", + "leafless": "sans feuilles", + "mixed": "mélangé", + "needleleaved": "arbres à aiguilles" } }, "leaf_type_singular": { "label": "Type de feuilles", "options": { - "broadleaved": "Feuilles", - "leafless": "Sans feuilles", - "needleleaved": "Aiguilles" + "broadleaved": "feuilles", + "leafless": "sans feuilles", + "needleleaved": "aiguilles" } }, "leisure": { @@ -1139,6 +1151,12 @@ "man_made": { "label": "Type" }, + "map_size": { + "label": "Couverture" + }, + "map_type": { + "label": "Type" + }, "maxspeed": { "label": "Vitesse maximale autorisée", "placeholder": "30, 50, 70, 90, etc." @@ -1193,34 +1211,34 @@ "label": "Réseau" }, "network_bicycle": { - "label": "Type de Réseau", + "label": "Type de réseau", "options": { "icn": "International", "lcn": "Local", "ncn": "National", "rcn": "Régional" }, - "placeholder": "Local, Régional, National, International" + "placeholder": "Local, régional, national, international" }, "network_foot": { - "label": "Type de Réseau", + "label": "Type de réseau", "options": { "iwn": "International", "lwn": "Local", "nwn": "National", "rwn": "Régional" }, - "placeholder": "Local, Régional, National, International" + "placeholder": "Local, régional, national, international" }, "network_horse": { - "label": "Type de Réseau", + "label": "Type de réseau", "options": { "ihn": "International", "lhn": "Local", "nhn": "National", "rhn": "Régional" }, - "placeholder": "Local, Régional, National, International" + "placeholder": "Local, régional, national, international" }, "network_road": { "label": "Réseau" @@ -1292,12 +1310,12 @@ "advanced": "Avancé (losanges noirs)", "easy": "Facile (ronds verts)", "expert": "Expert (doubles losanges noirs)", - "extreme": "Extrème (matériel d'escalade requis)", + "extreme": "Extrême (matériel d'escalade requis)", "freeride": "Freeride (hors piste)", "intermediate": "Intermédiaire (carrés bleus)", "novice": "Novice (enseignement)" }, - "placeholder": "Facile, Intermédiaire, Avancé..." + "placeholder": "Facile, intermédiaire, avancé..." }, "piste/grooming": { "label": "Damage", @@ -1342,6 +1360,13 @@ "recycling_accepts": { "label": "Accepte" }, + "recycling_type": { + "label": "Type de recyclage", + "options": { + "centre": "Déchetterie", + "container": "Benne" + } + }, "ref": { "label": "Référence" }, @@ -1369,14 +1394,14 @@ "sac_scale": { "label": "Difficulté de la randonnée", "options": { - "alpine_hiking": "T4 : Randonnée alpine", - "demanding_alpine_hiking": "T5 : Randonnée alpine exigeante", - "demanding_mountain_hiking": "T3 : Randonnée de montagne exigeante", - "difficult_alpine_hiking": "T6 : Randonnée alpine difficile", - "hiking": "T1 : Randonnée", - "mountain_hiking": "T2 : Randonnée de montagne" + "alpine_hiking": "T4 : randonnée alpine", + "demanding_alpine_hiking": "T5 : randonnée alpine exigeante", + "demanding_mountain_hiking": "T3 : randonnée de montagne exigeante", + "difficult_alpine_hiking": "T6 : randonnée alpine difficile", + "hiking": "T1 : randonnée", + "mountain_hiking": "T2 : randonnée de montagne" }, - "placeholder": "Randonnée de montagne, Randonnée alpine" + "placeholder": "Randonnée de montagne, randonnée alpine…" }, "sanitary_dump_station": { "label": "Station de vidange sanitaire" @@ -1391,29 +1416,16 @@ "only": "Uniquement", "yes": "Oui" }, - "placeholder": "Oui, Non, Uniquement" + "placeholder": "Oui, non, uniquement" }, "service": { "label": "Type" }, - "service/bicycle/chain_tool": { - "label": "Outil de réparation de chaînes de vélo", - "options": { - "no": "Non", - "undefined": "Supposément non", - "yes": "Oui" - } - }, - "service/bicycle/pump": { - "label": "Pompe à air", - "options": { - "no": "Non", - "undefined": "Supposément non", - "yes": "Oui" - } + "service/bicycle": { + "label": "Services" }, "service_rail": { - "label": "Type de voie de service", + "label": "Type de voie d'accès", "options": { "crossover": "Voie de traversée", "siding": "Voie parallèle", @@ -1436,14 +1448,14 @@ "smoking": { "label": "Fumeur", "options": { - "dedicated": "Dédié aux fumeurs (ex. : club de fumeurs)", + "dedicated": "Réservé aux fumeurs (ex. : club de fumeurs)", "isolated": "Dans des endroits fumeurs, isolés physiquement", "no": "Interdiction de fumer, quel que soit l'endroit", "outside": "Autorisé dehors", "separated": "Dans des endroits fumeurs, non isolés physiquement", "yes": "Autorisé partout" }, - "placeholder": "Non, Séparé, Oui" + "placeholder": "Non, séparé, oui…" }, "smoothness": { "label": "Douceur", @@ -1452,12 +1464,12 @@ "excellent": "Petites roulettes : rollers, planche à roulettes", "good": "Petites roues : vélo de course", "horrible": "Hors-piste : gros véhicule hors-piste", - "impassable": "Infranchissable / Pas de véhicules à roues", + "impassable": "Infranchissable / pas de véhicules à roues", "intermediate": "Roues : vélo de ville, fauteuil roulant, scooter", "very_bad": "Garde au sol élevée : véhicule léger tout terrain", "very_horrible": "Spécialisé tout-terrain : tracteur, véhicule tout-terrain" }, - "placeholder": "Petites roulettes, Roues, Hors-piste" + "placeholder": "Petites roulettes, roues, hors-piste…" }, "social_facility_for": { "label": "Personnes desservies", @@ -1521,7 +1533,7 @@ "only": "À emporter seulement", "yes": "Oui" }, - "placeholder": "Oui, Non, À emporter seulement..." + "placeholder": "Oui, non, à emporter seulement…" }, "toilets/disposal": { "label": "Élimination", @@ -1535,8 +1547,11 @@ "tourism": { "label": "Type" }, - "towertype": { - "label": "Type de tour" + "tower/construction": { + "label": "Construction" + }, + "tower/type": { + "label": "Type" }, "tracktype": { "label": "Type de voie", @@ -1547,7 +1562,10 @@ "grade4": "Majoritairement mou : terre, sable ou herbe avec quelques matériaux durs mélangés dedans", "grade5": "Mou : terre, sable, herbe" }, - "placeholder": "Dur, Majoritairement Dur, Mou..." + "placeholder": "Dur, majoritairement dur, mou…" + }, + "traffic_calming": { + "label": "Type" }, "traffic_signals": { "label": "Type" @@ -1562,7 +1580,7 @@ "intermediate": "Intermédiaire : peu de balisage, sentier identifiable", "no": "Non : sans sentier, nécessite de bonnes compétences d'orientation" }, - "placeholder": "Excellent, Bon, Mauvais..." + "placeholder": "Excellent, bon, mauvais…" }, "trees": { "label": "Arbres" @@ -1612,6 +1630,10 @@ "name": "Adresse", "terms": "Adresse" }, + "advertising/billboard": { + "name": "Panneau publicitaire", + "terms": "publicité, 4x3, affiche" + }, "aerialway": { "name": "Remontée mécanique" }, @@ -1706,7 +1728,7 @@ "terms": "Bar" }, "amenity/bbq": { - "name": "Barbecue/Grill", + "name": "Barbecue, grill", "terms": "bbq, barbecue, grill, grillades, mechoui, méchoui, " }, "amenity/bench": { @@ -1766,7 +1788,7 @@ "terms": "Station de recharge, Borne de recharge" }, "amenity/childcare": { - "name": "Nurserie/Garde d'enfants", + "name": "Crèche, garde d'enfants", "terms": "Nurserie, Garde d'enfants, Nourricerie" }, "amenity/cinema": { @@ -1786,7 +1808,7 @@ "terms": "Terrains d'établissement d'enseignement supérieur non universitaire" }, "amenity/community_centre": { - "name": "Salle des fêtes", + "name": "Salle polyvalente", "terms": "Salle festive, Salle polyvalente, Centre communautaire, Salle des associations" }, "amenity/compressed_air": { @@ -1798,7 +1820,7 @@ "terms": "Palais de justice" }, "amenity/coworking_space": { - "name": "Espace de coworking", + "name": "Espace de bureaux partagés", "terms": "Espace de coworking,Lieu de coworking,Coworking,Espace de travail collaboratif" }, "amenity/dentist": { @@ -1850,17 +1872,21 @@ "terms": "Bacs à sel de déneigement" }, "amenity/hospital": { - "name": "Terrains d'hôpital", + "name": "Terrains hospitaliers", "terms": "Terrains d'hôpital" }, "amenity/hunting_stand": { - "name": "Mirador", + "name": "Mirador de chasse", "terms": "Mirador" }, "amenity/ice_cream": { "name": "Magasin de crèmes glacées", "terms": "Magasin de glaces" }, + "amenity/internet_cafe": { + "name": "Cybercafé", + "terms": "Café internet,Cybercafé" + }, "amenity/kindergarten": { "name": "Terrains d'école maternelle / jardin d'enfants", "terms": "Crèche,Halte-garderie,Jardin d'enfants,École maternelle,École enfantine" @@ -1886,7 +1912,7 @@ "terms": "Parc de stationnement" }, "amenity/parking_entrance": { - "name": "Entrée/Sortie de parking", + "name": "Entrée ou sortie de parking", "terms": "Entrée/Sortie de parking" }, "amenity/parking_space": { @@ -1934,7 +1960,7 @@ "terms": "Bureau de poste" }, "amenity/prison": { - "name": "Terrains de prison", + "name": "Terrains carcéraux", "terms": "Enceinte de prison" }, "amenity/pub": { @@ -1953,6 +1979,10 @@ "name": "Recyclage", "terms": "déchèterie,déchetterie" }, + "amenity/recycling_centre": { + "name": "Déchetterie", + "terms": "centre de recyclage" + }, "amenity/register_office": { "name": "Bureau d'état-civil" }, @@ -1965,7 +1995,7 @@ "terms": "Station de vidange, sanitaires, mobilehome ,camping, toilettes chimiques" }, "amenity/school": { - "name": "Terrains d'école primaire, collège, lycée, Cycles primaires et secondaires", + "name": "Terrains scolaires", "terms": "Terrains d'école primaire, collège, lycée, Cycles primaires et secondaires" }, "amenity/shelter": { @@ -1981,8 +2011,8 @@ "terms": "Banque alimentaire" }, "amenity/social_facility/group_home": { - "name": "Résidence collective pour personnes âgées", - "terms": "Maison de retraite" + "name": "Maison de retraite", + "terms": "Maison de retraite,EHPAD" }, "amenity/social_facility/homeless_shelter": { "name": "Foyer pour sans-abri", @@ -2012,11 +2042,11 @@ "terms": "Toilettes, WC" }, "amenity/townhall": { - "name": "Mairie / Hôtel de ville", + "name": "Mairie, hôtel de ville", "terms": "Mairie,Hôtel de ville,Maison commune" }, "amenity/university": { - "name": "Terrains d'université", + "name": "Terrains universitaires", "terms": "Campus universitaire" }, "amenity/vending_machine/cigarettes": { @@ -2048,8 +2078,8 @@ "terms": "Distributeur de tickets de parking" }, "amenity/vending_machine/public_transport_tickets": { - "name": "Distributeur de tickets de transit", - "terms": "Distributeur de tickets de transit" + "name": "Distributeur de titres de transport", + "terms": "Distributeur de titres de transport" }, "amenity/vending_machine/sweets": { "name": "Distributeur de snacks", @@ -2071,6 +2101,10 @@ "name": "Bac à déchets", "terms": "Benne à ordures, poubelle" }, + "amenity/waste_transfer_station": { + "name": "Station de transit des déchets", + "terms": "Station de transfert,Station de tri" + }, "amenity/water_point": { "name": "Eau potable", "terms": "Eau potable" @@ -2261,8 +2295,8 @@ "terms": "Voûte, Toit ouvert, Marché couvert" }, "building/school": { - "name": "Bâtiment d'école primaire, collège, lycée Cycles primaires et secondaires", - "terms": "Bâtiment d'école primaire, collège, lycée Cycles primaires et secondaires" + "name": "Bâtiment scolaire", + "terms": "Bâtiment d'école primaire, collège, lycée, cycles primaires et secondaires" }, "building/semidetached_house": { "name": "Maison mitoyenne", @@ -2277,8 +2311,8 @@ "terms": "Étable" }, "building/static_caravan": { - "name": "Mobilhome fixe", - "terms": "Mobilhome statique" + "name": "Mobil home fixe", + "terms": "Mobil home statique" }, "building/terrace": { "name": "Rangée de maisons", @@ -2295,6 +2329,10 @@ "name": "Entrepôt", "terms": "Entrepôt, magasin, abri, dépôt, docks, hangar" }, + "camp_site/camp_pitch": { + "name": "Terrain de camping", + "terms": "Emplacement de camping" + }, "craft": { "name": "Artisanat", "terms": "Artisanat" @@ -2340,7 +2378,7 @@ "terms": "Horloger, Horlogerie" }, "craft/confectionery": { - "name": "Confiserie", + "name": "Confiseur", "terms": "Confiserie" }, "craft/dressmaker": { @@ -2553,6 +2591,12 @@ "name": "Trou de golf", "terms": "Trou de golf" }, + "golf/lateral_water_hazard_area": { + "name": "Obstacle d'eau latéral" + }, + "golf/lateral_water_hazard_line": { + "name": "Obstacle d'eau latéral" + }, "golf/rough": { "name": "Hautes herbes (golf)", "terms": "Hautes herbes (golf)" @@ -2561,6 +2605,12 @@ "name": "Départ", "terms": "Tertre de départ" }, + "golf/water_hazard_area": { + "name": "Obstacle d'eau" + }, + "golf/water_hazard_line": { + "name": "Obstacle d'eau" + }, "healthcare/blood_donation": { "name": "Centre de don du sang", "terms": "Centre de don du sang, Banque du sang" @@ -2613,7 +2663,7 @@ "terms": "Autoroute, Voie rapide" }, "highway/motorway_junction": { - "name": "Bretelle d'autoroute / Sortie", + "name": "Échangeur", "terms": "Échangeur, Échangeur Autoroutier,Croisement d'autoroutes,Intersection d'autoroutes,Bretelle d'autoroute,Bretelle de sortie" }, "highway/motorway_link": { @@ -2693,7 +2743,7 @@ "terms": "Escaliers" }, "highway/stop": { - "name": "Panneau Stop", + "name": "Panneau STOP", "terms": "Arrêt" }, "highway/street_lamp": { @@ -2709,7 +2759,7 @@ "terms": "Bretelle d'accès à une route tertiaire" }, "highway/track": { - "name": "Piste carrossable", + "name": "Piste agricole ou forestière", "terms": "route forestière,piste pare-feu, chemin d'exploitation, chemin agricole,chemin non entretenu" }, "highway/traffic_signals": { @@ -2728,6 +2778,9 @@ "name": "Zone de manœuvre", "terms": "Point de retournement" }, + "highway/turning_loop": { + "name": "Boucle de retournement" + }, "highway/unclassified": { "name": "Route mineure ou non classifiée", "terms": "route non classée;voie communale" @@ -2793,7 +2846,7 @@ "terms": "Cimetière" }, "landuse/commercial": { - "name": "Zone commerciale", + "name": "Zone d'activités", "terms": "Commerces" }, "landuse/construction": { @@ -2852,7 +2905,7 @@ "terms": "Carrière" }, "landuse/recreation_ground": { - "name": "Cour de récréation", + "name": "Terrain de jeux", "terms": "Terrain de jeux,Terrain de loisirs" }, "landuse/residential": { @@ -2860,7 +2913,7 @@ "terms": "Zone d’habitation" }, "landuse/retail": { - "name": "Zone de vente au détail", + "name": "Zone commerciale", "terms": "Zone de magasins" }, "landuse/vineyard": { @@ -2903,6 +2956,10 @@ "name": "Salle de Yoga", "terms": "Salle de yoga" }, + "leisure/fitness_station": { + "name": "Fitness en extérieur", + "terms": "Équipements de fitness en extérieur" + }, "leisure/garden": { "name": "Jardin", "terms": "Jardin" @@ -3040,14 +3097,14 @@ "terms": "Cheminée" }, "man_made/cutline": { - "name": "Ligne de coupe", + "name": "Layon", "terms": "ligne de coupe forestière" }, "man_made/embankment": { "name": "Terre-plein" }, "man_made/flagpole": { - "name": "Porte-drapeau", + "name": "Hampe", "terms": "Hampe" }, "man_made/gasometer": { @@ -3099,7 +3156,7 @@ "terms": "caméra, vidéo" }, "man_made/survey_point": { - "name": "Poteau de triangulation", + "name": "Borne géodésique", "terms": "Borne géodésique, monument géodésique, repère géodésique" }, "man_made/tower": { @@ -3155,7 +3212,7 @@ "terms": "Parcours du combattant, Course, Obstacles" }, "military/range": { - "name": "Stand de tir", + "name": "Stand de tir militaire", "terms": "Champ de tir,Stand de tir" }, "military/training_area": { @@ -3195,7 +3252,7 @@ "terms": "Glacier" }, "natural/grassland": { - "name": "Prairie", + "name": "Prairie naturelle", "terms": "Prairie" }, "natural/heath": { @@ -3207,7 +3264,7 @@ "terms": "Pic, Mont" }, "natural/saddle": { - "name": "Col de montagne", + "name": "Col", "terms": "Passe" }, "natural/scree": { @@ -3215,8 +3272,8 @@ "terms": "Pierrier, Éboulis" }, "natural/scrub": { - "name": "Friche, garrigue, maquis", - "terms": "Broussailles" + "name": "Broussailles", + "terms": "Broussailles,Friche,Garrigue,Maquis" }, "natural/spring": { "name": "Source", @@ -3404,7 +3461,7 @@ "terms": "Génératrice" }, "power/line": { - "name": "Câble aérien", + "name": "Ligne électrique majeure", "terms": "Ligne électrique" }, "power/minor_line": { @@ -3412,8 +3469,8 @@ "terms": "Ligne électrique mineure" }, "power/pole": { - "name": "Poteau", - "terms": "Pylone électrique, Poteau éléctrique" + "name": "Poteau électrique", + "terms": "Pylone électrique, Poteau électrique" }, "power/sub_station": { "name": "Poste de transformation" @@ -3423,7 +3480,7 @@ "terms": "Sous-station électrique" }, "power/tower": { - "name": "Pylône haute-tension ", + "name": "Pylône électrique ", "terms": "Pylône haute-tension" }, "power/transformer": { @@ -3442,7 +3499,7 @@ "name": "Ferroviaire" }, "railway/abandoned": { - "name": "Voie ferrée désaffectée", + "name": "Voie ferrée déposée", "terms": "Voie ferrée abandonnée" }, "railway/crossing": { @@ -3547,10 +3604,12 @@ "terms": "Salon de beauté, Institut de beauté" }, "shop/beauty/nails": { - "name": "Manucure" + "name": "Manucure", + "terms": "Salon de manucure,Manucure,Onglerie" }, "shop/beauty/tanning": { - "name": "Salon de bronzage" + "name": "Salon de bronzage", + "terms": "Salon de bronzage,Centre de bronzage" }, "shop/bed": { "name": "Magasin de literie", @@ -3633,7 +3692,7 @@ "terms": "Confiserie" }, "shop/convenience": { - "name": "Petite épicerie du coin", + "name": "Supérette", "terms": "Supérette, Petite épicerie du coin" }, "shop/copyshop": { @@ -3673,7 +3732,8 @@ "terms": "Teinturerie, Blanchisserie" }, "shop/e-cigarette": { - "name": "Magasin de cigarettes électroniques" + "name": "Magasin de cigarettes électroniques", + "terms": "Boutique de cigarettes électroniques" }, "shop/electronics": { "name": "Magasin d'électronique et d'électroménager", @@ -3767,7 +3827,7 @@ "terms": "Kiosque à journaux" }, "shop/kitchen": { - "name": "Magasin de cuisines", + "name": "Cuisiniste", "terms": "Vente de mobilier et accessoires de cuisine" }, "shop/laundry": { @@ -3775,7 +3835,7 @@ "terms": "Laverie" }, "shop/leather": { - "name": "Boutique de vêtements en cuir", + "name": "Maroquinier", "terms": "Boutique de vêtements en cuir" }, "shop/locksmith": { @@ -3871,7 +3931,7 @@ "terms": "Boutique d'une église, d'un monastère" }, "shop/scuba_diving": { - "name": "Magasin d'équipement et d'articles de plongée sous-marine", + "name": "Magasin de matériel de plongée sous-marine", "terms": "Magasin d'équipement et d'articles de plongée sous-marine" }, "shop/seafood": { @@ -3977,6 +4037,9 @@ "name": "Refuge de montagne", "terms": "Refuge de montagne, cabane" }, + "tourism/apartment": { + "name": "Location de vacances" + }, "tourism/artwork": { "name": "Œuvre d'art", "terms": "Œuvre d'art,Œuvre artistique,statue,peinture,sculpture,fresque,mosaïque" @@ -3987,14 +4050,14 @@ }, "tourism/camp_site": { "name": "Camping", - "terms": "Camping" + "terms": "Terrain de camping,Site de camping,Aire de camping" }, "tourism/caravan_site": { "name": "Aire pour caravanes", "terms": "Aire pour caravanes" }, "tourism/chalet": { - "name": "Chalet", + "name": "Gîte", "terms": "Chalet" }, "tourism/gallery": { @@ -4017,6 +4080,22 @@ "name": "Informations", "terms": "Informations,Renseignements,Office de tourisme,Panneau,Carte" }, + "tourism/information/board": { + "name": "Panneau d'information", + "terms": "Informations touristiques" + }, + "tourism/information/guidepost": { + "name": "Panneau d'indications", + "terms": "Poteau indicateur" + }, + "tourism/information/map": { + "name": "Carte", + "terms": "Plan" + }, + "tourism/information/office": { + "name": "Office de tourisme", + "terms": "Office de tourisme,Office du tourisme,Syndicat d'initiative,Centre d'information" + }, "tourism/motel": { "name": "Motel", "terms": "Motel" @@ -4041,14 +4120,38 @@ "name": "Parc zoologique", "terms": "Zoo" }, + "traffic_calming": { + "name": "Apaisement du trafic", + "terms": "Ralentisseur" + }, "traffic_calming/bump": { "name": "Ralentisseur", "terms": "ralentisseur, casse-vitesse" }, + "traffic_calming/chicane": { + "name": "Chicane", + "terms": "Chicane" + }, + "traffic_calming/choker": { + "name": "Écluse (ralentisseur)", + "terms": "Écluse" + }, + "traffic_calming/cushion": { + "name": "Coussin berlinois", + "terms": "Coussin berlinois" + }, + "traffic_calming/dip": { + "name": "Creux", + "terms": "Baden" + }, "traffic_calming/hump": { "name": "Ralentisseur dos d’âne (gendarme couché)", "terms": "Dos d'âne" }, + "traffic_calming/island": { + "name": "Îlot central", + "terms": "Îlot central" + }, "traffic_calming/rumble_strip": { "name": "Bande rugueuse", "terms": "Section de route à rainurage" @@ -4101,31 +4204,31 @@ "terms": "Interdiction de bifurquer" }, "type/route": { - "name": "Route", + "name": "Itinéraire", "terms": "Route, rue, chemin, sentier" }, "type/route/bicycle": { - "name": "Trajet cyclable", + "name": "Itinéraire cyclable", "terms": "Piste cyclable" }, "type/route/bus": { - "name": "Trajet de bus", + "name": "Itinéraire de bus", "terms": "Trajet d'autobus" }, "type/route/detour": { - "name": "Déviation", + "name": "Itinéraire de délestage", "terms": "Détour" }, "type/route/ferry": { - "name": "Trajet de ferry", + "name": "Itinéraire de ferry", "terms": "Route de traversier, Ligne de ferry" }, "type/route/foot": { - "name": "Trajet pédestre", + "name": "Itinéraire pédestre", "terms": "Sentier" }, "type/route/hiking": { - "name": "Sentier pédestre", + "name": "Itinéraire de randonnée", "terms": "Sentier pédestre" }, "type/route/horse": { @@ -4133,27 +4236,27 @@ "terms": "Trajet équestre" }, "type/route/pipeline": { - "name": "Trajet de pipeline", + "name": "Itinéraire de pipeline", "terms": "Pipeline, gazoduc, oléoduc" }, "type/route/power": { - "name": "Ligne électrique", + "name": "Itinéraire électrique", "terms": "Ligne électrique" }, "type/route/road": { - "name": "Trajet routier", + "name": "Itinéraire routier", "terms": "Route, rue, chemin, sentier" }, "type/route/train": { - "name": "Trajet ferroviaire", + "name": "Itinéraire ferroviaire", "terms": "Voie ferrée, chemin de fer" }, "type/route/tram": { - "name": "Trajet de tramway", + "name": "Itinéraire de tramway", "terms": "Route de tramway" }, "type/route_master": { - "name": "Route parente", + "name": "Itinéraire parent", "terms": "Relation principale, route master" }, "type/site": { @@ -4188,7 +4291,7 @@ "terms": "Quai pour cargo" }, "waterway/drain": { - "name": "Canal d'évacuation d'eau pluviale", + "name": "Cours d'eau artificiel ou canalisé", "terms": "Drain" }, "waterway/fuel": { @@ -4216,7 +4319,7 @@ "terms": "Eau potable" }, "waterway/weir": { - "name": "Barrage", + "name": "Seuil", "terms": "Petit barrage,Seuil" } } diff --git a/dist/locales/gl.json b/dist/locales/gl.json index 003694f6f..2aaadefdf 100644 --- a/dist/locales/gl.json +++ b/dist/locales/gl.json @@ -1160,9 +1160,6 @@ "tourism": { "label": "Tipo" }, - "towertype": { - "label": "Tipo de torre" - }, "trail_visibility": { "label": "Visibilidade do sendeiro" }, @@ -1877,9 +1874,6 @@ "tourism/attraction": { "name": "Atracción turística" }, - "tourism/camp_site": { - "name": "Cámping" - }, "tourism/caravan_site": { "name": "Parque de Caravanas" }, diff --git a/dist/locales/hr.json b/dist/locales/hr.json index 5f9c1973b..e712b7c69 100644 --- a/dist/locales/hr.json +++ b/dist/locales/hr.json @@ -227,6 +227,7 @@ "localized_translation_name": "Ime" }, "zoom_in_edit": "Povećaj prikaz za uređivanje", + "login": "prijava", "logout": "odjava", "loading_auth": "Spajanje na OpenStreetMap...", "report_a_bug": "Prijavi grešku", @@ -238,7 +239,8 @@ "status": { "error": "Onemogućeno spajanje na API.", "offline": "API je izvan mreže. Molim pokušaj uređivanje kasnije.", - "readonly": "API je \"samo za čitanje\". Moraš pričekati za spremanje svojih promjena." + "readonly": "API je \"samo za čitanje\". Moraš pričekati za spremanje svojih promjena.", + "rateLimit": "API ograničava anonimne konekcije. Možeš se prijaviti da bi zaobišao ovaj problem." }, "commit": { "title": "Spremi promjene", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "Ne postoji dokumentacija za ovu kombinaciju oznaka", "no_documentation_key": "Ne postoji dokumentacija za ovaj ključ.", + "documentation_redirect": "Ova dokumentacija je preusmjerena na novu stranicu", "show_more": "Prikaži više", "view_on_osm": "Pogledaj na openstreetmap.org", "all_fields": "Sva polja", @@ -1298,22 +1301,6 @@ "service": { "label": "Vrsta" }, - "service/bicycle/chain_tool": { - "label": "Alat za lanac", - "options": { - "no": "Ne", - "undefined": "Pretpostavlja se da je Ne", - "yes": "Da" - } - }, - "service/bicycle/pump": { - "label": "Zračna pumpa", - "options": { - "no": "Ne", - "undefined": "Pretpostavlja se da je Ne", - "yes": "Da" - } - }, "service_rail": { "label": "Vrsta usluge", "options": { @@ -1421,9 +1408,6 @@ "tourism": { "label": "Vrsta" }, - "towertype": { - "label": "Vrsta tornja" - }, "tracktype": { "label": "Vrsta poljskog ili šumskog puta", "options": { @@ -3310,10 +3294,6 @@ "name": "Turistička atrakcija", "terms": "turistička atrakcija,turistička znamenitost,atrakcija,znamenitost,turizam,turistička" }, - "tourism/camp_site": { - "name": "Kamp", - "terms": "autokamp,kamp,park za kampiranje" - }, "tourism/caravan_site": { "name": "Parkiralište za kamp kućice", "terms": "park za rekreativna vozila,park za kamp-prikolice,RV park,kamp,kamp za kamp kućice,kamp za kamp prikolice,kamp prikolica,park za kamp prikolice,kamp za kamp-prikolice" diff --git a/dist/locales/hu.json b/dist/locales/hu.json index 61c0d6af1..c921966ed 100644 --- a/dist/locales/hu.json +++ b/dist/locales/hu.json @@ -4,12 +4,12 @@ "add_area": { "title": "Terület", "description": "Parkok, épületek, tavak és egyéb területek hozzáadása a térképhez.", - "tail": "Kattints a térképre, hogy elkezd egy terület (park, tó, épület, stb.) rajzolását" + "tail": "Kattints a térképre, hogy elkezd egy terület (park, tó, épület stb.) rajzolását!" }, "add_line": { "title": "Vonal", "description": "Közutak, utcák, ösvények, patakok és egyéb vonalak hozzáadása a térképhez.", - "tail": "Kattints a térképre, hogy elkezdd egy út, ösvény, útvonal, stb. rajzolását." + "tail": "Kattints a térképre, hogy elkezdd egy út, ösvény, útvonal stb. rajzolását!" }, "add_point": { "title": "Pont", @@ -227,6 +227,7 @@ "localized_translation_name": "Név" }, "zoom_in_edit": "Szerkesztéshez nagyíts rá", + "login": "bejelentkezés", "logout": "kijelentkezés", "loading_auth": "Csatlakozás az OpenStreetMap kiszolgálóhoz…", "report_a_bug": "Hibajelentés", @@ -238,7 +239,8 @@ "status": { "error": "Nem sikerült csatlakozni az API-hoz.", "offline": "Az API offline módban van. Kérlek próbálj kicsit később szerkeszteni.", - "readonly": "Az API csak olvasható módban van. Várnod kell a szerkesztéseid elmentésével." + "readonly": "Az API csak olvasható módban van. Várnod kell a szerkesztéseid elmentésével.", + "rateLimit": "Az API korlátozza az anonim kapcsolatokat. Ezt megoldhatod azzal, hogy bejelentkezel." }, "commit": { "title": "Módosítások mentése", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "Ehhez a címkekombinációhoz nem érhető el dokumentáció", "no_documentation_key": "Ehhez a kulcshoz nem érhető el dokumentáció", + "documentation_redirect": "Ez a dokumentáció át lett irányítva egy új oldalra", "show_more": "Mutass többet", "view_on_osm": "Megtekintés openstreetmap.org-on", "all_fields": "Összes mező", @@ -781,6 +784,9 @@ "barrier": { "label": "Típus" }, + "beauty": { + "label": "Bolttípus" + }, "bench": { "label": "Pad" }, @@ -799,6 +805,9 @@ "whole": "teljes vér" } }, + "board_type": { + "label": "Típus" + }, "boundary": { "label": "Típus" }, @@ -1020,6 +1029,9 @@ "handrail": { "label": "Korlát" }, + "height": { + "label": "Magasság (méter)" + }, "highway": { "label": "Típus" }, @@ -1139,6 +1151,12 @@ "man_made": { "label": "Típus" }, + "map_size": { + "label": "Lefedettség" + }, + "map_type": { + "label": "Típus" + }, "maxspeed": { "label": "Sebességhatár", "placeholder": "30, 50, 70..." @@ -1342,6 +1360,13 @@ "recycling_accepts": { "label": "Elfogad" }, + "recycling_type": { + "label": "Újrahasznosítás típusa", + "options": { + "centre": "Újrahasznosító központ", + "container": "Konténer" + } + }, "ref": { "label": "Azonosító" }, @@ -1396,21 +1421,8 @@ "service": { "label": "Típus" }, - "service/bicycle/chain_tool": { - "label": "Láncbontó, lánc eszközök", - "options": { - "no": "Nem", - "undefined": "Feltételezhető, hogy nincs", - "yes": "Igen" - } - }, - "service/bicycle/pump": { - "label": "Levegő pumpa", - "options": { - "no": "Nem", - "undefined": "Feltételezhető, hogy nincs", - "yes": "Igen" - } + "service/bicycle": { + "label": "Szolgáltatások" }, "service_rail": { "label": "Szolgáltatás típusa", @@ -1535,8 +1547,11 @@ "tourism": { "label": "Típus" }, - "towertype": { - "label": "Torony típus" + "tower/construction": { + "label": "Építkezés" + }, + "tower/type": { + "label": "Típus" }, "tracktype": { "label": "Úttípus", @@ -1549,6 +1564,9 @@ }, "placeholder": "Szilárd, vegyes, laza, ..." }, + "traffic_calming": { + "label": "Típus" + }, "traffic_signals": { "label": "Típus" }, @@ -1612,6 +1630,10 @@ "name": "Lakcím", "terms": "cím, lakcím" }, + "advertising/billboard": { + "name": "Hirdetőtábla", + "terms": "plakát,óriásplakát,reklámtábla" + }, "aerialway": { "name": "Drótkötélpálya" }, @@ -1861,6 +1883,9 @@ "name": "Fagylaltbolt", "terms": "fagyibolt, fagyis, fagylaltos, fagylaltüzlet" }, + "amenity/internet_cafe": { + "name": "Internetkávézó" + }, "amenity/kindergarten": { "name": "bölcsőde - óvoda", "terms": "iskolaelőkészítő" @@ -1953,6 +1978,10 @@ "name": "Hulladékgyűjtő", "terms": "hulladék, szelektív hulladék, szeméttelep, szemétlerakó, veszélyes hulladék" }, + "amenity/recycling_centre": { + "name": "Újrahasznosító központ", + "terms": "hulladék, szelektív hulladék, szeméttelep, szemétlerakó, veszélyes hulladék" + }, "amenity/register_office": { "name": "Anyakönyvi/Házasságkötési hivatal" }, @@ -2071,6 +2100,10 @@ "name": "Szemetes konténer", "terms": "szemetes, kuka, szemetes kuka" }, + "amenity/waste_transfer_station": { + "name": "Hulladék átrakó állomás", + "terms": "hulladék átrakó állomás, hulladék átadóállomás" + }, "amenity/water_point": { "name": "Lakóautó ivóvíz", "terms": "lakóautó,lakókocsi,víz,ivóvíz" @@ -2295,6 +2328,10 @@ "name": "Raktár", "terms": "Raktár, Lerakat" }, + "camp_site/camp_pitch": { + "name": "Táborhely", + "terms": "sátorhely, táborhely, kempinghely" + }, "craft": { "name": "Valamilyen mesterember műhelye ", "terms": "kézműves, iparos, iparművész" @@ -2553,6 +2590,14 @@ "name": "Golflyuk", "terms": "Golflyuk" }, + "golf/lateral_water_hazard_area": { + "name": "Keresztirányú vízakadály", + "terms": "keresztirányú vízi akadály, oldalirányú vízi akadály, oldalirányú vízakadály" + }, + "golf/lateral_water_hazard_line": { + "name": "Keresztirányú vízakadály", + "terms": "keresztirányú vízi akadály, oldalirányú vízi akadály, oldalirányú vízakadály" + }, "golf/rough": { "name": "Rough - vágatlan fűves rész", "terms": "Rough - vágatlan fűves rész" @@ -2561,6 +2606,14 @@ "name": "Tee box - Elütőhely", "terms": "Tee box - Elütőhely" }, + "golf/water_hazard_area": { + "name": "Vízakadály", + "terms": "vízi akadály" + }, + "golf/water_hazard_line": { + "name": "Vízakadály", + "terms": "vízi akadály" + }, "healthcare/blood_donation": { "name": "Vérellátó központ", "terms": "véradás,vérellátás,őssejt,plazma,transzfúzió,vérátömlesztés" @@ -3552,6 +3605,14 @@ "name": "Kozmetikus", "terms": "Szépségszalon" }, + "shop/beauty/nails": { + "name": "Körömszalon", + "terms": "manikűr,pedikűr" + }, + "shop/beauty/tanning": { + "name": "Szolárium", + "terms": "szolárium, szoli" + }, "shop/bed": { "name": "Ágy- és matracbolt", "terms": " Hálószobabútorok és ágyak szaküzlete" @@ -3978,6 +4039,9 @@ "name": "Menedékház", "terms": "Menedékház" }, + "tourism/apartment": { + "name": "Apartman" + }, "tourism/artwork": { "name": "Műalkotás", "terms": "Művészeti alkotás, szobor, fafaragás, " @@ -3987,8 +4051,8 @@ "terms": "Túrista látványosság" }, "tourism/camp_site": { - "name": "Kemping", - "terms": "Kemping, camping" + "name": "Tábor", + "terms": "tábor, sátortábor, kemping" }, "tourism/caravan_site": { "name": "Lakóautó park", @@ -4018,6 +4082,18 @@ "name": "Információ", "terms": "Infomáció" }, + "tourism/information/board": { + "name": "Információs tábla" + }, + "tourism/information/guidepost": { + "name": "Irányjelző" + }, + "tourism/information/map": { + "name": "Térkép" + }, + "tourism/information/office": { + "name": "Turistainformációs iroda" + }, "tourism/motel": { "name": "Motel", "terms": "Motel, fogadó" @@ -4042,6 +4118,9 @@ "name": "Állatkert", "terms": "Állatkert" }, + "traffic_calming": { + "name": "Forgalomcsillapító" + }, "traffic_calming/bump": { "name": "Sebességcsökkentő borda - fekvőrendőr", "terms": "Forgalomcsillapító küszöb, Sebességcsökkentő borda" @@ -4050,6 +4129,10 @@ "name": "Sebességcsökkentő hosszú küszöb (2-4m)", "terms": "Lapos és hosszú fekvőrendőr" }, + "traffic_calming/island": { + "name": "Járdasziget", + "terms": "sziget, járdasziget" + }, "traffic_calming/rumble_strip": { "name": "Figyelmeztető rázó és hangot produkáló csík", "terms": "Zenélő út csíkja" diff --git a/dist/locales/hy.json b/dist/locales/hy.json index 2b0e544f8..c1f41099c 100644 --- a/dist/locales/hy.json +++ b/dist/locales/hy.json @@ -962,18 +962,6 @@ "service": { "label": "Տեսակ" }, - "service/bicycle/chain_tool": { - "options": { - "no": "Ոչ", - "yes": "Այո" - } - }, - "service/bicycle/pump": { - "options": { - "no": "Ոչ", - "yes": "Այո" - } - }, "service_rail": { "label": "Սպասարկման տեսակ" }, @@ -1001,9 +989,6 @@ "tourism": { "label": "Տեսակ" }, - "towertype": { - "label": "Աշտարակի տեսակ" - }, "tracktype": { "label": "Արահետի Տեսակ" }, diff --git a/dist/locales/id.json b/dist/locales/id.json index fe7aba1e1..a0a3dfccb 100644 --- a/dist/locales/id.json +++ b/dist/locales/id.json @@ -284,13 +284,16 @@ "no_results_worldwide": "Hasil pencarian tidak ditemukan" }, "geolocate": { - "title": "Tunjukan Lokasi Saya" + "title": "Tunjukan Lokasi Saya", + "locating": "Sedang mencari, mohon tunggu..." }, "inspector": { "no_documentation_combination": "Tidak ada dokumentasi yang tersedia untuk kombinasi tag ini", "no_documentation_key": "Tidak ada dokumentasi tersedia untuk kunci ini", + "documentation_redirect": "Dokumen ini telah diarahkan ke halaman baru", "show_more": "Tampilkan Lainnya", "view_on_osm": "Lihat di openstreetmap.org", + "all_fields": "Semua wilayah", "all_tags": "Semua tag", "all_members": "Semua anggota", "all_relations": "Semua relasi", @@ -325,6 +328,7 @@ "percent_brightness": "{opacity}% kecerahan", "none": "Tidak ada", "best_imagery": "Sumber citra terbaik yang diketahui untuk lokasi ini", + "switch": "Beralih ke latar belakang ini", "custom": "Custom", "custom_button": "Ubah tampilan latar kustom", "custom_prompt": "Masukkan template URL. Token yang diperbolehkan adalah {z}, {x}, {y} untuk skema Z/X/Y dan {u} untuk skema quadtile.", @@ -350,6 +354,10 @@ "description": "Titik", "tooltip": "Lokasi Pusat Perhatian" }, + "traffic_roads": { + "description": "Jalan lalu lintas", + "tooltip": "Jalan raya, Jalan, dll." + }, "paths": { "description": "Jalan Kecil", "tooltip": "Trotoar, Jalur Pejalan Kaki, Jalur Sepeda, dsb." @@ -445,7 +453,8 @@ "view_on_osm": "Lihat di OSM", "facebook": "Bagikan di Facebook", "twitter": "Bagikan di Twitter", - "google": "Bagikan di Google+" + "google": "Bagikan di Google+", + "help_link_text": "detail" }, "confirm": { "okay": "Baiklah", @@ -503,13 +512,19 @@ "buildings": "# Bangunan\n\nOpenStreetMap ialah database terbesar dunia untuk bangunan. Kamu dapat membuat\ndan memperbaiki database ini.\n\n## Memilih\n\nKamu dapat memilih sebuah bangunan dengan mengklik pada batasnya. Hal ini akan membedakan\nbangunannya dan membuka sebuah alat kecil menu dan di sisi samping menampilkan informasi lebih lanjut\ntentang bangunan tersebut.\n\n### Mengubah\n\nTerkadang bangunan tidak diletakan pada tempatnya atau memiliki tags yang salah.\n\nUntuk memindahkan seluruh bangunan, pilih, lalu klik alat 'Move'. Geser\ntetikus kamu untuk memindahkan bangunan, dan klik ketika sudah sesuai tempatnya.\n\nUntuk memperbaiki bentuk sebuah gedung, klik dan geser sebuah sudut yang membentuk\nbatasnya ke tempat yang sesuai.\n\n### Membuat\n\nSatu pertanyaan utama terkait menambahkan bangunan ke dalam suatu peta adalah\nOpenStreetMap mencatat gedung baik dalam bentuk luasan dan titik.\n" }, "intro": { + "done": "selesai", + "graph": { + "spring_st": "jalan spring" + }, "navigation": { "title": "Navigasi", "drag": "Area peta utama menampilkan data OpenStreetMap pada bagian atas dari latar. Anda dapat bernavigasi dengan menggeser dan mengskrol, seperti peta web lainnya. **Geser petanya!**", - "select": "Fitur peta dapat diwakili dengan tiga cara: dengan titik, garis, atau area. Semua fitur dapat dipilih dengan mengklik mereka. **Klik sebuah titik untuk memilihnya.**" + "select": "Fitur peta dapat diwakili dengan tiga cara: dengan titik, garis, atau area. Semua fitur dapat dipilih dengan mengklik mereka. **Klik sebuah titik untuk memilihnya.**", + "pane": "Ketika sebuah fitur dipilih, fitur editor disembunyikan. Bagian kepala menunjukkan tipe fitur dan jendela utama atribut dari fitur tersebut, seperti nama dan alamat. ** Tutup fitur editor dengan menekan {tombol} tombol di kanan atas.**" }, "points": { "title": "Titik", + "place": "Penanda dapat di tempatkan dengan cara meng-klik peta. **Klik peta untuk meletakkan penanda baru pada atap bangunan**", "search": "Terdapat banyak fitur berbeda yang dapat diwakili oleh titik. Titik yang baru anda tambahkan adalah Cafe. **Pencarian untuk '{name}'**", "choose": "**Pilih Kafe dari daftar.**", "describe": "Kini titik bisa ditandai sebagai cafe. Gunakan penyunting fitur, kita dapat tambahkan informasi lebih tentang fitur. **Tambahkan sebuah nama**" @@ -1043,21 +1058,6 @@ "service": { "label": "Tipe" }, - "service/bicycle/chain_tool": { - "options": { - "no": "Tidak", - "undefined": "Dianggap Tidak", - "yes": "Ya" - } - }, - "service/bicycle/pump": { - "label": "Pompa Angin", - "options": { - "no": "Tidak", - "undefined": "Dianggap Tidak", - "yes": "Ya" - } - }, "service_rail": { "label": "Jenis pelayanan", "options": { @@ -1128,9 +1128,6 @@ "tourism": { "label": "Tipe" }, - "towertype": { - "label": "Tipe Tower" - }, "tracktype": { "label": "Tipe Trek", "options": { @@ -2717,9 +2714,6 @@ "name": "Objek Wisata", "terms": "Atraksi Wisata" }, - "tourism/camp_site": { - "name": "Tempat Berkemah" - }, "tourism/guest_house": { "name": "Rumah Tamu" }, diff --git a/dist/locales/is.json b/dist/locales/is.json index c2f6e8194..52a5c723f 100644 --- a/dist/locales/is.json +++ b/dist/locales/is.json @@ -746,9 +746,6 @@ "tourism": { "label": "Tegund" }, - "towertype": { - "label": "Turntegund" - }, "trail_visibility": { "label": "Sýnileiki" }, @@ -1767,9 +1764,6 @@ "tourism/attraction": { "name": "Ferðamannagildra" }, - "tourism/camp_site": { - "name": "Tjaldsvæði" - }, "tourism/caravan_site": { "name": "Hjólhýsagarður" }, diff --git a/dist/locales/it.json b/dist/locales/it.json index d3fe37202..1b893c9f0 100644 --- a/dist/locales/it.json +++ b/dist/locales/it.json @@ -227,6 +227,7 @@ "localized_translation_name": "Nome" }, "zoom_in_edit": "Ingrandisci per modificare", + "login": "accedi", "logout": "esci", "loading_auth": "Connettendomi ad OpenStreetMap...", "report_a_bug": "Segnala un bug", @@ -238,7 +239,8 @@ "status": { "error": "Impossibile connettersi all'API.", "offline": "L'API non è in linea. Prova più tardi.", - "readonly": "L'API è in solo lettura. E' necessario aspettare per poter salvare le modifiche." + "readonly": "L'API è in solo lettura. E' necessario aspettare per poter salvare le modifiche.", + "rateLimit": "L'API limita le connessioni anonime. Puoi evitare questi limiti accedendo." }, "commit": { "title": "Salva le modifiche", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "Non c'è documentazione per questa combinazione di tag", "no_documentation_key": "Non c'è documentazione per questa chiave", + "documentation_redirect": "Questa documentazione è stata spostata in una nuova pagina", "show_more": "Mostra di più", "view_on_osm": "Vedi su openstreetmap.org", "all_fields": "Tutti i campi", @@ -616,37 +619,37 @@ "presets": { "categories": { "category-barrier": { - "name": "Barriere" + "name": "Caratteristiche delle Barriere" }, "category-building": { - "name": "Edifici" + "name": "Caratteristiche degli Edifici" }, "category-golf": { - "name": "Golf" + "name": "Caratteristiche del Golf" }, "category-landuse": { - "name": "Utilizzi del terreno" + "name": "Caratteristiche degli Utilizzi del terreno" }, "category-path": { - "name": "Sentieri" + "name": "Caratteristiche dei Sentieri" }, "category-rail": { - "name": "Ferrovie" + "name": "Caratteristiche ferroviarie" }, "category-restriction": { - "name": "Limitazioni" + "name": "Caratteristiche delle Limitazioni" }, "category-road": { - "name": "Strade" + "name": "Caratteristiche stradali" }, "category-route": { - "name": "Percorsi" + "name": "Caratteristiche degli itinerari" }, "category-water-area": { - "name": "Specchi d'acqua" + "name": "Caratteristiche idrologiche" }, "category-water-line": { - "name": "Corsi d'acqua" + "name": "Caratteristiche idrologiche" } }, "fields": { @@ -705,7 +708,7 @@ "country": "Nazione", "district": "Distretto", "floor": "Piano", - "hamlet": "Località", + "hamlet": "Borgo", "housename": "Numero civico", "housenumber": "123", "place": "Luogo", @@ -781,6 +784,9 @@ "barrier": { "label": "Tipo" }, + "beauty": { + "label": "Tipologia di negozio" + }, "bench": { "label": "Panchina" }, @@ -799,6 +805,9 @@ "whole": "Sangue intero" } }, + "board_type": { + "label": "Tipo" + }, "boundary": { "label": "Tipo" }, @@ -888,7 +897,7 @@ "title": "Non presente" }, "opposite": { - "description": "Una corsia ciclabile che corre in entrambe le direzioni in una via a senso unico", + "description": "Una corsia ciclabile per entrambe le direzioni in una via a senso unico", "title": "Corsia ciclabile in senso unico" }, "opposite_lane": { @@ -1020,6 +1029,9 @@ "handrail": { "label": "Corrimano" }, + "height": { + "label": "Altezza (Metri)" + }, "highway": { "label": "Tipo" }, @@ -1139,6 +1151,12 @@ "man_made": { "label": "Tipo" }, + "map_size": { + "label": "Copertura" + }, + "map_type": { + "label": "Tipo" + }, "maxspeed": { "label": "Limite di velocità", "placeholder": "40, 50, 60..." @@ -1342,6 +1360,13 @@ "recycling_accepts": { "label": "Accetta" }, + "recycling_type": { + "label": "Tipologia di riciclaggio", + "options": { + "centre": "Centro di riciclaggio", + "container": "Contenitore" + } + }, "ref": { "label": "Riferimento" }, @@ -1396,21 +1421,8 @@ "service": { "label": "Tipo" }, - "service/bicycle/chain_tool": { - "label": "Smagliacatene", - "options": { - "no": "No", - "undefined": "No (ipotesi)", - "yes": "Sì" - } - }, - "service/bicycle/pump": { - "label": "Pompa", - "options": { - "no": "No", - "undefined": "No (ipotesi)", - "yes": "Sì" - } + "service/bicycle": { + "label": "Servizi" }, "service_rail": { "label": "Tipo di servizio", @@ -1535,8 +1547,12 @@ "tourism": { "label": "Tipo" }, - "towertype": { - "label": "Tipo di torre" + "tower/construction": { + "label": "Tipo di costruzione", + "placeholder": "Con tiranti, traliccio, camuffata, ..." + }, + "tower/type": { + "label": "Tipo" }, "tracktype": { "label": "Tipo di strada", @@ -1549,6 +1565,9 @@ }, "placeholder": "Solido, Soprattutto Solido, Morbido..." }, + "traffic_calming": { + "label": "Tipo" + }, "traffic_signals": { "label": "Tipo" }, @@ -1612,6 +1631,10 @@ "name": "Indirizzo", "terms": "numero civico,indirizzo,cap,città,località,luogo" }, + "advertising/billboard": { + "name": "Cartellone pubblicitario", + "terms": "pubblicità,cartellone,promozione,propaganda,réclame,manifesto" + }, "aerialway": { "name": "Trasporto a fune" }, @@ -1861,6 +1884,10 @@ "name": "Gelateria", "terms": "gelat*,semifredd*,yogurt,sorbett*,ghiacciol*" }, + "amenity/internet_cafe": { + "name": "Internet Cafe", + "terms": "caffè,te,bar,internet,point" + }, "amenity/kindergarten": { "name": "Area della Scuola dell'infanzia", "terms": "scuola d'infanzia,scuola di infanzia,asilo,assistenza all'infanzia,asilo d'infanzia,scuola materna,scuola dell'infanzia,asilo nido" @@ -1953,6 +1980,10 @@ "name": "Isola ecologica", "terms": "riciclo,raccolta differenziata,cestino,pattume,riciclaggio" }, + "amenity/recycling_centre": { + "name": "Centro di riciclaggio", + "terms": "Centro riciclo" + }, "amenity/register_office": { "name": "Anagrafe" }, @@ -2071,6 +2102,10 @@ "name": "Cassonetto del pattume", "terms": "cassonetto,cestino,pattume" }, + "amenity/waste_transfer_station": { + "name": "Centro Raccolta Rifiuti", + "terms": "differenziata,isola,stazione,ecologica,pattume,rusco,rifiuti" + }, "amenity/water_point": { "name": "Acqua potabile per camper", "terms": "colonnina,acqua,camper,caravan" @@ -2277,7 +2312,8 @@ "terms": "stalla,ricovero,scuderia" }, "building/static_caravan": { - "name": "Roulotte stazionaria" + "name": "Roulotte stazionaria", + "terms": "Casa mobile,container,casa prefabbricata" }, "building/terrace": { "name": "Villette a schiera", @@ -2294,21 +2330,29 @@ "name": "Magazzino", "terms": "magazzino,ripostiglio,rimessa" }, + "camp_site/camp_pitch": { + "name": "Piazzola", + "terms": "Piazzola,lotto" + }, "craft": { - "name": "Mestiere" + "name": "Mestiere", + "terms": "artigianato, produzione locale" }, "craft/basket_maker": { - "name": "Cestaio" + "name": "Cestaio", + "terms": "Cestaio,Intrecciatore di vimini" }, "craft/beekeeper": { - "name": "Apicoltore" + "name": "Apicoltore", + "terms": "Apicoltore" }, "craft/blacksmith": { "name": "Maniscalco", "terms": "ferri di cavallo" }, "craft/boatbuilder": { - "name": "Costruttore navale" + "name": "Costruttore navale", + "terms": "Costruttore di barche,armatore" }, "craft/bookbinder": { "name": "Legatoria", @@ -2323,10 +2367,12 @@ "terms": "carpenteria,legno" }, "craft/carpet_layer": { - "name": "Posatori di Moquette" + "name": "Posatori di Moquette", + "terms": "Tappezziere" }, "craft/caterer": { - "name": "Fornitore di catering" + "name": "Fornitore di catering", + "terms": "Addetto al catering,Azienda di catering" }, "craft/clockmaker": { "name": "Costruttore di orologi", @@ -2353,32 +2399,37 @@ "terms": "vetro,finestre,vetreria,vetraio" }, "craft/handicraft": { - "name": "Artigiano" + "name": "Artigiano", + "terms": "Artigianato,Artigiano" }, "craft/hvac": { "name": "Fabbrica di impianti di climatizzazione", "terms": "ventilatori,riscaldamento,calore,clima,aria condizionata" }, "craft/insulator": { - "name": "Isolanti" + "name": "Isolanti", + "terms": "Isolante" }, "craft/jeweler": { "name": "Gioielliere" }, "craft/key_cutter": { - "name": "Duplicazione di chiavi" + "name": "Duplicazione di chiavi", + "terms": "Duplicatore di chiavi" }, "craft/locksmith": { "name": "Fabbro" }, "craft/metal_construction": { - "name": "Costruzione di metallo" + "name": "Costruzione di metallo", + "terms": "Edificio in metallo" }, "craft/optician": { "name": "Ottico" }, "craft/painter": { - "name": "Pittore" + "name": "Pittore", + "terms": "Pittore" }, "craft/photographer": { "name": "Fotografo", @@ -2389,7 +2440,8 @@ "terms": "laboratorio,foto,fotografia,stampe" }, "craft/plasterer": { - "name": "Intonacatore" + "name": "Intonacatore", + "terms": "Imbianchino,Decoratore" }, "craft/plumber": { "name": "Idraulico", @@ -2404,23 +2456,28 @@ "terms": "cavi,corde,gomene" }, "craft/roofer": { - "name": "Riparatore tetti" + "name": "Riparatore tetti", + "terms": "Riparatore di tetti,Addetto alla riparazione dei tetti" }, "craft/saddler": { - "name": "Sellaio" + "name": "Sellaio", + "terms": "Sellaio" }, "craft/sailmaker": { - "name": "Velaio" + "name": "Velaio", + "terms": "Velaio" }, "craft/sawmill": { "name": "Segheria", "terms": "legno,segheria" }, "craft/scaffolder": { - "name": "Impalcature" + "name": "Impalcature", + "terms": "Costruttore di impalcature" }, "craft/sculpter": { - "name": "Scultore" + "name": "Scultore", + "terms": "Scultore" }, "craft/shoemaker": { "name": "Calzolaio", @@ -2431,19 +2488,23 @@ "terms": "muratura" }, "craft/sweep": { - "name": "Spazzacamino" + "name": "Spazzacamino", + "terms": "spazzacamino,camino,comignolo" }, "craft/tailor": { "name": "Sarto" }, "craft/tiler": { - "name": "Piastrellista" + "name": "Piastrellista", + "terms": "piastrellista,piastrelle" }, "craft/tinsmith": { - "name": "Lattoniere" + "name": "Lattoniere", + "terms": "stagno,stagnino,lattoniere" }, "craft/upholsterer": { - "name": "Tappezziere" + "name": "Tappezziere", + "terms": "Tappezziere" }, "craft/watchmaker": { "name": "Orologiaio", @@ -2469,14 +2530,32 @@ "name": "Defibrillatore", "terms": "dae,defibrillatore" }, + "emergency/designated": { + "name": "Accesso di emergenza designato" + }, + "emergency/destination": { + "name": "Destinazione d'uso accesso di emergenzza" + }, "emergency/fire_hydrant": { "name": "Idrante", "terms": " Pompa antincendio " }, + "emergency/no": { + "name": "Nessun accesso di emergenza" + }, + "emergency/official": { + "name": "Ufficiale agli accessi di emergenza" + }, "emergency/phone": { "name": "Telefono di Emergenza", "terms": "Telefono di emergenza" }, + "emergency/private": { + "name": "Accesso di emergenza privato" + }, + "emergency/yes": { + "name": "Accesso di emergenza" + }, "entrance": { "name": "Entrata/Uscita", "terms": "entrata,uscita,emergenza,accesso,porta,portone,ingresso" @@ -2513,11 +2592,29 @@ "name": "Buca del golf", "terms": "buca,golf" }, + "golf/lateral_water_hazard_area": { + "name": "Laghetto laterale", + "terms": "Laghetto laterale" + }, + "golf/lateral_water_hazard_line": { + "name": "Laghetto laterale", + "terms": "Laghetto Laterale" + }, "golf/rough": { - "name": "Irregolare, grezzo" + "name": "Irregolare, grezzo", + "terms": "Erba alta,Rough" }, "golf/tee": { - "name": "Tee di Partenza" + "name": "Tee di Partenza", + "terms": "Piazzola di partenza" + }, + "golf/water_hazard_area": { + "name": "Laghetto", + "terms": "Laghetto" + }, + "golf/water_hazard_line": { + "name": "Laghetto", + "terms": "Laghetto" }, "healthcare/blood_donation": { "name": "Centro trasfusionale", @@ -2683,11 +2780,16 @@ "terms": "Svincolo superstrada" }, "highway/turning_circle": { - "name": "Slargo per inversione", - "terms": "Slargo per inversione di marcia" + "name": "Slargo per inversione di marcia", + "terms": "slargo,inversione,marcia" + }, + "highway/turning_loop": { + "name": "Rotonda per inversione di marcia", + "terms": "rotonda,inversione,marcia" }, "highway/unclassified": { - "name": "Strada secondaria / non classificata" + "name": "Strada secondaria / non classificata", + "terms": "Strada minore/non classificata" }, "historic": { "name": "Sito storico", @@ -2808,6 +2910,10 @@ "name": "Cava", "terms": "Cava" }, + "landuse/recreation_ground": { + "name": "Campo da gioco", + "terms": "Campo da gioco,Campo giochi,Campo da giochi" + }, "landuse/residential": { "name": "Area residenziale", "terms": "residenziale,zona residenziale,case,abitazioni,alloggi" @@ -2829,7 +2935,8 @@ "terms": "gioco d'azzardo,casinò,bisca" }, "leisure/bird_hide": { - "name": "osservazione uccelli" + "name": "osservazione uccelli", + "terms": "Capanno di osservazione" }, "leisure/bowling_alley": { "name": "Sala da Bowling", @@ -2847,10 +2954,18 @@ "name": "Focolare", "terms": "fuoco,campeggio,griglia,bracere,braciere" }, + "leisure/fitness_centre": { + "name": "Palestra / Centro Fitness", + "terms": "salute,palestra,centro" + }, "leisure/fitness_centre/yoga": { "name": "Centro Yoga", "terms": "studio yoga,centro yoga,associazione yoga,yoga" }, + "leisure/fitness_station": { + "name": "Palestra a cielo aperto", + "terms": "Palestra a cielo aperto,Attrezzatura ginnica all'aperto" + }, "leisure/garden": { "name": "Giardino", "terms": "Giardino" @@ -2899,11 +3014,17 @@ "name": "Campo da basket", "terms": "Campo da pallacanestro" }, + "leisure/pitch/bowls": { + "name": "Campo da bocce", + "terms": "Campo da bocce" + }, "leisure/pitch/rugby_league": { - "name": "Campo di rugby a 13" + "name": "Campo di rugby a 13", + "terms": "Campo regolamentare lega rugbistica" }, "leisure/pitch/rugby_union": { - "name": "Campo di rugby" + "name": "Campo di rugby", + "terms": "Campo regolamentare unione rugbistica" }, "leisure/pitch/skateboard": { "name": "Skate Park", @@ -2933,6 +3054,10 @@ "name": "Scivolo per barche", "terms": "Rampa per la messa in acqua di imbarcazioni" }, + "leisure/sports_centre": { + "name": "Complesso / Centro Sportivo", + "terms": "sport,palazzetto,complesso" + }, "leisure/sports_centre/swimming": { "name": "Piscina pubblica", "terms": "nuoto,acqua,immersione,sub" @@ -3081,17 +3206,20 @@ "terms": "checkpoint,check point,posto di blocco" }, "military/danger_area": { - "name": "Area pericolosa" + "name": "Area pericolosa", + "terms": "militari,pericolo,soldati,esercito" }, "military/naval_base": { "name": "Base navale", "terms": "base,navi,marina,marina militare" }, "military/obstacle_course": { - "name": "Percorso ad ostacoli" + "name": "Percorso ad ostacoli", + "terms": "Percorso a ostacoli" }, "military/range": { - "name": "Poligono di tiro militare" + "name": "Poligono di tiro militare", + "terms": "Poligono militare" }, "military/training_area": { "name": "Area di addestramento", @@ -3210,10 +3338,12 @@ "terms": "architetto,studio,design" }, "office/company": { - "name": "Ufficio aziendale" + "name": "Ufficio aziendale", + "terms": "Ufficio" }, "office/educational_institution": { - "name": "Istituto d'Istruzione" + "name": "Istituto d'Istruzione", + "terms": "Istituzione educativa,istituto di istruzione,istituzione preposta all'istruzione" }, "office/employment_agency": { "name": "Agenzia per l'impiego", @@ -3264,7 +3394,8 @@ "terms": "circolo,partito,politica,sezione" }, "office/research": { - "name": "Istituto di Ricerca" + "name": "Istituto di Ricerca", + "terms": "Ufficio ricerca,Ufficio di ricerca" }, "office/telecommunication": { "name": "Ufficio di telecomunicazioni", @@ -3309,7 +3440,8 @@ "terms": "Località (luogo con nome, non popolato)" }, "place/neighbourhood": { - "name": "Vicinanze" + "name": "Vicinanze", + "terms": "Quartiere,Zona" }, "place/suburb": { "name": "Sobborgo", @@ -3350,7 +3482,8 @@ "name": "Sottostazione elettrica" }, "power/substation": { - "name": "Sottostazione" + "name": "Sottostazione", + "terms": "Sottostazione" }, "power/tower": { "name": "Traliccio ad alta tensione", @@ -3447,7 +3580,8 @@ "terms": "alcool,liquori,grappa,rum,vodka" }, "shop/anime": { - "name": "Negozio di manga" + "name": "Negozio di manga", + "terms": "Negozio di anime" }, "shop/antiques": { "name": "Antiquario", @@ -3458,7 +3592,8 @@ "terms": "opere d'arte,quadri,sculture,galleria,art*" }, "shop/baby_goods": { - "name": "Negozio di prodotti per l'infanzia" + "name": "Negozio di prodotti per l'infanzia", + "terms": "Negozio di articoli per l'infanzia" }, "shop/bag": { "name": "Negozio di borse e valigie", @@ -3469,14 +3604,24 @@ "terms": "panificio,forno,panetteria,pane,fornaio" }, "shop/bathroom_furnishing": { - "name": "Negozio di Prodotti per Bagno" + "name": "Negozio di Prodotti per Bagno", + "terms": "Negozio di sanitari,Sanitari" }, "shop/beauty": { "name": "Negozio di articoli di bellezza", "terms": "Salone di bellezza" }, + "shop/beauty/nails": { + "name": "Estetista", + "terms": "Estetista,Salone per unghie,Centro estetico" + }, + "shop/beauty/tanning": { + "name": "Centro abbronzatura", + "terms": "Centro abbronzatura,Solarium" + }, "shop/bed": { - "name": "Negozio di Materassi" + "name": "Negozio di Materassi", + "terms": "Negozio di materassi" }, "shop/beverages": { "name": "Negozio di bevande", @@ -3503,7 +3648,8 @@ "terms": "Macellaio" }, "shop/candles": { - "name": "Negozio di Candele" + "name": "Negozio di Candele", + "terms": "Negozio di candele" }, "shop/car": { "name": "Concessionario", @@ -3521,6 +3667,10 @@ "name": "Negozio di tappeti", "terms": "tappeti,persiani" }, + "shop/charity": { + "name": "Mercatino dell'usato", + "terms": "Mercatino dell'usato,Robivecchi" + }, "shop/cheese": { "name": "Negozio di formaggi", "terms": "Formaggeria" @@ -3530,34 +3680,40 @@ "terms": "Articoli di pulizia e bellezza" }, "shop/chocolate": { - "name": "Cioccolateria" + "name": "Cioccolateria", + "terms": "Cioccolateria" }, "shop/clothes": { "name": "Negozio di abbigliamento", "terms": "Negozio vestiti" }, "shop/coffee": { - "name": "Bar Caffetteria" + "name": "Bar Caffetteria", + "terms": "Bottega del caffè,Negozio di caffè" }, "shop/computer": { "name": "Negozio di informatica", "terms": "Negozio di computer" }, "shop/confectionery": { - "name": "Negozio di Dolciumi" + "name": "Negozio di Dolciumi", + "terms": "Negozio di dolciumi,Negozio di caramelle" }, "shop/convenience": { "name": "Minimarket", "terms": "Drogheria" }, "shop/copyshop": { - "name": "Copisteria" + "name": "Copisteria", + "terms": "Copisteria" }, "shop/cosmetics": { - "name": "Negozio di cosmetici" + "name": "Negozio di cosmetici", + "terms": "Cosmetica,Negozio di cosmetica,Profumeria" }, "shop/craft": { - "name": "Negozio di arti e mestieri" + "name": "Negozio di arti e mestieri", + "terms": "Arti e mestieri" }, "shop/curtain": { "name": "Negozio di tende", @@ -3604,7 +3760,8 @@ "terms": "negozio agricolo,banchetto agricolo,banchetto" }, "shop/fashion": { - "name": "Negozio di moda" + "name": "Negozio di moda", + "terms": "Fashion store,Boutique" }, "shop/fishmonger": { "name": "Pescivendolo" @@ -3614,7 +3771,8 @@ "terms": "Fioraio" }, "shop/frame": { - "name": "Negozio di cornici" + "name": "Negozio di cornici", + "terms": "Corniceria" }, "shop/funeral_directors": { "name": "Casa funeraria", @@ -3649,7 +3807,8 @@ "terms": "Negozio di Ferramenta" }, "shop/hearing_aids": { - "name": "Negozio di apparecchi acustici" + "name": "Negozio di apparecchi acustici", + "terms": "Apparecchi acustici,Negozio di apparecchi acustici" }, "shop/herbalist": { "name": "Erboristeria", @@ -3704,14 +3863,16 @@ "terms": "massaggi,estetica" }, "shop/medical_supply": { - "name": "Negozio di forniture mediche" + "name": "Negozio di forniture mediche", + "terms": "Sanitaria,Forniture mediche" }, "shop/mobile_phone": { "name": "Negozio di telefonia mobile", "terms": "Negozio di Cellulari" }, "shop/money_lender": { - "name": "Agenzia Prestito" + "name": "Agenzia Prestito", + "terms": "Finanziaria" }, "shop/motorcycle": { "name": "Concessionario di motociclette", @@ -3726,10 +3887,12 @@ "terms": "strumenti musicali" }, "shop/newsagent": { - "name": "Edicola" + "name": "Edicola", + "terms": "Edicola" }, "shop/nutrition_supplements": { - "name": "Negozio di integratori alimentari" + "name": "Negozio di integratori alimentari", + "terms": "Negozio di integratori" }, "shop/optician": { "name": "Ottico", @@ -3744,14 +3907,16 @@ "terms": "campeggio,scalata,escursionismo" }, "shop/paint": { - "name": "Negozio di vernici" + "name": "Negozio di vernici", + "terms": "Colorificio" }, "shop/pastry": { "name": "Pasticceria", "terms": "patisserie,torteria,torte,paste,pasticcini" }, "shop/pawnbroker": { - "name": "Banco dei pegni" + "name": "Banco dei pegni", + "terms": "Banco dei pegni,Monte dei pegni" }, "shop/pet": { "name": "Negozio di animali", @@ -3865,7 +4030,8 @@ "terms": "armeria,armi,munizioni,coltelli,pistole" }, "shop/window_blind": { - "name": "Negozio di tapparelle e serrande" + "name": "Negozio di tapparelle e serrande", + "terms": "Serramenti" }, "shop/wine": { "name": "Enoteca", @@ -3879,6 +4045,10 @@ "name": "Rifugio", "terms": "rifugio,bivacco,dormitorio,malga" }, + "tourism/apartment": { + "name": "Affittacamere", + "terms": "Affittacamere,Bed & breakfast,Appartamenti" + }, "tourism/artwork": { "name": "Opera d'arte", "terms": " Opera d'arte " @@ -3888,8 +4058,8 @@ "terms": "Attrazione turistica" }, "tourism/camp_site": { - "name": "Campeggio", - "terms": "Campeggio" + "name": "Camping", + "terms": "Camping,Campeggio" }, "tourism/caravan_site": { "name": "Sosta per camper", @@ -3919,6 +4089,22 @@ "name": "Informazioni", "terms": "Informazioni" }, + "tourism/information/board": { + "name": "Pannello Informativo", + "terms": "info,infromazioni,turismo,cartello,pannello,turistico" + }, + "tourism/information/guidepost": { + "name": "Indicazione stradale", + "terms": "segnale,segnaletica,turismo,turistico,indicazione,cartello" + }, + "tourism/information/map": { + "name": "Cartina", + "terms": "mappa,carta,turismo,turistica" + }, + "tourism/information/office": { + "name": "Ufficio Informazioni Turistiche", + "terms": "info,turismo,turistico,informazioni" + }, "tourism/motel": { "name": "Motel", "terms": "Motel" @@ -3943,14 +4129,38 @@ "name": "Zoo", "terms": "Zoo" }, + "traffic_calming": { + "name": "Dissuasore di velocità", + "terms": "dosso,stradale,artificiale,dosso,rallentatore,dissuasore,velocità" + }, "traffic_calming/bump": { "name": "Dosso Artificiale", "terms": "dosso" }, + "traffic_calming/chicane": { + "name": "Chicane", + "terms": "chicane,disassamento,serpentina" + }, + "traffic_calming/choker": { + "name": "Restringimento", + "terms": "collo,bottiglia" + }, + "traffic_calming/cushion": { + "name": "Cuscino berlinese", + "terms": "cuscino,dosso" + }, + "traffic_calming/dip": { + "name": "Buca", + "terms": "buco,depressione" + }, "traffic_calming/hump": { "name": "Speed Hump (Inghilterra)", "terms": "speed hump" }, + "traffic_calming/island": { + "name": "Isola di traffico", + "terms": "isola,pedonale" + }, "traffic_calming/rumble_strip": { "name": "Rallentatore acustico", "terms": "dosso acustico,bande acustiche,bande rumorose" @@ -4086,7 +4296,8 @@ "terms": "Fosso" }, "waterway/dock": { - "name": "Bacino galleggiante / di carenaggio" + "name": "Bacino galleggiante / di carenaggio", + "terms": "Darsena,Cantiere" }, "waterway/drain": { "name": "Canale di scolo", diff --git a/dist/locales/ja.json b/dist/locales/ja.json index ca93ccab2..f3b85682a 100644 --- a/dist/locales/ja.json +++ b/dist/locales/ja.json @@ -157,7 +157,7 @@ "vertex": "ウェイ上のノードを移動", "line": "ラインの移動", "area": "エリアの移動", - "multiple": "Moved multiple objects." + "multiple": "複数オブジェクトの移動" }, "incomplete_relation": "地物全体がダウンロードされていないため、移動させることができません。", "too_large": "ウェイの一部がダウンロードされていないため、移動させることができません。", @@ -212,7 +212,7 @@ }, "undo": { "tooltip": "もとに戻す: {action}", - "nothing": "やり直す変更点がありません" + "nothing": "もとに直す変更点がありません" }, "redo": { "tooltip": "再実行: {action}", @@ -227,6 +227,7 @@ "localized_translation_name": "名称" }, "zoom_in_edit": "編集するには地図を拡大してください", + "login": "ログイン", "logout": "ログアウト", "loading_auth": "OpenStreetMapへ接続中...", "report_a_bug": "バグ報告", @@ -238,7 +239,8 @@ "status": { "error": "APIサーバへの接続が失敗しました", "offline": "APIがオフラインです。しばらくしてからもう一度お試しください。", - "readonly": "APIは読み込み専用モードです。変更内容の保存はしばらく時間を置いてから行なってください。" + "readonly": "APIは読み込み専用モードです。変更内容の保存はしばらく時間を置いてから行なってください。", + "rateLimit": "APIは匿名の接続を制限しています。修正するにはログインしてください。" }, "commit": { "title": "編集結果を保存", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "このタグの組み合わせに関する解説はありません", "no_documentation_key": "このキーに対する解説はありません", + "documentation_redirect": "文書は新しいページにリダイレクトされました", "show_more": "次を表示", "view_on_osm": "openstreetmap.orgで確認", "all_fields": "すべての項目", @@ -471,7 +474,7 @@ }, "splash": { "welcome": "iD 起動中", - "text": "iDは、世界に例を見ない自由な地図を編集するにあたり、馴染みやすく、かつ使い勝手をそこなわないことを目的に開発されています。現在のバージョンは {version} です。詳細は {website} で公開中です。バグ報告は {github} で受け付けています。", + "text": "iDは、世界でもっとも優れた自由な世界地図を編集するためのツールで、馴染みやすく、かつ高機能です。現在のバージョンは {version} です。詳細は {website} で公開中です。バグ報告は {github} で受け付けています。", "walkthrough": "チュートリアルを開始", "start": "編集開始" }, @@ -646,7 +649,7 @@ "name": "水域" }, "category-water-line": { - "name": "流水" + "name": "水路関連" } }, "fields": { @@ -781,6 +784,9 @@ "barrier": { "label": "タイプ" }, + "beauty": { + "label": "店舗種類" + }, "bench": { "label": "ベンチ" }, @@ -791,12 +797,17 @@ "label": "ゴミ箱" }, "blood_components": { + "label": "献血種類", "options": { "plasma": "血しょう成分献血", "platelets": "血小板成分献血", + "stemcells": "骨髄サンプル", "whole": "全血献血" } }, + "board_type": { + "label": "タイプ" + }, "boundary": { "label": "タイプ" }, @@ -909,6 +920,9 @@ "cycleway:right": "右側" } }, + "date": { + "label": "日付" + }, "delivery": { "label": "配達" }, @@ -924,6 +938,9 @@ "diaper": { "label": "おむつ交換台の利用可否" }, + "display": { + "label": "表示盤の種類" + }, "dock": { "label": "タイプ" }, @@ -1009,6 +1026,9 @@ "handrail": { "label": "手すり" }, + "height": { + "label": "高さ (メートル)" + }, "highway": { "label": "道路区分" }, @@ -1035,6 +1055,9 @@ "up": "上" } }, + "indoor": { + "label": "室内" + }, "information": { "label": "タイプ" }, @@ -1125,6 +1148,12 @@ "man_made": { "label": "種類" }, + "map_size": { + "label": "地図の範囲" + }, + "map_type": { + "label": "タイプ" + }, "maxspeed": { "label": "最高速度", "placeholder": "40, 50, 60..." @@ -1327,6 +1356,13 @@ "recycling_accepts": { "label": "リサイクル可能な素材" }, + "recycling_type": { + "label": "リサイクル設備の種類", + "options": { + "centre": "リサイクルセンター", + "container": "コンテナ" + } + }, "ref": { "label": "管理番号" }, @@ -1381,21 +1417,8 @@ "service": { "label": "種類" }, - "service/bicycle/chain_tool": { - "label": "チェーンツール", - "options": { - "no": "いいえ", - "undefined": "おそらくいいえ", - "yes": "はい" - } - }, - "service/bicycle/pump": { - "label": "エアパルプ", - "options": { - "no": "無し", - "undefined": "たぶん無し", - "yes": "有り" - } + "service/bicycle": { + "label": "サービス" }, "service_rail": { "label": "サービスの種類", @@ -1422,10 +1445,10 @@ "label": "喫煙の可否", "options": { "dedicated": "喫煙者向け(例: スモーカーズクラブ)", - "isolated": "室内喫煙(分煙)", + "isolated": "完全分煙", "no": "禁煙", "outside": "屋外のみ喫煙可", - "separated": "室内喫煙(未分煙)", + "separated": "同室内分煙", "yes": "喫煙可" }, "placeholder": "いいえ、分けた、はい..." @@ -1460,6 +1483,9 @@ "sport_racing": { "label": "スポーツ" }, + "stars": { + "label": "星の数" + }, "stop": { "label": "一時停止の種類", "options": { @@ -1485,7 +1511,10 @@ "label": "タイプ" }, "supervised": { - "label": "管理" + "label": "監視" + }, + "support": { + "label": "設置場所・支持素材" }, "surface": { "label": "路面状態" @@ -1514,8 +1543,12 @@ "tourism": { "label": "種類" }, - "towertype": { - "label": "塔の用途" + "tower/construction": { + "label": "工事中", + "placeholder": "支線塔、格子塔、擬態させた塔、etc" + }, + "tower/type": { + "label": "タイプ" }, "tracktype": { "label": "トラック種別", @@ -1528,6 +1561,9 @@ }, "placeholder": "硬質, 大部分が硬質, 軟質…" }, + "traffic_calming": { + "label": "タイプ" + }, "traffic_signals": { "label": "タイプ" }, @@ -1553,6 +1589,7 @@ "label": "販売商品の種別" }, "visibility": { + "label": "見える範囲", "options": { "area": "20m(65フィート)超", "house": "5m(16フィート)以下", @@ -1590,6 +1627,9 @@ "name": "住所", "terms": "住所" }, + "advertising/billboard": { + "name": "広告用看板" + }, "aerialway": { "name": "索道" }, @@ -1828,7 +1868,7 @@ "terms": "砂箱, 氷結防止" }, "amenity/hospital": { - "name": "病院の敷地", + "name": "大規模病院の敷地", "terms": "病院の敷地" }, "amenity/hunting_stand": { @@ -1839,6 +1879,9 @@ "name": "アイスクリーム店", "terms": "アイスクリームパーラー" }, + "amenity/internet_cafe": { + "name": "インターネットカフェ" + }, "amenity/kindergarten": { "name": "保育園/幼稚園の敷地", "terms": "幼稚園の敷地, 保育園の敷地" @@ -1931,6 +1974,9 @@ "name": "リサイクルボックス", "terms": "リサイクルボックス, 回収箱, リサイクル" }, + "amenity/recycling_centre": { + "name": "リサイクルセンター" + }, "amenity/register_office": { "name": "登記所" }, @@ -2018,6 +2064,7 @@ "terms": "新聞, 自動販売機, 自販機" }, "amenity/vending_machine/parcel_pickup_dropoff": { + "name": "集荷・引取 自動販売機", "terms": "自動販売機, 自販機" }, "amenity/vending_machine/parking_tickets": { @@ -2048,6 +2095,10 @@ "name": "ゴミ収集ボックス", "terms": "ゴミステーション, ゴミ集積所, ゴミ捨て場, ゴミ置き場, ゴミ, ゴミ箱, ゴミコンテナ, ゴミ回収, ダストボックス" }, + "amenity/waste_transfer_station": { + "name": "ゴミ集積場", + "terms": "ゴミ集積場,ゴミ積替所" + }, "amenity/water_point": { "name": "キャンピングカー用の給水施設", "terms": "給水, 補給, 給水所, キャンピングカー, 給水塔, 飲料水, 飲水, 飲み水, キャンプ場, オートキャンプ場" @@ -2272,6 +2323,10 @@ "name": "倉庫", "terms": "倉庫, 蔵" }, + "camp_site/camp_pitch": { + "name": "キャンプサイト", + "terms": "キャンプサイト" + }, "craft": { "name": "工房", "terms": "工房" @@ -2476,6 +2531,9 @@ "name": "緊急電話", "terms": "緊急電話" }, + "emergency/yes": { + "name": "緊急時の利用可" + }, "entrance": { "name": "出入口", "terms": "出入口, 入口, 出口" @@ -2512,6 +2570,14 @@ "name": "ゴルフホール", "terms": "ホール" }, + "golf/lateral_water_hazard_area": { + "name": "ラテラルウォーターハザード", + "terms": "池ポチャ, ウォーターハザード" + }, + "golf/lateral_water_hazard_line": { + "name": "ラテラルウォーターハザード", + "terms": "池ポチャ, ウォーターハザード" + }, "golf/rough": { "name": "ラフ", "terms": "ラフ" @@ -2520,6 +2586,14 @@ "name": "ティー", "terms": "ティー" }, + "golf/water_hazard_area": { + "name": "ウォーターハザード", + "terms": "池ポチャ, ウォーターハザード" + }, + "golf/water_hazard_line": { + "name": "ウォーターハザード", + "terms": "池ポチャ, ウォーターハザード" + }, "healthcare/blood_donation": { "name": "献血ルーム", "terms": "血液センター" @@ -2687,6 +2761,9 @@ "name": "転回場", "terms": "転回場, 車回し" }, + "highway/turning_loop": { + "name": "転回所(交通島あり)" + }, "highway/unclassified": { "name": "一般道(2車線未満)" }, @@ -2859,6 +2936,9 @@ "leisure/fitness_centre/yoga": { "name": "ヨガスタジオ" }, + "leisure/fitness_station": { + "name": "屋外健康器具" + }, "leisure/garden": { "name": "庭園", "terms": "庭園" @@ -2907,6 +2987,9 @@ "name": "バスケットボール場", "terms": "バスケットボール場" }, + "leisure/pitch/bowls": { + "name": "ローンボウルズ" + }, "leisure/pitch/rugby_league": { "name": "ラグビーリーグ場", "terms": "ラグビー場, ラグビー, リーグ" @@ -2943,6 +3026,9 @@ "name": "進水路", "terms": "進水路, スリップウェイ" }, + "leisure/sports_centre": { + "name": "スポーツセンター/複合施設" + }, "leisure/sports_centre/swimming": { "name": "スイミングプール施設", "terms": "遊泳プール, プール, 水泳場" @@ -3246,6 +3332,9 @@ "name": "行政機関事務所", "terms": "行政機関事務所" }, + "office/government/register_office": { + "name": "イギリス等の出生、結婚、死亡などの登録所" + }, "office/insurance": { "name": "保険代理店", "terms": "保険代理店" @@ -3389,6 +3478,9 @@ "name": "線路跡", "terms": "鉄道跡, 線路跡, 廃線跡" }, + "railway/crossing": { + "name": "踏切(歩道)" + }, "railway/disused": { "name": "休止線路", "terms": "休止線路, 廃線" @@ -3401,6 +3493,9 @@ "name": "鉄道駅(停留場)", "terms": "停留所, 停留場, 駅, 鉄道駅" }, + "railway/level_crossing": { + "name": "踏切(車道)" + }, "railway/monorail": { "name": "モノレール", "terms": "モノレール" @@ -3484,6 +3579,12 @@ "name": "美容サービス", "terms": "美容サービス, エステサロン, ネイルサロン" }, + "shop/beauty/nails": { + "name": "ネイルサロン" + }, + "shop/beauty/tanning": { + "name": "日焼けサロン" + }, "shop/bed": { "name": "ベッド/マットレス専門店", "terms": "ベッド, マットレス, 寝具" @@ -3604,6 +3705,9 @@ "name": "クリーニング店", "terms": "クリーニング, ドライクリーニング店, 洗濯屋" }, + "shop/e-cigarette": { + "name": "電子タバコ店" + }, "shop/electronics": { "name": "家電販売店", "terms": "家電販売店, 家電量販店" @@ -3771,6 +3875,9 @@ "name": "塗料店", "terms": "塗料店" }, + "shop/pastry": { + "name": "焼菓子店" + }, "shop/pawnbroker": { "name": "質店", "terms": "質屋, 質店" @@ -3902,6 +4009,9 @@ "name": "山小屋", "terms": "山小屋" }, + "tourism/apartment": { + "name": "リゾートマンション" + }, "tourism/artwork": { "name": "芸術作品", "terms": "芸術作品" @@ -3911,8 +4021,7 @@ "terms": "観光名所, 見どころ" }, "tourism/camp_site": { - "name": "キャンプ場", - "terms": "キャンプ場" + "name": "キャンプ場" }, "tourism/caravan_site": { "name": "オートキャンプ場", @@ -3942,6 +4051,18 @@ "name": "観光案内", "terms": "観光案内, 案内, 案内板, 案内所, インフォメーション" }, + "tourism/information/board": { + "name": "情報掲示板" + }, + "tourism/information/guidepost": { + "name": "ガイドポスト" + }, + "tourism/information/map": { + "name": "地図" + }, + "tourism/information/office": { + "name": "観光案内所" + }, "tourism/motel": { "name": "モーテル", "terms": "モーテル" @@ -3966,14 +4087,26 @@ "name": "動物園", "terms": "動物園" }, + "traffic_calming": { + "name": "減速帯" + }, "traffic_calming/bump": { "name": "スピードバンプ", "terms": "スピードバンプ" }, + "traffic_calming/chicane": { + "name": "シケイン" + }, + "traffic_calming/choker": { + "name": "狭隘路" + }, "traffic_calming/hump": { "name": "スピードハンプ", "terms": "スピードハンプ" }, + "traffic_calming/island": { + "name": "交通島" + }, "traffic_calming/rumble_strip": { "name": "ランブルストリップ", "terms": "ランブルストリップ" @@ -4132,6 +4265,9 @@ "name": "小川", "terms": "小川, せせらぎ, 川" }, + "waterway/water_point": { + "name": "ボートのタンクに飲料水をくむための場所" + }, "waterway/weir": { "name": "堰", "terms": "堰" diff --git a/dist/locales/kn.json b/dist/locales/kn.json index a7c3c435c..d1bc2c3fb 100644 --- a/dist/locales/kn.json +++ b/dist/locales/kn.json @@ -1105,18 +1105,6 @@ "service": { "label": "ವಿಧ" }, - "service/bicycle/chain_tool": { - "options": { - "no": "ಇಲ್ಲ", - "yes": "ಹೌದು" - } - }, - "service/bicycle/pump": { - "options": { - "no": "ಇಲ್ಲ", - "yes": "ಹೌದು" - } - }, "shelter": { "label": "ಆಶ್ರಯ" }, diff --git a/dist/locales/ko.json b/dist/locales/ko.json index 6aae5ab97..dd8257454 100644 --- a/dist/locales/ko.json +++ b/dist/locales/ko.json @@ -1280,22 +1280,6 @@ "service": { "label": "유형" }, - "service/bicycle/chain_tool": { - "label": "체인 공구", - "options": { - "no": "아니오", - "undefined": "아니오로 간주", - "yes": "예" - } - }, - "service/bicycle/pump": { - "label": "공기 펌프", - "options": { - "no": "아니오", - "undefined": "아니오로 간주", - "yes": "예" - } - }, "service_rail": { "label": "취부 유형" }, @@ -1394,9 +1378,6 @@ "tourism": { "label": "유형" }, - "towertype": { - "label": "탑 유형" - }, "tracktype": { "label": "트랙 유형", "options": { @@ -2880,9 +2861,6 @@ "tourism/attraction": { "name": "관광 명소" }, - "tourism/camp_site": { - "name": "캠프장" - }, "tourism/caravan_site": { "name": "RV 공원" }, diff --git a/dist/locales/lt.json b/dist/locales/lt.json index 27926382e..2ee86e96e 100644 --- a/dist/locales/lt.json +++ b/dist/locales/lt.json @@ -1132,21 +1132,6 @@ "service": { "label": "Tipas" }, - "service/bicycle/chain_tool": { - "options": { - "no": "Ne", - "undefined": "Numatytai, kad Ne", - "yes": "Taip" - } - }, - "service/bicycle/pump": { - "label": "Oro pompa", - "options": { - "no": "Ne", - "undefined": "Manoma, kad Ne", - "yes": "Taip" - } - }, "service_rail": { "label": "Tarnybos tipas", "options": { @@ -1232,9 +1217,6 @@ "tourism": { "label": "Tipas" }, - "towertype": { - "label": "Bokšto tipas" - }, "tracktype": { "label": "Kelio tipas", "placeholder": "Tvirtas, daugiausia tvirtas, minkštas..." @@ -2916,9 +2898,6 @@ "tourism/attraction": { "name": "Turistų traukos vieta" }, - "tourism/camp_site": { - "name": "Stovyklavietė" - }, "tourism/chalet": { "name": "Sodyba", "terms": "sodyba,kaimo sodyba" diff --git a/dist/locales/lv.json b/dist/locales/lv.json index 147558b30..15d0becb8 100644 --- a/dist/locales/lv.json +++ b/dist/locales/lv.json @@ -1047,9 +1047,6 @@ "tourism/attraction": { "name": "Tūrisma objekts" }, - "tourism/camp_site": { - "name": "Telšu vieta" - }, "tourism/guest_house": { "name": "Viesu nams" }, diff --git a/dist/locales/nl.json b/dist/locales/nl.json index cd276e866..eeb9aec5a 100644 --- a/dist/locales/nl.json +++ b/dist/locales/nl.json @@ -227,6 +227,7 @@ "localized_translation_name": "Naam" }, "zoom_in_edit": "Zoom in om aan te passen", + "login": "login", "logout": "Afmelden", "loading_auth": "Aan het verbinden met OpenStreetMap …", "report_a_bug": "Meld een bug", @@ -238,7 +239,8 @@ "status": { "error": "Kon niet met de API verbinden.", "offline": "De API is niet bereikbaar. Probeer het later opnieuw.", - "readonly": "De API staat nu in alleen-lezen-modus. Je zal moeten wachten om je aanpassingen op te slaan." + "readonly": "De API staat nu in alleen-lezen-modus. Je zal moeten wachten om je aanpassingen op te slaan.", + "rateLimit": "De API stelt een limiet op het aantal anonieme connecties. Je kan dit oplossen door in te loggen." }, "commit": { "title": "Aanpassingen Opslaan", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "Er is geen documentatie beschikbaar voor deze tag", "no_documentation_key": "Er is geen documentatie beschikbaar voor deze sleutel", + "documentation_redirect": "Deze documentatie is verplaatst naar een nieuwe pagina", "show_more": "Toon Meer", "view_on_osm": "Toon op openstreetmap.org", "all_fields": "Alle velden", @@ -781,6 +784,9 @@ "barrier": { "label": "Type" }, + "beauty": { + "label": "Winkeltype" + }, "bench": { "label": "Zitbank" }, @@ -799,6 +805,9 @@ "whole": "volbloed" } }, + "board_type": { + "label": "Type" + }, "boundary": { "label": "Type" }, @@ -1020,6 +1029,9 @@ "handrail": { "label": "Trapleuning" }, + "height": { + "label": "Hoogte (in meter)" + }, "highway": { "label": "Type" }, @@ -1139,6 +1151,9 @@ "man_made": { "label": "Type" }, + "map_type": { + "label": "Type" + }, "maxspeed": { "label": "Snelheidsbeperking", "placeholder": "40, 50, 60 …" @@ -1342,6 +1357,13 @@ "recycling_accepts": { "label": "Aanvaardt" }, + "recycling_type": { + "label": "Recyclage-infrastructuur", + "options": { + "centre": "Milieupark/Containerpark", + "container": "Container" + } + }, "ref": { "label": "Nummering" }, @@ -1396,21 +1418,8 @@ "service": { "label": "Type" }, - "service/bicycle/chain_tool": { - "label": "Kettinggereedschap", - "options": { - "no": "Nee", - "undefined": "Aangenomen dat het Nee is", - "yes": "Ja" - } - }, - "service/bicycle/pump": { - "label": "Fietspomp", - "options": { - "no": "Nee", - "undefined": "Aangenomen dat het Nee is", - "yes": "Ja" - } + "service/bicycle": { + "label": "Diensten" }, "service_rail": { "label": "Type dienstspoor", @@ -1535,8 +1544,12 @@ "tourism": { "label": "Type" }, - "towertype": { - "label": "Type toren" + "tower/construction": { + "label": "Constructie", + "placeholder": "Mast, Raamwerk, Verborgen ..." + }, + "tower/type": { + "label": "Type" }, "tracktype": { "label": "Type Veldweg", @@ -1549,6 +1562,9 @@ }, "placeholder": "Vast, Voornamelijk Vast, Los …" }, + "traffic_calming": { + "label": "Type" + }, "traffic_signals": { "label": "Type" }, @@ -1612,6 +1628,10 @@ "name": "Adres", "terms": "contact,plaats,adresgegevens,straat,huisnummer" }, + "advertising/billboard": { + "name": "Reclamebord", + "terms": "billboard" + }, "aerialway": { "name": "Kabelbaan" }, @@ -1849,6 +1869,10 @@ "name": "IJskraam", "terms": "ijskraam,ijskraampje,ijscowinkel,ijsventer" }, + "amenity/internet_cafe": { + "name": "Internetcafé", + "terms": "cyberspace,cybercafé" + }, "amenity/kindergarten": { "name": "Gebied van Crèche/Kleuterschool" }, @@ -1938,6 +1962,10 @@ "name": "Recyclage", "terms": "milieustraat,milieupark,glasbol,containerpark,recycling,recyclage,stort" }, + "amenity/recycling_centre": { + "name": "Milieupark/Containerpark", + "terms": "milieupark,containerpark,milieustraat" + }, "amenity/register_office": { "name": "Burgerlijke Stand" }, @@ -2053,6 +2081,9 @@ "name": "Kleine afvalcontainer", "terms": "restafval,milieustraat,vuilbak" }, + "amenity/waste_transfer_station": { + "name": "Afval-transfer-station" + }, "amenity/water_point": { "name": "Waterpunt voor kampeerauto's", "terms": "drinkwatertank,watertank,waterpunt voor campers" @@ -2656,7 +2687,11 @@ }, "highway/turning_circle": { "name": "Keerplein", - "terms": "draaicirkel,pijpekop,pijpenkop,einde van de straat,cul-de-sac" + "terms": "keerlus,draaicirkel,pijpekop,pijpenkop,einde van de straat,cul-de-sac" + }, + "highway/turning_loop": { + "name": "Keerlus (met eiland)", + "terms": "keerplein,draaicirkel,pijpekop,pijpenkop,einde van de straat,cul-de-sac" }, "highway/unclassified": { "name": "Kleine openbare weg" @@ -2899,6 +2934,10 @@ "name": "Botenhelling", "terms": "trailerhelling,tewaterlating,te water laten,boot,helling,boothelling" }, + "leisure/sports_centre": { + "name": "Sportcentrum of -complex", + "terms": "sportcentrum,sportcomplex,bloso" + }, "leisure/sports_centre/swimming": { "name": "Zwembadfaciliteit", "terms": "zwemmen,waterbad,duiken" @@ -3395,6 +3434,14 @@ "shop/beauty": { "name": "Schoonheidssalon" }, + "shop/beauty/nails": { + "name": "Nagelsalon", + "terms": "manicure,pedicure,nagelstudio,nagellak,lakken" + }, + "shop/beauty/tanning": { + "name": "Zonnebank", + "terms": "zonnecentrum,bruinen,zonnebankcentrum" + }, "shop/bed": { "name": "Bed-/Matrassenwinkel" }, @@ -3770,6 +3817,10 @@ "tourism/alpine_hut": { "name": "Berghut" }, + "tourism/apartment": { + "name": "Vakantieappartement", + "terms": "gastenappartement,verhuurd appartement,zomerappartement,vakantieflat,gastenflat,gastappartement,gastflat,verhuurde flat,zomerflat" + }, "tourism/artwork": { "name": "Kunstwerk", "terms": "kunst,object,kunstobject" @@ -3779,10 +3830,11 @@ }, "tourism/camp_site": { "name": "Camping", - "terms": "camping,kampeerterrein,kampeerplaats" + "terms": "kamperen,kampeertenten,kampeerwagenpark" }, "tourism/caravan_site": { - "name": "Terrein voor kampeerwagens" + "name": "Caravan-/kampeerwagenterrein", + "terms": "caravans,kampeerwagens,campers,motorhomes,mobilehomes,terrein voor kampeerwagens" }, "tourism/chalet": { "name": "Chalet", @@ -3805,7 +3857,7 @@ }, "tourism/information": { "name": "Informatie", - "terms": "i,info,vvv" + "terms": "i,info,vvv,touristeninformatie,office de tourisme,tourismekantoor" }, "tourism/motel": { "name": "Motel" @@ -3819,22 +3871,39 @@ "terms": "park" }, "tourism/theme_park": { - "name": "Themapark" + "name": "Themapark", + "terms": "pretpark" }, "tourism/viewpoint": { "name": "Uitzichtpunt" }, "tourism/zoo": { - "name": "Dierentuin" + "name": "Dierentuin", + "terms": "zoo" + }, + "traffic_calming": { + "name": "Verkeersremmer" }, "traffic_calming/bump": { "name": "Kleine verkeersdrempel", "terms": "snelheidsdrempel,plateau,verkeersplateau" }, + "traffic_calming/chicane": { + "name": "Asverlegging" + }, + "traffic_calming/choker": { + "name": "Vernauwing" + }, + "traffic_calming/cushion": { + "name": "Verkeerskussen" + }, "traffic_calming/hump": { "name": "Verkeersdrempel, 2 meter of langer", "terms": "snelheidsdrempel,plateau,verkeersplateau" }, + "traffic_calming/island": { + "name": "Verkeerseiland" + }, "traffic_calming/rumble_strip": { "name": "Verkeerswasbord", "terms": "rammelstrook,ribbeltjesstrook,ribbelstrook,ribbelstrook over volledig wegdek" diff --git a/dist/locales/no.json b/dist/locales/no.json index 3da4df5cc..a04a72bdd 100644 --- a/dist/locales/no.json +++ b/dist/locales/no.json @@ -880,20 +880,6 @@ "service": { "label": "Type" }, - "service/bicycle/chain_tool": { - "options": { - "no": "Nei", - "undefined": "Antatt til å være Nei", - "yes": "Ja" - } - }, - "service/bicycle/pump": { - "options": { - "no": "Nei", - "undefined": "Antatt til å være Nei", - "yes": "Ja" - } - }, "shelter": { "label": "Skur" }, @@ -946,9 +932,6 @@ "tourism": { "label": "Type" }, - "towertype": { - "label": "Tårntype" - }, "traffic_signals": { "label": "Type" }, @@ -2341,9 +2324,6 @@ "tourism/attraction": { "name": "Turistattraksjon" }, - "tourism/camp_site": { - "name": "Campingplass" - }, "tourism/chalet": { "name": "Hytte" }, diff --git a/dist/locales/pl.json b/dist/locales/pl.json index f19ee5e27..352609d4c 100644 --- a/dist/locales/pl.json +++ b/dist/locales/pl.json @@ -294,6 +294,7 @@ "inspector": { "no_documentation_combination": "Nie ma dokumentacji dla tej kombinacji znaczników", "no_documentation_key": "Nie ma dokumentacji dla tego klucza", + "documentation_redirect": "Ta dokumentacja została przeniesiona na nową stronę", "show_more": "Wyświetl więcej", "view_on_osm": "Wyświetl na openstreetmap.org", "all_fields": "Wszystkie pola", @@ -781,6 +782,9 @@ "barrier": { "label": "Typ" }, + "beauty": { + "label": "Typ sklepu" + }, "bench": { "label": "Ławka" }, @@ -1315,8 +1319,10 @@ "options": { "downhill": "Downhill", "hike": "Turystyka piesza", + "ice_skate": "Łyżwiarstwo", "nordic": "Kombinacja norweska", "playground": "Nauka jazdy na nartach", + "skitour": "Skitour", "sled": "Tor saneczkowy", "sleigh": "Sanie", "snow_park": "Snowpark" @@ -1340,6 +1346,13 @@ "recycling_accepts": { "label": "Przyjmuje" }, + "recycling_type": { + "label": "Rodzaj recyklingu", + "options": { + "centre": "Miejsce recyklingu", + "container": "Kontener" + } + }, "ref": { "label": "Numer referencyjny" }, @@ -1365,7 +1378,10 @@ "label": "Typ" }, "sac_scale": { - "label": "Stopień trudności turystyki pieszej" + "label": "Stopień trudności turystyki pieszej", + "options": { + "hiking": "T1: Wędrówki" + } }, "sanitary_dump_station": { "label": "Miejsce opróżniania toalety" @@ -1385,21 +1401,8 @@ "service": { "label": "Typ" }, - "service/bicycle/chain_tool": { - "label": "Skuwacz łańcucha", - "options": { - "no": "Nie", - "undefined": "Domyślnie nie", - "yes": "Tak" - } - }, - "service/bicycle/pump": { - "label": "Pompowanie", - "options": { - "no": "Nie", - "undefined": "Domyślnie nie", - "yes": "Tak" - } + "service/bicycle": { + "label": "Usługi" }, "service_rail": { "label": "Typ Usługi", @@ -1524,9 +1527,6 @@ "tourism": { "label": "Typ" }, - "towertype": { - "label": "Typ wieży" - }, "tracktype": { "label": "Spoistość drogi, zazwyczaj leśnej lub polnej (tracktype)", "options": { @@ -1601,6 +1601,10 @@ "name": "Adres", "terms": "namiar, numer" }, + "advertising/billboard": { + "name": "Billboard", + "terms": "Reklama" + }, "aerialway": { "name": "Wyciąg narciarski" }, @@ -1942,6 +1946,10 @@ "name": "Recykling", "terms": "Recykling, Recyklizacja" }, + "amenity/recycling_centre": { + "name": "Centrum przetwarzania odpadów (recycling)", + "terms": "centrum przetwarzania odpadów, centrum recyclingu" + }, "amenity/register_office": { "name": "Urząd stanu cywilnego" }, @@ -2884,6 +2892,10 @@ "name": "Miejsce na ognisko", "terms": "ognisko" }, + "leisure/fitness_centre": { + "name": "Fitness", + "terms": "fitness, centrum fitness" + }, "leisure/fitness_centre/yoga": { "name": "Szkoła Yogi", "terms": "yoga, szkoła yogi, centrum yogi, praktyka yogi" @@ -2979,6 +2991,10 @@ "name": "Pochylnia okrętowa", "terms": "pochylnia" }, + "leisure/sports_centre": { + "name": "centrum sportowe", + "terms": "centrum sportowe, ośrodek sportowy, ośrodek sportów" + }, "leisure/sports_centre/swimming": { "name": "Pływalnia", "terms": "basen" @@ -3429,6 +3445,10 @@ "name": "Rozebrany tor", "terms": "rozebrany tor" }, + "railway/crossing": { + "name": "przejście kolejowe (ścieżka)", + "terms": "przejście kolejowe" + }, "railway/disused": { "name": "Nieużywany tor", "terms": "nieużywany tor" @@ -3441,6 +3461,10 @@ "name": "Stacja kolejowa", "terms": "stacja,przystanek,kolej,kolejowa" }, + "railway/level_crossing": { + "name": "przejazd kolejowy (jezdnia)", + "terms": "przejazd kolejowy" + }, "railway/monorail": { "name": "Kolej jednoszynowa", "terms": "Kolej jednoszynowa" @@ -3524,6 +3548,14 @@ "name": "Salon piękności", "terms": "kosmetyczka, wizaż" }, + "shop/beauty/nails": { + "name": "Manicure/pedicure", + "terms": "manicure, pedicure" + }, + "shop/beauty/tanning": { + "name": "Solarium", + "terms": "solarium" + }, "shop/bed": { "name": "Sklep z łóżkami/materacami", "terms": "materace" @@ -3950,10 +3982,6 @@ "name": "Atrakcja turystyczna", "terms": "atrakcja turystyczna" }, - "tourism/camp_site": { - "name": "Kemping", - "terms": "Camping" - }, "tourism/caravan_site": { "name": "Kemping dla kamperów", "terms": "kemping dla samochodów kempingowych" @@ -4010,10 +4038,22 @@ "name": "Próg zwalniający", "terms": "próg zwalniający" }, + "traffic_calming/cushion": { + "name": "Poduszka", + "terms": "poduszka, wyspowy próg spowalniający" + }, + "traffic_calming/dip": { + "name": "Zagłębienie", + "terms": "Zagłębienie, spadek" + }, "traffic_calming/hump": { "name": "Wysepka zwalniająca", "terms": "wysepka zwalniająca" }, + "traffic_calming/island": { + "name": "Wysepka", + "terms": "wysepka" + }, "traffic_calming/rumble_strip": { "name": "Linia wibracyjna", "terms": "linia wibracyjna, wibracyjne oznakowanie poziome" diff --git a/dist/locales/pt-BR.json b/dist/locales/pt-BR.json index 173871ac4..d71a0f056 100644 --- a/dist/locales/pt-BR.json +++ b/dist/locales/pt-BR.json @@ -227,6 +227,7 @@ "localized_translation_name": "Nome" }, "zoom_in_edit": "Aproxime para editar o mapa.", + "login": "login", "logout": "sair", "loading_auth": "Conectando ao OpenStreetMap...", "report_a_bug": "Reportar um erro", @@ -238,14 +239,15 @@ "status": { "error": "Incapaz de conectar à API.", "offline": "A API está offline. Por favor tente editar mais tarde.", - "readonly": "A API do OpenStreetMap está em modo somente leitura. Espere um pouco para salvar as suas alterações." + "readonly": "A API do OpenStreetMap está em modo somente leitura. Espere um pouco para salvar as suas alterações.", + "rateLimit": "A API está limitando conexões anônimas. Você pode corrigir isso fazendo login." }, "commit": { "title": "Salvar Alterações", "description_placeholder": "Breve descrição de suas contribuições (obrigatório)", "message_label": "Comentário para o conjunto de alterações", "upload_explanation": "As alterações que você enviar ficarão visíveis em todos os mapas que usam dados do OpenStreetMap. Atenção: NÃO é permitido copiar nomes de ruas do Google Maps, Bing, mapas impressos ou quaisquer fontes que possuam copyright.", - "upload_explanation_with_user": "As alterações que você enviar como {user} estarão visíveis em todos os mapas que usam os dados do OpenStreetMap.

\nAtenção: NÃO é permitido copiar nomes de ruas do Google Maps, Bing, mapas impressos ou quaisquer fontes que possuam copyright.", + "upload_explanation_with_user": "As alterações que você enviar como {user} estarão visíveis em todos os mapas que usam os dados do OpenStreetMap.

\nAtenção: NÃO é permitido copiar nomes de ruas do Google Maps, Bing, mapas impressos ou quaisquer fontes que possuam copyright.", "save": "Salvar", "cancel": "Cancelar", "changes": "{count} mudanças", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "Não há documentação disponível para esta combinação de etiquetas", "no_documentation_key": "Não há documentação disponível para esta chave", + "documentation_redirect": "Esta documentação foi redirecionada para uma nova página", "show_more": "Mostrar Mais", "view_on_osm": "Ver no openstreetmap.org", "all_fields": "Todos os campos", @@ -802,6 +805,9 @@ "whole": "sangue completo" } }, + "board_type": { + "label": "Tipo" + }, "boundary": { "label": "Tipo" }, @@ -1023,6 +1029,9 @@ "handrail": { "label": "Corrimão" }, + "height": { + "label": "Altura (metros)" + }, "highway": { "label": "Tipo" }, @@ -1142,6 +1151,12 @@ "man_made": { "label": "Tipo" }, + "map_size": { + "label": "Cobertura" + }, + "map_type": { + "label": "Tipo" + }, "maxspeed": { "label": "Limite de Velocidade", "placeholder": "40, 50, 60..." @@ -1345,6 +1360,13 @@ "recycling_accepts": { "label": "Aceita" }, + "recycling_type": { + "label": "Tipo de Reciclagem", + "options": { + "centre": "Centro de Reciclagem", + "container": "Container" + } + }, "ref": { "label": "Código de referência" }, @@ -1399,21 +1421,8 @@ "service": { "label": "Tipo" }, - "service/bicycle/chain_tool": { - "label": "Chave de Corrente", - "options": { - "no": "Não", - "undefined": "Presume-se que não", - "yes": "Sim" - } - }, - "service/bicycle/pump": { - "label": "Bomba de Ar", - "options": { - "no": "Não", - "undefined": "Assumindo ser Não", - "yes": "Sim" - } + "service/bicycle": { + "label": "Serviços" }, "service_rail": { "label": "Tipo de serviço", @@ -1538,8 +1547,11 @@ "tourism": { "label": "Tipo" }, - "towertype": { - "label": "Tipo de Torre" + "tower/construction": { + "label": "Construção" + }, + "tower/type": { + "label": "Tipo" }, "tracktype": { "label": "Firmeza do Solo", @@ -1552,6 +1564,9 @@ }, "placeholder": "Rígida, Parcialmente Rígida, Macia..." }, + "traffic_calming": { + "label": "Tipo" + }, "traffic_signals": { "label": "Tipo" }, @@ -1615,6 +1630,10 @@ "name": "Endereço", "terms": "Endereço" }, + "advertising/billboard": { + "name": "Outdoor", + "terms": "Publicidade, letreiro, placa de publicidade" + }, "aerialway": { "name": "Teleférico do tipo cabine" }, @@ -1864,6 +1883,10 @@ "name": "Sorveteria", "terms": "paleteria, sorvete, picolé, paleta, milkshake, shake, frozen, iogurte" }, + "amenity/internet_cafe": { + "name": "Internet Café", + "terms": "Cyber Café" + }, "amenity/kindergarten": { "name": "Pré-escola", "terms": "Pré-escola, Centro de educação infantil, CEI, Jardim de infância, educação" @@ -1956,6 +1979,10 @@ "name": "Reciclagem", "terms": "Reciclagem, Reaproveitamento, Recuperação, Reutilização" }, + "amenity/recycling_centre": { + "name": "Centro de Reciclagem", + "terms": "Material Reciclável, Dejetos, Material sólido, Reciclagem, Resíduos" + }, "amenity/register_office": { "name": "Cartório" }, @@ -2074,6 +2101,10 @@ "name": "Contêiner de lixo não reciclável", "terms": "lixo, resíduos, container" }, + "amenity/waste_transfer_station": { + "name": "Estação de Transferência de Resíduos", + "terms": "Transferência de lixo, Dejetos" + }, "amenity/water_point": { "name": "Torneira de Água Potável", "terms": "Água potável, Abastecimento" @@ -2298,6 +2329,10 @@ "name": "Armazém", "terms": "Armazém, Depósito, Almoxarifado" }, + "camp_site/camp_pitch": { + "name": "Vaga de Acampamento", + "terms": "Local de acampamento, Acampamento, motor home, Tenda, Caravana, Barraca de acampamento" + }, "craft": { "name": "Profissional manual", "terms": "arte, trabalho manual, ofício, serviço" @@ -2556,6 +2591,14 @@ "name": "Buraco", "terms": "Golfe, Golf, Buraco de Golf" }, + "golf/lateral_water_hazard_area": { + "name": "Obstáculo de Água Lateral", + "terms": "Água Lateral, golfe, Perigo de água lateral" + }, + "golf/lateral_water_hazard_line": { + "name": "Obstáculo de Água Lateral", + "terms": "Água Lateral, golfe, Perigo de água lateral" + }, "golf/rough": { "name": "Rough", "terms": "Rough, Mato" @@ -2564,6 +2607,14 @@ "name": "Tee Box", "terms": "Tee Box" }, + "golf/water_hazard_area": { + "name": "Obstáculo de Água", + "terms": "Perigo de Água, Água, Lago" + }, + "golf/water_hazard_line": { + "name": "Obstáculo de Água", + "terms": "Lago, água, perigo de água, golfe" + }, "healthcare/blood_donation": { "name": "Centro de Doação de Sangue", "terms": "Hemocentro, Doação de Sangue, Banco de sangue, transfusão de sangue, sangue," @@ -3556,7 +3607,12 @@ "terms": "Salão de Beleza, Cabeleireiro, Beleza, Maquiagem, Manicure, Pedicure" }, "shop/beauty/nails": { - "name": "Manicure, pedicure, salão de beleza, centro de estética" + "name": "Manicure, pedicure, salão de beleza, centro de estética", + "terms": "Manicure, Pedicure, Salão de Beleza" + }, + "shop/beauty/tanning": { + "name": "Salão de Bronzeamento", + "terms": "Clínica de Bronzeamento" }, "shop/bed": { "name": "Loja de Camas e Colchões", @@ -3984,6 +4040,10 @@ "name": "Abrigo de Montanha", "terms": "Cabana Alpina, Abrigo de Montanha, Refúgio de Montanha" }, + "tourism/apartment": { + "name": "Apartamento de Temporada", + "terms": "Apartamento, Condomínio, Temporada, Aluguel de Temporada, Apartamento de férias" + }, "tourism/artwork": { "name": "Obra de Arte", "terms": "Obra de Arte" @@ -3994,7 +4054,7 @@ }, "tourism/camp_site": { "name": "Local de Acampamento", - "terms": "Parque de Campismo, Acampamento, Camping" + "terms": "Área de Acampamento, Acampamento, Camping" }, "tourism/caravan_site": { "name": "Estacionamento de Trailers", @@ -4024,6 +4084,22 @@ "name": "Informações Turísticas", "terms": "Informações Turísticas" }, + "tourism/information/board": { + "name": "Painel de Informações", + "terms": "Painel de Informações Turísticas" + }, + "tourism/information/guidepost": { + "name": "Poste de Sinalização", + "terms": "Poste de Informações Turísticas" + }, + "tourism/information/map": { + "name": "Mapa", + "terms": "Mapa Turístico" + }, + "tourism/information/office": { + "name": "Posto de Informações Turísticas", + "terms": "Escritório de Informações Turísticas, Ponto de Informações turísticas, Balcão de Informações Turísticas" + }, "tourism/motel": { "name": "Hotel de Estrada", "terms": "Hotel de Estrada" @@ -4048,14 +4124,38 @@ "name": "Zoológico", "terms": "Zoológico, Zoobotânico, Parque Zoológico" }, + "traffic_calming": { + "name": "Redutor de Velocidade", + "terms": "Lombada, Sinalizador" + }, "traffic_calming/bump": { "name": "Lombada tipo 1", "terms": "Lombada tipo I, Lomba, Quebra-mola, Ondulação transversal" }, + "traffic_calming/chicane": { + "name": "Chicane de tráfego", + "terms": "Chicane, curva acentuada" + }, + "traffic_calming/choker": { + "name": "Estreitamento de pista", + "terms": "Afogador de tráfego, Sufocador de Tráfego, gravata, colarinho duro, lenço de pescoço" + }, + "traffic_calming/cushion": { + "name": "Corcova", + "terms": "Almofada de velocidade," + }, + "traffic_calming/dip": { + "name": "Depressão", + "terms": "Redutor de velocidade" + }, "traffic_calming/hump": { "name": "Lombada tipo 2", "terms": "Lombada tipo II, Lomba, Quebra-mola, Ondulação transversal" }, + "traffic_calming/island": { + "name": "Canteiro Central", + "terms": "Ilha separadora de tráfego, canteiro" + }, "traffic_calming/rumble_strip": { "name": "Sonorizador", "terms": "sonorizador" diff --git a/dist/locales/pt.json b/dist/locales/pt.json index 7d9ab5812..187a70c52 100644 --- a/dist/locales/pt.json +++ b/dist/locales/pt.json @@ -227,6 +227,7 @@ "localized_translation_name": "Nome" }, "zoom_in_edit": "Aproxime para Editar", + "login": "login", "logout": "Terminar sessão", "loading_auth": "A fazer a ligação ao OpenStreetMap...", "report_a_bug": "Reportar um bug.", @@ -781,6 +782,9 @@ "barrier": { "label": "Tipo" }, + "beauty": { + "label": "Tipo de loja" + }, "bench": { "label": "Banco de Sentar" }, @@ -799,6 +803,9 @@ "whole": "sangue todo" } }, + "board_type": { + "label": "Tipo" + }, "boundary": { "label": "Tipo" }, @@ -1020,6 +1027,9 @@ "handrail": { "label": "Corrimão" }, + "height": { + "label": "Altura (metros)" + }, "highway": { "label": "Tipo" }, @@ -1139,6 +1149,12 @@ "man_made": { "label": "Tipo" }, + "map_size": { + "label": "CObertura" + }, + "map_type": { + "label": "Tipo" + }, "maxspeed": { "label": "Limite de velocidade", "placeholder": "50, 90, 100, 120..." @@ -1342,6 +1358,13 @@ "recycling_accepts": { "label": "Aceita" }, + "recycling_type": { + "label": "Tipo de Reciclagem", + "options": { + "centre": "Centro de Reciclagem", + "container": "Contentor" + } + }, "ref": { "label": "Referência" }, @@ -1396,21 +1419,8 @@ "service": { "label": "Tipo" }, - "service/bicycle/chain_tool": { - "label": "Ferramenta para Correia", - "options": { - "no": "Não", - "undefined": "Assumido que seja \"Não\"", - "yes": "Sim" - } - }, - "service/bicycle/pump": { - "label": "Bomba de encher pneus", - "options": { - "no": "Não", - "undefined": "Assumido que seja \"Não\"", - "yes": "Sim" - } + "service/bicycle": { + "label": "Serviços" }, "service_rail": { "label": "Tipo de serviço", @@ -1535,8 +1545,12 @@ "tourism": { "label": "Tipo" }, - "towertype": { - "label": "Tipo de torre" + "tower/construction": { + "label": "Tipo de estrutura", + "placeholder": "Com arames, treliça, parabólica..." + }, + "tower/type": { + "label": "Tipo" }, "tracktype": { "label": "Tipo de superfície ", @@ -1549,6 +1563,9 @@ }, "placeholder": "Sólido, intermédio, macio..." }, + "traffic_calming": { + "label": "Tipo" + }, "traffic_signals": { "label": "Tipo" }, @@ -1612,6 +1629,10 @@ "name": "Morada", "terms": "Endereço, morada" }, + "advertising/billboard": { + "name": "Outdoor", + "terms": "Billboard, publicidade" + }, "aerialway": { "name": "Transporte aéreo por cabo" }, @@ -1861,6 +1882,10 @@ "name": "Geladaria", "terms": "Ice Cream Shop, Gelataria, Sorveteira" }, + "amenity/internet_cafe": { + "name": "Internet Cafe", + "terms": "Cyber café" + }, "amenity/kindergarten": { "name": "Jardim Infantil / Infantário", "terms": "Preschool/Kindergarten Grounds, Pré-Escola, Pré Escola" @@ -1953,6 +1978,10 @@ "name": "Reciclagem", "terms": "Recycling, Reutilizar, Reciclar, Ecoponto, Vidrão, Papelão, Embalão, Pilhão, Oleão" }, + "amenity/recycling_centre": { + "name": "Centro de Reciclagem", + "terms": "Centro de Reciclagem, Ecocentro, Eco-centro, Eco centro" + }, "amenity/register_office": { "name": "Conservatória" }, @@ -3549,8 +3578,16 @@ "terms": "Bathroom Furnishing Store, Casa de Banho, Casas de banho, WC, W.C." }, "shop/beauty": { - "name": "Loja de produtos de beleza", - "terms": "Loja de Beleza" + "name": "Centro de estética", + "terms": "Beauty Shop, Loja de Beleza, Loja de Produtos de Beleza" + }, + "shop/beauty/nails": { + "name": "Estetica de unhas", + "terms": "Nail Salon" + }, + "shop/beauty/tanning": { + "name": "Solário", + "terms": "Tanning Salon, Bronzeamento" }, "shop/bed": { "name": "Loja de camas / colchões", @@ -3986,10 +4023,6 @@ "name": "Atração turística", "terms": "Atração Turística" }, - "tourism/camp_site": { - "name": "Parque de campismo", - "terms": "Acampamento, Campismo" - }, "tourism/caravan_site": { "name": "Parque de Caravanas", "terms": "RV Park, caravanas, caravana" @@ -4018,6 +4051,14 @@ "name": "Informação turística", "terms": "Informação, Turismo, guia" }, + "tourism/information/map": { + "name": "Mapa", + "terms": "Mapa" + }, + "tourism/information/office": { + "name": "Posto de Turismo", + "terms": "Posto de Turismo, Posto Turístico, Posto de Informação, Posto de Informações" + }, "tourism/motel": { "name": "Motel", "terms": "Motel" diff --git a/dist/locales/ru.json b/dist/locales/ru.json index 0b48f52b7..f346c7493 100644 --- a/dist/locales/ru.json +++ b/dist/locales/ru.json @@ -1331,22 +1331,6 @@ "service": { "label": "Тип проезда" }, - "service/bicycle/chain_tool": { - "label": "Имеется инструмент для починки велосипедной цепи", - "options": { - "no": "Нет", - "undefined": "Предполагается «нет»", - "yes": "Да" - } - }, - "service/bicycle/pump": { - "label": "Насос", - "options": { - "no": "Нет", - "undefined": "Предполагается «нет»", - "yes": "Да" - } - }, "service_rail": { "label": "Тип подъездной дороги", "options": { @@ -1460,9 +1444,6 @@ "tourism": { "label": "Тип" }, - "towertype": { - "label": "Тип башни" - }, "tracktype": { "label": "Тип просёлочных дорог", "options": { @@ -2923,6 +2904,9 @@ "name": "Трубопровод", "terms": "трубопровод" }, + "man_made/pumping_station": { + "name": "Насосная станция" + }, "man_made/silo": { "name": "Силос (склад сыпучего)", "terms": "зерно, пшеница, мука" @@ -3781,10 +3765,6 @@ "name": "Достопримечательность", "terms": "Достопримечательность" }, - "tourism/camp_site": { - "name": "Кемпинг палаточный", - "terms": "лагерь, палаточный лагерь, турбаза, место для лагеря" - }, "tourism/caravan_site": { "name": "Стоянка автодомов", "terms": "караван-парк" diff --git a/dist/locales/si.json b/dist/locales/si.json index 82043c77c..8a303d123 100644 --- a/dist/locales/si.json +++ b/dist/locales/si.json @@ -550,9 +550,6 @@ "tourism": { "label": "වර්ගය" }, - "towertype": { - "label": "වර්ගය" - }, "tracktype": { "label": "වර්ගය" }, diff --git a/dist/locales/sk.json b/dist/locales/sk.json index 06bc593af..5796b3caa 100644 --- a/dist/locales/sk.json +++ b/dist/locales/sk.json @@ -1282,22 +1282,6 @@ "service": { "label": "Typ" }, - "service/bicycle/chain_tool": { - "label": "Oprava reťaze", - "options": { - "no": "Nie", - "undefined": "Pravdepodobne nie", - "yes": "Áno" - } - }, - "service/bicycle/pump": { - "label": "Vzduchová pumpa", - "options": { - "no": "Nie", - "undefined": "Pravdepodobne nie", - "yes": "Áno" - } - }, "service_rail": { "label": "Typ koľaje", "options": { @@ -1418,9 +1402,6 @@ "tourism": { "label": "Typ" }, - "towertype": { - "label": "Typ veže" - }, "tracktype": { "label": "Typ lesnej cesty", "options": { @@ -3751,10 +3732,6 @@ "name": "Turistická atrakcia", "terms": "turisticka atrakcia,atrakcia,turistické miesto,turisticke miesto" }, - "tourism/camp_site": { - "name": "Kemping", - "terms": "táborisko,taborisko,camping,kemping,kempovisko" - }, "tourism/caravan_site": { "name": "Parkovisko pre karavany", "terms": "parkovisko pre karavany,karavany,parkovisko,tabor,tábor" diff --git a/dist/locales/sl.json b/dist/locales/sl.json index 42ab934b8..c33abff3c 100644 --- a/dist/locales/sl.json +++ b/dist/locales/sl.json @@ -1153,20 +1153,6 @@ "service": { "label": "Vrsta" }, - "service/bicycle/chain_tool": { - "options": { - "no": "Ne", - "undefined": "Predpostavljeno: NE", - "yes": "Da" - } - }, - "service/bicycle/pump": { - "options": { - "no": "Ne", - "undefined": "Predpostavljeno: NE", - "yes": "Da" - } - }, "service_rail": { "label": "Vrsta storitve" }, @@ -1270,9 +1256,6 @@ "tourism": { "label": "Vrsta" }, - "towertype": { - "label": "Vrsta stolpa" - }, "tracktype": { "label": "Tip kolovoza", "options": { @@ -3328,10 +3311,6 @@ "name": "Turistična znamenitost", "terms": "privlačno za turiste,turistična točka" }, - "tourism/camp_site": { - "name": "Kamp", - "terms": "prostor za kampiranje" - }, "tourism/caravan_site": { "name": "Parkirišče za avtodome", "terms": "parkirišče za karavaning" diff --git a/dist/locales/sr.json b/dist/locales/sr.json index 369d4cb2e..bf3ee4922 100644 --- a/dist/locales/sr.json +++ b/dist/locales/sr.json @@ -977,18 +977,6 @@ "service": { "label": "Врста" }, - "service/bicycle/chain_tool": { - "options": { - "no": "Не", - "yes": "Да" - } - }, - "service/bicycle/pump": { - "options": { - "no": "Не", - "yes": "Да" - } - }, "service_rail": { "label": "Врста сервиса" }, @@ -1074,9 +1062,6 @@ "tourism": { "label": "Врста" }, - "towertype": { - "label": "Врста торња" - }, "tracktype": { "label": "Врста стазе" }, @@ -2105,6 +2090,9 @@ "place/city": { "name": "Град" }, + "place/farm": { + "name": "Фарма" + }, "place/hamlet": { "name": "Засеок" }, @@ -2417,9 +2405,6 @@ "tourism/attraction": { "name": "Туристичка атракција" }, - "tourism/camp_site": { - "name": "Камповалиште" - }, "tourism/caravan_site": { "name": "Камп-парк" }, diff --git a/dist/locales/sv.json b/dist/locales/sv.json index aa03951f0..944a69de1 100644 --- a/dist/locales/sv.json +++ b/dist/locales/sv.json @@ -227,6 +227,7 @@ "localized_translation_name": "Namn" }, "zoom_in_edit": "Zooma in för att redigera", + "login": "Logga in", "logout": "logga ut", "loading_auth": "Ansluter till OpenStreetMap...", "report_a_bug": "Rapportera ett fel", @@ -238,7 +239,8 @@ "status": { "error": "Kan inte ansluta till API:et.", "offline": "API:et är inte tillgängligt. Vänligen försök redigera senare.", - "readonly": "API:et är skrivskyddat. Du måste vänta innan du kan spara dina ändringar." + "readonly": "API:et är skrivskyddat. Du måste vänta innan du kan spara dina ändringar.", + "rateLimit": "API:t är begränsat för anonyma anslutningar. Du kan fixa detta genom att logga in." }, "commit": { "title": "Spara ändringar", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "Det finns ingen dokumentation för denna tagg-kombination", "no_documentation_key": "Det finns ingen dokumentation för denna nyckel.", + "documentation_redirect": "Denna dokumentation har dirigerats om till en ny sida", "show_more": "Visa mer", "view_on_osm": "Visa på openstreetmap.org", "all_fields": "Alla egenskaper", @@ -1345,6 +1348,13 @@ "recycling_accepts": { "label": "Accepterar" }, + "recycling_type": { + "label": "Återvinningstyp", + "options": { + "centre": "Återvinningscentral", + "container": "Container" + } + }, "ref": { "label": "Referens" }, @@ -1399,21 +1409,8 @@ "service": { "label": "Typ" }, - "service/bicycle/chain_tool": { - "label": "Kedjebrytare", - "options": { - "no": "Nej", - "undefined": "Förväntas vara Nej", - "yes": "Ja" - } - }, - "service/bicycle/pump": { - "label": "Cykelpump", - "options": { - "no": "Nej", - "undefined": "Förväntas vara Nej", - "yes": "Ja" - } + "service/bicycle": { + "label": "Tjänster" }, "service_rail": { "label": "Användningsområde ", @@ -1538,9 +1535,6 @@ "tourism": { "label": "Typ" }, - "towertype": { - "label": "Typ av torn" - }, "tracktype": { "label": "Typ av bruksväg", "options": { @@ -1552,6 +1546,9 @@ }, "placeholder": "Fast, Mestadels fast, Mjuk ..." }, + "traffic_calming": { + "label": "Typ" + }, "traffic_signals": { "label": "Typ" }, @@ -1615,6 +1612,10 @@ "name": "Adress", "terms": "Adress, husnummer, destination, gatuadress, postnummer, postort, postadress" }, + "advertising/billboard": { + "name": "Annonstavla", + "terms": "Annonstavla, reklamtavla, reklam, reklamskylt, affisch, affischtavla" + }, "aerialway": { "name": "Linbana" }, @@ -1956,6 +1957,10 @@ "name": "Återvinning", "terms": "återvinning, återbruk, återvinningsstation, sopstation, burkar, flaskor, skrot, skräp" }, + "amenity/recycling_centre": { + "name": "Återvinningscentral", + "terms": "återvinning,återbruk,återvinningsstation,sopstation,burkar,flaskor,skrot,skräp,burkar,dumpa,glas,skrot,sopor" + }, "amenity/register_office": { "name": "Registreringsbyrå" }, @@ -2074,6 +2079,10 @@ "name": "Soptunna (hushålls- eller industrisopor)", "terms": "Soptunna, avfallstunna, sopkärl, sopor, hushållssopor, industrisopor, avfall, avfallskärl, avfallskontainer" }, + "amenity/waste_transfer_station": { + "name": "Avfallscentral", + "terms": "Avfallscentral, dumpa, skräp, återvinning, skrot, skräp" + }, "amenity/water_point": { "name": "Dricksvatten för campingfordon", "terms": "Dricksvatten för campingfordon, Dricksvatten, vattenpåfyllning" @@ -2298,6 +2307,10 @@ "name": "Lagerhus", "terms": "Lagerhus, lager, upplag, magasin, depå, packhus, lada" }, + "camp_site/camp_pitch": { + "name": "Tältplats/husvagnsplats", + "terms": "Tältplats, husvagnsplats, camping, Campingplats, camping, husvagn, tält" + }, "craft": { "name": "Hantverk", "terms": "Hantverk, skrå, slöjd, hantverkare" @@ -2914,6 +2927,10 @@ "name": "Eldstad", "terms": "Eldstad, eldgrop, lägerplats, lägereld, brasa, grill, grillplats, grillning, eldning, campingbrasa" }, + "leisure/fitness_centre": { + "name": "Gym / Fitnesscenter", + "terms": "gym, Fitnesscenter, träning, styrketräning, konditionsträning, motionsinstitut, styrketräningslokal, träningslokal" + }, "leisure/fitness_centre/yoga": { "name": "Yogastudio", "terms": "Yogastudio, Yoga studio, meditation, joga" @@ -3977,10 +3994,6 @@ "name": "Turistattraktion", "terms": "Turistattraktion, sevärdhet, sevärdighet" }, - "tourism/camp_site": { - "name": "Campingplats", - "terms": "Campingplats, camping, husvagn, tält, campinganläggning" - }, "tourism/caravan_site": { "name": "Ställplats", "terms": "Ställplats, campingplats, camping, husvagnscamping, husbilscamping, fricamping" diff --git a/dist/locales/tr.json b/dist/locales/tr.json index 7e24d0df2..e01d702a3 100644 --- a/dist/locales/tr.json +++ b/dist/locales/tr.json @@ -988,19 +988,6 @@ "service": { "label": "Tip" }, - "service/bicycle/chain_tool": { - "options": { - "no": "Hayır", - "undefined": "Tahminen Hayir", - "yes": "Evet" - } - }, - "service/bicycle/pump": { - "options": { - "no": "Hayır", - "undefined": "Tahminen Hayir" - } - }, "shelter": { "label": "Barınak" }, @@ -1064,9 +1051,6 @@ "tourism": { "label": "Tip" }, - "towertype": { - "label": "Kule tipi" - }, "tracktype": { "label": "Toprak yolunun tipi" }, @@ -2184,9 +2168,6 @@ "tourism/attraction": { "name": "Turistik yer" }, - "tourism/camp_site": { - "name": "Kamp Alanı" - }, "tourism/chalet": { "name": "Yayla evi" }, diff --git a/dist/locales/uk.json b/dist/locales/uk.json index 3d230b139..794cda350 100644 --- a/dist/locales/uk.json +++ b/dist/locales/uk.json @@ -1346,6 +1346,13 @@ "recycling_accepts": { "label": "Приймається" }, + "recycling_type": { + "label": " Тип об'єкта", + "options": { + "centre": "Центру збору відходів для вторинної переробки", + "container": "Контейнер" + } + }, "ref": { "label": "Номер" }, @@ -1400,21 +1407,8 @@ "service": { "label": "Тип" }, - "service/bicycle/chain_tool": { - "label": "Ремонт вело-ланцюгів", - "options": { - "no": "Ні", - "undefined": "Передбачається, Ні", - "yes": "Так" - } - }, - "service/bicycle/pump": { - "label": "Велосипедний насос", - "options": { - "no": "Ні", - "undefined": "Передбачається, Ні", - "yes": "Так" - } + "service/bicycle": { + "label": "Послуги" }, "service_rail": { "label": "Тип службового шляху", @@ -1539,9 +1533,6 @@ "tourism": { "label": "Тип" }, - "towertype": { - "label": "Тип опори" - }, "tracktype": { "label": "Тип путівця", "options": { @@ -1553,6 +1544,9 @@ }, "placeholder": "Тверде, переважно тверде, м’яке" }, + "traffic_calming": { + "label": "Тип" + }, "traffic_signals": { "label": "Тип" }, @@ -1616,6 +1610,10 @@ "name": "Адреса", "terms": "address,адреса,місце,квартира,будинок,корпус,flhtcf,vscwt,rdfhnbhf,elbyjr,rjhgec" }, + "advertising/billboard": { + "name": "Рекламний щит", + "terms": "реклама,оголошення,щит,бігборд,борд,інформація" + }, "aerialway": { "name": "Канатна дорога" }, @@ -1957,6 +1955,10 @@ "name": "Переробка вторсировини", "terms": "Recycling, Gththjrf dnjhcbhjdbyb, пункт прийому вторсировини, вторсировина" }, + "amenity/recycling_centre": { + "name": "Центру збору відходів для вторинної переробки", + "terms": "відходи,накопичення,сортування,воринна,сировина,пляшки,скло,бляшанки,ганчір'я,сміття,лом,поламані,речі" + }, "amenity/register_office": { "name": "РАГС (ЗАГС)" }, @@ -2075,6 +2077,10 @@ "name": "Контейнер для сміття", "terms": "контейнер,сміття,відходи,комунальні служби,вивіз сміття" }, + "amenity/waste_transfer_station": { + "name": "Сміттєперевантажувальна станція", + "terms": "сміття,відходи,накопичення,перевалка,передача,сміттєзавалище,перевантаження,станція" + }, "amenity/water_point": { "name": "Заправка питною водою", "terms": "вода,заправка,потяг,кемпінг,табір" @@ -2299,6 +2305,10 @@ "name": "Склад", "terms": "warehouse, crkfl, склад" }, + "camp_site/camp_pitch": { + "name": "Місце стоянки", + "terms": "платка,фургон,мотодім,автодім,караван,місце,ділянка" + }, "craft": { "name": "Майстерня", "terms": "майстерня, рукоділля, ручна робота" @@ -2534,7 +2544,7 @@ "terms": "Pedestrian Crosswalk,перехід,вулиця,дорога,перехід,зебра" }, "footway/sidewalk": { - "name": "Тротуар", + "name": "Тротуар вздовж дороги", "terms": "бокова доріжка, панель, тротуар, бровка" }, "ford": { @@ -2614,7 +2624,7 @@ }, "highway/footway": { "name": "Пішохідна доріжка", - "terms": "Foot Path, nhjnefh, стежка, маршрут, доріжка" + "terms": "стежка,маршрут,доріжка,тротуар,пішохідна,шлях" }, "highway/give_way": { "name": "Дати дорогу", @@ -4006,6 +4016,10 @@ "name": "Гірський притулок", "terms": "Alpine Hut, ushcmrbq ghbnekjr, колиба, гірська хатинка" }, + "tourism/apartment": { + "name": "Мебльована квартира/Комплекс", + "terms": "готель,квартира,апартаменти,відпочинок,житло,готель,оренда,тур,кімната,хостел" + }, "tourism/artwork": { "name": "Витвори мистецтв", "terms": "Artwork, dbndjhb vbcntwnd, витвори мистецтва" @@ -4015,8 +4029,8 @@ "terms": "Tourist Attraction, dbpyfxyt vscwt, визначні місця" }, "tourism/camp_site": { - "name": "Кемпінг", - "terms": "Camp Site, rtvgsyu, кеппінг" + "name": "Табір", + "terms": "табір,кемпіг,наметове,містечко" }, "tourism/caravan_site": { "name": "Караван-парк", @@ -4070,14 +4084,38 @@ "name": "Зоопарк", "terms": "Zoo,pjjgfhr, зоопарк" }, + "traffic_calming": { + "name": "Засоби для обмеження швидкості", + "terms": "лежачий,поліцейській,шикана,звуження,перешкода,стол,швидкість,безпека" + }, "traffic_calming/bump": { "name": "Лежачий поліцейський", "terms": "швидкість, обмеження, перешкода" }, + "traffic_calming/chicane": { + "name": "Шикана", + "terms": "шикана,перешкода,обмеження,швидкість,безпека" + }, + "traffic_calming/choker": { + "name": "Звуження", + "terms": "звуження,перешкода,обмеження,швикість,безпека" + }, + "traffic_calming/cushion": { + "name": "Лежачий поліцейський з розрізами", + "terms": "лежачий,поліцейський,розрізи,перешкода,обмеження,швидкість,безпека" + }, + "traffic_calming/dip": { + "name": "Заглиблення", + "terms": "заглиблення,перешкода,обмеження,швидкість,безпека" + }, "traffic_calming/hump": { "name": "Лежачий поліцейський", "terms": "швидкість, обмеження, перешкода" }, + "traffic_calming/island": { + "name": "Острівець безпеки", + "terms": "острівець,перешкода,обмеження,швидкість,безпека" + }, "traffic_calming/rumble_strip": { "name": "Шумові смуги", "terms": "попередження, смуга, звук, шум" diff --git a/dist/locales/vi.json b/dist/locales/vi.json index 90f381536..4c9fa81fd 100644 --- a/dist/locales/vi.json +++ b/dist/locales/vi.json @@ -294,6 +294,7 @@ "inspector": { "no_documentation_combination": "Không có tài liệu về tổ hợp thẻ này", "no_documentation_key": "Không có tài liệu về chìa khóa này", + "documentation_redirect": "Tài liệu này đã được di chuyển đến trang mới.", "show_more": "Xem thêm", "view_on_osm": "Xem tại openstreetmap.org", "all_fields": "Các chi tiết thường gặp", @@ -781,6 +782,9 @@ "barrier": { "label": "Kiểu" }, + "beauty": { + "label": "Loại Tiệm" + }, "bench": { "label": "Ghế" }, @@ -1020,6 +1024,9 @@ "handrail": { "label": "Lan can" }, + "height": { + "label": "Chiều cao (Mét)" + }, "highway": { "label": "Kiểu" }, @@ -1342,6 +1349,13 @@ "recycling_accepts": { "label": "Nhận" }, + "recycling_type": { + "label": "Kiểu Tái chế", + "options": { + "centre": "Nhà máy Tái chế", + "container": "Thùng" + } + }, "ref": { "label": "Số" }, @@ -1396,21 +1410,8 @@ "service": { "label": "Kiểu" }, - "service/bicycle/chain_tool": { - "label": "Dụng cụ Cắt Xích", - "options": { - "no": "Không có", - "undefined": "Có lẽ Không có", - "yes": "Có" - } - }, - "service/bicycle/pump": { - "label": "Bơm", - "options": { - "no": "Không có", - "undefined": "Có lẽ Không có", - "yes": "Có" - } + "service/bicycle": { + "label": "Dịch vụ" }, "service_rail": { "label": "Kiểu Dịch vụ", @@ -1535,8 +1536,12 @@ "tourism": { "label": "Loại" }, - "towertype": { - "label": "Kiểu Tháp" + "tower/construction": { + "label": "Hình dạng", + "placeholder": "Buộc dây, Lưới, Che đậy" + }, + "tower/type": { + "label": "Kiểu" }, "tracktype": { "label": "Loại Đường mòn", @@ -1549,6 +1554,9 @@ }, "placeholder": "Rất chắc, Khá Chắc, Mềm…" }, + "traffic_calming": { + "label": "Kiểu" + }, "traffic_signals": { "label": "Kiểu" }, @@ -1612,6 +1620,10 @@ "name": "Địa chỉ", "terms": "địa chỉ, số địa chỉ, số nhà, số tòa nhà, dia chi, so dia chi, so nha, so toa nha" }, + "advertising/billboard": { + "name": "Bảng Quảng cáo", + "terms": "bảng quảng cáo, biển quảng cáo, panô quảng cáo, pano quảng cáo, pa-nô quảng cáo, pa nô quảng cáo, bang quang cao, bien quang cao, pano quang cao, pa-no quang cao, pa no quang cao" + }, "aerialway": { "name": "Cáp treo" }, @@ -1861,6 +1873,10 @@ "name": "Tiệm Kem", "terms": "tiệm kem, cửa hàng kem, quán kem, quầy kem, tiệm cà rem, cửa hàng cà rem, quán cà rem, quầy cà rem, tiệm cà-rem, cửa hàng cà-rem, quán cà-rem, quầy cà-rem, tiem kem, cua hang kem, quan kem, quay kem, tiem ca rem, cua hang ca rem, quan ca rem, quay ca rem, tiem ca-rem, cua hang ca-rem, quan ca-rem, quay ca-rem" }, + "amenity/internet_cafe": { + "name": "Quán Internet", + "terms": "quán internet, tiệm internet, cửa hàng internet, quan internet, tiem internet, cua hang internet" + }, "amenity/kindergarten": { "name": "Sân Nhà trẻ", "terms": "sân nhà trẻ, sân nhà giữ trẻ, sân trường mẫu giáo, sân trường mầm non, san nha tre, san nha giu tre, san truong mau giao, san truong mam non" @@ -1953,6 +1969,10 @@ "name": "Tái chế", "terms": "tái chế, thu hồi, rác rưởi, rác thải, sọt rác, tai che, thu hoi, rac ruoi, rac thai, sot rac" }, + "amenity/recycling_centre": { + "name": "Nhà máy Tái chế", + "terms": "nhà máy tái chế, trung tâm tái chế, trung tâm thu hồi, trạm tái chế, nha may tai che, trung tam tai che, trung tam thu hoi, tram tai che" + }, "amenity/register_office": { "name": "Văn phòng Hộ tịch" }, @@ -2071,6 +2091,10 @@ "name": "Thùng Rác Lớn", "terms": "thùng rác lớn, thùng rác công nghiệp, thung rac lon, thung rac cong nghiep" }, + "amenity/waste_transfer_station": { + "name": "Trạm Trung chuyển Chất thải", + "terms": "trạm trung chuyển chất thải, tram trung chuyen chat thai" + }, "amenity/water_point": { "name": "Vòi Nước uống dành cho Nhà lưu động", "terms": "vòi nước uống dành cho nhà lưu động, máy nước uống dành cho nhà lưu động, trạm nước uống dành cho nhà lưu động, voi nuoc uong danh cho nha luu dong, may nuoc uong danh cho nha luu dong, tram nuoc uong danh cho nha luu dong" @@ -2295,6 +2319,10 @@ "name": "Nhà kho", "terms": "nhà kho, kho, kho tàng, kho bãi, nha kho, kho tang, kho bai" }, + "camp_site/camp_pitch": { + "name": "Lều Cắm trại", + "terms": "lều, lều cắm trại, leu, leu cam trai" + }, "craft": { "name": "Nghề", "terms": "nghề, nghề nghiệp, nghệ, nghệ nghiềp, nghe, nghe nghiep" @@ -2741,8 +2769,12 @@ "terms": "đường nhánh xa lộ, đoạn nhánh xa lộ, đường nhánh rẽ xa lộ, đoạn nhánh rẽ xa lộ, đường nhánh chuyển đường xa lộ, nhánh chuyển đường xa lộ, lối ra vào xa lộ, lối ra xa lộ, lối vào xa lộ, nhánh ra xa lộ, nhánh vào xa lộ, đường nối xa lộ, duong nhanh xa lo, doan nhanh xa lo, duong nhanh re xa lo, doan nhanh re xa lo, duong nhanh chuyen duong xa lo, nhanh chuyen duong xa lo, loi ra vao xa lo, loi ra xa lo, loi vao xa lo, nhanh ra xa lo, nhanh vao xa lo, duong noi xa lo" }, "highway/turning_circle": { - "name": "Cuối đường Vòng tròn", - "terms": "cuối đường vòng tròn, ngõ cụt, phố cụt, cul-de-sac, cuoi duong vong tron, ngo cut, pho cut" + "name": "Đường cùng Vòng tròn", + "terms": "đường cùng vòng tròn, ngõ cụt, phố cụt, cul-de-sac, duong cung vong tron, ngo cut, pho cut" + }, + "highway/turning_loop": { + "name": "Bùng binh ở Đường cùng", + "terms": "bùng binh ở đường cùng, bùng binh ở cuối đường, bùng binh ở ngõ cụt, đường vòng ở đường cùng, đường vòng ở cuối đường, đường vòng ở ngõ cụt, bung binh o duong cung, bung binh o cuoi duong, bung binh o ngo cut, duong vong o duong cung, duong vong o cuoi duong, duong vong o ngo cut" }, "highway/unclassified": { "name": "Ngõ", @@ -3568,6 +3600,14 @@ "name": "Tiệm Mỹ phẩm", "terms": "thẩm mỹ viện, thẩm mĩ viện, nơi làm đẹp, cửa hàng làm đẹp, nhà làm đẹp, chỗ làm đẹp, tham my vien, tham mi vien, noi lam dep, cua hang lam dep, nha lam dep, cho lam dep" }, + "shop/beauty/nails": { + "name": "Tiệm Làm Móng", + "terms": "tiệm làm móng, tiệm nail, tiệm làm nail, cửa hàng làm móng, cửa hàng nail, cửa hàng làm nail, hãng đinh, tiem lam mong, tiem nail, tiem lam nail, cua hang lam mong, cua hang nail, cua hang lam nail, hang dinh" + }, + "shop/beauty/tanning": { + "name": "Tiệm Làm Nâu Da", + "terms": "tiệm làm nâu da, tiệm làm da nâu, tiệm tanning, cửa hàng làm nâu da, cửa hàng làm da nâu, cửa hàng tanning, tiem lam nau da, tiem lam da nau, cua hang lam nau da, cua hang lam da nau, tiem tanning, cua hang tanning" + }, "shop/bed": { "name": "Tiệm Nệm", "terms": "tiệm nệm, cửa hàng nệm, cửa hiệu nệm, tiệm đệm, cửa hàng đệm, cửa hiệu đệm, tiệm đồ giường, cửa hàng đồ giường, cửa hiệu đồ giường, tiem nem, cua hang nem, cua hieu nem, tiem dem, cua hang dem, cua hieu dem, tiem do giuong, cua hang do giuong, cua hieu do giuong" @@ -3994,6 +4034,10 @@ "name": "Túp lều trên Núi", "terms": "túp lều trên núi, nhà nghỉ chân dành cho người leo núi, tup leu tren nui, nha nghi chan danh cho nguoi leo nui" }, + "tourism/apartment": { + "name": "Khu chung cư Nghỉ dưỡng", + "terms": "khu chung cư nghỉ dưỡng, khu chung cư nghỉ mát, khu chung cu nghi duong, khu chung cu nghi mat" + }, "tourism/artwork": { "name": "Nghệ phẩm", "terms": "nghệ phẩm, mỹ phẩm, bức tranh, công trình điêu khắc, nghe pham, my pham, buc tranh, cong trinh dieu khac" @@ -4003,7 +4047,7 @@ "terms": "điểm thu hút khách du lịch, khu vực thu hút khách du lịch, chỗ thu hút khách du lịch, nơi thu hút khách du lịch, diem thu hut khach du lich, khu vuc thu hut khach du lich, cho thu hut khach du lich, noi thu hut khach du lich" }, "tourism/camp_site": { - "name": "Nơi Cắm trại", + "name": "Khu Cắm trại", "terms": "khu cắm trại, chỗ cắm trại, nơi cắm trại, nghỉ chân dã ngoại, picnic, khu cam trai, cho cam trai, noi cam trai, nghi chan da ngoai" }, "tourism/caravan_site": { @@ -4058,14 +4102,38 @@ "name": "Vườn thú", "terms": "vườn thú, vườn bách thú, vuon thu, vuon bach thu" }, + "traffic_calming": { + "name": "Thiết bị Điều hòa Giao thông", + "terms": "thiết bị điều hòa giao thông, thiết bị điều hoà giao thông, thiet bi dieu hoa giao thong" + }, "traffic_calming/bump": { "name": "Gờ Giảm Tốc độ", "terms": "gờ giảm tốc độ, bướu tốc độ, go giam toc do, buou toc do" }, + "traffic_calming/chicane": { + "name": "Khúc Cua Chữ chi", + "terms": "khúc cua chữ chi, khuc cua chu chi" + }, + "traffic_calming/choker": { + "name": "Khúc Đường Hẹp Lại", + "terms": "khúc đường hẹp lại, khu duong hep lai" + }, + "traffic_calming/cushion": { + "name": "Nệm Giảm Tốc độ", + "terms": "cái nệm giảm tốc độ, cái đệm giảm tốc độ, cai nem giam toc do, cai dem giam toc do" + }, + "traffic_calming/dip": { + "name": "Chỗ Trũng", + "terms": "chỗ trũng, nơi trũng, chỗ lún xuống, nơi lún xuống, chỗ hụp xuống, nơi hụp xuống, cho trung, noi trung, cho lun xuong, noi lun xuong, cho hup xuong, noi hup xuong" + }, "traffic_calming/hump": { "name": "Bướu Tốc độ", "terms": "bướu tốc độ, bướu giảm tốc độ, buou toc do, buou giam toc do" }, + "traffic_calming/island": { + "name": "Đảo Giao thông", + "terms": "đảo giao thông, dao giao thong" + }, "traffic_calming/rumble_strip": { "name": "Dải Gây Ồn", "terms": "dải gây ồn, dai gay on" diff --git a/dist/locales/yue.json b/dist/locales/yue.json index d5cb65057..adc7e2c92 100644 --- a/dist/locales/yue.json +++ b/dist/locales/yue.json @@ -1396,22 +1396,6 @@ "service": { "label": "類" }, - "service/bicycle/chain_tool": { - "label": "鏈架生", - "options": { - "no": "無", - "undefined": "當無", - "yes": "有" - } - }, - "service/bicycle/pump": { - "label": "氣泵", - "options": { - "no": "無", - "undefined": "當無", - "yes": "有" - } - }, "service_rail": { "label": "服務類", "options": { @@ -1535,9 +1519,6 @@ "tourism": { "label": "類" }, - "towertype": { - "label": "塔類" - }, "tracktype": { "label": "道類", "options": { @@ -2890,10 +2871,6 @@ "name": "旅行名勝", "terms": "Tourist Attraction,旅行名勝,旅遊名勝,觀光點" }, - "tourism/camp_site": { - "name": "營地", - "terms": "Camp Site,營地,露營區" - }, "tourism/caravan_site": { "name": "露營車營地", "terms": "RV Park,房車營地,露營車停車場,露營車營地" diff --git a/dist/locales/zh-CN.json b/dist/locales/zh-CN.json index ff05daf21..be47e03d3 100644 --- a/dist/locales/zh-CN.json +++ b/dist/locales/zh-CN.json @@ -294,6 +294,7 @@ "inspector": { "no_documentation_combination": "这个标签组合没有可用的说明", "no_documentation_key": "这个键值没有可用的说明", + "documentation_redirect": "这个文档被重定向到一个新的页面", "show_more": "显示更多", "view_on_osm": "在openstreetmap.org上查看", "all_fields": "所有字段", @@ -781,6 +782,9 @@ "barrier": { "label": "类型" }, + "beauty": { + "label": "商店类型" + }, "bench": { "label": "长凳" }, @@ -799,6 +803,9 @@ "whole": "全血" } }, + "board_type": { + "label": "类型" + }, "boundary": { "label": "类型" }, @@ -1139,6 +1146,9 @@ "man_made": { "label": "类型" }, + "map_type": { + "label": "类型" + }, "maxspeed": { "label": "速度限制", "placeholder": "40, 50, 60..." @@ -1342,6 +1352,12 @@ "recycling_accepts": { "label": "接受" }, + "recycling_type": { + "options": { + "centre": "回收站", + "container": "回收容器" + } + }, "ref": { "label": "参考" }, @@ -1396,22 +1412,6 @@ "service": { "label": "类型" }, - "service/bicycle/chain_tool": { - "label": "链条维修工具", - "options": { - "no": "否", - "undefined": "假定为否", - "yes": "是" - } - }, - "service/bicycle/pump": { - "label": "气泵", - "options": { - "no": "否", - "undefined": "假定为否", - "yes": " 是" - } - }, "service_rail": { "label": "服务类型", "options": { @@ -1535,8 +1535,8 @@ "tourism": { "label": "类型" }, - "towertype": { - "label": "塔型" + "tower/type": { + "label": "类型" }, "tracktype": { "label": "道路铺设种类", @@ -1549,6 +1549,9 @@ }, "placeholder": "坚硬地面,硬物铺面,软铺面" }, + "traffic_calming": { + "label": "类型" + }, "traffic_signals": { "label": "类型" }, @@ -1612,6 +1615,10 @@ "name": "地址", "terms": "地址,址" }, + "advertising/billboard": { + "name": "广告牌", + "terms": "广告牌,广告,牌" + }, "aerialway": { "name": "缆车线路" }, @@ -1782,8 +1789,8 @@ "terms": "时钟,钟表,钟" }, "amenity/college": { - "name": "大专院校校园", - "terms": "大专校园" + "name": "学院", + "terms": "学院,大专校园,大学,学校" }, "amenity/community_centre": { "name": "社区活动中心", @@ -1861,6 +1868,10 @@ "name": "冰淇淋店", "terms": "冰淇淋店,冷饮店" }, + "amenity/internet_cafe": { + "name": "网吧", + "terms": "网吧,上网咖啡馆,上网咖啡厅" + }, "amenity/kindergarten": { "name": "学前班/幼儿园用地", "terms": "学前班/幼儿园用地" @@ -1953,6 +1964,10 @@ "name": "资源回收设施", "terms": "回收,循环利用,再造" }, + "amenity/recycling_centre": { + "name": "回收站", + "terms": "回收站,回收中心,循环中心,资源回收中心" + }, "amenity/register_office": { "name": "民政登记处" }, @@ -2016,8 +2031,8 @@ "terms": "市政府,市政厅,大会堂" }, "amenity/university": { - "name": "大学校园", - "terms": "大学校园,大学场地" + "name": "大学", + "terms": "大学,学院,学校" }, "amenity/vending_machine/cigarettes": { "name": "香烟售货机", @@ -2071,6 +2086,10 @@ "name": "大型垃圾箱", "terms": "大型垃圾箱,垃圾箱" }, + "amenity/waste_transfer_station": { + "name": "垃圾中转站", + "terms": "垃圾中转站,垃圾,中转站" + }, "amenity/water_point": { "name": "直饮水", "terms": "直饮水" @@ -2186,8 +2205,8 @@ "terms": "教堂建筑" }, "building/college": { - "name": "大专院校建筑", - "terms": "大专院校建筑" + "name": "学院建筑", + "terms": "学院建筑,大专院校建筑,大学建筑,学校建筑" }, "building/commercial": { "name": "商业建筑物", @@ -2289,7 +2308,7 @@ }, "building/university": { "name": "大学建筑", - "terms": "大学建筑" + "terms": "大学建筑,学院建筑,学校建筑" }, "building/warehouse": { "name": "仓库", @@ -2744,6 +2763,10 @@ "name": "环岛", "terms": "环岛" }, + "highway/turning_loop": { + "name": "回车场 (O形)", + "terms": "回车场 (O形),回车场,路末环岛" + }, "highway/unclassified": { "name": "小型/未分级道路", "terms": "小型/未分级道路" @@ -3568,6 +3591,14 @@ "name": "美容店", "terms": "美容院" }, + "shop/beauty/nails": { + "name": "美甲店", + "terms": "美甲店,美甲沙龙" + }, + "shop/beauty/tanning": { + "name": "日光浴沙龙", + "terms": "日光浴沙龙,阳光浴房" + }, "shop/bed": { "name": "床上用品店", "terms": "床上用品店" @@ -4002,10 +4033,6 @@ "name": "旅游名胜", "terms": "旅游名胜" }, - "tourism/camp_site": { - "name": "宿营地", - "terms": "露营区" - }, "tourism/caravan_site": { "name": "房车营地", "terms": "房车营地" @@ -4034,6 +4061,10 @@ "name": "问询处", "terms": "问讯处,问询处,信息中心,游客中心" }, + "tourism/information/office": { + "name": "旅游咨询处", + "terms": "旅游咨询处,旅游问询处,旅游问询中心,旅游咨询中心,旅游咨询服务中心,旅游信息咨询处" + }, "tourism/motel": { "name": "汽车旅馆", "terms": "汽车旅馆" @@ -4058,14 +4089,38 @@ "name": "动物园", "terms": "动物园" }, + "traffic_calming": { + "name": "交通稳静化", + "terms": "交通稳静化,交通静稳化,车辆减速措施" + }, "traffic_calming/bump": { "name": "减速带", "terms": "减速带" }, + "traffic_calming/chicane": { + "name": "曲折车行道", + "terms": "曲折车行道,减速弯道" + }, + "traffic_calming/choker": { + "name": "窄化路面", + "terms": "窄化路面,瓶颈化交叉口,窄点" + }, + "traffic_calming/cushion": { + "name": "减速垫", + "terms": "减速垫,减速板,减速带,减速胶" + }, + "traffic_calming/dip": { + "name": "路凹", + "terms": "路凹,减速路凹,减速坑" + }, "traffic_calming/hump": { "name": "减速台", "terms": "减速台" }, + "traffic_calming/island": { + "name": "交通岛", + "terms": "交通岛,导流岛,安全岛,中心岛,交通稳静化" + }, "traffic_calming/rumble_strip": { "name": "路肩警示带", "terms": "路肩警示带,路侧振动带" diff --git a/dist/locales/zh-HK.json b/dist/locales/zh-HK.json index 26c8eddf4..5cf09e8b7 100644 --- a/dist/locales/zh-HK.json +++ b/dist/locales/zh-HK.json @@ -1396,22 +1396,6 @@ "service": { "label": "類別" }, - "service/bicycle/chain_tool": { - "label": "鎖鏈工具", - "options": { - "no": "否", - "undefined": "假設為沒有", - "yes": "有" - } - }, - "service/bicycle/pump": { - "label": "泵氣設備", - "options": { - "no": "否", - "undefined": "假設為沒有", - "yes": "有" - } - }, "service_rail": { "label": "服務類型", "options": { @@ -1535,9 +1519,6 @@ "tourism": { "label": "類" }, - "towertype": { - "label": "塔類" - }, "tracktype": { "label": "路徑種類", "options": { @@ -4002,10 +3983,6 @@ "name": "觀光名勝", "terms": "Tourist Attraction,旅行名勝,旅遊名勝,觀光點,觀光景點" }, - "tourism/camp_site": { - "name": "營地", - "terms": "Camp Site,營地,露營區" - }, "tourism/caravan_site": { "name": "露營車營地", "terms": "RV Park,房車營地,露營車停車場,露營車營地" diff --git a/dist/locales/zh-TW.json b/dist/locales/zh-TW.json index 28d392cd0..1447cfff5 100644 --- a/dist/locales/zh-TW.json +++ b/dist/locales/zh-TW.json @@ -227,6 +227,7 @@ "localized_translation_name": "名稱" }, "zoom_in_edit": "放大以開始編輯", + "login": "登入", "logout": "登出", "loading_auth": "正在連接 OpenStreetMap...", "report_a_bug": "回報錯誤", @@ -238,7 +239,8 @@ "status": { "error": "未能連接至伺服器介面。", "offline": "伺服器介面離線,請稍後再嘗試編輯。", - "readonly": "伺服器介面處於唯讀模式,須待介面正常運作,方能儲存您的編輯。" + "readonly": "伺服器介面處於唯讀模式,須待介面正常運作,方能儲存您的編輯。", + "rateLimit": "API 限制匿名連線。您可以透過登入來修復這個問題。" }, "commit": { "title": "儲存修改", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "這個標籤組合沒有可用的說明", "no_documentation_key": "這個鍵值沒有可用的說明", + "documentation_redirect": "這份文件已經被重新導向至新頁面", "show_more": "顯示更多", "view_on_osm": "在 openstreetmap.org 中檢視", "all_fields": "全部欄位", @@ -781,6 +784,9 @@ "barrier": { "label": "種類" }, + "beauty": { + "label": "商店類型" + }, "bench": { "label": "長凳" }, @@ -799,6 +805,9 @@ "whole": "全血" } }, + "board_type": { + "label": "種類" + }, "boundary": { "label": "種類" }, @@ -1020,6 +1029,9 @@ "handrail": { "label": "扶手" }, + "height": { + "label": "高度(公尺)" + }, "highway": { "label": "種類" }, @@ -1139,6 +1151,12 @@ "man_made": { "label": "種類" }, + "map_size": { + "label": "覆蓋範圍" + }, + "map_type": { + "label": "種類" + }, "maxspeed": { "label": "速度限制", "placeholder": "40, 50, 60..." @@ -1342,6 +1360,13 @@ "recycling_accepts": { "label": "接受" }, + "recycling_type": { + "label": "回收品項", + "options": { + "centre": "回收中心", + "container": "回收箱" + } + }, "ref": { "label": "編號" }, @@ -1396,21 +1421,8 @@ "service": { "label": "種類" }, - "service/bicycle/chain_tool": { - "label": "固定架", - "options": { - "no": "否", - "undefined": "預設為否", - "yes": "是" - } - }, - "service/bicycle/pump": { - "label": "打氣設備", - "options": { - "no": "沒有", - "undefined": "預設沒有", - "yes": "有" - } + "service/bicycle": { + "label": "服務" }, "service_rail": { "label": "服務類型", @@ -1535,8 +1547,12 @@ "tourism": { "label": "種類" }, - "towertype": { - "label": "塔的種類" + "tower/construction": { + "label": "建材", + "placeholder": "拉線、鋼格、偽裝、..." + }, + "tower/type": { + "label": "類型" }, "tracktype": { "label": "產業道路種類", @@ -1549,6 +1565,9 @@ }, "placeholder": "堅硬地面、硬物鋪面、軟鋪面" }, + "traffic_calming": { + "label": "種類" + }, "traffic_signals": { "label": "號誌種類" }, @@ -1612,6 +1631,10 @@ "name": "地址", "terms": "地址,位置,位址" }, + "advertising/billboard": { + "name": "廣告牌", + "terms": "廣告看板" + }, "aerialway": { "name": "纜車路線" }, @@ -1861,6 +1884,10 @@ "name": "冰淇淋店", "terms": "冰淇淋店,冰淇淋" }, + "amenity/internet_cafe": { + "name": "網咖", + "terms": "網咖" + }, "amenity/kindergarten": { "name": "育幼院/幼稚園範圍", "terms": "育幼院/幼兒園,育幼院/幼稚園用地,育幼院,幼兒園,幼稚園" @@ -1953,6 +1980,10 @@ "name": "回收設施", "terms": "回收筒,回收箱" }, + "amenity/recycling_centre": { + "name": "回收中心", + "terms": "資源回收中心" + }, "amenity/register_office": { "name": "戶政事務所" }, @@ -2071,6 +2102,10 @@ "name": "垃圾場", "terms": "垃圾集中處,垃圾放置點" }, + "amenity/waste_transfer_station": { + "name": "垃圾清運站", + "terms": "垃圾轉運站" + }, "amenity/water_point": { "name": "RV 飲用水", "terms": "運水車" @@ -2295,6 +2330,10 @@ "name": "倉庫", "terms": "倉庫" }, + "camp_site/camp_pitch": { + "name": "露營營地", + "terms": "露營營地,露營場地,營地" + }, "craft": { "name": "工藝", "terms": "工藝" @@ -2553,6 +2592,14 @@ "name": "球洞", "terms": "球洞" }, + "golf/lateral_water_hazard_area": { + "name": "側面水障礙區", + "terms": "側面水障礙區" + }, + "golf/lateral_water_hazard_line": { + "name": "側面水障礙區", + "terms": "側面水障礙區" + }, "golf/rough": { "name": "深草區", "terms": "深草區" @@ -2561,6 +2608,14 @@ "name": "開球區", "terms": "開球區" }, + "golf/water_hazard_area": { + "name": "水障礙區", + "terms": "水障礙區" + }, + "golf/water_hazard_line": { + "name": "水障礙區", + "terms": "水障礙區" + }, "healthcare/blood_donation": { "name": "捐血中心", "terms": "捐血中心,捐血站,捐血車" @@ -2728,6 +2783,10 @@ "name": "回轉圈", "terms": "回轉圈" }, + "highway/turning_loop": { + "name": "迴轉圓環", + "terms": "迴轉圓環,迴轉道" + }, "highway/unclassified": { "name": "小道路/未分類道路", "terms": "小道路/未分類道路" @@ -3552,6 +3611,14 @@ "name": "美容店", "terms": "理容院,美妝店,護膚中心,指甲美容" }, + "shop/beauty/nails": { + "name": "指甲美容店", + "terms": "修指甲店,修指甲" + }, + "shop/beauty/tanning": { + "name": "日曬沙龍", + "terms": "日光浴店,曬黑沙龍" + }, "shop/bed": { "name": "床具/寐具店", "terms": "床具店,寐具店,寢具店" @@ -3978,6 +4045,10 @@ "name": "高山小屋", "terms": "高山小屋" }, + "tourism/apartment": { + "name": "假日公寓", + "terms": "假日公寓,日租型套房" + }, "tourism/artwork": { "name": "公共藝術", "terms": "藝術品,街頭藝術" @@ -3987,8 +4058,8 @@ "terms": "觀光點" }, "tourism/camp_site": { - "name": "露營營地", - "terms": "露營地,營地" + "name": "露營地", + "terms": "營地" }, "tourism/caravan_site": { "name": "露營車停車場", @@ -4018,6 +4089,22 @@ "name": "旅遊資訊", "terms": "旅遊資訊" }, + "tourism/information/board": { + "name": "資訊告示牌", + "terms": "資訊告示牌,告示牌,看版" + }, + "tourism/information/guidepost": { + "name": "指示牌", + "terms": "方向指引牌" + }, + "tourism/information/map": { + "name": "地圖", + "terms": "地圖,指示圖,範圍圖,旅遊景點圖,景點圖" + }, + "tourism/information/office": { + "name": "旅客中心", + "terms": "旅遊服務中心,遊客中心" + }, "tourism/motel": { "name": "汽車旅館", "terms": "motel" @@ -4042,14 +4129,38 @@ "name": "動物園", "terms": "動物園" }, + "traffic_calming": { + "name": "減速標線", + "terms": "減速標線,減速坡,跳動路面" + }, "traffic_calming/bump": { "name": "減速丘", "terms": "減速帶,減速器" }, + "traffic_calming/chicane": { + "name": "減速彎道", + "terms": "減速彎道" + }, + "traffic_calming/choker": { + "name": "交通阻塞", + "terms": "交通阻塞" + }, + "traffic_calming/cushion": { + "name": "減速墊", + "terms": "減速墊" + }, + "traffic_calming/dip": { + "name": "減速坡", + "terms": "減速坡,斜坡" + }, "traffic_calming/hump": { "name": "減速標線", "terms": "減速標線" }, + "traffic_calming/island": { + "name": "分隔島", + "terms": "分隔島" + }, "traffic_calming/rumble_strip": { "name": "跳動路面", "terms": "起皺狹長路段" diff --git a/dist/locales/zh.json b/dist/locales/zh.json index 4c4d145a3..0c9df253b 100644 --- a/dist/locales/zh.json +++ b/dist/locales/zh.json @@ -577,9 +577,6 @@ "tourism": { "label": "类型" }, - "towertype": { - "label": "塔型" - }, "trail_visibility": { "label": "路径可见度" }, @@ -1318,9 +1315,6 @@ "tourism/attraction": { "name": "旅游景点" }, - "tourism/camp_site": { - "name": "露营区" - }, "tourism/caravan_site": { "name": "房车营地" }, From c85a352c7f13c7cd590d028be7dc55c380c351d3 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 15 Nov 2016 00:43:13 -0500 Subject: [PATCH 048/119] npm run imagery --- data/imagery.json | 3167 ++++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 3147 insertions(+), 20 deletions(-) diff --git a/data/imagery.json b/data/imagery.json index 56aa273b5..604629dc6 100644 --- a/data/imagery.json +++ b/data/imagery.json @@ -1080,6 +1080,10 @@ [ 16.527684, 47.0588402 + ], + [ + 16.5073284, + 46.9929304 ] ] ], @@ -1852,6 +1856,10 @@ [ 16.527684, 47.0588402 + ], + [ + 16.5073284, + 46.9929304 ] ] ], @@ -1859,6 +1867,1215 @@ "id": "basemap.at orthofoto", "best": true }, + { + "name": "Bavaria DOP 80cm", + "type": "tms", + "template": "http://mapproxy.osm.ch:8080/tiles/BAYERNDOP80/EPSG900913/{z}/{x}/{y}.png?origin=nw", + "scaleExtent": [ + 0, + 18 + ], + "polygon": [ + [ + [ + 10.1235886, + 50.568462 + ], + [ + 10.1428576, + 50.5507804 + ], + [ + 10.2028056, + 50.5574195 + ], + [ + 10.2520485, + 50.5179575 + ], + [ + 10.3269835, + 50.4934473 + ], + [ + 10.4104825, + 50.4184762 + ], + [ + 10.6031724, + 50.3310874 + ], + [ + 10.6224414, + 50.2271041 + ], + [ + 10.7252093, + 50.2106649 + ], + [ + 10.7294913, + 50.2476451 + ], + [ + 10.8515282, + 50.2435376 + ], + [ + 10.7187863, + 50.3201525 + ], + [ + 10.7123633, + 50.3652428 + ], + [ + 10.8558102, + 50.3966441 + ], + [ + 10.9371682, + 50.3966441 + ], + [ + 10.9906932, + 50.3666085 + ], + [ + 11.1277171, + 50.3666085 + ], + [ + 11.1791011, + 50.3133169 + ], + [ + 11.1619731, + 50.294172 + ], + [ + 11.24119, + 50.2928042 + ], + [ + 11.249754, + 50.3734364 + ], + [ + 11.24119, + 50.479825 + ], + [ + 11.358945, + 50.5234025 + ], + [ + 11.4381619, + 50.5097889 + ], + [ + 11.4424439, + 50.4893611 + ], + [ + 11.425316, + 50.4771001 + ], + [ + 11.425316, + 50.4416618 + ], + [ + 11.4895459, + 50.4225686 + ], + [ + 11.4916869, + 50.3980089 + ], + [ + 11.5195199, + 50.3980089 + ], + [ + 11.5259429, + 50.3761673 + ], + [ + 11.5987369, + 50.4034677 + ], + [ + 11.6372748, + 50.3884544 + ], + [ + 11.7935678, + 50.4212045 + ], + [ + 11.8363877, + 50.3925494 + ], + [ + 11.9220277, + 50.4280246 + ], + [ + 11.9862577, + 50.3870894 + ], + [ + 11.9841167, + 50.3570478 + ], + [ + 12.0483466, + 50.3310874 + ], + [ + 12.0933076, + 50.3297207 + ], + [ + 12.1297046, + 50.2982751 + ], + [ + 12.1404096, + 50.2722826 + ], + [ + 12.1061536, + 50.255859 + ], + [ + 12.1125766, + 50.2353216 + ], + [ + 12.1489736, + 50.236691 + ], + [ + 12.1982166, + 50.2010728 + ], + [ + 12.2239086, + 50.1640565 + ], + [ + 12.2046396, + 50.1434795 + ], + [ + 12.2067806, + 50.1077916 + ], + [ + 12.2431775, + 50.0995522 + ], + [ + 12.2774335, + 50.0720772 + ], + [ + 12.4936744, + 49.985428 + ], + [ + 12.4979564, + 49.9413559 + ], + [ + 12.5557634, + 49.9220616 + ], + [ + 12.5493404, + 49.8682726 + ], + [ + 12.4808284, + 49.7881677 + ], + [ + 12.4101755, + 49.7577484 + ], + [ + 12.4615594, + 49.7065456 + ], + [ + 12.5471994, + 49.6802313 + ], + [ + 12.5878784, + 49.552613 + ], + [ + 12.6542493, + 49.534553 + ], + [ + 12.6628133, + 49.4330153 + ], + [ + 12.7527353, + 49.4107323 + ], + [ + 12.7976963, + 49.3466124 + ], + [ + 12.9047462, + 49.3563752 + ], + [ + 12.9968092, + 49.3368477 + ], + [ + 13.0546161, + 49.2754251 + ], + [ + 13.1316921, + 49.2195199 + ], + [ + 13.1916401, + 49.1439475 + ], + [ + 13.236601, + 49.1215335 + ], + [ + 13.296549, + 49.1229347 + ], + [ + 13.371484, + 49.0808823 + ], + [ + 13.414304, + 49.0289687 + ], + [ + 13.414304, + 48.9798112 + ], + [ + 13.5791609, + 48.9699739 + ], + [ + 13.6348268, + 48.9432629 + ], + [ + 13.6776468, + 48.8869823 + ], + [ + 13.7375948, + 48.8926132 + ], + [ + 13.7846968, + 48.8334571 + ], + [ + 13.8403627, + 48.774231 + ], + [ + 13.8168118, + 48.7064584 + ], + [ + 13.8446447, + 48.7008065 + ], + [ + 13.8425037, + 48.6003807 + ], + [ + 13.7654278, + 48.5422972 + ], + [ + 13.7525818, + 48.5040106 + ], + [ + 13.6712238, + 48.5054291 + ], + [ + 13.6433908, + 48.5437146 + ], + [ + 13.4571239, + 48.5508013 + ], + [ + 13.4571239, + 48.4159838 + ], + [ + 13.40574, + 48.3605338 + ], + [ + 13.283703, + 48.2751083 + ], + [ + 13.0931541, + 48.2694081 + ], + [ + 12.9582712, + 48.1909669 + ], + [ + 12.8769132, + 48.1852574 + ], + [ + 12.7720043, + 48.0938188 + ], + [ + 12.8640672, + 48.0136764 + ], + [ + 12.8983232, + 47.9549216 + ], + [ + 12.9454252, + 47.9563555 + ], + [ + 12.9968092, + 47.8846147 + ], + [ + 13.0139372, + 47.834337 + ], + [ + 12.9347202, + 47.7321953 + ], + [ + 13.0588981, + 47.7249947 + ], + [ + 13.1188461, + 47.6385093 + ], + [ + 13.0653211, + 47.5692178 + ], + [ + 13.0567571, + 47.473792 + ], + [ + 13.0032322, + 47.4520801 + ], + [ + 12.7677223, + 47.5504355 + ], + [ + 12.7698633, + 47.6327385 + ], + [ + 12.7398893, + 47.6731207 + ], + [ + 12.6670953, + 47.6702373 + ], + [ + 12.5750324, + 47.621195 + ], + [ + 12.4808284, + 47.6197519 + ], + [ + 12.4144575, + 47.6702373 + ], + [ + 12.2431775, + 47.6774455 + ], + [ + 12.2132036, + 47.6918589 + ], + [ + 12.1917936, + 47.6817699 + ], + [ + 12.2132036, + 47.6659119 + ], + [ + 12.2110626, + 47.603875 + ], + [ + 12.1746656, + 47.5952129 + ], + [ + 12.1382686, + 47.603875 + ], + [ + 11.8920537, + 47.603875 + ], + [ + 11.8513747, + 47.5793285 + ], + [ + 11.6394158, + 47.5822169 + ], + [ + 11.5944549, + 47.5489905 + ], + [ + 11.5901729, + 47.5128508 + ], + [ + 11.5173789, + 47.498388 + ], + [ + 11.4403029, + 47.5041736 + ], + [ + 11.395342, + 47.4752392 + ], + [ + 11.427457, + 47.4448409 + ], + [ + 11.346099, + 47.4433929 + ], + [ + 11.279728, + 47.3955873 + ], + [ + 11.2133571, + 47.3883402 + ], + [ + 11.247613, + 47.4318076 + ], + [ + 11.1020251, + 47.3926886 + ], + [ + 10.9650012, + 47.3897897 + ], + [ + 10.9778472, + 47.4361524 + ], + [ + 10.9178992, + 47.4752392 + ], + [ + 10.8707972, + 47.4752392 + ], + [ + 10.8558102, + 47.4940484 + ], + [ + 10.9007712, + 47.5142969 + ], + [ + 10.8729382, + 47.5359831 + ], + [ + 10.8108493, + 47.5128508 + ], + [ + 10.6438513, + 47.5489905 + ], + [ + 10.5946084, + 47.5547705 + ], + [ + 10.5796214, + 47.5287553 + ], + [ + 10.4618664, + 47.5403192 + ], + [ + 10.4661484, + 47.4839212 + ], + [ + 10.4875584, + 47.4781333 + ], + [ + 10.4875584, + 47.4129762 + ], + [ + 10.4597254, + 47.4028333 + ], + [ + 10.4597254, + 47.375293 + ], + [ + 10.4104825, + 47.3738431 + ], + [ + 10.4083415, + 47.3433862 + ], + [ + 10.3205605, + 47.2867768 + ], + [ + 10.2820225, + 47.2780622 + ], + [ + 10.2841635, + 47.2620819 + ], + [ + 10.1471396, + 47.2620819 + ], + [ + 10.1921006, + 47.3027497 + ], + [ + 10.1942416, + 47.3738431 + ], + [ + 10.1664086, + 47.3738431 + ], + [ + 10.1664086, + 47.3462876 + ], + [ + 10.1000376, + 47.3433862 + ], + [ + 10.0614996, + 47.3636928 + ], + [ + 10.0679226, + 47.4187712 + ], + [ + 10.0936146, + 47.426014 + ], + [ + 10.0957556, + 47.4419449 + ], + [ + 9.9780007, + 47.485368 + ], + [ + 9.9565907, + 47.5273097 + ], + [ + 9.8945017, + 47.5287553 + ], + [ + 9.8559637, + 47.5085124 + ], + [ + 9.8174258, + 47.544655 + ], + [ + 9.8217078, + 47.5764399 + ], + [ + 9.7746058, + 47.5822169 + ], + [ + 9.7382088, + 47.525864 + ], + [ + 9.6739788, + 47.5345376 + ], + [ + 9.5840569, + 47.564884 + ], + [ + 9.6397228, + 47.6053186 + ], + [ + 9.7167988, + 47.603875 + ], + [ + 9.8559637, + 47.6760039 + ], + [ + 9.9780007, + 47.6558179 + ], + [ + 10.0293846, + 47.6817699 + ], + [ + 10.1000376, + 47.6673537 + ], + [ + 10.1321526, + 47.6760039 + ], + [ + 10.1428576, + 47.7019459 + ], + [ + 10.0614996, + 47.7725005 + ], + [ + 10.1128836, + 47.8098988 + ], + [ + 10.0829096, + 47.8530173 + ], + [ + 10.1086016, + 47.9090177 + ], + [ + 10.0764866, + 47.9649577 + ], + [ + 10.1300116, + 48.020837 + ], + [ + 10.1342936, + 48.1066872 + ], + [ + 10.1000376, + 48.1281274 + ], + [ + 10.0550766, + 48.2622821 + ], + [ + 9.9694367, + 48.3676462 + ], + [ + 10.0315256, + 48.4259299 + ], + [ + 10.0293846, + 48.461436 + ], + [ + 10.1235886, + 48.4770509 + ], + [ + 10.1535626, + 48.4514968 + ], + [ + 10.2349205, + 48.5125212 + ], + [ + 10.3162785, + 48.516776 + ], + [ + 10.2991505, + 48.6187835 + ], + [ + 10.2456255, + 48.6682961 + ], + [ + 10.2734585, + 48.7064584 + ], + [ + 10.3698035, + 48.6838472 + ], + [ + 10.4318924, + 48.6993935 + ], + [ + 10.4511614, + 48.7276471 + ], + [ + 10.4019185, + 48.7460035 + ], + [ + 10.4404564, + 48.8489571 + ], + [ + 10.4340334, + 48.9587289 + ], + [ + 10.3376885, + 49.0205451 + ], + [ + 10.2499075, + 49.0359872 + ], + [ + 10.2499075, + 49.0738701 + ], + [ + 10.2006646, + 49.1033147 + ], + [ + 10.2520485, + 49.1327418 + ], + [ + 10.1235886, + 49.1971401 + ], + [ + 10.1193066, + 49.2628519 + ], + [ + 10.1514216, + 49.2893915 + ], + [ + 10.1043196, + 49.3452175 + ], + [ + 10.1407166, + 49.3940134 + ], + [ + 10.1086016, + 49.445545 + ], + [ + 10.1107426, + 49.5053651 + ], + [ + 10.0722046, + 49.5331635 + ], + [ + 10.0165387, + 49.4761598 + ], + [ + 9.9266167, + 49.478942 + ], + [ + 9.9244757, + 49.5567797 + ], + [ + 9.8987837, + 49.5817727 + ], + [ + 9.8559637, + 49.5387213 + ], + [ + 9.8067208, + 49.5567797 + ], + [ + 9.8666687, + 49.6067529 + ], + [ + 9.8538227, + 49.6441991 + ], + [ + 9.8174258, + 49.6608327 + ], + [ + 9.8345537, + 49.6899277 + ], + [ + 9.7960158, + 49.7203895 + ], + [ + 9.7574778, + 49.7079302 + ], + [ + 9.7403498, + 49.6857723 + ], + [ + 9.7060938, + 49.7162368 + ], + [ + 9.6782608, + 49.7162368 + ], + [ + 9.6825428, + 49.6885426 + ], + [ + 9.6204539, + 49.6913127 + ], + [ + 9.6461458, + 49.78955 + ], + [ + 9.5583649, + 49.7743431 + ], + [ + 9.5712109, + 49.7356133 + ], + [ + 9.5069809, + 49.7522156 + ], + [ + 9.4919939, + 49.7798735 + ], + [ + 9.4684429, + 49.7605146 + ], + [ + 9.425623, + 49.7784909 + ], + [ + 9.404213, + 49.7646636 + ], + [ + 9.33356, + 49.770195 + ], + [ + 9.329278, + 49.7342295 + ], + [ + 9.408495, + 49.725926 + ], + [ + 9.427764, + 49.6982374 + ], + [ + 9.414918, + 49.6441991 + ], + [ + 9.380662, + 49.6386533 + ], + [ + 9.359252, + 49.6497443 + ], + [ + 9.339983, + 49.6372668 + ], + [ + 9.31215, + 49.648358 + ], + [ + 9.277894, + 49.626173 + ], + [ + 9.284317, + 49.6081403 + ], + [ + 9.241497, + 49.5748315 + ], + [ + 9.0980501, + 49.5720547 + ], + [ + 9.0659351, + 49.6081403 + ], + [ + 9.1001911, + 49.6511305 + ], + [ + 9.0916271, + 49.6926978 + ], + [ + 9.1301651, + 49.7120837 + ], + [ + 9.1387291, + 49.7425316 + ], + [ + 9.1087551, + 49.7563653 + ], + [ + 9.1365881, + 49.7909322 + ], + [ + 9.1001911, + 49.78955 + ], + [ + 9.0723581, + 49.8282367 + ], + [ + 9.0359611, + 49.8351418 + ], + [ + 9.0166922, + 50.0267091 + ], + [ + 8.9631672, + 50.0308352 + ], + [ + 8.9567442, + 50.0597083 + ], + [ + 9.0017052, + 50.0707031 + ], + [ + 9.0209742, + 50.1105378 + ], + [ + 9.1216011, + 50.1228936 + ], + [ + 9.1558571, + 50.1132838 + ], + [ + 9.1965361, + 50.1187753 + ], + [ + 9.1858311, + 50.1352462 + ], + [ + 9.235074, + 50.1475956 + ], + [ + 9.37638, + 50.1270115 + ], + [ + 9.408495, + 50.0816953 + ], + [ + 9.5219679, + 50.095432 + ], + [ + 9.5048399, + 50.1421073 + ], + [ + 9.5326729, + 50.1640565 + ], + [ + 9.4898529, + 50.1695422 + ], + [ + 9.4941349, + 50.2435376 + ], + [ + 9.6140309, + 50.221625 + ], + [ + 9.6654148, + 50.2353216 + ], + [ + 9.6354408, + 50.2490142 + ], + [ + 9.6675558, + 50.2722826 + ], + [ + 9.7424908, + 50.3092151 + ], + [ + 9.7296448, + 50.3584137 + ], + [ + 9.7703238, + 50.4293885 + ], + [ + 9.8688097, + 50.4007384 + ], + [ + 9.9180527, + 50.4089259 + ], + [ + 10.0358076, + 50.479825 + ], + [ + 10.0379486, + 50.5111504 + ], + [ + 10.1235886, + 50.568462 + ] + ] + ] + }, { "name": "Belgium AGIV Orthophoto Flanders", "type": "tms", @@ -3203,6 +4420,10 @@ [ -123.3179861, 49.3254065 + ], + [ + -123.3176032, + 49.3272567 ] ] ], @@ -3244,6 +4465,811 @@ "terms_url": "http://www.osm-tools.org/", "terms_text": "© osm-tools.org & OpenStreetMap contributors, CC-BY-SA" }, + { + "name": "City of Cape Town 2015 Aerial", + "type": "tms", + "description": "OpenStreetMap use only. City of Cape Town Aerial ortho-photography of the municipal area. 8cm ground sample distance", + "template": "http://{switch:a,b,c}.coct.aerial.openstreetmap.org.za/layer/za_coct_aerial_2015/{zoom}/{x}/{y}.jpg", + "scaleExtent": [ + 1, + 21 + ], + "polygon": [ + [ + [ + 18.4486565, + -33.893623 + ], + [ + 18.4485868, + -33.902644 + ], + [ + 18.4702, + -33.9027665 + ], + [ + 18.4813902, + -33.8472383 + ], + [ + 18.4492466, + -33.801069 + ], + [ + 18.4281537, + -33.7356408 + ], + [ + 18.43914, + -33.7177232 + ], + [ + 18.4071895, + -33.6589917 + ], + [ + 18.3322379, + -33.5775191 + ], + [ + 18.3324525, + -33.5504487 + ], + [ + 18.353996, + -33.5505918 + ], + [ + 18.3542535, + -33.5236025 + ], + [ + 18.3652398, + -33.5236561 + ], + [ + 18.3650252, + -33.5148009 + ], + [ + 18.3760115, + -33.5147652 + ], + [ + 18.3760545, + -33.5058017 + ], + [ + 18.4296557, + -33.5059449 + ], + [ + 18.4296986, + -33.4878541 + ], + [ + 18.4404919, + -33.4878899 + ], + [ + 18.4405991, + -33.4698849 + ], + [ + 18.4943721, + -33.4700997 + ], + [ + 18.4943292, + -33.4791564 + ], + [ + 18.5158297, + -33.4791743 + ], + [ + 18.5157439, + -33.4881941 + ], + [ + 18.5264727, + -33.4883015 + ], + [ + 18.5263225, + -33.5243538 + ], + [ + 18.5479304, + -33.5244253 + ], + [ + 18.5479519, + -33.5153913 + ], + [ + 18.5693666, + -33.5154987 + ], + [ + 18.5693666, + -33.524479 + ], + [ + 18.5801169, + -33.5245327 + ], + [ + 18.580074, + -33.5425978 + ], + [ + 18.5907814, + -33.5425978 + ], + [ + 18.5907385, + -33.5606413 + ], + [ + 18.5799453, + -33.5605341 + ], + [ + 18.5798809, + -33.569617 + ], + [ + 18.5906956, + -33.569617 + ], + [ + 18.5906526, + -33.5786811 + ], + [ + 18.6230108, + -33.5787347 + ], + [ + 18.622925, + -33.5877264 + ], + [ + 18.6659691, + -33.5878872 + ], + [ + 18.6659262, + -33.614928 + ], + [ + 18.6767194, + -33.6149726 + ], + [ + 18.6765772, + -33.6510279 + ], + [ + 18.687298, + -33.6510167 + ], + [ + 18.6873409, + -33.6600365 + ], + [ + 18.6980697, + -33.6600901 + ], + [ + 18.6980697, + -33.6690733 + ], + [ + 18.7520358, + -33.6692519 + ], + [ + 18.7520787, + -33.6421924 + ], + [ + 18.7736437, + -33.642246 + ], + [ + 18.773708, + -33.6331886 + ], + [ + 18.8274595, + -33.6332958 + ], + [ + 18.8275239, + -33.6603044 + ], + [ + 18.8166663, + -33.6602866 + ], + [ + 18.8166019, + -33.6783233 + ], + [ + 18.8058087, + -33.6783055 + ], + [ + 18.8058087, + -33.7053892 + ], + [ + 18.8273951, + -33.7054428 + ], + [ + 18.8273308, + -33.7234701 + ], + [ + 18.838124, + -33.7234344 + ], + [ + 18.8380381, + -33.7413865 + ], + [ + 18.8165161, + -33.7413687 + ], + [ + 18.8163659, + -33.7955057 + ], + [ + 18.8055941, + -33.7955057 + ], + [ + 18.8055083, + -33.8135675 + ], + [ + 18.794758, + -33.8135497 + ], + [ + 18.7947151, + -33.8315364 + ], + [ + 18.7731072, + -33.8315186 + ], + [ + 18.7731287, + -33.8405194 + ], + [ + 18.7623569, + -33.8405194 + ], + [ + 18.7622711, + -33.903588 + ], + [ + 18.7514564, + -33.9035167 + ], + [ + 18.7510809, + -33.9847823 + ], + [ + 18.7619063, + -33.9848001 + ], + [ + 18.7617776, + -34.0298785 + ], + [ + 18.772603, + -34.0298963 + ], + [ + 18.7725815, + -34.0389073 + ], + [ + 18.7940338, + -34.0389406 + ], + [ + 18.7938756, + -34.0406987 + ], + [ + 18.7984461, + -34.0411855 + ], + [ + 18.8032445, + -34.0411788 + ], + [ + 18.8034055, + -34.0389206 + ], + [ + 18.8159367, + -34.038974 + ], + [ + 18.8163444, + -34.0299318 + ], + [ + 18.8379845, + -34.0316479 + ], + [ + 18.8380006, + -34.030003 + ], + [ + 18.8484183, + -34.0300074 + ], + [ + 18.8484666, + -34.0218491 + ], + [ + 18.859925, + -34.0234675 + ], + [ + 18.8598606, + -34.0210132 + ], + [ + 18.868272, + -34.0220803 + ], + [ + 18.8681862, + -34.0211733 + ], + [ + 18.8854596, + -34.0234319 + ], + [ + 18.8851806, + -34.0213156 + ], + [ + 18.9025184, + -34.021031 + ], + [ + 18.9025828, + -34.0119958 + ], + [ + 18.9134189, + -34.0119958 + ], + [ + 18.9134833, + -33.9939582 + ], + [ + 18.9458844, + -33.9940294 + ], + [ + 18.9458629, + -34.003102 + ], + [ + 18.9674279, + -34.0029953 + ], + [ + 18.9674708, + -34.0120848 + ], + [ + 18.9782211, + -34.0120848 + ], + [ + 18.9783284, + -34.0211377 + ], + [ + 18.9891431, + -34.0211377 + ], + [ + 18.9891645, + -34.039134 + ], + [ + 19.0000167, + -34.0391251 + ], + [ + 19.0000221, + -34.0571798 + ], + [ + 19.0108368, + -34.0572509 + ], + [ + 19.0107939, + -34.0841436 + ], + [ + 19.0000007, + -34.0841258 + ], + [ + 19.0000221, + -34.0931977 + ], + [ + 18.9891538, + -34.0931711 + ], + [ + 18.9891753, + -34.1021976 + ], + [ + 18.9783177, + -34.1021798 + ], + [ + 18.9783177, + -34.111232 + ], + [ + 18.967503, + -34.1112143 + ], + [ + 18.9674923, + -34.1292536 + ], + [ + 18.9566025, + -34.1292358 + ], + [ + 18.9565596, + -34.1382408 + ], + [ + 18.9674172, + -34.1383118 + ], + [ + 18.9674172, + -34.1473157 + ], + [ + 18.9891753, + -34.147298 + ], + [ + 18.9891753, + -34.165303 + ], + [ + 18.9782748, + -34.1652852 + ], + [ + 18.9783177, + -34.1742863 + ], + [ + 18.9674172, + -34.1742685 + ], + [ + 18.9674601, + -34.1833042 + ], + [ + 18.9565596, + -34.1833219 + ], + [ + 18.9565596, + -34.1923565 + ], + [ + 18.9457449, + -34.192321 + ], + [ + 18.945702, + -34.2013192 + ], + [ + 18.9348659, + -34.2013725 + ], + [ + 18.9348873, + -34.2193305 + ], + [ + 18.9023575, + -34.2193482 + ], + [ + 18.9017567, + -34.2362557 + ], + [ + 18.8878414, + -34.2373467 + ], + [ + 18.8894185, + -34.2554123 + ], + [ + 18.8805887, + -34.2553414 + ], + [ + 18.8792744, + -34.2644348 + ], + [ + 18.8696882, + -34.2644126 + ], + [ + 18.8697097, + -34.2734386 + ], + [ + 18.8371369, + -34.2734208 + ], + [ + 18.8371155, + -34.2643771 + ], + [ + 18.848016, + -34.2644037 + ], + [ + 18.8480267, + -34.237391 + ], + [ + 18.8154861, + -34.210281 + ], + [ + 18.8156471, + -34.1741265 + ], + [ + 18.8548824, + -34.1562743 + ], + [ + 18.7617561, + -34.0840547 + ], + [ + 18.6533734, + -34.077479 + ], + [ + 18.4797433, + -34.1101217 + ], + [ + 18.4463713, + -34.1342269 + ], + [ + 18.4444508, + -34.1640868 + ], + [ + 18.4359965, + -34.1640513 + ], + [ + 18.435975, + -34.1820172 + ], + [ + 18.4468111, + -34.182106 + ], + [ + 18.4467253, + -34.1911052 + ], + [ + 18.4659299, + -34.1912117 + ], + [ + 18.4866151, + -34.2453911 + ], + [ + 18.4788904, + -34.2543659 + ], + [ + 18.4860036, + -34.2543748 + ], + [ + 18.4677109, + -34.2994116 + ], + [ + 18.4892222, + -34.3445792 + ], + [ + 18.500112, + -34.3445837 + ], + [ + 18.4999189, + -34.3626174 + ], + [ + 18.467432, + -34.3625111 + ], + [ + 18.4673676, + -34.3534947 + ], + [ + 18.3916005, + -34.3170651 + ], + [ + 18.3917722, + -34.2900161 + ], + [ + 18.3701643, + -34.2808678 + ], + [ + 18.370682, + -34.2178866 + ], + [ + 18.3492324, + -34.1816178 + ], + [ + 18.3274743, + -34.1814936 + ], + [ + 18.3276674, + -34.1634565 + ], + [ + 18.3118746, + -34.1543832 + ], + [ + 18.3114025, + -34.1435331 + ], + [ + 18.3236656, + -34.1346886 + ], + [ + 18.3499297, + -34.1042053 + ], + [ + 18.3393189, + -34.0882843 + ], + [ + 18.3612487, + -34.0597219 + ], + [ + 18.3550474, + -34.0553843 + ], + [ + 18.3427522, + -34.064326 + ], + [ + 18.3199963, + -34.0644326 + ], + [ + 18.296071, + -34.045126 + ], + [ + 18.3068213, + -34.0252637 + ], + [ + 18.3287725, + -34.0191992 + ], + [ + 18.3289227, + -34.001252 + ], + [ + 18.3397374, + -34.0012698 + ], + [ + 18.3398017, + -33.9866282 + ], + [ + 18.3628687, + -33.9735145 + ], + [ + 18.3638129, + -33.9292474 + ], + [ + 18.3726212, + -33.9292741 + ], + [ + 18.3728358, + -33.917763 + ], + [ + 18.3977267, + -33.8933469 + ], + [ + 18.4486565, + -33.893623 + ] + ] + ], + "terms_url": "https://www.capetown.gov.za", + "terms_text": "City of Cape Town Aerial - OPENSTREETMAP USE ONLY", + "best": true + }, { "name": "Czech CUZK:KM tiles proxy", "type": "tms", @@ -3885,6 +5911,10 @@ [ 14.9864195, 48.7652539 + ], + [ + 15.0063684, + 49.0177392 ] ] ], @@ -4531,6 +6561,10 @@ [ 14.9864195, 48.7652539 + ], + [ + 15.0063684, + 49.0177392 ] ] ], @@ -11154,6 +13188,10 @@ [ 8.531432, 54.95516 + ], + [ + 8.3743941, + 54.9551655 ] ], [ @@ -11172,6 +13210,10 @@ [ 11.4459621, 56.6401087 + ], + [ + 11.4577738, + 56.819554 ] ], [ @@ -11198,6 +13240,10 @@ [ 10.8290599, 57.3695272 + ], + [ + 11.3274736, + 57.3612962 ] ], [ @@ -11216,6 +13262,10 @@ [ 11.7456428, 56.2743186 + ], + [ + 11.5843266, + 56.2777928 ] ], [ @@ -11266,6 +13316,10 @@ [ 14.6317464, 55.0062496 + ], + [ + 14.6825922, + 55.3639405 ] ] ], @@ -11666,12 +13720,51 @@ [ 14.2220497, 53.9958517 + ], + [ + 15.9751041, + 54.3709213 ] ] ], "terms_text": "Copyright © Główny Urząd Geodezji i Kartografii.", "best": true }, + { + "name": "IBGE Distrito Federal", + "type": "tms", + "description": "Addresses data from IBGE", + "template": "https://api.mapbox.com/styles/v1/wille/cirnnxni1000jg8nfppc8g7pm/tiles/256/{z}/{x}/{y}?access_token=pk.eyJ1Ijoid2lsbGUiLCJhIjoicFNVWk5VWSJ9.hluCd0YGvYHNlFi_utWe2g", + "scaleExtent": [ + 0, + 19 + ], + "polygon": [ + [ + [ + -48.2444, + -16.0508 + ], + [ + -48.2444, + -15.5005 + ], + [ + -47.5695, + -15.5005 + ], + [ + -47.5695, + -16.0508 + ], + [ + -48.2444, + -16.0508 + ] + ] + ], + "overlay": true + }, { "name": "IBGE Mapa de Setores Rurais", "type": "tms", @@ -13127,6 +15220,10 @@ [ -72.1545814, 19.6877982 + ], + [ + -72.1547401, + 19.6878969 ] ], [ @@ -13181,6 +15278,10 @@ [ -72.1315621, 19.671 + ], + [ + -72.1310601, + 19.6718929 ] ], [ @@ -13627,6 +15728,10 @@ [ -71.8456942, 19.6696203 + ], + [ + -71.845795, + 19.6709758 ] ], [ @@ -13793,6 +15898,10 @@ [ -72.09907, 18.5483799 + ], + [ + -72.098878, + 18.54843 ] ], [ @@ -13843,6 +15952,10 @@ [ -72.2519232, 18.5650839 + ], + [ + -72.2542503, + 18.568262 ] ], [ @@ -14013,6 +16126,10 @@ [ -72.3042595, 18.5336346 + ], + [ + -72.303145, + 18.5332749 ] ], [ @@ -14199,6 +16316,10 @@ [ -72.2973911, 18.476843 + ], + [ + -72.2981405, + 18.477502 ] ], [ @@ -14293,6 +16414,10 @@ [ -72.3496778, 18.5220392 + ], + [ + -72.3466657, + 18.5222375 ] ], [ @@ -14383,6 +16508,10 @@ [ -72.329979, 18.5489548 + ], + [ + -72.3303078, + 18.5486462 ] ], [ @@ -14421,6 +16550,10 @@ [ -72.3232359, 18.5264804 + ], + [ + -72.3231383, + 18.5269828 ] ], [ @@ -14491,6 +16624,10 @@ [ -72.2158909, 18.6450301 + ], + [ + -72.2160832, + 18.6457752 ] ], [ @@ -15237,6 +17374,10 @@ [ -72.2858703, 18.6469651 + ], + [ + -72.2867654, + 18.6482017 ] ], [ @@ -15271,6 +17412,10 @@ [ -72.555133, 18.5301218 + ], + [ + -72.5557247, + 18.5305893 ] ], [ @@ -15313,6 +17458,10 @@ [ -72.6228305, 18.506996 + ], + [ + -72.6235278, + 18.5079877 ] ] ] @@ -18163,6 +20312,10 @@ [ -8.8151208, 54.7145436 + ], + [ + -8.8312773, + 55.3963337 ] ] ], @@ -18430,6 +20583,10 @@ [ -9.3672933, 51.4254613 + ], + [ + -10.0847426, + 51.4147902 ] ] ], @@ -18598,6 +20755,10 @@ [ -5.2572284, 54.1582424 + ], + [ + -5.842956, + 53.8627976 ] ] ], @@ -18825,6 +20986,10 @@ [ -9.2601152, 52.7616711 + ], + [ + -9.2759602, + 52.7993666 ] ], [ @@ -20906,7 +23071,41 @@ "best": true }, { - "name": "Kanton Solothurn 25cm (SOGIS 2011-2014)", + "name": "Kanton Basel-Stadt 2015", + "type": "tms", + "template": "http://mapproxy.osm.ch:8080/tiles/KTBASELSTADT2015/EPSG900913/{z}/{x}/{y}.png?origin=nw", + "scaleExtent": [ + 8, + 21 + ], + "polygon": [ + [ + [ + 7.492, + 47.4817 + ], + [ + 7.492, + 47.6342 + ], + [ + 7.784, + 47.6342 + ], + [ + 7.784, + 47.4817 + ], + [ + 7.492, + 47.4817 + ] + ] + ], + "terms_text": "Kanton Basel-Stadt OF 2015" + }, + { + "name": "Kanton Solothurn 25cm (SOGIS 2014-2015)", "type": "tms", "template": "http://mapproxy.osm.ch:8080/tiles/sogis2014/EPSG900913/{z}/{x}/{y}.png?origin=nw", "scaleExtent": [ @@ -20916,28 +23115,623 @@ "polygon": [ [ [ - 7.08, - 47.03 + 7.3404127, + 47.2175697 ], [ - 7.08, - 47.54 + 7.4154818, + 47.2402115 ], [ - 8.04, - 47.54 + 7.4173645, + 47.2537956 ], [ - 8.04, - 47.03 + 7.4658424, + 47.2646513 ], [ - 7.08, - 47.03 + 7.4946766, + 47.2882287 + ], + [ + 7.5328638, + 47.294534 + ], + [ + 7.5483333, + 47.3163566 + ], + [ + 7.5709479, + 47.3263111 + ], + [ + 7.5604584, + 47.342492 + ], + [ + 7.5388991, + 47.3476266 + ], + [ + 7.5396485, + 47.3601134 + ], + [ + 7.5217459, + 47.3651488 + ], + [ + 7.5237238, + 47.3720704 + ], + [ + 7.4634937, + 47.3702566 + ], + [ + 7.4361035, + 47.3781317 + ], + [ + 7.4434011, + 47.4023143 + ], + [ + 7.4774682, + 47.4012772 + ], + [ + 7.4792364, + 47.3897076 + ], + [ + 7.5022557, + 47.384807 + ], + [ + 7.5213659, + 47.3912021 + ], + [ + 7.5311724, + 47.4035251 + ], + [ + 7.5252352, + 47.4116329 + ], + [ + 7.5807413, + 47.414704 + ], + [ + 7.5682954, + 47.4223349 + ], + [ + 7.5689044, + 47.436897 + ], + [ + 7.5812069, + 47.4287807 + ], + [ + 7.6157989, + 47.4327479 + ], + [ + 7.6260723, + 47.4629139 + ], + [ + 7.6044949, + 47.4704455 + ], + [ + 7.6072998, + 47.4893984 + ], + [ + 7.640966, + 47.4827341 + ], + [ + 7.6559259, + 47.4873946 + ], + [ + 7.6521711, + 47.4958144 + ], + [ + 7.6661209, + 47.4968682 + ], + [ + 7.6683266, + 47.4863467 + ], + [ + 7.699761, + 47.4806325 + ], + [ + 7.709878, + 47.4693848 + ], + [ + 7.6848538, + 47.4478436 + ], + [ + 7.6798021, + 47.417514 + ], + [ + 7.6327228, + 47.4100311 + ], + [ + 7.633317, + 47.382914 + ], + [ + 7.6417611, + 47.3804694 + ], + [ + 7.6442033, + 47.3672084 + ], + [ + 7.7279138, + 47.3688589 + ], + [ + 7.751519, + 47.3443275 + ], + [ + 7.7935609, + 47.3390523 + ], + [ + 7.8021665, + 47.3610959 + ], + [ + 7.8788122, + 47.3835105 + ], + [ + 7.8691367, + 47.3955143 + ], + [ + 7.883332, + 47.4060973 + ], + [ + 7.9097377, + 47.398521 + ], + [ + 7.9550377, + 47.4156057 + ], + [ + 7.9618317, + 47.4218343 + ], + [ + 7.9467846, + 47.4431934 + ], + [ + 7.9682836, + 47.4628082 + ], + [ + 7.9872707, + 47.4287435 + ], + [ + 7.9854653, + 47.4227641 + ], + [ + 7.9827035, + 47.4283325 + ], + [ + 7.9631993, + 47.4223547 + ], + [ + 8.0072617, + 47.4065858 + ], + [ + 8.0100022, + 47.395418 + ], + [ + 8.0265612, + 47.3956224 + ], + [ + 8.0313669, + 47.3836856 + ], + [ + 8.0038366, + 47.3453146 + ], + [ + 8.0051906, + 47.3367516 + ], + [ + 7.9479701, + 47.3171432 + ], + [ + 7.9478307, + 47.3325169 + ], + [ + 7.9192088, + 47.3339507 + ], + [ + 7.9078055, + 47.341719 + ], + [ + 7.889098, + 47.3114878 + ], + [ + 7.8611018, + 47.3061239 + ], + [ + 7.8418057, + 47.2744707 + ], + [ + 7.8166423, + 47.2616706 + ], + [ + 7.8028241, + 47.2684079 + ], + [ + 7.7861469, + 47.256098 + ], + [ + 7.7746009, + 47.267869 + ], + [ + 7.7568187, + 47.258095 + ], + [ + 7.7326672, + 47.2591133 + ], + [ + 7.684769, + 47.2939919 + ], + [ + 7.6482742, + 47.2819898 + ], + [ + 7.5801066, + 47.2763483 + ], + [ + 7.5936981, + 47.2662199 + ], + [ + 7.5959384, + 47.245569 + ], + [ + 7.6261802, + 47.2263143 + ], + [ + 7.6405558, + 47.2297944 + ], + [ + 7.6484666, + 47.2189525 + ], + [ + 7.6472258, + 47.2017823 + ], + [ + 7.6715278, + 47.1949714 + ], + [ + 7.6711002, + 47.1845216 + ], + [ + 7.6779881, + 47.1819259 + ], + [ + 7.6728612, + 47.1683945 + ], + [ + 7.6600808, + 47.1684026 + ], + [ + 7.6451021, + 47.1489207 + ], + [ + 7.6155322, + 47.1565739 + ], + [ + 7.5861404, + 47.1475453 + ], + [ + 7.5810534, + 47.16013 + ], + [ + 7.5634674, + 47.1683541 + ], + [ + 7.5257686, + 47.162205 + ], + [ + 7.5203336, + 47.1588879 + ], + [ + 7.5297508, + 47.1487369 + ], + [ + 7.5097234, + 47.1255457 + ], + [ + 7.4613252, + 47.1082327 + ], + [ + 7.4750945, + 47.0867101 + ], + [ + 7.454461, + 47.074927 + ], + [ + 7.4354156, + 47.0801664 + ], + [ + 7.4340002, + 47.1005003 + ], + [ + 7.3820271, + 47.0957398 + ], + [ + 7.3704914, + 47.1209312 + ], + [ + 7.4401788, + 47.1237276 + ], + [ + 7.4217922, + 47.1358605 + ], + [ + 7.447783, + 47.1550805 + ], + [ + 7.4728074, + 47.1525609 + ], + [ + 7.4970383, + 47.1700873 + ], + [ + 7.4804964, + 47.171738 + ], + [ + 7.4708545, + 47.181324 + ], + [ + 7.4757226, + 47.1906485 + ], + [ + 7.4497638, + 47.1895691 + ], + [ + 7.4476258, + 47.1810839 + ], + [ + 7.4332849, + 47.1847269 + ], + [ + 7.4118135, + 47.1624212 + ], + [ + 7.3842442, + 47.1601249 + ], + [ + 7.3821749, + 47.1651186 + ], + [ + 7.391911, + 47.1662739 + ], + [ + 7.3835137, + 47.1803011 + ], + [ + 7.3654609, + 47.1944525 + ], + [ + 7.3544799, + 47.1915316 + ], + [ + 7.3404127, + 47.2175697 + ] + ], + [ + [ + 7.420816, + 47.4803666 + ], + [ + 7.4349836, + 47.4981011 + ], + [ + 7.4707584, + 47.480734 + ], + [ + 7.487277, + 47.4820136 + ], + [ + 7.5116652, + 47.5026958 + ], + [ + 7.5317892, + 47.4973989 + ], + [ + 7.5366964, + 47.4850517 + ], + [ + 7.5274454, + 47.4739062 + ], + [ + 7.5306791, + 47.4611886 + ], + [ + 7.4565122, + 47.4492558 + ], + [ + 7.445214, + 47.4623781 + ], + [ + 7.4557367, + 47.4733767 + ], + [ + 7.420816, + 47.4803666 + ] + ], + [ + [ + 7.3759458, + 47.4140995 + ], + [ + 7.3821514, + 47.4330266 + ], + [ + 7.4209041, + 47.4459442 + ], + [ + 7.4378427, + 47.4463232 + ], + [ + 7.4555765, + 47.4279232 + ], + [ + 7.4437574, + 47.413444 + ], + [ + 7.3759458, + 47.4140995 + ] + ], + [ + [ + 7.6744234, + 47.1539707 + ], + [ + 7.6853662, + 47.1662986 + ], + [ + 7.7007985, + 47.1617746 + ], + [ + 7.6901531, + 47.1525567 + ], + [ + 7.6744234, + 47.1539707 ] ] ], - "terms_text": "Orthofoto WMS Solothurn" + "terms_text": "Orthofoto WMS Solothurn", + "best": true }, { "name": "Kanton Zürich 2015 10cm", @@ -22166,6 +24960,10 @@ [ -119.5864365, 49.7843863 + ], + [ + -119.5867318, + 49.7928087 ] ] ], @@ -22560,6 +25358,10 @@ [ -119.5864365, 49.7843863 + ], + [ + -119.5867318, + 49.7928087 ] ] ], @@ -22592,6 +25394,10 @@ [ -62.5322549, 6.5375488 + ], + [ + -60.8550011, + 6.1765004 ] ] ], @@ -22655,6 +25461,10 @@ [ -122.553553, 47.8982299 + ], + [ + -121.9355512, + 47.7820648 ] ] ], @@ -22825,6 +25635,10 @@ [ 21.0282249, 56.0796297 + ], + [ + 21.4926054, + 56.3592046 ] ] ], @@ -22962,8 +25776,9 @@ ] ] ], - "terms_url": "http://www.lpi.nsw.gov.au/mapping_and_imagery/lpi_web_services", - "terms_text": "© Land and Property Information 2015" + "terms_url": "http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", + "terms_text": "© Land and Property Information 2016", + "id": "NSW LPI Base Map" }, { "name": "LPI NSW Imagery", @@ -23317,8 +26132,10 @@ ] ] ], - "terms_url": "http://www.lpi.nsw.gov.au/mapping_and_imagery/lpi_web_services", - "terms_text": "© Land and Property Information 2015" + "terms_url": "http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", + "terms_text": "© Land and Property Information 2016", + "id": "NSW LPI Imagery", + "best": true }, { "name": "LPI NSW Topographic Map", @@ -23908,8 +26725,9 @@ ] ] ], - "terms_url": "http://www.lpi.nsw.gov.au/mapping_and_imagery/lpi_web_services", - "terms_text": "© Land and Property Information 2015" + "terms_url": "http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", + "terms_text": "© Land and Property Information 2016", + "id": "NSW LPI Topographic Map" }, { "name": "Luxembourg Geoportail Basemap", @@ -29009,6 +31827,10 @@ [ -123.2275233, 48.1849927 + ], + [ + -124.7617886, + 48.4130148 ] ], [ @@ -29051,6 +31873,10 @@ [ -159.0093692, 22.5070181 + ], + [ + -160.5787616, + 22.5062947 ] ], [ @@ -29197,6 +32023,10 @@ [ -164.9717003, 68.994689 + ], + [ + -167.1571546, + 68.721974 ] ] ], @@ -30242,6 +33072,10 @@ [ -6.4551164, 49.8591793 + ], + [ + -6.4585407, + 49.9044128 ] ], [ @@ -30332,6 +33166,10 @@ [ -1.453168, 60.5934321 + ], + [ + -1.4495137, + 60.8634056 ] ], [ @@ -30350,6 +33188,10 @@ [ -4.8766366, 54.0221831 + ], + [ + -4.9089213, + 54.4242078 ] ], [ @@ -30368,6 +33210,10 @@ [ -5.8621751, 59.0990605 + ], + [ + -5.8667408, + 59.1444603 ] ], [ @@ -30386,6 +33232,10 @@ [ -1.7054472, 59.4975834 + ], + [ + -1.7065887, + 59.5703599 ] ], [ @@ -30404,6 +33254,10 @@ [ -7.6797341, 58.2577853 + ], + [ + -7.6865827, + 58.2940975 ] ], [ @@ -30422,6 +33276,10 @@ [ -4.5332574, 59.0180707 + ], + [ + -4.5338281, + 59.0359871 ] ], [ @@ -30440,6 +33298,10 @@ [ -8.6510947, 57.7779213 + ], + [ + -8.6710698, + 57.8769896 ] ], [ @@ -31194,6 +34056,10 @@ [ -5.2618345, 50.7082694 + ], + [ + -5.2395519, + 50.3530581 ] ], [ @@ -31212,6 +34078,10 @@ [ -2.148555, 60.1011247 + ], + [ + -2.1502671, + 60.171318 ] ], [ @@ -31230,6 +34100,10 @@ [ -6.2097426, 59.0714985 + ], + [ + -6.2086011, + 59.1163488 ] ], [ @@ -31248,6 +34122,10 @@ [ -4.3913388, 59.0897328 + ], + [ + -4.4159559, + 59.0889036 ] ] ], @@ -31279,6 +34157,10 @@ [ -4.7148782, 54.6615818 + ], + [ + -4.7157244, + 54.6796556 ] ], [ @@ -31361,6 +34243,10 @@ [ -3.7158389, 58.4270836 + ], + [ + -3.7085748, + 58.3371151 ] ], [ @@ -31387,6 +34273,10 @@ [ -6.4504159, 49.8159968 + ], + [ + -6.46676, + 49.9943621 ] ], [ @@ -33089,6 +35979,10 @@ [ -5.6468717, 50.2209953 + ], + [ + -5.6453263, + 50.2029809 ] ], [ @@ -33107,6 +36001,10 @@ [ -5.1322161, 55.2446343 + ], + [ + -5.1336607, + 55.2630226 ] ], [ @@ -33125,6 +36023,10 @@ [ -5.6277517, 55.3302345 + ], + [ + -5.6431878, + 55.5095745 ] ], [ @@ -33143,6 +36045,10 @@ [ -4.7174993, 51.1280545 + ], + [ + -4.7213517, + 51.2180246 ] ], [ @@ -33161,6 +36067,10 @@ [ -5.1755648, 55.6138137 + ], + [ + -5.1608796, + 55.4153626 ] ] ], @@ -34386,6 +37296,10 @@ [ -5.2152946, 55.0341891 + ], + [ + -5.2112173, + 54.8018593 ] ], [ @@ -34404,6 +37318,10 @@ [ -2.1663122, 60.104743 + ], + [ + -2.1646559, + 60.1622059 ] ], [ @@ -34562,6 +37480,10 @@ [ -1.528659, 60.1459283 + ], + [ + -1.5360658, + 59.8570831 ] ], [ @@ -34580,6 +37502,10 @@ [ -0.8065683, 60.8934578 + ], + [ + -0.9847667, + 60.8943762 ] ], [ @@ -34842,6 +37768,10 @@ [ -7.603783, 56.8792358 + ], + [ + -7.7696901, + 56.8788231 ] ], [ @@ -34860,6 +37790,10 @@ [ -1.7112191, 59.5041365 + ], + [ + -1.7106618, + 59.5626284 ] ] ], @@ -34875,7 +37809,8 @@ 17 ], "terms_url": "http://openstreetmap.org/", - "terms_text": "© OpenStreetMap contributors, CC-BY-SA" + "terms_text": "© OpenStreetMap contributors, CC-BY-SA", + "overlay": true }, { "name": "OpenStreetMap (Standard)", @@ -34902,7 +37837,7 @@ ], "terms_url": "http://www.openstreetmap.org/copyright", "terms_text": "© OpenStreetMap contributors", - "terms_html": "© OpenStreetMap contributors. North: South: East: West: ", + "terms_html": "GPS Direction: © OpenStreetMap contributors.", "overlay": true }, { @@ -35814,6 +38749,10 @@ [ -5.2839506, 50.0229734 + ], + [ + -5.8292886, + 50.0229734 ] ], [ @@ -35848,6 +38787,10 @@ [ -6.2540201, 49.8673563 + ], + [ + -6.4580707, + 49.8673563 ] ], [ @@ -35866,6 +38809,10 @@ [ -5.7683254, 49.932156 + ], + [ + -5.8343165, + 49.932156 ] ], [ @@ -35924,6 +38871,10 @@ [ -1.3506319, 60.6885737 + ], + [ + -1.9483797, + 60.6885737 ] ], [ @@ -35942,6 +38893,10 @@ [ -1.9864011, 60.1968568 + ], + [ + -2.203381, + 60.1968568 ] ], [ @@ -35960,6 +38915,10 @@ [ -1.5373349, 59.5698289 + ], + [ + -1.7543149, + 59.5698289 ] ], [ @@ -35978,6 +38937,10 @@ [ -4.2867004, 59.1370518 + ], + [ + -4.5585981, + 59.1370518 ] ], [ @@ -35996,6 +38959,10 @@ [ -5.6650612, 59.2025744 + ], + [ + -6.2787732, + 59.2025744 ] ], [ @@ -36014,6 +38981,10 @@ [ -8.3592926, 57.9440556 + ], + [ + -8.7163482, + 57.9440556 ] ], [ @@ -36032,6 +39003,10 @@ [ -7.3907205, 50.4021026 + ], + [ + -7.6077005, + 50.4021026 ] ], [ @@ -36050,6 +39025,10 @@ [ -7.5134503, 58.3579902 + ], + [ + -7.7304303, + 58.3579902 ] ] ] @@ -36087,6 +39066,30 @@ ] ] }, + { + "name": "OSM Inspector: Addresses", + "type": "tms", + "template": "http://tools.geofabrik.de/osmi/tiles/addresses/{zoom}/{x}/{y}.png", + "scaleExtent": [ + 0, + 18 + ], + "terms_url": "http://tools.geofabrik.de/osmi/", + "terms_text": "© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA", + "overlay": true + }, + { + "name": "OSM Inspector: Routing", + "type": "tms", + "template": "http://tools.geofabrik.de/osmi/tiles/routing/{zoom}/{x}/{y}.png", + "scaleExtent": [ + 0, + 18 + ], + "terms_url": "http://tools.geofabrik.de/osmi/", + "terms_text": "© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA", + "overlay": true + }, { "name": "Pangasinán/Bulacan (Phillipines HiRes)", "type": "tms", @@ -36154,6 +39157,10 @@ [ 120.695, 14.8423 + ], + [ + 120.8268, + 15.3658 ] ] ] @@ -37770,6 +40777,10 @@ [ 17.8396817, -32.8507302 + ], + [ + 17.8396817, + -32.7983384 ] ] ], @@ -43148,6 +46159,10 @@ [ -96.0131199, 49.0060547 + ], + [ + -125.990173, + 48.9962416 ] ] ], @@ -43283,6 +46298,10 @@ [ 12.1229489, 55.3483291 + ], + [ + 12.0913942, + 55.3491574 ] ] ], @@ -43769,6 +46788,10 @@ [ -0.7296581, 51.0744919 + ], + [ + -0.752478, + 51.0821941 ] ] ] @@ -44340,6 +47363,10 @@ [ 1.1924294, 43.6103695 + ], + [ + 1.1919978, + 43.6328791 ] ] ], @@ -44571,6 +47598,10 @@ [ 1.1149055, 43.6417629 + ], + [ + 1.1135067, + 43.6867566 ] ] ], @@ -44802,6 +47833,10 @@ [ 1.1149055, 43.6417629 + ], + [ + 1.1135067, + 43.6867566 ] ] ], @@ -45033,6 +48068,10 @@ [ 1.1149055, 43.6417629 + ], + [ + 1.1135067, + 43.6867566 ] ] ], @@ -45632,6 +48671,10 @@ [ 0.5721805, 47.4656513 + ], + [ + 0.5457462, + 47.465264 ] ] ], @@ -45954,6 +48997,10 @@ [ -123.2275233, 48.1849927 + ], + [ + -124.7617886, + 48.4130148 ] ], [ @@ -45996,6 +49043,10 @@ [ -159.0093692, 22.5070181 + ], + [ + -160.5787616, + 22.5062947 ] ], [ @@ -46142,6 +49193,10 @@ [ -164.9717003, 68.994689 + ], + [ + -167.1571546, + 68.721974 ] ] ] @@ -50137,6 +53192,10 @@ [ -123.1838197, 48.7529029 + ], + [ + -123.2549305, + 48.7529029 ] ], [ @@ -50171,6 +53230,10 @@ [ -123.0595947, 37.7528143 + ], + [ + -122.9341743, + 37.7521547 ] ], [ @@ -50189,6 +53252,10 @@ [ -71.6298594, 41.1229149 + ], + [ + -71.6299464, + 41.2540893 ] ], [ @@ -50239,6 +53306,10 @@ [ -70.2462087, 41.3775467 + ], + [ + -70.3184265, + 41.3775196 ] ], [ @@ -50281,6 +53352,10 @@ [ -68.9402483, 43.8117599 + ], + [ + -68.9403374, + 43.9404062 ] ], [ @@ -50299,6 +53374,10 @@ [ -123.1291466, 48.9343243 + ], + [ + -123.1291466, + 49.0645144 ] ], [ @@ -50333,6 +53412,10 @@ [ -82.9407144, 24.5594908 + ], + [ + -82.9407144, + 24.7535913 ] ] ] @@ -50678,6 +53761,10 @@ [ -96.0131199, 49.0060547 + ], + [ + -125.990173, + 48.9962416 ] ], [ @@ -50728,6 +53815,10 @@ [ -159.0093692, 22.5070181 + ], + [ + -160.5787616, + 22.5062947 ] ], [ @@ -51034,6 +54125,10 @@ [ -164.9717003, 68.994689 + ], + [ + -168.006102, + 68.9941463 ] ], [ @@ -51052,6 +54147,10 @@ [ -172.0191536, 62.8681608 + ], + [ + -168.5133204, + 62.8689586 ] ], [ @@ -51070,6 +54169,10 @@ [ -174.0035162, 59.9946581 + ], + [ + -170.9947111, + 59.9954089 ] ], [ @@ -51088,6 +54191,10 @@ [ -156.0709936, 18.9023432 + ], + [ + -156.0717261, + 20.2854602 ] ] ] @@ -51656,6 +54763,10 @@ [ 8.531432, 54.95516 + ], + [ + 8.3743941, + 54.9551655 ] ], [ @@ -51674,6 +54785,10 @@ [ 11.4459621, 56.6401087 + ], + [ + 11.4577738, + 56.819554 ] ], [ @@ -51700,6 +54815,10 @@ [ 10.8290599, 57.3695272 + ], + [ + 11.3274736, + 57.3612962 ] ], [ @@ -51718,6 +54837,10 @@ [ 11.7456428, 56.2743186 + ], + [ + 11.5843266, + 56.2777928 ] ], [ @@ -51768,6 +54891,10 @@ [ 14.6317464, 55.0062496 + ], + [ + 14.6825922, + 55.3639405 ] ] ], From 2a6fd8468baa59b674329b4c6b70368b5f5d2f8a Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 15 Nov 2016 00:46:29 -0500 Subject: [PATCH 049/119] 2.0.0 --- CHANGELOG.md | 2 +- modules/core/context.js | 2 +- package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7422101f..f7a6ee5a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ :warning: = Breaking change, may affect downstream projects or sites that embed iD. ## 2.0.0 -##### (coming soon) +##### Nov 15, 2016 * :warning: iD is now written in a modular code style using ES6 `import`/`export` and [rollup.js](http://rollupjs.org/) as a build tool (#3118, #3179, #3180) * Many thanks to @tmcw, @kepta, @tyrasd, @beaugunderson, @davidchouse * :warning: Flattened namespace means that all functions have changed names (#3479) diff --git a/modules/core/context.js b/modules/core/context.js index 03738d972..9dd82ed6f 100644 --- a/modules/core/context.js +++ b/modules/core/context.js @@ -346,7 +346,7 @@ export function coreContext() { /* Init */ - context.version = '2.0.0-beta.1'; + context.version = '2.0.0'; context.projection = geoRawMercator(); diff --git a/package.json b/package.json index 8e7aa15f2..15acf9797 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iD", - "version": "2.0.0-beta.1", + "version": "2.0.0", "description": "A friendly editor for OpenStreetMap", "main": "iD.js", "repository": "openstreetmap/iD", From b2ca60c7fe58c8f07710fc356934d94904fc6526 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 15 Nov 2016 00:51:39 -0500 Subject: [PATCH 050/119] Remember to check in mapillary-js for release builds --- RELEASING.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RELEASING.md b/RELEASING.md index 449a112a1..bf1c27757 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -26,7 +26,7 @@ - [ ] git checkout release - [ ] git reset --hard master - [ ] npm run all -- [ ] git add -f dist/*.css dist/*.js dist/img/*.svg dist/locales/*.json +- [ ] git add -f dist/*.css dist/*.js dist/img/*.svg dist/locales/*.json dist/mapillary-js/ - [ ] git commit -m 'Check in build' - [ ] git tag vA.B.C - [ ] git push origin -f release vA.B.C From 4d346196d0a7c491dd10fe8ffae9ade3087048a0 Mon Sep 17 00:00:00 2001 From: Klumbumbus Date: Tue, 15 Nov 2016 12:51:49 +0100 Subject: [PATCH 051/119] Update core.yaml --- data/core.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/data/core.yaml b/data/core.yaml index e1e8bf3c8..8922e0f2d 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -280,7 +280,7 @@ en: switch: Switch back to this background custom: Custom custom_button: Edit custom background - custom_prompt: "Enter a tile URL template. Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme." + custom_prompt: "Enter a tile URL template. Valid tokens are {zoom}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme." fix_misalignment: Adjust imagery offset imagery_source_faq: Where does this imagery come from? reset: reset From ec29bc8fd5f24313c3a3391941c1f521596419fb Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 15 Nov 2016 11:05:21 -0500 Subject: [PATCH 052/119] Add note about authentication options url -> urlroot change --- CHANGELOG.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index f7a6ee5a7..6473912a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -16,6 +16,8 @@ * iD requires Node v4 or higher, but does not require `make` anymore * Update install instructions and prerequisites (#3466, thanks @tyrasd) * :warning: iD url hash map order has changed to `zoom/latitude/longitude` to match OSM and others (#3554) +* :warning: Authentication methods like `context.preauth`, `connection.switch`, `iD.uiSourceSwitch.keys` options have changed + * `url` option has been renamed to `urlroot` * Many preset improvements: * Add Construction and Tower Type fields to Mast and Tower presets (#3561, thanks @bkil) * Add Turning Loop (Island) preset, adjust icons for traversable/nontraversable features (#3557) From 3ae228a9794b1703f6bfd064df8aa2c14034bdf3 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Tue, 15 Nov 2016 02:21:12 -0500 Subject: [PATCH 053/119] chore(package): update lodash to version 4.17.1 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 15acf9797..fe1e8fdf5 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "diacritics": "1.2.3", - "lodash": "4.17.0", + "lodash": "4.17.1", "marked": "0.3.6", "osm-auth": "1.0.1", "rbush": "2.0.1", From 857c54c63447e03a46186ab00ea60412a641effa Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 15 Nov 2016 11:41:38 -0500 Subject: [PATCH 054/119] npm run build to update generated en.json --- dist/locales/en.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/dist/locales/en.json b/dist/locales/en.json index ebfc82efa..b8ae49472 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -337,7 +337,7 @@ "switch": "Switch back to this background", "custom": "Custom", "custom_button": "Edit custom background", - "custom_prompt": "Enter a tile URL template. Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme.", + "custom_prompt": "Enter a tile URL template. Valid tokens are {zoom}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme.", "fix_misalignment": "Adjust imagery offset", "imagery_source_faq": "Where does this imagery come from?", "reset": "reset", From ff5372490b8d13e8962a1dd70644877d5f851ae0 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 15 Nov 2016 13:13:28 -0500 Subject: [PATCH 055/119] Fix url parser to work with lat/lng when checking for "best" imagery (closes #3586) --- modules/renderer/background.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/renderer/background.js b/modules/renderer/background.js index db19adb8c..a47e9e374 100644 --- a/modules/renderer/background.js +++ b/modules/renderer/background.js @@ -197,7 +197,7 @@ export function rendererBackground(context) { if (!qmap) return false; var args = qmap.split('/').map(Number); if (args.length < 3 || args.some(isNaN)) return false; - return geoExtent([args[1], args[2]]); + return geoExtent([args[2], args[1]]); } var dataImagery = data.imagery || [], From 82d5ade8cb92c927820c504fa6f6f50e300020e8 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 16 Nov 2016 20:57:11 -0500 Subject: [PATCH 056/119] Update CHANGELOG --- CHANGELOG.md | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6473912a8..5464c5852 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ :warning: = Breaking change, may affect downstream projects or sites that embed iD. +## 2.0.1 +##### coming soon +* Bugfixes: + * When starting iD with an object selected, the map should focus on that object (#3588) + * Fix for "Best" imagery not being automatically selected (#3586) + ## 2.0.0 ##### Nov 15, 2016 * :warning: iD is now written in a modular code style using ES6 `import`/`export` and [rollup.js](http://rollupjs.org/) as a build tool (#3118, #3179, #3180) From 941d026b7c5d199cfd6452ad01dd06b840996534 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 17 Nov 2016 12:07:14 -0500 Subject: [PATCH 057/119] Adjust max Mapillary pages fetched per zoom, min viewfield zoom For performance around densely mapped areas like SF --- modules/services/mapillary.js | 44 +++++++++++++++++++++++---------- modules/svg/mapillary_images.js | 2 +- 2 files changed, 32 insertions(+), 14 deletions(-) diff --git a/modules/services/mapillary.js b/modules/services/mapillary.js index ac46b462f..40f1697f0 100644 --- a/modules/services/mapillary.js +++ b/modules/services/mapillary.js @@ -16,7 +16,6 @@ var apibase = 'https://a.mapillary.com/v2/', trafficocss = 'traffico/stylesheets/traffico.css', clientId = 'NzNRM2otQkR2SHJzaXJmNmdQWVQ0dzo1ZWYyMmYwNjdmNDdlNmVi', maxResults = 1000, - maxPages = 10, tileZoom = 14, dispatch = d3.dispatch('loadedImages', 'loadedSigns'), mapillaryCache, @@ -43,6 +42,16 @@ function nearNullIsland(x, y, z) { } +function maxPageAtZoom(z) { + if (z < 15) return 2; + if (z === 15) return 5; + if (z === 16) return 10; + if (z === 17) return 20; + if (z === 18) return 40; + if (z > 18) return 80; +} + + function getTiles(projection) { var s = projection.scale() * 2 * Math.PI, z = Math.max(Math.log(s) / Math.log(2) - 8, 0), @@ -62,6 +71,7 @@ function getTiles(projection) { return { id: tile.toString(), + xyz: tile, extent: geoExtent( projection.invert([x, y + ts]), projection.invert([x + ts, y]) @@ -72,9 +82,11 @@ function getTiles(projection) { function loadTiles(which, url, projection) { + var s = projection.scale() * 2 * Math.PI, + currZoom = Math.floor(Math.max(Math.log(s) / Math.log(2) - 8, 0)); + var tiles = getTiles(projection).filter(function(t) { - var xyz = t.id.split(','); - return !nearNullIsland(xyz[0], xyz[1], xyz[2]); + return !nearNullIsland(t.xyz[0], t.xyz[1], t.xyz[2]); }); _.filter(which.inflight, function(v, k) { @@ -84,23 +96,27 @@ function loadTiles(which, url, projection) { }).map(abortRequest); tiles.forEach(function(tile) { - loadTilePage(which, url, tile, 0); + loadNextTilePage(which, currZoom, url, tile); }); } -function loadTilePage(which, url, tile, page) { +function loadNextTilePage(which, currZoom, url, tile) { var cache = mapillaryCache[which], - id = tile.id + ',' + String(page), - rect = tile.extent.rectangle(); + rect = tile.extent.rectangle(), + maxPages = maxPageAtZoom(currZoom), + nextPage = cache.nextPage[tile.id] || 0; + if (nextPage > maxPages) return; + + var id = tile.id + ',' + String(nextPage); if (cache.loaded[id] || cache.inflight[id]) return; cache.inflight[id] = d3.json(url + utilQsString({ geojson: 'true', limit: maxResults, - page: page, + page: nextPage, client_id: clientId, min_lon: rect[0], min_lat: rect[1], @@ -112,7 +128,6 @@ function loadTilePage(which, url, tile, page) { if (err || !data.features || !data.features.length) return; var features = [], - nextPage = page + 1, feature, loc, d; for (var i = 0; i < data.features.length; i++) { @@ -130,8 +145,11 @@ function loadTilePage(which, url, tile, page) { if (which === 'images') dispatch.call('loadedImages'); if (which === 'signs') dispatch.call('loadedSigns'); - if (data.features.length === maxResults && nextPage < maxPages) { - loadTilePage(which, url, tile, nextPage); + if (data.features.length === maxResults) { // more pages to load + cache.nextPage[tile.id] = nextPage + 1; + loadNextTilePage(which, currZoom, url, tile); + } else { + cache.nextPage[tile.id] = Infinity; // no more pages to load } } ); @@ -196,8 +214,8 @@ export default { } mapillaryCache = { - images: { inflight: {}, loaded: {}, rtree: rbush() }, - signs: { inflight: {}, loaded: {}, rtree: rbush() } + images: { inflight: {}, loaded: {}, nextPage: {}, rtree: rbush() }, + signs: { inflight: {}, loaded: {}, nextPage: {}, rtree: rbush() } }; mapillaryImage = null; diff --git a/modules/svg/mapillary_images.js b/modules/svg/mapillary_images.js index 740f2a7ac..95b33f40b 100644 --- a/modules/svg/mapillary_images.js +++ b/modules/svg/mapillary_images.js @@ -7,7 +7,7 @@ import { services } from '../services/index'; export function svgMapillaryImages(projection, context, dispatch) { var throttledRedraw = _.throttle(function () { dispatch.call('change'); }, 1000), minZoom = 12, - minViewfieldZoom = 16, + minViewfieldZoom = 17, layer = d3.select(null), _mapillary; From 531a370b80653557824bf3a3a7d91a9e74ac205b Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 17 Nov 2016 12:56:23 -0500 Subject: [PATCH 058/119] Update CHANGELOG --- CHANGELOG.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 5464c5852..b551932cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,10 +1,12 @@ :warning: = Breaking change, may affect downstream projects or sites that embed iD. ## 2.0.1 -##### coming soon +##### Nov 17, 2016 * Bugfixes: - * When starting iD with an object selected, the map should focus on that object (#3588) + * When starting iD with an object selected, the map should focus on that object (#3588, thanks @tyrasd) * Fix for "Best" imagery not being automatically selected (#3586) +* Performance improvements: + * Adjust max Mapillary pages fetched per zoom, adjust min viewfield zoom ## 2.0.0 ##### Nov 15, 2016 From 2448f1af1c1f7ef002a66f7d6d7f4591f9ad2891 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 17 Nov 2016 13:02:40 -0500 Subject: [PATCH 059/119] npm run translations --- dist/locales/ast.json | 1 - dist/locales/bg-BG.json | 1 - dist/locales/ca.json | 1 - dist/locales/cs.json | 4 +- dist/locales/da.json | 2 +- dist/locales/de.json | 2 +- dist/locales/en-GB.json | 1 - dist/locales/es.json | 15 +- dist/locales/fa.json | 1 - dist/locales/fi.json | 1 - dist/locales/fr.json | 1 - dist/locales/gl.json | 1 - dist/locales/hr.json | 2 +- dist/locales/hu.json | 2 +- dist/locales/hy.json | 1 - dist/locales/id.json | 1 - dist/locales/it.json | 2 +- dist/locales/ja.json | 1 - dist/locales/ko.json | 1 - dist/locales/lt.json | 1 - dist/locales/nl.json | 1 - dist/locales/pl.json | 43 ++- dist/locales/pt-BR.json | 9 +- dist/locales/pt.json | 1 - dist/locales/ru.json | 17 +- dist/locales/sk.json | 1 - dist/locales/sl.json | 1 - dist/locales/sq.json | 1 - dist/locales/sv.json | 1 - dist/locales/ta.json | 636 ++++++++++++++++++++++++++++++++++++++-- dist/locales/tl.json | 1 - dist/locales/uk.json | 51 +++- dist/locales/vi.json | 31 +- dist/locales/yue.json | 1 - dist/locales/zh-CN.json | 19 +- dist/locales/zh-HK.json | 1 - dist/locales/zh-TW.json | 2 +- modules/util/detect.js | 2 +- 38 files changed, 798 insertions(+), 63 deletions(-) diff --git a/dist/locales/ast.json b/dist/locales/ast.json index cec598925..4b988bc44 100644 --- a/dist/locales/ast.json +++ b/dist/locales/ast.json @@ -334,7 +334,6 @@ "switch": "Volver a esti fondu", "custom": "Personalizáu", "custom_button": "Editar fondu personalizáu", - "custom_prompt": "Escribi una plantía d'URL de títulu. Los parámetros válidos son {z}, {x}, {y} pal esquema Z/X/Y y {u} pal esquema QuadTiles.", "fix_misalignment": "Axustar el desplazamientu de les imáxenes", "imagery_source_faq": "¿D'aú vienen estes imáxenes?", "reset": "reaniciar", diff --git a/dist/locales/bg-BG.json b/dist/locales/bg-BG.json index e5c3c3c0c..b70dd450d 100644 --- a/dist/locales/bg-BG.json +++ b/dist/locales/bg-BG.json @@ -324,7 +324,6 @@ "none": "Никакъв", "best_imagery": "Най-известен източник на изображения за това местоположение", "custom": "Обичаен", - "custom_prompt": "Въведи валидна URL схема. Валидни са {z}, {x}, {y} или Z/X/Y схеми и {u} за quadtile схема.", "imagery_source_faq": "От къде идва това изображение?", "reset": "презареждане" }, diff --git a/dist/locales/ca.json b/dist/locales/ca.json index b47920784..c73b8026b 100644 --- a/dist/locales/ca.json +++ b/dist/locales/ca.json @@ -335,7 +335,6 @@ "switch": "Senyals de trànsit ", "custom": "Personalitzar", "custom_button": "Editar el fons personalitzat", - "custom_prompt": "Introduïu una plantilla d'URL de casella. Els paràmetres vàlids són {z}, {x}, {y} per a l'esquema Z/X/Y i {u} per a l'esquema quadtile.", "fix_misalignment": "Ajusta la alineació de la imatgeria", "imagery_source_faq": "D'on prové aquesta imatgeria?", "reset": "reiniciar", diff --git a/dist/locales/cs.json b/dist/locales/cs.json index efb53418d..8741c5448 100644 --- a/dist/locales/cs.json +++ b/dist/locales/cs.json @@ -337,7 +337,6 @@ "switch": "Přepnout zpět na toto pozadí", "custom": "Vlastní", "custom_button": "Editovat vlastní pozadí", - "custom_prompt": "Vložte šablonu adres dlaždic. Lze použít tokeny {z}, {x}, {y} pro schéma Z/X/Y a {u} pro hierarchické schéma quadtile.", "fix_misalignment": "Zarovnat podklad", "imagery_source_faq": "Odkud jsou tyto podklady?", "reset": "vrátit na začátek", @@ -4055,6 +4054,9 @@ "name": "Informace", "terms": "informace,údaje,údaj,cedule,tabule" }, + "tourism/information/guidepost": { + "name": "Rozcestník" + }, "tourism/motel": { "name": "Motel", "terms": "motel,hotel,penzion,ubytování" diff --git a/dist/locales/da.json b/dist/locales/da.json index bf8ad6b6f..47c086614 100644 --- a/dist/locales/da.json +++ b/dist/locales/da.json @@ -337,7 +337,7 @@ "switch": "Skift tilbage til denne baggrund", "custom": "Brugerdefineret", "custom_button": "Rediger brugerdefineret baggrund", - "custom_prompt": "Angiv en URL-skabelon for fliser. Gyldige værdier er {z}, {x}, {y} for Z/X/Y-systemet og {u} for quadtile-systemet. ", + "custom_prompt": "Indtast en tile URL template. Valide opsætning er {zoom}, {x}, {y} for Z/X/Y skema og {u} for kvartile skema.", "fix_misalignment": "Justerer billedets offset", "imagery_source_faq": "Hvem er ophavsmand til luftfotoet?", "reset": "nulstil", diff --git a/dist/locales/de.json b/dist/locales/de.json index c38e9701d..5cf042b6f 100644 --- a/dist/locales/de.json +++ b/dist/locales/de.json @@ -337,7 +337,7 @@ "switch": "Zu diesem Hintergrund zurück wechseln", "custom": "Benutzerdefiniert", "custom_button": "Benutzerdefinierten Hintergrund bearbeiten", - "custom_prompt": "Gib eine Vorlage für eine Kachel-URL ein. Gültige Platzhalter sind {z}, {x}, {y} für das Z/X/Y Schema und {u} für das „quadtile“-Schema.", + "custom_prompt": "Gib ein URL tile template ein. Gültige Token sind {zoom}, {x}, {y} für das z/x/y Schema oder {u} für das quadtile Schema.", "fix_misalignment": "Bildmaterial-Versatz anpassen", "imagery_source_faq": "Woher kommt dieses Bildmaterial?", "reset": "Zurücksetzen", diff --git a/dist/locales/en-GB.json b/dist/locales/en-GB.json index 325a43a9f..584d8d359 100644 --- a/dist/locales/en-GB.json +++ b/dist/locales/en-GB.json @@ -334,7 +334,6 @@ "switch": "Switch back to this background", "custom": "Custom", "custom_button": "Edit custom background", - "custom_prompt": "Enter a tile URL template. Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme.", "fix_misalignment": "Adjust imagery offset", "imagery_source_faq": "Where does this imagery come from?", "reset": "reset", diff --git a/dist/locales/es.json b/dist/locales/es.json index b7f5bb2a7..88c48a58f 100644 --- a/dist/locales/es.json +++ b/dist/locales/es.json @@ -337,7 +337,7 @@ "switch": "Volver a este fondo", "custom": "Personalizado", "custom_button": "Editar fondo personalizado", - "custom_prompt": "Introduzca un patrón de URL de teselas. Los símbolos válidos son {z}, {x}, {y} para el esquema Z/X/Y y {u} para el esquema quadtile.", + "custom_prompt": "Introduzca una plantilla URL de tesela. Los símbolos válidos son {zoom}, {x}, {y} para el esquema Z/X/Y y {u} para el esquema cuadrático.", "fix_misalignment": "Ajustar desplazamiento de imágenes", "imagery_source_faq": "¿De dónde vienen estas imágenes?", "reset": "reiniciar", @@ -4090,13 +4090,20 @@ "terms": "información, información turística, oficina de información" }, "tourism/information/board": { - "name": "Tablero de información" + "name": "Tablero de información", + "terms": "Tablero de información, información turística, cartel" + }, + "tourism/information/guidepost": { + "name": "Poste guía", + "terms": "Poste guía, columna, carteles, información" }, "tourism/information/map": { - "name": "Mapa" + "name": "Mapa", + "terms": "Mapa, mapa turístico, información" }, "tourism/information/office": { - "name": "Oficina de información turística" + "name": "Oficina de información turística", + "terms": "Oficina de Información turística, Información turística, Información, Guía, turismo" }, "tourism/motel": { "name": "Motel", diff --git a/dist/locales/fa.json b/dist/locales/fa.json index ed31df065..d8f6c1d39 100644 --- a/dist/locales/fa.json +++ b/dist/locales/fa.json @@ -337,7 +337,6 @@ "switch": "بازگشت به این پس‌زمینه", "custom": "سفارشی", "custom_button": "ویرایش پشت زمینه سفارشی", - "custom_prompt": "آدرس قالب کاشی را وارد کنید. ورودی‌های درست {z}, {x}, {y} هستند برای الگوی Z/X/Y و {u} برای طرح چهار کاشی.", "fix_misalignment": "تنظیم فاصله تصویری", "imagery_source_faq": "منبع این تصویر کجاست؟", "reset": "باز نشاندن", diff --git a/dist/locales/fi.json b/dist/locales/fi.json index 8b55a8130..f333eee0f 100644 --- a/dist/locales/fi.json +++ b/dist/locales/fi.json @@ -323,7 +323,6 @@ "best_imagery": "Paras ilmakuvalähde tälle sijainnille", "custom": "Mukautettu", "custom_button": "Muokkaa omaa taustaa", - "custom_prompt": "Kirjoita tiilen verkko-osoitemallinne. Kelvollisia merkkejä ovat {z}, {x}, {y} Z/X/Y-skeemalle ja {u} quadtile-skeemalle.", "fix_misalignment": "Korjaa ilmakuvavirhe", "imagery_source_faq": "Mikä tämän ilmakuvan lähde on?", "reset": "palauta", diff --git a/dist/locales/fr.json b/dist/locales/fr.json index 24931ef65..3766a74bd 100644 --- a/dist/locales/fr.json +++ b/dist/locales/fr.json @@ -337,7 +337,6 @@ "switch": "Revenir à cet arrière-plan", "custom": "Personnalisé", "custom_button": "Modifier le fond personnalisé", - "custom_prompt": "Saisir un template d'URL de tuile. Les symboles sont {z}, {x}, {y} pour la structure Z/X/Y et {u} pour la balance des domaines.", "fix_misalignment": "Ajuster le décalage de l'imagerie", "imagery_source_faq": "D'où provient cette imagerie ?", "reset": "réinitialiser", diff --git a/dist/locales/gl.json b/dist/locales/gl.json index 2aaadefdf..ee5b4eba5 100644 --- a/dist/locales/gl.json +++ b/dist/locales/gl.json @@ -314,7 +314,6 @@ "none": "Ningún", "custom": "Personalizado", "custom_button": "Editar fondo personalizado", - "custom_prompt": "Introduce a URL dun modelo de teselas. Os símbolos válidos son {z}, {x}, {y} para o esquema Z/X/Y e {u} para o esquema quadtile.", "reset": "reiniciar", "minimap": { "description": "Mapa pequeno", diff --git a/dist/locales/hr.json b/dist/locales/hr.json index e712b7c69..eb2467a3a 100644 --- a/dist/locales/hr.json +++ b/dist/locales/hr.json @@ -337,7 +337,7 @@ "switch": "Vrati nazad na ovu pozadinu", "custom": "Podesivo", "custom_button": "Uredi prilagođenu pozadinu", - "custom_prompt": "Unesi URL predložak za popločavanje. Ispravni znakovi su {z}, {x}, {y} za Z/X/Y shemu i {u} za quadtile shemu.", + "custom_prompt": "Unesi URL predložak sličica karte. Ispravne oznake su {zoom}, {x}, {y} za Z/X/Y shemu i {u} za quadtile shemu.", "fix_misalignment": "Popravi odstupanje snimaka", "imagery_source_faq": "Koji je izvornik snimaka?", "reset": "resetiraj", diff --git a/dist/locales/hu.json b/dist/locales/hu.json index c921966ed..7078e666c 100644 --- a/dist/locales/hu.json +++ b/dist/locales/hu.json @@ -337,7 +337,7 @@ "switch": "Visszaváltás erre a háttérre", "custom": "Egyéni", "custom_button": "Egyedi háttér szerkesztése", - "custom_prompt": "Adj meg egy csempe URL sablont. Érvényes tokenek: {z}, {x}, {y} a Z/X/Y rendszerű URL-ekhez és {u} a kvadratikusakhoz.", + "custom_prompt": "Adj meg egy csempe URL sablont. Az érvényes tokenek a következőek: {zoom}, {x}, {y} a Z/X/Y sémához, és {u} a quadtile sémához.", "fix_misalignment": "Légifelvétel elcsúszásának korrigálása", "imagery_source_faq": "Honnan jön ez a légifelvétel?", "reset": "visszavonás", diff --git a/dist/locales/hy.json b/dist/locales/hy.json index c1f41099c..13ecc8a53 100644 --- a/dist/locales/hy.json +++ b/dist/locales/hy.json @@ -323,7 +323,6 @@ "none": "Ոչ մի", "custom": "Յատուկ", "custom_button": "Խմբագրել յատուկ ետնանկարը", - "custom_prompt": "Ներմուծել սալիկի URL շաբլոն. Օգտագործել՝ {z}, {x}, {y} նշաններ Z/X/Y սխեմայի, եւ {u} քառասալիկ սխեմայի համար։", "reset": "վերամեկնարկել", "minimap": { "description": "Մինիքարտէզ", diff --git a/dist/locales/id.json b/dist/locales/id.json index a0a3dfccb..e761fa44e 100644 --- a/dist/locales/id.json +++ b/dist/locales/id.json @@ -331,7 +331,6 @@ "switch": "Beralih ke latar belakang ini", "custom": "Custom", "custom_button": "Ubah tampilan latar kustom", - "custom_prompt": "Masukkan template URL. Token yang diperbolehkan adalah {z}, {x}, {y} untuk skema Z/X/Y dan {u} untuk skema quadtile.", "fix_misalignment": "Setel offset citra", "imagery_source_faq": "Dari mana citra ini diperoleh?", "reset": "ulang", diff --git a/dist/locales/it.json b/dist/locales/it.json index 1b893c9f0..e8e634dd3 100644 --- a/dist/locales/it.json +++ b/dist/locales/it.json @@ -337,7 +337,7 @@ "switch": "Ritorna a questo sfondo", "custom": "Personalizzato", "custom_button": "Modifica sfondo personalizzato", - "custom_prompt": "Inserisci l'URL dello schema dei tasselli. Valori validi sono {z}, {x}, {y} per lo schema Z/X/Y e {u} per lo schema QuadTile.", + "custom_prompt": "Inserisci l'URL dello schema dei tasselli. Valori validi sono {zoom}, {x}, {y} per lo schema Z/X/Y e {u} per lo schema QuadTile.", "fix_misalignment": "Correggi spostamento immagini", "imagery_source_faq": "Da dove vengono queste immagini?", "reset": "reset", diff --git a/dist/locales/ja.json b/dist/locales/ja.json index f3b85682a..79191bfee 100644 --- a/dist/locales/ja.json +++ b/dist/locales/ja.json @@ -337,7 +337,6 @@ "switch": "背景に切り替え", "custom": "カスタム", "custom_button": "カスタム背景の編集", - "custom_prompt": "タイルURLのテンプレートを入力してください。有効なトークンは、Z/X/Y方式ならば{z}, {x} , {y}、quadtile方式ならば{u}です。", "fix_misalignment": "画像の位置を調整", "imagery_source_faq": "この写真の出典元", "reset": "設定リセット", diff --git a/dist/locales/ko.json b/dist/locales/ko.json index dd8257454..8b418f211 100644 --- a/dist/locales/ko.json +++ b/dist/locales/ko.json @@ -331,7 +331,6 @@ "switch": "이 배경으로 복귀하다", "custom": "사용자 지정", "custom_button": "사용자 지정 배경 편집", - "custom_prompt": "타일 URL 템플릿을 입력하세요. 올바른 토큰은 Z/X/Y scheme에 대해 {z}, {x}, {y}이고 quadtile scheme에 대해 {u}입니다.", "fix_misalignment": "영상 오정렬 값을 조절하다", "imagery_source_faq": "이 영상의 출처는 어딥니까?", "reset": "재설정", diff --git a/dist/locales/lt.json b/dist/locales/lt.json index 2ee86e96e..c9b7408d2 100644 --- a/dist/locales/lt.json +++ b/dist/locales/lt.json @@ -315,7 +315,6 @@ "none": "Jokio", "custom": "Savas", "custom_button": "Redaguoti pasirinktiną foną", - "custom_prompt": "Įveskite kaladėlių URL šabloną. Galimi ženklai yra {z}, {x}, {y} Z/X/Y schemai ir {u} quadtile schemai.", "reset": "iš naujo", "minimap": { "description": "Minižemėlapis", diff --git a/dist/locales/nl.json b/dist/locales/nl.json index eeb9aec5a..e3686e152 100644 --- a/dist/locales/nl.json +++ b/dist/locales/nl.json @@ -337,7 +337,6 @@ "switch": "Selecteer terug deze achtergrond", "custom": "Aangepast", "custom_button": "Aangepaste achtergrond aanpassen", - "custom_prompt": "Voeg een tegel-URL-sjabloon toe. Geldige placeholders zijn {z}, {x}, {y} voor het Z/X/Y-schema en {u} voor het quadtile-schema.", "fix_misalignment": "Verplaatsing van luchtfoto aanpassen", "imagery_source_faq": "Waar komen deze afbeeldingen vandaan? (Engels)", "reset": "Standaard herstellen", diff --git a/dist/locales/pl.json b/dist/locales/pl.json index 352609d4c..86a7b8da0 100644 --- a/dist/locales/pl.json +++ b/dist/locales/pl.json @@ -335,7 +335,6 @@ "switch": "Wróć do tego podkładu", "custom": "Własne", "custom_button": "Edycja własnego podkładu", - "custom_prompt": "Wprowadź szablon URL dla kafelków. Dozwolone elementy to {z}, {x}, {y} dla schematu Z/X/Y oraz {u} dla schematu quadtile.", "fix_misalignment": "Przesunięcie podkładu", "imagery_source_faq": "Skąd pochodzi ta warstwa?", "reset": "Przywraca ustawienia", @@ -803,6 +802,9 @@ "whole": "krew" } }, + "board_type": { + "label": "Typ" + }, "boundary": { "label": "Typ" }, @@ -1024,6 +1026,9 @@ "handrail": { "label": "Poręcz" }, + "height": { + "label": "Wysokość (m)" + }, "highway": { "label": "Typ" }, @@ -1143,6 +1148,12 @@ "man_made": { "label": "Typ" }, + "map_size": { + "label": "Zasięg mapy" + }, + "map_type": { + "label": "Typ" + }, "maxspeed": { "label": "Ograniczenie prędkości", "placeholder": "40, 50, 60..." @@ -1527,6 +1538,13 @@ "tourism": { "label": "Typ" }, + "tower/construction": { + "label": "Typ konstrukcji", + "placeholder": "Odciągowa, krata stalowa, ukryta" + }, + "tower/type": { + "label": "Typ" + }, "tracktype": { "label": "Spoistość drogi, zazwyczaj leśnej lub polnej (tracktype)", "options": { @@ -1538,6 +1556,9 @@ }, "placeholder": "Utwardzona, nieubita..." }, + "traffic_calming": { + "label": "Typ" + }, "traffic_signals": { "label": "Typ" }, @@ -1854,6 +1875,10 @@ "name": "Lodziarnia", "terms": "sklep z lodami" }, + "amenity/internet_cafe": { + "name": "Kafejka Internetowa", + "terms": "Internet" + }, "amenity/kindergarten": { "name": "Teren przedszkola", "terms": "Teren żłobka" @@ -2068,6 +2093,10 @@ "name": "Śmietnik", "terms": "śmietnik" }, + "amenity/waste_transfer_station": { + "name": "Stacja Przeróbki Odpadów", + "terms": "odpady" + }, "amenity/water_point": { "name": "Woda pitna dla kamperów", "terms": "Woda pitna (kemping)" @@ -3676,6 +3705,10 @@ "name": "Pralnia chemiczna", "terms": "pralnia chemiczna" }, + "shop/e-cigarette": { + "name": "Sklep z e-papierosami", + "terms": "e-papierosy" + }, "shop/electronics": { "name": "Sklep RTV/AGD", "terms": "EuroRTVAgd,MediaExpert,Saturn,MediaMarkt" @@ -4010,6 +4043,14 @@ "name": "Informacja", "terms": "informacja dla turystów" }, + "tourism/information/board": { + "name": "Tablica Informacyjna", + "terms": "informacja, obwieszczenia" + }, + "tourism/information/map": { + "name": "Mapa", + "terms": "plan, mapa, " + }, "tourism/motel": { "name": "Motel", "terms": "Motel" diff --git a/dist/locales/pt-BR.json b/dist/locales/pt-BR.json index d71a0f056..8c826220a 100644 --- a/dist/locales/pt-BR.json +++ b/dist/locales/pt-BR.json @@ -337,7 +337,7 @@ "switch": "Voltar para este fundo de tela", "custom": "Customizado", "custom_button": "Editar fundo de tela personalizado", - "custom_prompt": "Informe um modelo de URL de quadrículas. Tokens válidos são {z}, {x}, {y} para o esquema Z/X/Y e {u} para o esquema quadtile.", + "custom_prompt": "Insira um modelo de URL de uma camada de tiles. São tokens válidos: {zoom}, {x}, {y} para o esquema Z/X/Y e {u} para o esquema quadtile.", "fix_misalignment": "Ajustar o deslocamento da imagem", "imagery_source_faq": "De onde essa imagem de satélite vem?", "reset": "redefinir", @@ -1548,7 +1548,8 @@ "label": "Tipo" }, "tower/construction": { - "label": "Construção" + "label": "Construção", + "placeholder": "Içado, Malha, Camuflado, ..." }, "tower/type": { "label": "Tipo" @@ -2782,6 +2783,10 @@ "name": "Balão de Retorno", "terms": "Balão de Retorno" }, + "highway/turning_loop": { + "name": "Balão de retorno", + "terms": "Retorno" + }, "highway/unclassified": { "name": "Via local ou Estrada vicinal", "terms": "Via sem classificação, Estrada de Terra, Rodovia sem pavimentação,via local,vicinal,estrada" diff --git a/dist/locales/pt.json b/dist/locales/pt.json index 187a70c52..3163e39a6 100644 --- a/dist/locales/pt.json +++ b/dist/locales/pt.json @@ -335,7 +335,6 @@ "switch": "Mudar para este fundo", "custom": "Personalizado", "custom_button": "Editar fundo personalizando", - "custom_prompt": "Introduzir um URL válido. Tokens válidos são {z}, {x}, {y} para esquemas Z/X/Y e {u} para esquemas QuadTile.", "fix_misalignment": "Corrigir o alinhamento da imagem", "imagery_source_faq": "Qual é a origem desta imagem?", "reset": "reiniciar", diff --git a/dist/locales/ru.json b/dist/locales/ru.json index f346c7493..2f30787f7 100644 --- a/dist/locales/ru.json +++ b/dist/locales/ru.json @@ -334,7 +334,6 @@ "switch": "Переключить обратно на эту подложку", "custom": "Настраиваемый", "custom_button": "Указать собственный слой", - "custom_prompt": "Введите шаблон URL для тайлов. Допустимы переменные {z}, {x}, {y} для схемы Z/X/Y и {u} для схемы quadtile.", "fix_misalignment": "Установка смещения слоя", "imagery_source_faq": "Кто предоставляет этот космоснимок?", "reset": "сброс", @@ -992,6 +991,9 @@ "handrail": { "label": "Поручни" }, + "height": { + "label": "Высота (метры)" + }, "highway": { "label": "Тип дороги" }, @@ -1108,6 +1110,9 @@ "man_made": { "label": "Тип" }, + "map_type": { + "label": "Вид" + }, "maxspeed": { "label": "Ограничение скорости", "placeholder": "40, 50, 60…" @@ -1762,6 +1767,9 @@ "name": "Кафе-мороженое", "terms": "мороженое, замороженный йогурт" }, + "amenity/internet_cafe": { + "name": "Интернет-кафе" + }, "amenity/kindergarten": { "name": "Территория детского сада / ясель", "terms": "детский сад, дошкольный сад, ясли" @@ -2059,6 +2067,7 @@ "name": "Бункер" }, "building/cabin": { + "name": "Хижина", "terms": "хижина, халупа, лачуга, хибара" }, "building/cathedral": { @@ -2759,6 +2768,9 @@ "name": "Яхтклуб", "terms": "Марина, Стоянка для яхт" }, + "leisure/miniature_golf": { + "name": "Мини-гольф" + }, "leisure/nature_reserve": { "name": "Заповедник", "terms": "заказник" @@ -3792,6 +3804,9 @@ "name": "Инфопункт", "terms": "Инфопункт, Инфостэнд, Информационный пункт, Справочная, Справочное, Информационное бюро" }, + "tourism/information/map": { + "name": "Карта" + }, "tourism/motel": { "name": "Мотель", "terms": "мотель" diff --git a/dist/locales/sk.json b/dist/locales/sk.json index 5796b3caa..8b106a085 100644 --- a/dist/locales/sk.json +++ b/dist/locales/sk.json @@ -334,7 +334,6 @@ "switch": "Prepnúť späť na toto pozadie", "custom": "Voliteľné", "custom_button": "Upraviť volitelné pozadie", - "custom_prompt": "Zadajte URL pre vzor mapového podkladu. Platné znaky sú {z}, {x}, {y} pre Z/X/Y schému a {u} pre quadtile schému.", "fix_misalignment": "Upraviť posun obrázkov", "imagery_source_faq": "Odkiaľ pochádzajú tieto obrázky?", "reset": "vynulovať", diff --git a/dist/locales/sl.json b/dist/locales/sl.json index c33abff3c..366c37c08 100644 --- a/dist/locales/sl.json +++ b/dist/locales/sl.json @@ -298,7 +298,6 @@ "none": "Brez", "custom": "Po meri", "custom_button": "Uredi ozadje po meri", - "custom_prompt": "Navedite naslov predloge URL. Dovoljeni znaki so {z}, {x}, {y} za shemo Z/X/Y in {u} za shemo quadtile.", "reset": "ponastavi" }, "feature": { diff --git a/dist/locales/sq.json b/dist/locales/sq.json index e8b866ebc..91fcbaea5 100644 --- a/dist/locales/sq.json +++ b/dist/locales/sq.json @@ -304,7 +304,6 @@ "none": "Asnjë", "custom": "E personalizuar", "custom_button": "Redakto sfondin të personalizuar", - "custom_prompt": "Shtypni një shabllon URL pllakëve. Argumentet vlefshme janë {z}, {x}, {y} për skemë Z/X/Y dhe {u} për skemë quadtile.", "reset": "Rikthe vlerat", "minimap": { "description": "Minihartë", diff --git a/dist/locales/sv.json b/dist/locales/sv.json index 944a69de1..1cf52df7f 100644 --- a/dist/locales/sv.json +++ b/dist/locales/sv.json @@ -337,7 +337,6 @@ "switch": "Växla tillbaka till denna bakgrund", "custom": "Anpassa", "custom_button": "Ändra anpassad bakgrund", - "custom_prompt": "Ange en URL-mall för plattor. Giltiga symboler är {z}, {x}, {y} för Z/X/Y-schema och {u} för quadtile-schema.", "fix_misalignment": "Justera bildplacering", "imagery_source_faq": "Var kommer dessa flygfoton från?", "reset": "ta bort", diff --git a/dist/locales/ta.json b/dist/locales/ta.json index a1b37be5a..0822f9b96 100644 --- a/dist/locales/ta.json +++ b/dist/locales/ta.json @@ -24,7 +24,8 @@ "add": { "annotation": { "point": "ஒரு புள்ளி சேர்க்கப்பட்டது.", - "vertex": "ஒரு வழியில் ஒரு முனை சேர்க்கப்பட்டது." + "vertex": "ஒரு வழியில் ஒரு முனை சேர்க்கப்பட்டது.", + "relation": "ஒரு உறவு சேர்க்கப்பட்டது." } }, "start": { @@ -98,6 +99,9 @@ "key": "X" } }, + "redo": { + "tooltip": "மீண்டும் செய்: {action}" + }, "tooltip_keyhint": "குறுக்கு வழி:", "translate": { "translate": "மொழிமாற்றம் செய்", @@ -105,6 +109,7 @@ "localized_translation_language": "மொழியை தேர்ந்தெடு", "localized_translation_name": "பெயர்" }, + "login": "உள் நுழை", "logout": "விடுபதிகை", "help_translate": "மொழிப்பெயர்க்க உதவவும்.", "commit": { @@ -112,50 +117,154 @@ "save": "சேமி", "cancel": "ரத்து", "changes": "{எண்ணிக்கை} மாற்றங்கள்", + "warnings": "எச்சரிக்கைகள்", + "modified": "திருத்தப்பட்ட", "deleted": "நீக்கப்பட்டது", "created": "உருவாக்கப்பட்டது" }, "infobox": { "selected": "{n} தேர்ந்தெடுக்கப் பட்டுள்ளது", + "geometry": "வடிவியல்", "closed": "மூடப்பட்டுள்ளது", "center": "நடு பகுதி", + "perimeter": "சுற்றளவு", "length": "நீளம்", "area": "பரப்பளவு", - "location": "இடம்" + "centroid": "திணிவு", + "location": "இடம்", + "metric": "மெட்ரிக்", + "imperial": "இம்பீரியல்" }, "geometry": { + "point": "புள்ளி", + "vertex": "உச்சி", "line": "கோடு", "area": "பரப்பளவு", "relation": "தொடர்பு" }, + "geocoder": { + "no_results_worldwide": "முடிவுகள் எதுவும் இல்லை" + }, + "geolocate": { + "title": "எனது இருப்பிடம் காட்டு" + }, "inspector": { + "show_more": "மேலும் காட்டு", + "view_on_osm": "openstreetmap.org இல் பார்", + "all_relations": "அனைத்து உறவுகள்", "new_relation": "புது தொடர்பு...", + "role": "செயல்பங்கு", + "back_tooltip": "அம்சத்தைப் மாற்ற", "remove": "நீக்கு", "search": "தேடு", + "multiselect": "தேர்ந்தெடுக்கப்பட்ட உருப்படிகள்", "incomplete": "<பதிவிறக்கம் செய்யப்படவில்லை>", + "edit": "அம்சத்தைப் மாற்ற", "check": { - "yes": "ஆம்" + "yes": "ஆம்", + "no": "இல்லை" }, + "add": "சேர்", + "none": "எதுவுமில்லை", + "node": "முனை", "way": "வழி", "relation": "தொடர்பு", "location": "இடம்" }, + "background": { + "title": "பின்னணி", + "description": "பின்னணி அமைப்புகள்", + "percent_brightness": "{opacity}% ஒளிர்வு", + "none": "எதுவுமில்லை", + "custom": "தனிப்பயன்", + "reset": "மீட்டமைக்க" + }, + "map_data": { + "title": "வரைபடத் தரவு", + "description": "வரைபடத் தரவு" + }, "feature": { "points": { - "description": "புள்ளிகள்" + "description": "புள்ளிகள்", + "tooltip": "ஆர்வம் மிகுந்த இடங்கள்" + }, + "traffic_roads": { + "tooltip": "நெடுஞ்சாலைகள், வீதிகள், முதலியன" + }, + "service_roads": { + "description": "சேவை சாலைகள்" + }, + "paths": { + "description": "பாதைகள்" + }, + "buildings": { + "description": "கட்டிடங்கள்" + }, + "boundaries": { + "description": "எல்லைகள்" + }, + "water": { + "description": "நீர் அம்சங்கள்" + }, + "rail": { + "tooltip": "இரயில்வே" + }, + "past_future": { + "description": "கடந்த கால / எதிர்கால" + }, + "others": { + "description": "பிற" } }, + "restore": { + "restore": "மீட்டமை", + "reset": "மீட்டமை" + }, "save": { - "title": "சேமி" + "title": "சேமி", + "no_changes": "சேமிப்பதற்கான மாற்றங்கள் இல்லை.", + "conflict": { + "previous": "< முந்தைய", + "next": " அடுத்த >", + "restore": "மீட்டமை", + "done": "அனைத்து முரண்பாடுகள் தீர்க்கப்பட்டன" + } + }, + "success": { + "view_on_osm": "OSM இல் பார்", + "facebook": "Facebook இல் பகிர்ந்து கொள்ள", + "twitter": "Twitter இல் பகிர்ந்து கொள்ள", + "google": "Google+ இல் பகிர்ந்து கொள்ள", + "help_link_text": "விவரங்கள்" }, "confirm": { "okay": "சரி", "cancel": "ரத்து" }, + "splash": { + "start": "இப்போது திருத்து" + }, + "tag_reference": { + "description": "விளக்கம்" + }, + "zoom": { + "in": "பெரிதாக்கு", + "out": "சிறிதாக்கு" + }, "help": { "title": "உதவி" }, "intro": { + "done": "முடிந்தது", + "navigation": { + "title": "வழிசெலுத்தல்" + }, + "points": { + "title": "புள்ளிகள்" + }, + "areas": { + "title": "பகுதிகள்" + }, "lines": { "title": "கோடுகள்" }, @@ -165,17 +274,61 @@ } }, "presets": { + "categories": { + "category-barrier": { + "name": "தடை அம்சங்கள்" + }, + "category-building": { + "name": "கட்டிடம் அம்சங்கள்" + }, + "category-golf": { + "name": "கோல்ஃப் அம்சங்கள்" + }, + "category-landuse": { + "name": "காணிப் பயன்பாட்டு அம்சங்கள்" + }, + "category-path": { + "name": "பாதை அம்சங்கள்" + }, + "category-rail": { + "name": "ரயில் அம்சங்கள்" + }, + "category-restriction": { + "name": "கட்டுப்பாடு அம்சங்கள்" + }, + "category-road": { + "name": "சாலை அம்சங்கள்" + }, + "category-route": { + "name": "வழி அம்சங்கள்" + }, + "category-water-area": { + "name": "நீர் அம்சங்கள்" + }, + "category-water-line": { + "name": "நீர் அம்சங்கள்" + } + }, "fields": { "access": { "label": "அனுமதிக்கப்பட்ட அணுகல்", "options": { + "designated": { + "title": "நியமிக்கப்பட்ட" + }, "destination": { "title": "Destination" }, + "dismount": { + "title": "இறங்கு" + }, "no": { "description": "பொதுமக்களுக்கு அணுகல் அனுமதி இல்லை", "title": "தடை செய்யப்பட்ட" }, + "permissive": { + "title": "அனுமதியளிக்கும்" + }, "private": { "title": "தனியார்" }, @@ -183,38 +336,89 @@ "title": "அனுமதிக்கப்படுகிறது" } }, + "placeholder": "குறிப்பிடப்படவில்லை", "types": { - "horse": "குதிரைகள்" + "access": "அனைத்தும்", + "bicycle": "மிதி வண்டிகள்", + "foot": "\t\nகாலடி", + "horse": "குதிரைகள்", + "motor_vehicle": "மோட்டார் வாகனங்கள்" } }, "access_simple": { "label": "அனுமதிக்கப்பட்ட அணுகல்" }, + "access_toilets": { + "label": "நுழைவு" + }, "address": { "label": "முகவரி", "placeholders": { "city": "மாநகரம்", - "street": "தெரு" + "conscriptionnumber": "123", + "country": "நாடு", + "district": "மாவட்டம்", + "floor": "தரை", + "hamlet": "குக்கிராமம்", + "housename": "வீட்டின் பெயர்", + "housenumber": "123", + "place": "இடம்", + "postcode": "அஞ்சல் குறியீடு", + "province": "மாகாணம்", + "state": "மாநிலம்", + "street": "தெரு", + "subdistrict": "துணைமாவட்டம்", + "suburb": "புறநகர்" } }, "aerialway": { "label": "வகை" }, + "aerialway/access": { + "label": "நுழைவு", + "options": { + "both": "இரண்டும்", + "entry": "நுழைவு", + "exit": "வெளியேறு" + } + }, + "aerialway/bubble": { + "label": "நீர்க்குமிழி" + }, "aerialway/capacity": { + "label": "திறன் (மணிநேர விகிதங்கள்)", "placeholder": "500, 2500, 5000..." }, "aerialway/duration": { + "label": "காலம் (நிமிடங்கள்)", "placeholder": "1, 2, 3..." }, + "aerialway/heating": { + "label": "வெப்பம்" + }, "aerialway/occupancy": { + "label": "வசித்தல்", "placeholder": "2, 4, 8..." }, + "aerialway/summer/access": { + "options": { + "both": "இரண்டும்", + "entry": "நுழைவு", + "exit": "வெளியேறு" + } + }, "aeroway": { "label": "வகை" }, "amenity": { "label": "வகை" }, + "area/highway": { + "label": "வகை" + }, + "artist": { + "label": "கலைஞர்" + }, "artwork_type": { "label": "வகை" }, @@ -224,12 +428,27 @@ "barrier": { "label": "வகை" }, + "beauty": { + "label": "கடை வகை" + }, + "bench": { + "label": "விசுப்பலகை" + }, "bicycle_parking": { "label": "வகை" }, + "bin": { + "label": "குப்பைத்தொட்டி" + }, + "board_type": { + "label": "வகை" + }, "boundary": { "label": "வகை" }, + "brand": { + "label": "வியாபாரக் குறி" + }, "building": { "label": "கட்டிடம்" }, @@ -241,20 +460,104 @@ "placeholder": "50, 100, 200..." }, "cardinal_direction": { - "label": "திசை" + "label": "திசை", + "options": { + "E": "கிழக்கு", + "ENE": "கிழக்கு-வடகிழக்கு", + "ESE": "கிழக்கு-தென்கிழக்கு", + "N": "வடக்கு", + "NE": "வடகிழக்கு", + "NNE": "வடக்கு-வடகிழக்கு", + "NNW": "வடக்கு-வடமேற்கு", + "NW": "வடமேற்கு", + "S": "தெற்கு", + "SE": "தென்கிழக்கு", + "SSE": "தெற்கு-தென்கிழக்கு", + "SSW": "தெற்கு-தென்மேற்கு", + "SW": "தென்மேற்கு", + "W": "மேற்கு", + "WNW": "மேற்கு-வடமேற்கு", + "WSW": "மேற்கு-தென்மேற்கு" + } }, "clock_direction": { - "label": "திசை" + "label": "திசை", + "options": { + "anticlockwise": "எதிர் கடிகாரத் திசையில்", + "clockwise": "வலம் சுற்றுகிற" + } + }, + "collection_times": { + "label": "சேகரிப்பு காலம்" }, "construction": { "label": "வகை" }, + "content": { + "label": "பொருளடக்கம்" + }, "country": { "label": "நாடு" }, + "covered": { + "label": "மறைக்கப்பட்டுள்ளது" + }, + "craft": { + "label": "வகை" + }, + "crop": { + "label": "பயிர்" + }, "crossing": { "label": "வகை" }, + "currency_multi": { + "label": "நாணய வகைகள்" + }, + "cycle_network": { + "label": "பிணையம்" + }, + "cycleway": { + "options": { + "none": { + "title": "எதுவுமில்லை" + }, + "track": { + "title": "பைக் பாதை" + } + }, + "placeholder": "எதுவுமில்லை", + "types": { + "cycleway:left": "இடப்பக்கம்", + "cycleway:right": "வலது பக்கம்" + } + }, + "date": { + "label": "தேதி" + }, + "delivery": { + "label": "பட்டுவாடா" + }, + "description": { + "label": "விளக்கம்" + }, + "display": { + "label": "காட்டு" + }, + "dock": { + "label": "வகை" + }, + "electrified": { + "label": "மின்மயமாக்கல்", + "options": { + "contact_line": "தொடர்பு வரி", + "no": "இல்லை", + "yes": "ஆம் (குறிப்பிடப்படவில்லை)" + } + }, + "elevation": { + "label": "உயரம்" + }, "emergency": { "label": "அவசரநிலை" }, @@ -265,32 +568,100 @@ "label": "தொலைநகல்", "placeholder": "+31 42 123 4567" }, + "fee": { + "label": "Fee" + }, "fire_hydrant/type": { - "label": "வகை" + "label": "வகை", + "options": { + "pond": "குளம்", + "underground": "நிலத்தடி", + "wall": "சுவர்" + } }, "fixme": { "label": "என்னை சரிபடுத்து" }, + "fuel": { + "label": "எரிபொருள்" + }, + "fuel_multi": { + "label": "எரிபொருள் வகைகள்" + }, + "gender": { + "label": "பாலினம்", + "options": { + "female": "பெண்", + "male": "ஆண்", + "unisex": "இருபாலர்" + }, + "placeholder": "அறியப்படவில்லை" + }, + "generator/method": { + "label": "முறை" + }, "generator/source": { "label": "மூலம்" }, "generator/type": { "label": "வகை" }, + "golf_hole": { + "label": "குறிப்பு" + }, "handicap": { + "label": "ஊனமுற்றோர்", "placeholder": "1-18" }, + "height": { + "label": "உயரம் (மீட்டர்)" + }, "highway": { "label": "வகை" }, "historic": { "label": "வகை" }, + "hoops": { + "placeholder": "1, 2, 4..." + }, + "iata": { + "label": "IATA" + }, + "icao": { + "label": "ICAO" + }, + "incline": { + "label": "சாய்வு தளம்" + }, + "incline_steps": { + "label": "சாய்வு தளம்", + "options": { + "down": "கீழ்", + "up": "மேலே" + } + }, + "indoor": { + "label": "உள்ளரங்க" + }, "information": { "label": "வகை" }, "internet_access": { - "label": "இணைய அணுகல்" + "label": "இணைய அணுகல்", + "options": { + "no": "இல்லை", + "terminal": "முனையம்", + "wired": "கம்பியால் இணைக்கப்பட்டது", + "wlan": "வைஃபை", + "yes": "ஆம்" + } + }, + "internet_access/fee": { + "label": "இணைய அணுகல் கட்டணம்" + }, + "lamp_type": { + "label": "வகை" }, "landuse": { "label": "வகை" @@ -302,9 +673,33 @@ "layer": { "label": "அடுக்கு" }, + "leaf_cycle": { + "options": { + "mixed": "கலப்பு" + } + }, + "leaf_type": { + "label": "இலை வகை", + "options": { + "leafless": "இலைகளற்ற", + "mixed": "கலப்பு" + } + }, + "leaf_type_singular": { + "label": "இலை வகை", + "options": { + "leafless": "இலைகளற்ற" + } + }, "leisure": { "label": "வகை" }, + "length": { + "label": "நீளம் (மீட்டர்)" + }, + "level": { + "label": "நிலை" + }, "levels": { "label": "நிலைகள்", "placeholder": "2, 4, 6..." @@ -315,12 +710,34 @@ "man_made": { "label": "வகை" }, + "map_size": { + "label": "முழுத் தழுவு அளவு" + }, + "map_type": { + "label": "வகை" + }, "maxspeed": { "label": "வேக எல்லை", "placeholder": "40, 50, 60..." }, + "mtb/scale": { + "placeholder": "0, 1, 2, 3..." + }, + "mtb/scale/imba": { + "options": { + "0": "மிகவும் எளிது (வெள்ளை வட்டம்)", + "1": "எளிது (பச்சை வட்டம்)", + "2": "நடுத்தரத்து (நீல சதுரம்)", + "3": "கடினம் (கருப்பு வைரம்)" + }, + "placeholder": "எளிது, நடுத்தரத்து, கடினமானது..." + }, + "mtb/scale/uphill": { + "placeholder": "0, 1, 2, 3..." + }, "name": { - "label": "பெயர்" + "label": "பெயர்", + "placeholder": "பொதுவான பெயர் (ஏதாவது இருந்தால்)" }, "natural": { "label": "இயற்கையான" @@ -328,6 +745,36 @@ "network": { "label": "நெட்வொர்க்" }, + "network_bicycle": { + "label": "பிணைய வகை", + "options": { + "icn": "சர்வதேச", + "lcn": "உள்ளூர்", + "ncn": "தேசிய", + "rcn": "பிராந்திய" + } + }, + "network_foot": { + "label": "பிணைய வகை", + "options": { + "iwn": "சர்வதேச", + "lwn": "உள்ளூர்", + "nwn": "தேசிய", + "rwn": "பிராந்திய" + } + }, + "network_horse": { + "label": "பிணைய வகை", + "options": { + "ihn": "சர்வதேச", + "lhn": "உள்ளூர்", + "nhn": "தேசிய", + "rhn": "பிராந்திய" + } + }, + "network_road": { + "label": "பிணையம்" + }, "note": { "label": "குறிப்பு" }, @@ -335,10 +782,20 @@ "label": "வகை" }, "oneway": { - "label": "ஒரு வழி" + "label": "ஒரு வழி", + "options": { + "no": "இல்லை", + "undefined": "இல்லை என்றே கருதப்படுகிறது", + "yes": "ஆம்" + } }, "oneway_yes": { - "label": "ஒரு வழி" + "label": "ஒரு வழி", + "options": { + "no": "இல்லை", + "undefined": "ஆம் எனக் கருதப்படுகிறது", + "yes": "ஆம்" + } }, "opening_hours": { "label": "மணிநேரங்கள்" @@ -347,27 +804,59 @@ "label": "இயக்குபவர்" }, "par": { + "label": "சமநிலை", "placeholder": "3, 4, 5..." }, + "parallel_direction": { + "label": "திசை", + "options": { + "backward": "பின்னோக்கி", + "forward": "முன்னோக்கி" + } + }, "parking": { - "label": "வகை" + "label": "வகை", + "options": { + "sheds": "கொட்டகைகள்", + "surface": "மேற்பரப்பு", + "underground": "நிலத்தடி" + } }, "phone": { "label": "தொலைபேசி", "placeholder": "+31 42 123 4567" }, + "piste/difficulty": { + "label": "கடினம்", + "options": { + "advanced": "மேம்பட்ட (கருப்பு வைரம்)", + "easy": "எளிது (பச்சை வட்டம்)" + } + }, "piste/type": { - "label": "வகை" + "label": "வகை", + "options": { + "playground": "விடையாட்டு மைதானம்" + } }, "place": { "label": "வகை" }, + "population": { + "label": "மக்கள் தொகை" + }, "power": { "label": "வகை" }, + "power_supply": { + "label": "பவர் சப்ளை" + }, "railway": { "label": "வகை" }, + "ref": { + "label": "குறிப்பு" + }, "relation": { "label": "வகை" }, @@ -377,12 +866,22 @@ "restriction": { "label": "வகை" }, + "rooms": { + "label": "அறைகள்" + }, "route": { "label": "வகை" }, "route_master": { "label": "வகை" }, + "second_hand": { + "options": { + "no": "இல்லை", + "only": "மட்டும்", + "yes": "ஆம்" + } + }, "service": { "label": "வகை" }, @@ -392,23 +891,83 @@ "shop": { "label": "வகை" }, + "site": { + "label": "வகை" + }, + "smoking": { + "label": "புகைப்பிடித்தல்" + }, "source": { "label": "மூலம்" }, "sport": { "label": "விளையாட்டு" }, + "sport_ice": { + "label": "விளையாட்டு" + }, + "sport_racing": { + "label": "விளையாட்டு" + }, + "stars": { + "label": "நட்சத்திரங்கள்" + }, "structure": { + "label": "அமைப்பு", "options": { - "bridge": "பாலம்" + "bridge": "பாலம்", + "tunnel": "சுரங்கம்" + }, + "placeholder": "அறியப்படவில்லை" + }, + "studio": { + "label": "வகை" + }, + "substation": { + "label": "வகை" + }, + "surface": { + "label": "மேற்பரப்பு" + }, + "takeaway": { + "options": { + "no": "இல்லை", + "yes": "ஆம்" } }, "tourism": { "label": "வகை" }, + "tower/construction": { + "label": "கட்டுமானம்" + }, + "tower/type": { + "label": "வகை" + }, + "tracktype": { + "label": "பாதை வகை" + }, + "traffic_calming": { + "label": "வகை" + }, + "traffic_signals": { + "label": "வகை" + }, + "trees": { + "label": "மரங்கள்" + }, + "tunnel": { + "label": "சுரங்கம்" + }, + "visibility": { + "label": "பார்க்கூடிய நிலை" + }, "water": { "label": "வகை" }, + "water_point": { + "label": "தண்ணீர் புள்ளி" + }, "waterway": { "label": "வகை" }, @@ -419,13 +978,21 @@ "wetland": { "label": "வகை" }, + "width": { + "label": "அகலம் (மீட்டர்)" + }, "wikipedia": { "label": "விக்கிப்பீடியா" } }, "presets": { "address": { - "name": "முகவரி" + "name": "முகவரி", + "terms": "விலாசம்" + }, + "advertising/billboard": { + "name": "பில்போர்ட்", + "terms": "துண்டு விளம்பரங்கள் ஒட்டப்படும் பலகை" }, "aeroway/aerodrome": { "name": "விமானநிலையம்" @@ -433,6 +1000,9 @@ "aeroway/helipad": { "name": "சிறு விமானம் இறங்கும் தளம்" }, + "amenity/atm": { + "name": "ஏ.டி.எம்" + }, "amenity/bank": { "name": "வங்கி" }, @@ -565,6 +1135,12 @@ "landuse/grass": { "name": "புல்வெளி" }, + "leisure/common": { + "name": "பொதுவான" + }, + "leisure/golf_course": { + "name": "கோல்ஃப் கோர்ஸ்" + }, "leisure/marina": { "name": "மரினா" }, @@ -586,18 +1162,30 @@ "leisure/swimming_pool": { "name": "நீச்சல் குளம்" }, + "leisure/water_park": { + "name": "தண்ணீர் பூங்கா" + }, "line": { "name": "கோடு" }, "man_made": { "name": "மனிதனால் கட்டப்பட்டது" }, + "man_made/bridge": { + "name": "பாலம்" + }, + "man_made/chimney": { + "name": "புகைபோக்கி" + }, "man_made/lighthouse": { "name": "கலங்கரை விளக்கம்" }, "man_made/water_tower": { "name": "தண்ணீர்த் தொட்டி" }, + "military/naval_base": { + "name": "கடற்படை தளம்" + }, "natural": { "name": "இயற்கையான" }, @@ -610,6 +1198,9 @@ "natural/glacier": { "name": "பனிப் பாறை" }, + "natural/grassland": { + "name": "புல்வெளிகள்" + }, "natural/peak": { "name": "மலை உச்சி" }, @@ -628,12 +1219,18 @@ "natural/water/reservoir": { "name": "நீர்த் தேக்கம்" }, + "natural/wetland": { + "name": "ஈரநிலம்" + }, "natural/wood": { "name": "மரம்" }, "office": { "name": "அலுவலகம்" }, + "office/accountant": { + "name": "கணக்காளர்" + }, "office/newspaper": { "name": "செய்தித்தாள்" }, @@ -646,6 +1243,9 @@ "place/island": { "name": "தீவு" }, + "place/neighbourhood": { + "name": "நகர்ப்பகுதி" + }, "place/town": { "name": "நகரம்" }, diff --git a/dist/locales/tl.json b/dist/locales/tl.json index d08754645..541eb1f8a 100644 --- a/dist/locales/tl.json +++ b/dist/locales/tl.json @@ -311,7 +311,6 @@ "none": "Wala", "custom": "Custom", "custom_button": "I-edit ang custom na background", - "custom_prompt": "Magpasok ng template na tile URL. Ang wastong mga token ay {z}, {x}, {y} para sa Z/X/Y scheme at {u} naman para sa quadtile scheme.", "fix_misalignment": "Baguhin ang imagery offset", "reset": "I-reset" }, diff --git a/dist/locales/uk.json b/dist/locales/uk.json index 794cda350..33a34229a 100644 --- a/dist/locales/uk.json +++ b/dist/locales/uk.json @@ -227,6 +227,7 @@ "localized_translation_name": "Назва" }, "zoom_in_edit": "Необхідно збільшити масштаб, щоб редагувати", + "login": "вхід", "logout": "вийти", "loading_auth": "З’єднання з OpenStreetMap…", "report_a_bug": "Повідомити про помилку", @@ -238,7 +239,8 @@ "status": { "error": "Неможливо з’єднатись з API.", "offline": "API в стані оффлайн. Будь ласка, спробуйте внести зміни пізніше.", - "readonly": "API доступний тільки для читання. Вам потрібно зачекати, щоб зберегти зміни." + "readonly": "API доступний тільки для читання. Вам потрібно зачекати, щоб зберегти зміни.", + "rateLimit": "API обмежує використання анонімних з'єднань. Ви можете виправити зареєструвавшись." }, "commit": { "title": "Зберегти зміни", @@ -335,7 +337,7 @@ "switch": "Ввімкнути цей шар", "custom": "Власний фон", "custom_button": "Параметри власного фону", - "custom_prompt": "Введіть шаблон URL для квадратів мапи. Використовуйте {z}, {x}, {y} для схеми Z/X/Y та {u} для схеми QuadTiles.", + "custom_prompt": "Введіть шаблон URL для квадратів мапи. Використовуйте {zoom}, {x}, {y} для схеми Z/X/Y та {u} для схеми QuadTiles.", "fix_misalignment": "Виправте зсув фону", "imagery_source_faq": "Звідки ці знімки?", "reset": "скинути", @@ -803,6 +805,9 @@ "whole": "цільна кров" } }, + "board_type": { + "label": "Тип" + }, "boundary": { "label": "Тип" }, @@ -1024,6 +1029,9 @@ "handrail": { "label": "Перила" }, + "height": { + "label": "Висота (метрів)" + }, "highway": { "label": "Тип" }, @@ -1143,6 +1151,12 @@ "man_made": { "label": "Тип" }, + "map_size": { + "label": "Покриття" + }, + "map_type": { + "label": "Тип" + }, "maxspeed": { "label": "Обмеження швидкості", "placeholder": "40, 50, 60…" @@ -1157,7 +1171,7 @@ "1": "1: Деінде пухкі ділянки, невеликі перешкоди, плавні повороти", "2": "2: Багато пухких ділянок, великі перешкоди, легкі шпильки", "3": "3: Слизькі поверхні, великі перешкоди, круті шпильки", - "4": "4: Відсутність твердих ділянок чи валуни, небезпечні шпильки", + "4": "4: Відсутність твердих ділянок або наявність валунів, небезпечні шпильки", "5": "5: Максимальна складність, поля валунів, зсуви", "6": "6: Не придатне для проїзду, крім найкращих велосипедистів" }, @@ -1533,6 +1547,13 @@ "tourism": { "label": "Тип" }, + "tower/construction": { + "label": "Конструкція вежі", + "placeholder": "На розтяжках, Ґратчаста, Прихована, …" + }, + "tower/type": { + "label": "Тип" + }, "tracktype": { "label": "Тип путівця", "options": { @@ -1863,6 +1884,10 @@ "name": "Морозиво", "terms": "морозиво,магазин,кафе,бар,крамниця,ласощі" }, + "amenity/internet_cafe": { + "name": "Інтернет кафе", + "terms": "інтренет,комп'ютер,wifi,internet,кафе,доступ,клуб,ігри,дозвілля" + }, "amenity/kindergarten": { "name": "Підготовча школа / Територія дитсадка", "terms": "дитсадок, дошкільна підготовка, ясла" @@ -2758,6 +2783,10 @@ "name": "Місце для розвороту", "terms": "Turning Circle, vscwt lkz hjdjhjne, місце для розвороту" }, + "highway/turning_loop": { + "name": "Круг для розвороту (з острівцем)", + "terms": "розворот,тупик,місце,круг,газон,острівець,глухй кут" + }, "highway/unclassified": { "name": "Незначні дороги", "terms": "дорога,некласифікована,сільска,промислова,загальна" @@ -4060,6 +4089,22 @@ "name": "Інформація", "terms": "Information, syajhvfwsz, інформація" }, + "tourism/information/board": { + "name": "Інформаційний стенд", + "terms": "інформація,стенд,дошка,схема,відомості,туризм,попередження" + }, + "tourism/information/guidepost": { + "name": "Вказівник", + "terms": "вказівник,маршрут,напрямок,мітка,туризм,тропа,шлях,рух,інформація" + }, + "tourism/information/map": { + "name": "Мапа", + "terms": "мапа,карта,схема,марут,шлях,довідка,туризм,інформація" + }, + "tourism/information/office": { + "name": "Туристична довідкова служба", + "terms": "туризм,інформація,гід,довідка,допомога" + }, "tourism/motel": { "name": "Мотель", "terms": "Motel, vjntkm, мотель" diff --git a/dist/locales/vi.json b/dist/locales/vi.json index 4c9fa81fd..93467a695 100644 --- a/dist/locales/vi.json +++ b/dist/locales/vi.json @@ -227,6 +227,7 @@ "localized_translation_name": "Tên" }, "zoom_in_edit": "Phong to để Sửa đổi", + "login": "đăng nhập", "logout": "đăng xuất", "loading_auth": "Đang kết nối với OpenStreetMap…", "report_a_bug": "Báo cáo lỗi", @@ -238,7 +239,8 @@ "status": { "error": "Không thể kết nối đến API.", "offline": "API đang ngoại tuyến. Xin vui lòng thử lại sau.", - "readonly": "API đang ở chế độ chỉ-đọc. Bạn cần phải đợi để lưu các thay đổi." + "readonly": "API đang ở chế độ chỉ-đọc. Bạn cần phải đợi để lưu các thay đổi.", + "rateLimit": "API hạn chế các kết nối vô danh. Hãy đăng nhập để khắc phục hạn chế này." }, "commit": { "title": "Lưu các Thay đổi", @@ -335,7 +337,7 @@ "switch": "Quay về hình nền này", "custom": "Tùy biến", "custom_button": "Sửa hình nền tùy biến", - "custom_prompt": "Nhập định dạng URL của các mảnh bản đồ. Bạn có thể sử dụng các dấu hiệu {z}, {x}, {y} cho định dạng Z/X/Y hoặc {u} cho định dạng quadtile.", + "custom_prompt": "Nhập định dạng URL của các mảnh bản đồ. Bạn có thể sử dụng các dấu hiệu {zoom}, {x}, {y} cho định dạng Z/X/Y hoặc {u} cho định dạng quadtile.", "fix_misalignment": "Chỉnh độ lệch hình ảnh", "imagery_source_faq": "Hình ảnh này được lấy từ đâu?", "reset": "đặt lại", @@ -803,6 +805,9 @@ "whole": "máu toàn phần" } }, + "board_type": { + "label": "Kiểu" + }, "boundary": { "label": "Kiểu" }, @@ -1146,6 +1151,12 @@ "man_made": { "label": "Loại" }, + "map_size": { + "label": "Phạm vi" + }, + "map_type": { + "label": "Kiểu" + }, "maxspeed": { "label": "Tốc độ Tối đa", "placeholder": "40, 50, 60…" @@ -4078,6 +4089,22 @@ "name": "Thông tin", "terms": "bảng thông tin, biển thông tin, trạm thông tin, bàn thông tin, bang thong tin, bien thong tin, tram thong tin, ban thong tin" }, + "tourism/information/board": { + "name": "Bảng Thông tin", + "terms": "bảng thông tin, biển thông tin, bang thong tin, bien thong tin" + }, + "tourism/information/guidepost": { + "name": "Cột Chỉ đường", + "terms": "cột chỉ đường, bảng chỉ đường, biển chỉ đường, cot chi duong, bang chi duong, bien chi duong" + }, + "tourism/information/map": { + "name": "Bản đồ", + "terms": "bản đồ, ban do" + }, + "tourism/information/office": { + "name": "Văn phòng Hướng dẫn Du lịch", + "terms": "văn phòng hướng dẫn du lịch, văn phòng du lịch, văn phòng hướng dẫn tham quan, văn phòng du khách, văn phòng hướng dẫn du khách, van phong huong dan du lich, van phong du lich, van phong huong dan tham quan, van phong du khach, van phong huong dan du khach" + }, "tourism/motel": { "name": "Khách sạn Dọc đường", "terms": "khách sạn dọc đường, khach san doc duong" diff --git a/dist/locales/yue.json b/dist/locales/yue.json index adc7e2c92..5d91abdbf 100644 --- a/dist/locales/yue.json +++ b/dist/locales/yue.json @@ -334,7 +334,6 @@ "switch": "轉返去爾個背景", "custom": "自訂", "custom_button": "改自訂背景", - "custom_prompt": "入個格網址模。有效字符係{z}、{x}、{y}對應Z/X/Y制及{u}對應四分格制。", "fix_misalignment": "校正背圖對位誤差", "imagery_source_faq": "相邊度來?", "reset": "重設", diff --git a/dist/locales/zh-CN.json b/dist/locales/zh-CN.json index be47e03d3..1e9fd556b 100644 --- a/dist/locales/zh-CN.json +++ b/dist/locales/zh-CN.json @@ -227,6 +227,7 @@ "localized_translation_name": "名称" }, "zoom_in_edit": "放大地图以编辑", + "login": "登录", "logout": "退出", "loading_auth": "正在连接OpenStreetMap...", "report_a_bug": "报告漏洞", @@ -238,7 +239,8 @@ "status": { "error": "无法连接到 API。", "offline": "API 已下线,请稍后再尝试编辑。", - "readonly": "API 目前处于只读状态,您需要等候一段时间才能保存您的更改。" + "readonly": "API 目前处于只读状态,您需要等候一段时间才能保存您的更改。", + "rateLimit": "该接口是限制匿名连接的。你可以通过登录来解决这个问题。" }, "commit": { "title": "保存变更", @@ -335,7 +337,6 @@ "switch": "切换回该底图", "custom": "自定义", "custom_button": "编辑自定义背景", - "custom_prompt": "输入瓦片模板。Z/X/Y方案的有效标记是{z},{x},{y},quadtile方案的有效标记是{u}。", "fix_misalignment": "调整影像偏移", "imagery_source_faq": "该影像的来源是?", "reset": "重置", @@ -1027,6 +1028,9 @@ "handrail": { "label": "扶手" }, + "height": { + "label": "高度(米)" + }, "highway": { "label": "类型" }, @@ -1146,6 +1150,9 @@ "man_made": { "label": "类型" }, + "map_size": { + "label": "范围" + }, "map_type": { "label": "类型" }, @@ -4061,6 +4068,14 @@ "name": "问询处", "terms": "问讯处,问询处,信息中心,游客中心" }, + "tourism/information/guidepost": { + "name": "路标", + "terms": "路标,路牌" + }, + "tourism/information/map": { + "name": "地图", + "terms": "地图" + }, "tourism/information/office": { "name": "旅游咨询处", "terms": "旅游咨询处,旅游问询处,旅游问询中心,旅游咨询中心,旅游咨询服务中心,旅游信息咨询处" diff --git a/dist/locales/zh-HK.json b/dist/locales/zh-HK.json index 5cf09e8b7..3e2df796e 100644 --- a/dist/locales/zh-HK.json +++ b/dist/locales/zh-HK.json @@ -334,7 +334,6 @@ "switch": "切換回這個背景", "custom": "自訂", "custom_button": "編輯自訂背景", - "custom_prompt": "輪入區塊範本的網址。有效的標記是以 {z}, {x}, {y} 作為 Z/X/Y 標記系統 Z/X/Y scheme 和 {u} 作為四分位數標記系統 quadtile scheme。", "fix_misalignment": "校正對位誤差", "imagery_source_faq": "這個背景影像來自何處?", "reset": "重設", diff --git a/dist/locales/zh-TW.json b/dist/locales/zh-TW.json index 1447cfff5..2655c8c54 100644 --- a/dist/locales/zh-TW.json +++ b/dist/locales/zh-TW.json @@ -337,7 +337,7 @@ "switch": "切換回此背景", "custom": "客製化", "custom_button": "編輯自訂的背景", - "custom_prompt": "輸入地圖影像區塊的URL模版。以 Z/X/Y 方式存取區塊的伺服器,可在模版中使用{z}, {x}, {y}作參數,而以quadtile存取區塊的伺服器,則可使用{u}作參數。", + "custom_prompt": "輸入地圖影像區塊的 URL 模版。以 Z/X/Y 方式存取區塊的伺服器,可在模版中使用 {z}, {x}, {y} 作參數,而以 quadtile 存取區塊的伺服器,則可使用 {u} 作參數。", "fix_misalignment": "調整影像偏移", "imagery_source_faq": "影像是從那裡來的呢?", "reset": "重設", diff --git a/modules/util/detect.js b/modules/util/detect.js index 5f3bff7b0..d3a002fe0 100644 --- a/modules/util/detect.js +++ b/modules/util/detect.js @@ -70,7 +70,7 @@ export function utilDetect(force) { // detect text direction var q = utilStringQs(window.location.hash.substring(1)); - if (['ar', 'fa', 'iw', 'dv'].indexOf(detected.locale.split('-')[0]) > -1 || q.hasOwnProperty('rtl')) { + if (['ar', 'fa', 'iw', 'he', 'dv'].indexOf(detected.locale.split('-')[0]) > -1 || q.hasOwnProperty('rtl')) { detected.textDirection = 'rtl'; } else { detected.textDirection = 'ltr'; From e331bb7f8c9414dc2aaacb9898cb7775d79780aa Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 17 Nov 2016 14:16:52 -0500 Subject: [PATCH 060/119] Use imagery ids instead of names, update blacklist, npm run imagery --- RELEASING.md | 3 + data/imagery.json | 7047 ++++++++++++++++++++----- data/update_imagery.js | 67 +- modules/renderer/background.js | 22 +- modules/renderer/background_source.js | 4 +- 5 files changed, 5781 insertions(+), 1362 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index bf1c27757..271de1377 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -15,7 +15,10 @@ - [ ] git checkout master - [ ] npm run translations - [ ] git add . && git commit -m 'npm run translations' +- [ ] rm -rf node_modules/editor-layer-index/ +- [ ] npm install - [ ] npm run imagery +- [ ] npm run all - [ ] git add . && git commit -m 'npm run imagery' - [ ] Update `CHANGELOG.md` - [ ] Update version number in `modules/core/context.js`, `package.json` diff --git a/data/imagery.json b/data/imagery.json index 604629dc6..3c1369175 100644 --- a/data/imagery.json +++ b/data/imagery.json @@ -1,10 +1,11 @@ { "dataImagery": [ { + "id": "sjcgis.org-Aerials_2013_WM", "name": "2013 aerial imagery for San Juan County WA", "type": "tms", - "description": "Public domain aerial imagery taken in May/June 2013 from San Juan County, WA. Resolution is 9 inch.", "template": "http://sjcgis.org/arcgis/rest/services/Basemaps/Aerials_2013_WM/MapServer/tile/{zoom}/{y}/{x}", + "description": "Public domain aerial imagery taken in May/June 2013 from San Juan County, WA. Resolution is 9 inch.", "scaleExtent": [ 0, 19 @@ -60,6 +61,7 @@ "best": true }, { + "id": "OS7", "name": "7th Series (OS7)", "type": "tms", "template": "http://ooc.openstreetmap.org/os7/{zoom}/{x}/{y}.jpg", @@ -89,6 +91,7 @@ ] }, { + "id": "AGRI-black_and_white-2.5m", "name": "AGRI black-and-white 2.5m", "type": "tms", "template": "http://agri.openstreetmap.org/{zoom}/{x}/{y}.png", @@ -315,10 +318,11 @@ "terms_text": "AGRI" }, { + "id": "basemap.at", "name": "basemap.at", "type": "tms", + "template": "https://maps{switch:1,2,3,4}.wien.gv.at/basemap/geolandbasemap/normal/google3857/{zoom}/{y}/{x}.png", "description": "Basemap of Austria, based on goverment data.", - "template": "http://maps{switch:1,2,3,4}.wien.gv.at/basemap/geolandbasemap/normal/google3857/{zoom}/{y}/{x}.png", "polygon": [ [ [ @@ -1087,14 +1091,14 @@ ] ] ], - "terms_text": "basemap.at", - "id": "basemap.at" + "terms_text": "basemap.at" }, { + "id": "basemap.at-orthofoto", "name": "basemap.at Orthofoto", "type": "tms", + "template": "https://maps{switch:1,2,3,4}.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{zoom}/{y}/{x}.jpeg", "description": "Orthofoto layer provided by basemap.at. \"Successor\" of geoimage.at imagery.", - "template": "http://maps{switch:1,2,3,4}.wien.gv.at/basemap/bmaporthofoto30cm/normal/google3857/{zoom}/{y}/{x}.jpeg", "polygon": [ [ [ @@ -1864,13 +1868,13 @@ ] ], "terms_text": "basemap.at", - "id": "basemap.at orthofoto", "best": true }, { + "id": "bavaria-DOP80", "name": "Bavaria DOP 80cm", "type": "tms", - "template": "http://mapproxy.osm.ch:8080/tiles/BAYERNDOP80/EPSG900913/{z}/{x}/{y}.png?origin=nw", + "template": "http://mapproxy.osm.ch:8080/tiles/BAYERNDOP80/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", "scaleExtent": [ 0, 18 @@ -3077,6 +3081,7 @@ ] }, { + "id": "AGIV", "name": "Belgium AGIV Orthophoto Flanders", "type": "tms", "template": "http://tile.informatievlaanderen.be/ws/raadpleegdiensten/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=omwrgbmrvl&STYLE=&FORMAT=image/png&tileMatrixSet=GoogleMapsVL&tileMatrix={zoom}&tileRow={y}&tileCol={x}", @@ -3384,18 +3389,584 @@ "best": true }, { + "id": "Benin_cotonou_pleiade_2016", + "name": "Benin: Cotonou Pleiade 2016", + "type": "tms", + "template": "http://geoxxx.agrocampus-ouest.fr/owsifl/gwc/service/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=Benin:cotonou_pleiade_2016&STYLE=&FORMAT=image/jpeg&tileMatrixSet=EPSG:3857&tileMatrix=EPSG:3857:{zoom}&tileRow={y}&tileCol={x}", + "scaleExtent": [ + 0, + 21 + ], + "polygon": [ + [ + [ + 2.31953818544, + 6.55745092536 + ], + [ + 2.33645249928, + 6.56023631702 + ], + [ + 2.36377172444, + 6.56211241002 + ], + [ + 2.36737717181, + 6.56067658005 + ], + [ + 2.37777373205, + 6.54939665325 + ], + [ + 2.3777926612, + 6.53484752744 + ], + [ + 2.36994151563, + 6.4933195729 + ], + [ + 2.37038356708, + 6.45527010853 + ], + [ + 2.36958186167, + 6.45269435578 + ], + [ + 2.36188103586, + 6.44177160245 + ], + [ + 2.35391742884, + 6.40545220189 + ], + [ + 2.3674929737, + 6.40149524022 + ], + [ + 2.39525870424, + 6.40071623744 + ], + [ + 2.40128040262, + 6.40374371884 + ], + [ + 2.40587684694, + 6.40340733291 + ], + [ + 2.42045897749, + 6.39382909301 + ], + [ + 2.42485054154, + 6.3979366042 + ], + [ + 2.42949152505, + 6.39887495342 + ], + [ + 2.43625257397, + 6.39628121034 + ], + [ + 2.43958410532, + 6.40041525877 + ], + [ + 2.44439433776, + 6.40189359345 + ], + [ + 2.45375647532, + 6.39899446003 + ], + [ + 2.47144744127, + 6.3963166199 + ], + [ + 2.48162019208, + 6.3910582748 + ], + [ + 2.49453210303, + 6.38739776192 + ], + [ + 2.50893162289, + 6.38888498676 + ], + [ + 2.50719014059, + 6.39228876781 + ], + [ + 2.50120407357, + 6.39162040687 + ], + [ + 2.4963025358, + 6.39521449649 + ], + [ + 2.49509997769, + 6.40123077776 + ], + [ + 2.49543290813, + 6.40400928653 + ], + [ + 2.49830345887, + 6.41022131795 + ], + [ + 2.50191336015, + 6.41281720321 + ], + [ + 2.5108701911, + 6.41321333458 + ], + [ + 2.52218648559, + 6.40849403999 + ], + [ + 2.53352059576, + 6.4051656109 + ], + [ + 2.53809922441, + 6.40960941297 + ], + [ + 2.5411100736, + 6.41090182623 + ], + [ + 2.54650822333, + 6.41099034757 + ], + [ + 2.54654385468, + 6.40651114868 + ], + [ + 2.57638511144, + 6.40723702943 + ], + [ + 2.57642074279, + 6.41176933466 + ], + [ + 2.58575615684, + 6.41196408125 + ], + [ + 2.58867792765, + 6.41095493903 + ], + [ + 2.60877400982, + 6.39413560832 + ], + [ + 2.62569890171, + 6.39487921149 + ], + [ + 2.64554556441, + 6.39728706193 + ], + [ + 2.65039142819, + 6.39339200408 + ], + [ + 2.6536650586, + 6.36823275735 + ], + [ + 2.6431181786, + 6.3665949733 + ], + [ + 2.61251084779, + 6.3628944474 + ], + [ + 2.56867983171, + 6.3607044406 + ], + [ + 2.54682890549, + 6.36055393954 + ], + [ + 2.54687344468, + 6.35546343647 + ], + [ + 2.50206702036, + 6.35461353888 + ], + [ + 2.47064016846, + 6.35595920942 + ], + [ + 2.46777184468, + 6.35202842507 + ], + [ + 2.46422652522, + 6.35020467258 + ], + [ + 2.45253944198, + 6.35006302163 + ], + [ + 2.4511320036, + 6.34813302357 + ], + [ + 2.44737289603, + 6.34629155079 + ], + [ + 2.43757427441, + 6.34653944174 + ], + [ + 2.43297783009, + 6.33841209773 + ], + [ + 2.43016295333, + 6.33706638135 + ], + [ + 2.42244876576, + 6.33706638135 + ], + [ + 2.39236031651, + 6.34114999999 + ], + [ + 2.39315311407, + 6.34114999999 + ], + [ + 2.3652849434, + 6.34445228474 + ], + [ + 2.35386064137, + 6.34529777247 + ], + [ + 2.34377474198, + 6.34457844399 + ], + [ + 2.34093759563, + 6.34533982549 + ], + [ + 2.31086028117, + 6.36567095094 + ], + [ + 2.28434610184, + 6.37465215648 + ], + [ + 2.28146887022, + 6.37761782314 + ], + [ + 2.27599054995, + 6.39517244756 + ], + [ + 2.27611525968, + 6.39819996182 + ], + [ + 2.31528747657, + 6.4926104105 + ], + [ + 2.31579967725, + 6.5530659484 + ] + ], + [ + [ + 1.69563043958, + 6.25076170066 + ], + [ + 1.70009994721, + 6.24711901182 + ], + [ + 1.70417862346, + 6.24697179839 + ], + [ + 1.75874803806, + 6.25835802546 + ], + [ + 1.77079143482, + 6.25995187823 + ], + [ + 1.81712109941, + 6.27161341959 + ], + [ + 1.84456614779, + 6.27656750346 + ], + [ + 1.85767848509, + 6.27944518918 + ], + [ + 1.88843363033, + 6.28325588467 + ], + [ + 1.90481876292, + 6.28594870029 + ], + [ + 1.90617692982, + 6.29435189983 + ], + [ + 1.90083111364, + 6.29721233234 + ], + [ + 1.89880903445, + 6.29953873942 + ], + [ + 1.89404334121, + 6.30085024405 + ], + [ + 1.89047742238, + 6.29969866569 + ], + [ + 1.88747882146, + 6.29636150888 + ], + [ + 1.88344050885, + 6.29622344016 + ], + [ + 1.86969682855, + 6.29226563906 + ], + [ + 1.8564007671, + 6.29198230539 + ], + [ + 1.85206654725, + 6.28674503171 + ], + [ + 1.84991419093, + 6.28906373821 + ], + [ + 1.84691224958, + 6.29202989661 + ], + [ + 1.8435272712, + 6.29332703219 + ], + [ + 1.84040507404, + 6.29315437611 + ], + [ + 1.83626738336, + 6.29129499924 + ], + [ + 1.83409832485, + 6.28733273348 + ], + [ + 1.83416513363, + 6.2851988527 + ], + [ + 1.83229560117, + 6.28456355663 + ], + [ + 1.82785949792, + 6.28644177291 + ], + [ + 1.82182443779, + 6.2908379014 + ], + [ + 1.81562903657, + 6.28997904337 + ], + [ + 1.81211044063, + 6.29143113241 + ], + [ + 1.80757635117, + 6.29570768815 + ], + [ + 1.80471693522, + 6.29692955475 + ], + [ + 1.80073513171, + 6.29709778253 + ], + [ + 1.79775991387, + 6.29612383144 + ], + [ + 1.79625448928, + 6.29491967121 + ], + [ + 1.79490049792, + 6.28965143736 + ], + [ + 1.79641483036, + 6.28608317469 + ], + [ + 1.80097564333, + 6.28338261222 + ], + [ + 1.79566657198, + 6.28013306439 + ], + [ + 1.79156005874, + 6.28174455931 + ], + [ + 1.78498607441, + 6.28122215216 + ], + [ + 1.78092410036, + 6.27752986974 + ], + [ + 1.77588226414, + 6.27550220232 + ], + [ + 1.76744654171, + 6.27696318619 + ], + [ + 1.75653444036, + 6.27496207997 + ], + [ + 1.74833032171, + 6.27238985028 + ], + [ + 1.74761769468, + 6.27726423691 + ], + [ + 1.74572477914, + 6.27938486862 + ], + [ + 1.73948038482, + 6.27984972411 + ], + [ + 1.73680357955, + 6.27761398678 + ], + [ + 1.73572127725, + 6.27891558552 + ], + [ + 1.72901812928, + 6.27911038233 + ], + [ + 1.72435487617, + 6.27422273126 + ], + [ + 1.72449294765, + 6.2678607472 + ], + [ + 1.72555966124, + 6.26683029328 + ], + [ + 1.69933944056, + 6.26159387355 + ], + [ + 1.69572953928, + 6.25725948175 + ] + ] + ], + "best": true + }, + { + "id": "Bing", "name": "Bing aerial imagery", "type": "bing", - "description": "Satellite and aerial imagery.", "template": "http://www.bing.com/maps/", + "description": "Satellite and aerial imagery.", "scaleExtent": [ 0, 22 ], - "id": "Bing", "default": true }, { + "id": "British_Columbia_Mosaic", "name": "British Columbia Mosaic", "type": "tms", "template": "http://{switch:a,b,c,d}.imagery.paulnorman.ca/tiles/bc_mosaic/{zoom}/{x}/{y}.png", @@ -4431,7 +5002,8 @@ "terms_text": "Copyright Province of British Columbia, City of Surrey" }, { - "name": "Cambodia, Laos, Thailand, Vietnam bilingual", + "id": "osm-cambodia_laos_thailand_vietnam-bilingual", + "name": "Cambodia, Laos, Thailand, Vietnam, Myanmar bilingual", "type": "tms", "template": "http://{switch:a,b,c,d}.tile.osm-tools.org/osm_then/{zoom}/{x}/{y}.png", "scaleExtent": [ @@ -4441,24 +5013,148 @@ "polygon": [ [ [ - 97.3, - 5.6 + 92.1023798, + 20.8135629 ], [ - 97.3, - 23.4 + 93.5690546, + 24.0975527 ], [ - 109.6, - 23.4 + 94.1733026, + 23.9269484 ], [ - 109.6, - 5.6 + 95.1950312, + 26.707274 ], [ - 97.3, - 5.6 + 96.7550898, + 27.5286657 + ], + [ + 97.5845575, + 28.5805966 + ], + [ + 98.738122, + 27.514051 + ], + [ + 98.7436151, + 25.8799151 + ], + [ + 97.6779413, + 24.7577376 + ], + [ + 97.9635858, + 24.042382 + ], + [ + 98.8205194, + 24.1627239 + ], + [ + 99.5236444, + 22.9593356 + ], + [ + 100.3695917, + 21.5051376 + ], + [ + 101.7923212, + 22.4830518 + ], + [ + 105.3628778, + 23.3331079 + ], + [ + 106.8185663, + 22.8480137 + ], + [ + 108.1973505, + 21.3619661 + ], + [ + 107.4389505, + 18.8539792 + ], + [ + 117.1453714, + 7.4656173 + ], + [ + 119.6172953, + 5.2875389 + ], + [ + 118.1231546, + 4.0502277 + ], + [ + 117.2552347, + 4.3624942 + ], + [ + 115.8654642, + 4.3460623 + ], + [ + 115.5084085, + 3.0249771 + ], + [ + 114.552598, + 1.5100953 + ], + [ + 113.5418558, + 1.2574836 + ], + [ + 112.9650736, + 1.5704982 + ], + [ + 112.2454691, + 1.5100953 + ], + [ + 111.67418, + 1.0158321 + ], + [ + 110.4546976, + 0.9004918 + ], + [ + 109.4988871, + 1.9218969 + ], + [ + 103.2256937, + 1.1256762 + ], + [ + 100.4626322, + 3.2388904 + ], + [ + 97.6721048, + 8.0588831 + ], + [ + 93.892808, + 15.9398659 + ], + [ + 92.1023798, + 20.8135629 ] ] ], @@ -4466,10 +5162,816 @@ "terms_text": "© osm-tools.org & OpenStreetMap contributors, CC-BY-SA" }, { + "id": "South_Africa-CapeTown-Aerial-2013", + "name": "City of Cape Town 2013 Aerial", + "type": "tms", + "template": "http://{switch:a,b,c}.coct.aerial.openstreetmap.org.za/layer/za_coct_aerial_2013/{zoom}/{x}/{y}.jpg", + "description": "OpenStreetMap use only. City of Cape Town Aerial ortho-photography of the municipal area. 12cm ground sample distance", + "scaleExtent": [ + 1, + 21 + ], + "polygon": [ + [ + [ + 18.4486565, + -33.893623 + ], + [ + 18.4485868, + -33.902644 + ], + [ + 18.4702, + -33.9027665 + ], + [ + 18.4813902, + -33.8472383 + ], + [ + 18.4492466, + -33.801069 + ], + [ + 18.4281537, + -33.7356408 + ], + [ + 18.43914, + -33.7177232 + ], + [ + 18.4071895, + -33.6589917 + ], + [ + 18.3322379, + -33.5775191 + ], + [ + 18.3324525, + -33.5504487 + ], + [ + 18.353996, + -33.5505918 + ], + [ + 18.3542535, + -33.5236025 + ], + [ + 18.3652398, + -33.5236561 + ], + [ + 18.3650252, + -33.5148009 + ], + [ + 18.3760115, + -33.5147652 + ], + [ + 18.3760545, + -33.5058017 + ], + [ + 18.4296557, + -33.5059449 + ], + [ + 18.4296986, + -33.4878541 + ], + [ + 18.4404919, + -33.4878899 + ], + [ + 18.4405991, + -33.4698849 + ], + [ + 18.4943721, + -33.4700997 + ], + [ + 18.4943292, + -33.4791564 + ], + [ + 18.5158297, + -33.4791743 + ], + [ + 18.5157439, + -33.4881941 + ], + [ + 18.5264727, + -33.4883015 + ], + [ + 18.5263225, + -33.5243538 + ], + [ + 18.5479304, + -33.5244253 + ], + [ + 18.5479519, + -33.5153913 + ], + [ + 18.5693666, + -33.5154987 + ], + [ + 18.5693666, + -33.524479 + ], + [ + 18.5801169, + -33.5245327 + ], + [ + 18.580074, + -33.5425978 + ], + [ + 18.5907814, + -33.5425978 + ], + [ + 18.5907385, + -33.5606413 + ], + [ + 18.5799453, + -33.5605341 + ], + [ + 18.5798809, + -33.569617 + ], + [ + 18.5906956, + -33.569617 + ], + [ + 18.5906526, + -33.5786811 + ], + [ + 18.6230108, + -33.5787347 + ], + [ + 18.622925, + -33.5877264 + ], + [ + 18.6659691, + -33.5878872 + ], + [ + 18.6659262, + -33.614928 + ], + [ + 18.6767194, + -33.6149726 + ], + [ + 18.6765772, + -33.6510279 + ], + [ + 18.687298, + -33.6510167 + ], + [ + 18.6873409, + -33.6600365 + ], + [ + 18.6980697, + -33.6600901 + ], + [ + 18.6980697, + -33.6690733 + ], + [ + 18.7520358, + -33.6692519 + ], + [ + 18.7520787, + -33.6421924 + ], + [ + 18.7736437, + -33.642246 + ], + [ + 18.773708, + -33.6331886 + ], + [ + 18.8274595, + -33.6332958 + ], + [ + 18.8275239, + -33.6603044 + ], + [ + 18.8166663, + -33.6602866 + ], + [ + 18.8166019, + -33.6783233 + ], + [ + 18.8058087, + -33.6783055 + ], + [ + 18.8058087, + -33.7053892 + ], + [ + 18.8273951, + -33.7054428 + ], + [ + 18.8273308, + -33.7234701 + ], + [ + 18.838124, + -33.7234344 + ], + [ + 18.8380381, + -33.7413865 + ], + [ + 18.8165161, + -33.7413687 + ], + [ + 18.8163659, + -33.7955057 + ], + [ + 18.8055941, + -33.7955057 + ], + [ + 18.8055083, + -33.8135675 + ], + [ + 18.794758, + -33.8135497 + ], + [ + 18.7947151, + -33.8315364 + ], + [ + 18.7731072, + -33.8315186 + ], + [ + 18.7731287, + -33.8405194 + ], + [ + 18.7623569, + -33.8405194 + ], + [ + 18.7622711, + -33.903588 + ], + [ + 18.7514564, + -33.9035167 + ], + [ + 18.7510809, + -33.9847823 + ], + [ + 18.7619063, + -33.9848001 + ], + [ + 18.7617776, + -34.0298785 + ], + [ + 18.772603, + -34.0298963 + ], + [ + 18.7725815, + -34.0389073 + ], + [ + 18.7940338, + -34.0389406 + ], + [ + 18.7938756, + -34.0406987 + ], + [ + 18.7984461, + -34.0411855 + ], + [ + 18.8032445, + -34.0411788 + ], + [ + 18.8034055, + -34.0389206 + ], + [ + 18.8159367, + -34.038974 + ], + [ + 18.8163444, + -34.0299318 + ], + [ + 18.8379845, + -34.0316479 + ], + [ + 18.8380006, + -34.030003 + ], + [ + 18.8484183, + -34.0300074 + ], + [ + 18.8484666, + -34.0218491 + ], + [ + 18.859925, + -34.0234675 + ], + [ + 18.8598606, + -34.0210132 + ], + [ + 18.868272, + -34.0220803 + ], + [ + 18.8681862, + -34.0211733 + ], + [ + 18.8854596, + -34.0234319 + ], + [ + 18.8851806, + -34.0213156 + ], + [ + 18.9025184, + -34.021031 + ], + [ + 18.9025828, + -34.0119958 + ], + [ + 18.9134189, + -34.0119958 + ], + [ + 18.9134833, + -33.9939582 + ], + [ + 18.9458844, + -33.9940294 + ], + [ + 18.9458629, + -34.003102 + ], + [ + 18.9674279, + -34.0029953 + ], + [ + 18.9674708, + -34.0120848 + ], + [ + 18.9782211, + -34.0120848 + ], + [ + 18.9783284, + -34.0211377 + ], + [ + 18.9891431, + -34.0211377 + ], + [ + 18.9891645, + -34.039134 + ], + [ + 19.0000167, + -34.0391251 + ], + [ + 19.0000221, + -34.0571798 + ], + [ + 19.0108368, + -34.0572509 + ], + [ + 19.0107939, + -34.0841436 + ], + [ + 19.0000007, + -34.0841258 + ], + [ + 19.0000221, + -34.0931977 + ], + [ + 18.9891538, + -34.0931711 + ], + [ + 18.9891753, + -34.1021976 + ], + [ + 18.9783177, + -34.1021798 + ], + [ + 18.9783177, + -34.111232 + ], + [ + 18.967503, + -34.1112143 + ], + [ + 18.9674923, + -34.1292536 + ], + [ + 18.9566025, + -34.1292358 + ], + [ + 18.9565596, + -34.1382408 + ], + [ + 18.9674172, + -34.1383118 + ], + [ + 18.9674172, + -34.1473157 + ], + [ + 18.9891753, + -34.147298 + ], + [ + 18.9891753, + -34.165303 + ], + [ + 18.9782748, + -34.1652852 + ], + [ + 18.9783177, + -34.1742863 + ], + [ + 18.9674172, + -34.1742685 + ], + [ + 18.9674601, + -34.1833042 + ], + [ + 18.9565596, + -34.1833219 + ], + [ + 18.9565596, + -34.1923565 + ], + [ + 18.9457449, + -34.192321 + ], + [ + 18.945702, + -34.2013192 + ], + [ + 18.9348659, + -34.2013725 + ], + [ + 18.9348873, + -34.2193305 + ], + [ + 18.9023575, + -34.2193482 + ], + [ + 18.9017567, + -34.2362557 + ], + [ + 18.8878414, + -34.2373467 + ], + [ + 18.8894185, + -34.2554123 + ], + [ + 18.8805887, + -34.2553414 + ], + [ + 18.8792744, + -34.2644348 + ], + [ + 18.8696882, + -34.2644126 + ], + [ + 18.8697097, + -34.2734386 + ], + [ + 18.8371369, + -34.2734208 + ], + [ + 18.8371155, + -34.2643771 + ], + [ + 18.848016, + -34.2644037 + ], + [ + 18.8480267, + -34.237391 + ], + [ + 18.8154861, + -34.210281 + ], + [ + 18.8156471, + -34.1741265 + ], + [ + 18.8548824, + -34.1562743 + ], + [ + 18.7617561, + -34.0840547 + ], + [ + 18.6533734, + -34.077479 + ], + [ + 18.4797433, + -34.1101217 + ], + [ + 18.4463713, + -34.1342269 + ], + [ + 18.4444508, + -34.1640868 + ], + [ + 18.4359965, + -34.1640513 + ], + [ + 18.435975, + -34.1820172 + ], + [ + 18.4468111, + -34.182106 + ], + [ + 18.4467253, + -34.1911052 + ], + [ + 18.4659299, + -34.1912117 + ], + [ + 18.4866151, + -34.2453911 + ], + [ + 18.4788904, + -34.2543659 + ], + [ + 18.4860036, + -34.2543748 + ], + [ + 18.4677109, + -34.2994116 + ], + [ + 18.4892222, + -34.3445792 + ], + [ + 18.500112, + -34.3445837 + ], + [ + 18.4999189, + -34.3626174 + ], + [ + 18.467432, + -34.3625111 + ], + [ + 18.4673676, + -34.3534947 + ], + [ + 18.3916005, + -34.3170651 + ], + [ + 18.3917722, + -34.2900161 + ], + [ + 18.3701643, + -34.2808678 + ], + [ + 18.370682, + -34.2178866 + ], + [ + 18.3492324, + -34.1816178 + ], + [ + 18.3274743, + -34.1814936 + ], + [ + 18.3276674, + -34.1634565 + ], + [ + 18.3118746, + -34.1543832 + ], + [ + 18.3114025, + -34.1435331 + ], + [ + 18.3236656, + -34.1346886 + ], + [ + 18.3499297, + -34.1042053 + ], + [ + 18.3393189, + -34.0882843 + ], + [ + 18.3612487, + -34.0597219 + ], + [ + 18.3550474, + -34.0553843 + ], + [ + 18.3427522, + -34.064326 + ], + [ + 18.3199963, + -34.0644326 + ], + [ + 18.296071, + -34.045126 + ], + [ + 18.3068213, + -34.0252637 + ], + [ + 18.3287725, + -34.0191992 + ], + [ + 18.3289227, + -34.001252 + ], + [ + 18.3397374, + -34.0012698 + ], + [ + 18.3398017, + -33.9866282 + ], + [ + 18.3628687, + -33.9735145 + ], + [ + 18.3638129, + -33.9292474 + ], + [ + 18.3726212, + -33.9292741 + ], + [ + 18.3728358, + -33.917763 + ], + [ + 18.3977267, + -33.8933469 + ], + [ + 18.4486565, + -33.893623 + ] + ] + ], + "terms_url": "https://www.capetown.gov.za", + "terms_text": "City of Cape Town Aerial - OPENSTREETMAP USE ONLY" + }, + { + "id": "South_Africa-CapeTown-Aerial", "name": "City of Cape Town 2015 Aerial", "type": "tms", - "description": "OpenStreetMap use only. City of Cape Town Aerial ortho-photography of the municipal area. 8cm ground sample distance", "template": "http://{switch:a,b,c}.coct.aerial.openstreetmap.org.za/layer/za_coct_aerial_2015/{zoom}/{x}/{y}.jpg", + "description": "OpenStreetMap use only. City of Cape Town Aerial ortho-photography of the municipal area. 8cm ground sample distance", "scaleExtent": [ 1, 21 @@ -5271,6 +6773,7 @@ "best": true }, { + "id": "Czech_CUZK-KM-tms", "name": "Czech CUZK:KM tiles proxy", "type": "tms", "template": "http://osm-{switch:a,b,c}.zby.cz/tiles_cuzk.php/{zoom}/{x}/{y}.png", @@ -5921,12 +7424,13 @@ "overlay": true }, { - "name": "Czech ÚHUL:ORTOFOTO tiles proxy", + "id": "Czech_RUIAN-budovy", + "name": "Czech RUIAN budovy", "type": "tms", - "template": "http://osm-{switch:a,b,c}.zby.cz/tiles_uhul.php/{zoom}/{x}/{y}.jpg", + "template": "http://tile.poloha.net/budovy/{zoom}/{x}/{y}.png", "scaleExtent": [ - 13, - 18 + 12, + 20 ], "polygon": [ [ @@ -6561,16 +8065,660 @@ [ 14.9864195, 48.7652539 - ], - [ - 15.0063684, - 49.0177392 ] ] ], - "terms_text": "Ortofoto public domain ÚHUL, year 2000" + "terms_url": "http://poloha.net/" }, { + "id": "Czech_RUIAN-parcely", + "name": "Czech RUIAN parcely", + "type": "tms", + "template": "http://tile.poloha.net/parcely/{zoom}/{x}/{y}.png", + "scaleExtent": [ + 12, + 20 + ], + "polygon": [ + [ + [ + 15.0063684, + 49.0177392 + ], + [ + 15.1559854, + 49.0013828 + ], + [ + 15.190896, + 48.9424551 + ], + [ + 15.3105895, + 48.9882938 + ], + [ + 15.4053469, + 48.9752013 + ], + [ + 15.5400022, + 48.9162426 + ], + [ + 15.7145553, + 48.8670572 + ], + [ + 15.8342488, + 48.880178 + ], + [ + 15.968904, + 48.8178233 + ], + [ + 16.0885976, + 48.7455261 + ], + [ + 16.3978059, + 48.7455261 + ], + [ + 16.4875761, + 48.8145394 + ], + [ + 16.6721036, + 48.7784014 + ], + [ + 16.6820781, + 48.7356594 + ], + [ + 16.9015163, + 48.7126294 + ], + [ + 16.9464014, + 48.6237005 + ], + [ + 17.1159672, + 48.8375227 + ], + [ + 17.2107246, + 48.880178 + ], + [ + 17.4052266, + 48.8178233 + ], + [ + 17.4800351, + 48.8539329 + ], + [ + 17.5299074, + 48.8178233 + ], + [ + 17.7044605, + 48.8670572 + ], + [ + 17.8141796, + 48.9359033 + ], + [ + 17.8840008, + 48.9359033 + ], + [ + 17.9438476, + 49.0210099 + ], + [ + 18.0635412, + 49.0340903 + ], + [ + 18.1184007, + 49.0994409 + ], + [ + 18.1981964, + 49.3047337 + ], + [ + 18.3877112, + 49.3339917 + ], + [ + 18.577226, + 49.5091747 + ], + [ + 18.7567663, + 49.4994587 + ], + [ + 18.8465365, + 49.5253637 + ], + [ + 18.8764598, + 49.5706645 + ], + [ + 18.7966641, + 49.693412 + ], + [ + 18.64206, + 49.7095399 + ], + [ + 18.5872004, + 49.8351543 + ], + [ + 18.6121366, + 49.8833809 + ], + [ + 18.5622643, + 49.9347695 + ], + [ + 18.512392, + 49.9058702 + ], + [ + 18.362775, + 49.9540261 + ], + [ + 18.3278644, + 49.9219275 + ], + [ + 18.2630304, + 49.9732751 + ], + [ + 18.1184007, + 50.0053395 + ], + [ + 18.0635412, + 50.075806 + ], + [ + 17.9139242, + 49.9796897 + ], + [ + 17.779269, + 50.0309757 + ], + [ + 17.714435, + 50.1237921 + ], + [ + 17.6047159, + 50.1653411 + ], + [ + 17.7593201, + 50.21962 + ], + [ + 17.7343839, + 50.3439092 + ], + [ + 17.6396265, + 50.2802117 + ], + [ + 17.3802905, + 50.2802117 + ], + [ + 17.3503671, + 50.3439092 + ], + [ + 17.2805459, + 50.3375433 + ], + [ + 17.1857885, + 50.4075214 + ], + [ + 16.9015163, + 50.4615247 + ], + [ + 16.8666057, + 50.4138779 + ], + [ + 16.9663503, + 50.3184404 + ], + [ + 17.0361715, + 50.2323826 + ], + [ + 16.8366823, + 50.21962 + ], + [ + 16.7120015, + 50.1046034 + ], + [ + 16.5823335, + 50.1589513 + ], + [ + 16.5623846, + 50.2387626 + ], + [ + 16.4327166, + 50.3375433 + ], + [ + 16.3529209, + 50.3916263 + ], + [ + 16.2781124, + 50.3916263 + ], + [ + 16.2082911, + 50.4456477 + ], + [ + 16.3978059, + 50.5344899 + ], + [ + 16.4476782, + 50.5978464 + ], + [ + 16.3529209, + 50.670601 + ], + [ + 16.2382145, + 50.6769221 + ], + [ + 16.2182656, + 50.6326561 + ], + [ + 16.1284954, + 50.6832425 + ], + [ + 16.0486997, + 50.6073425 + ], + [ + 15.988853, + 50.7021983 + ], + [ + 15.8741467, + 50.6832425 + ], + [ + 15.8292616, + 50.7653291 + ], + [ + 15.729517, + 50.743243 + ], + [ + 15.450232, + 50.8157725 + ], + [ + 15.3903852, + 50.7747914 + ], + [ + 15.3804108, + 50.8598659 + ], + [ + 15.2956278, + 50.8850434 + ], + [ + 15.2956278, + 50.9887568 + ], + [ + 15.1709471, + 51.0201394 + ], + [ + 14.9914067, + 51.0013124 + ], + [ + 15.0063684, + 50.8881896 + ], + [ + 14.8417898, + 50.8756034 + ], + [ + 14.7969047, + 50.8252246 + ], + [ + 14.6323261, + 50.8567177 + ], + [ + 14.6622495, + 50.9353576 + ], + [ + 14.5724793, + 50.9227841 + ], + [ + 14.6123772, + 50.9856174 + ], + [ + 14.4976708, + 51.0483657 + ], + [ + 14.4178751, + 51.0232765 + ], + [ + 14.3081561, + 51.0671736 + ], + [ + 14.2532965, + 51.0044508 + ], + [ + 14.4029134, + 50.9322145 + ], + [ + 14.3729901, + 50.897627 + ], + [ + 14.2433221, + 50.9070625 + ], + [ + 14.2084114, + 50.844123 + ], + [ + 14.0338583, + 50.8126214 + ], + [ + 13.9789988, + 50.8252246 + ], + [ + 13.9041903, + 50.7968626 + ], + [ + 13.8742669, + 50.740087 + ], + [ + 13.5351352, + 50.7243038 + ], + [ + 13.530148, + 50.6579561 + ], + [ + 13.4703012, + 50.6136722 + ], + [ + 13.3905055, + 50.664279 + ], + [ + 13.3256715, + 50.5883483 + ], + [ + 13.250863, + 50.6105074 + ], + [ + 13.1960035, + 50.5059517 + ], + [ + 13.0513738, + 50.5218084 + ], + [ + 12.9665909, + 50.4106997 + ], + [ + 12.8269484, + 50.4710483 + ], + [ + 12.7022676, + 50.4138779 + ], + [ + 12.5077656, + 50.401164 + ], + [ + 12.343187, + 50.2547088 + ], + [ + 12.323238, + 50.1845054 + ], + [ + 12.2484296, + 50.2738373 + ], + [ + 12.1736211, + 50.3311765 + ], + [ + 12.0988126, + 50.33436 + ], + [ + 12.1187616, + 50.25152 + ], + [ + 12.2234934, + 50.1653411 + ], + [ + 12.2035445, + 50.1237921 + ], + [ + 12.5027784, + 49.9732751 + ], + [ + 12.4778422, + 49.9379795 + ], + [ + 12.5476634, + 49.9155052 + ], + [ + 12.4678677, + 49.8029766 + ], + [ + 12.408021, + 49.7611134 + ], + [ + 12.4828294, + 49.6869593 + ], + [ + 12.5327017, + 49.6869593 + ], + [ + 12.5177401, + 49.6288466 + ], + [ + 12.6075102, + 49.5415474 + ], + [ + 12.6723442, + 49.4378793 + ], + [ + 12.8119867, + 49.3469896 + ], + [ + 12.9466419, + 49.3437405 + ], + [ + 13.2309141, + 49.1288206 + ], + [ + 13.3256715, + 49.1059712 + ], + [ + 13.4353906, + 49.0438984 + ], + [ + 13.4154417, + 48.9948387 + ], + [ + 13.5002246, + 48.949006 + ], + [ + 13.5650586, + 48.9882938 + ], + [ + 13.6847522, + 48.8834577 + ], + [ + 13.7445989, + 48.9031312 + ], + [ + 13.8243946, + 48.7751149 + ], + [ + 13.8992031, + 48.7751149 + ], + [ + 14.0587945, + 48.676418 + ], + [ + 14.0438328, + 48.6302932 + ], + [ + 14.1435774, + 48.5907241 + ], + [ + 14.3729901, + 48.5610269 + ], + [ + 14.4827091, + 48.6500662 + ], + [ + 14.5774665, + 48.607215 + ], + [ + 14.6273389, + 48.6335892 + ], + [ + 14.7071346, + 48.5808269 + ], + [ + 14.7470324, + 48.7027561 + ], + [ + 14.8118664, + 48.7389485 + ], + [ + 14.8168536, + 48.794831 + ], + [ + 14.9864195, + 48.7652539 + ] + ] + ], + "terms_url": "http://poloha.net/" + }, + { + "id": "Duna_2013", "name": "Danube flood ortophoto 2013", "type": "tms", "template": "http://e.tile.openstreetmap.hu/dunai-arviz-2013/{zoom}/{x}/{y}.jpg", @@ -6622,10 +8770,113 @@ "terms_text": "Fotótérkép.hu" }, { + "id": "Delaware2012Orthophotography", + "name": "Delaware 2012 Orthophotography", + "type": "tms", + "template": "http://whoots.mapwarper.net/tms/{zoom}/{x}/{y}/0/https://firstmap.delaware.gov/arcgis/services/DE_Imagery/DE_Imagery_2012/ImageServer/WMSServer", + "description": "This data set consists of 0.3-meter pixel resolution (approximately 1-foot), 4-band true color and near infrared (R, G, B, IR) orthoimages covering New Castle, Kent and Sussex Counties in Delaware.", + "polygon": [ + [ + [ + -75.01770587603, + 38.45188674427 + ], + [ + -75.74173524589, + 38.4499581145 + ], + [ + -75.80699639658, + 39.73907123636 + ], + [ + -75.75558784863, + 39.80106251053 + ], + [ + -75.64692187603, + 39.8563815616 + ], + [ + -75.47114773904, + 39.84645578141 + ], + [ + -75.37725787603, + 39.81477822231 + ], + [ + -75.48746302671, + 39.6718115509 + ], + [ + -75.50901151986, + 39.43446011595 + ], + [ + -75.39326532808, + 39.27784018498 + ], + [ + -75.30707135548, + 39.01666513594 + ], + [ + -75.1931721774, + 38.82218696272 + ], + [ + -75.05341480753, + 38.80875503297 + ], + [ + -75.01770587603, + 38.45188674427 + ] + ] + ] + }, + { + "id": "maaamet.ee-orto", + "name": "Estonia Ortho (Maaamet)", + "type": "tms", + "template": "http://kaart.maakaart.ee/orto/{zoom}/{x}/{y}.jpeg", + "scaleExtent": [ + 14, + 20 + ], + "polygon": [ + [ + [ + 21.6940073, + 57.5025466 + ], + [ + 21.6940073, + 59.8274564 + ], + [ + 28.2110546, + 59.8274564 + ], + [ + 28.2110546, + 57.5025466 + ], + [ + 21.6940073, + 57.5025466 + ] + ] + ], + "terms_text": "Maa-Ameti ortofoto " + }, + { + "id": "FOMI_2000", "name": "FÖMI ortofotó 2000", "type": "tms", - "description": "Hungary", "template": "http://e.tile.openstreetmap.hu/ortofoto2000/{zoom}/{x}/{y}.jpg", + "description": "Hungary", "scaleExtent": [ 0, 17 @@ -8930,10 +11181,11 @@ "terms_text": "Földmérési és Távérzékelési Intézet" }, { + "id": "FOMI_2005", "name": "FÖMI ortofotó 2005", "type": "tms", - "description": "Hungary", "template": "http://e.tile.openstreetmap.hu/ortofoto2005/{zoom}/{x}/{y}.jpg", + "description": "Hungary", "scaleExtent": [ 0, 17 @@ -11238,10 +13490,11 @@ "terms_text": "Földmérési és Távérzékelési Intézet" }, { + "id": "FR-BAN", "name": "FR-BAN", "type": "tms", - "description": "French address registry or Base Adresses Nationale", "template": "http://{switch:a,b,c}.layers.openstreetmap.fr/bano/{zoom}/{x}/{y}.png", + "description": "French address registry or Base Adresses Nationale", "scaleExtent": [ 12, 20 @@ -11561,14 +13814,14 @@ ] ], "terms_url": "https://wiki.openstreetmap.org/wiki/WikiProject_France/WikiProject_Base_Adresses_Nationale_Ouverte_(BANO)", - "terms_text": "Tiles © cquest@Openstreetmap France, data © OpenStreetMap contributors, ODBL", - "id": "FR-BAN" + "terms_text": "Tiles © cquest@Openstreetmap France, data © OpenStreetMap contributors, ODBL" }, { + "id": "FR-Cadastre", "name": "FR-Cadastre", "type": "tms", + "template": "http://tms.cadastre.openstreetmap.fr/*/tout/{zoom}/{x}/{y}.png", "description": "French land registry", - "template": "http://tms.cadastre.openstreetmap.fr/*/tout/{z}/{x}/{y}.png", "scaleExtent": [ 12, 20 @@ -11888,10 +14141,10 @@ ] ], "terms_url": "http://wiki.openstreetmap.org/wiki/WikiProject_Cadastre_Fran%C3%A7ais/Conditions_d%27utilisation", - "terms_text": "cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2015", - "id": "FR-Cadastre" + "terms_text": "cadastre-dgi-fr source : Direction Générale des Impôts - Cadastre. Mise à jour : 2015" }, { + "id": "Freemap.sk-Car", "name": "Freemap.sk Car", "type": "tms", "template": "http://t{switch:1,2,3,4}.freemap.sk/A/{zoom}/{x}/{y}.jpeg", @@ -12090,6 +14343,7 @@ "terms_text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved." }, { + "id": "Freemap.sk-Cyclo", "name": "Freemap.sk Cyclo", "type": "tms", "template": "http://t{switch:1,2,3,4}.freemap.sk/C/{zoom}/{x}/{y}.jpeg", @@ -12288,6 +14542,7 @@ "terms_text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved." }, { + "id": "Freemap.sk-Hiking", "name": "Freemap.sk Hiking", "type": "tms", "template": "http://t{switch:1,2,3,4}.freemap.sk/T/{zoom}/{x}/{y}.jpeg", @@ -12486,6 +14741,7 @@ "terms_text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved." }, { + "id": "Freemap.sk-Ski", "name": "Freemap.sk Ski", "type": "tms", "template": "http://t{switch:1,2,3,4}.freemap.sk/K/{zoom}/{x}/{y}.jpeg", @@ -12684,6 +14940,7 @@ "terms_text": "Copyright ©2007-2012 Freemap Slovakia (www.freemap.sk). Some rights reserved." }, { + "id": "Geodatastyrelsen_Denmark", "name": "Geodatastyrelsen (Denmark)", "type": "tms", "template": "http://osmtools.septima.dk/mapproxy/tiles/1.0.0/kortforsyningen_ortoforaar/EPSG3857/{zoom}/{x}/{y}.jpeg", @@ -13328,6 +15585,7 @@ "best": true }, { + "id": "Geoportal-PL-aerial_image", "name": "Geoportal.gov.pl (Orthophotomap)", "type": "tms", "template": "http://wms.misek.pl/geoportal.orto/tms/{zoom}/{x}/{y}", @@ -13731,10 +15989,11 @@ "best": true }, { + "id": "IBGE_DF_Addresses", "name": "IBGE Distrito Federal", "type": "tms", + "template": "https://api.mapbox.com/styles/v1/wille/cirnnxni1000jg8nfppc8g7pm/tiles/256/{zoom}/{x}/{y}?access_token=pk.eyJ1Ijoid2lsbGUiLCJhIjoicFNVWk5VWSJ9.hluCd0YGvYHNlFi_utWe2g", "description": "Addresses data from IBGE", - "template": "https://api.mapbox.com/styles/v1/wille/cirnnxni1000jg8nfppc8g7pm/tiles/256/{z}/{x}/{y}?access_token=pk.eyJ1Ijoid2lsbGUiLCJhIjoicFNVWk5VWSJ9.hluCd0YGvYHNlFi_utWe2g", "scaleExtent": [ 0, 19 @@ -13766,6 +16025,7 @@ "overlay": true }, { + "id": "IBGE_Setores_Rurais", "name": "IBGE Mapa de Setores Rurais", "type": "tms", "template": "http://{switch:a,b,c}.tiles.mapbox.com/v4/tmpsantos.i00mo1kj/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw", @@ -14403,6 +16663,7 @@ ] }, { + "id": "IBGE_Setores_Urbanos", "name": "IBGE Mapa de Setores Urbanos", "type": "tms", "template": "http://{switch:a,b,c}.tiles.mapbox.com/v4/tmpsantos.hgda0m6h/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw", @@ -15040,6 +17301,7 @@ ] }, { + "id": "Haiti-Drone", "name": "Imagerie Drone (Haiti)", "type": "tms", "template": "http://wms.openstreetmap.fr/tms/1.0.0/iomhaiti/{zoom}/{x}/{y}", @@ -17467,10 +19729,11 @@ ] }, { + "id": "osmim-imagicode-LC80700162014211LGN00", "name": "imagico.de OSM images for mapping: Alaska Range", "type": "tms", - "description": "LC80700162014211LGN00, 2014-07-31 channels 234 (true color), Recent summer image of the Alaska Range for mapping natural features", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC80700162014211LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC80700162014211LGN00, 2014-07-31 channels 234 (true color), Recent summer image of the Alaska Range for mapping natural features", "scaleExtent": [ 0, 12 @@ -17500,14 +19763,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC80700162014211LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC81190582014075LGN00", "name": "imagico.de OSM images for mapping: Bakun Reservoir", "type": "tms", - "description": "LC81190582014075LGN00/LC81180582015183LGN00, 2014-03-16, channels 234 (true color), Missing in older pre-2011 images", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC81190582014075LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC81190582014075LGN00/LC81180582015183LGN00, 2014-03-16, channels 234 (true color), Missing in older pre-2011 images", "scaleExtent": [ 0, 13 @@ -17537,14 +19800,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC81190582014075LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC81250592016107LGN00", "name": "imagico.de OSM images for mapping: Batam", "type": "tms", - "description": "LC81250592016107LGN00, LC81250602015184LGN00, LC81240602014174LGN00, 2014-2016, channels 234 (true color), Missing Islands in OSM", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC81250592016107LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC81250592016107LGN00, LC81250602015184LGN00, LC81240602014174LGN00, 2014-2016, channels 234 (true color), Missing Islands in OSM", "scaleExtent": [ 0, 13 @@ -17574,14 +19837,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC81250592016107LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC81800982013291LGN00", "name": "imagico.de OSM images for mapping: Bouvet Island", "type": "tms", - "description": "LC81800982013291LGN00, 2013-10-18, channels 234 (true color), For more accurate coastline and glacier mapping", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC81800982013291LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC81800982013291LGN00, 2013-10-18, channels 234 (true color), For more accurate coastline and glacier mapping", "scaleExtent": [ 0, 13 @@ -17612,14 +19875,14 @@ ], "terms_url": "http://maps.imagico.de/#osmim", "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC81800982013291LGN00", "best": true }, { + "id": "osmim-imagicode-LC82050982015344LGN00", "name": "imagico.de OSM images for mapping: Clerke Rocks", "type": "tms", - "description": "LC82050982015344LGN00, 2015-12-10, channels 234 (true color), Missing in other image sources", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC82050982015344LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC82050982015344LGN00, 2015-12-10, channels 234 (true color), Missing in other image sources", "scaleExtent": [ 0, 13 @@ -17649,14 +19912,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC82050982015344LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-S2A_R022_N06_20151221T103009", "name": "imagico.de OSM images for mapping: Cotonou", "type": "tms", - "description": "S2A_OPER_PRD_MSIL1C_PDMC_20151222T164644_R022_V20151221T103009_20151221T103009, 2015-12-21, channels 234 (true color), Patchy and partly cloudy coverage in usual sources", "template": "http://imagico.de/map/osmim_tiles.php?layer=S2A_R022_N06_20151221T103009&z={zoom}&x={x}&y={-y}", + "description": "S2A_OPER_PRD_MSIL1C_PDMC_20151222T164644_R022_V20151221T103009_20151221T103009, 2015-12-21, channels 234 (true color), Patchy and partly cloudy coverage in usual sources", "scaleExtent": [ 0, 14 @@ -17686,14 +19949,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-S2A_R022_N06_20151221T103009" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC80360072014245LGN00", "name": "imagico.de OSM images for mapping: Eastern Devon Island coast", "type": "tms", - "description": "LC80360072014245LGN00/LC80380062014243LGN00, 2014-09-02, channel 654 (false color IR), Coastline mostly mapped meanwhile", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC80360072014245LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC80360072014245LGN00/LC80380062014243LGN00, 2014-09-02, channel 654 (false color IR), Coastline mostly mapped meanwhile", "scaleExtent": [ 0, 11 @@ -17723,14 +19986,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC80360072014245LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC82160152013239LGN00", "name": "imagico.de OSM images for mapping: Eastern Iceland", "type": "tms", - "description": "LC82160152013239LGN00, 2013-08-27, channels 234 (true color), Missing islets and inaccurate coast", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC82160152013239LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC82160152013239LGN00, 2013-08-27, channels 234 (true color), Missing islets and inaccurate coast", "scaleExtent": [ 0, 12 @@ -17760,14 +20023,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC82160152013239LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-AST_L1T_00302052007154424_20150518041444_91492", "name": "imagico.de OSM images for mapping: El Altar", "type": "tms", - "description": "AST_L1T_00302052007154424_20150518041444_91492, 2012-02-05, channels 12x (true color with estimated blue), 2007 ASTER image offering better glacier coverage than common sources", "template": "http://imagico.de/map/osmim_tiles.php?layer=AST_L1T_00302052007154424_20150518041444_91492&z={zoom}&x={x}&y={-y}", + "description": "AST_L1T_00302052007154424_20150518041444_91492, 2012-02-05, channels 12x (true color with estimated blue), 2007 ASTER image offering better glacier coverage than common sources", "scaleExtent": [ 0, 14 @@ -17797,14 +20060,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-AST_L1T_00302052007154424_20150518041444_91492" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-S2A_R009_S61_20160109", "name": "imagico.de OSM images for mapping: Elephant Island/Clarence Island", "type": "tms", - "description": "S2A_OPER_PRD_MSIL1C_PDMC_20160109T225906_R009_V20160109T130043_20160109T130043, 2016-01-09, channels 234 (true color), Fairly clear up-to-date image for updating glacier edges", "template": "http://imagico.de/map/osmim_tiles.php?layer=S2A_R009_S61_20160109&z={zoom}&x={x}&y={-y}", + "description": "S2A_OPER_PRD_MSIL1C_PDMC_20160109T225906_R009_V20160109T130043_20160109T130043, 2016-01-09, channels 234 (true color), Fairly clear up-to-date image for updating glacier edges", "scaleExtent": [ 0, 13 @@ -17834,14 +20097,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-S2A_R009_S61_20160109" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC82100502015347LGN00", "name": "imagico.de OSM images for mapping: Fogo, Cape Verde", "type": "tms", - "description": "LC82100502015347LGN00, 2015-12-13, channels 234 (true color), Image from after the 2014/2015 eruption", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC82100502015347LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC82100502015347LGN00, 2015-12-13, channels 234 (true color), Image from after the 2014/2015 eruption", "scaleExtent": [ 0, 14 @@ -17871,14 +20134,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC82100502015347LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-greenland", "name": "imagico.de OSM images for mapping: Greenland mosaic", "type": "tms", - "description": "mostly Landsat 8 2013-2015 channels 234 (true color), Landsat mosaic of Greenland", "template": "http://imagico.de/map/osmim_tiles.php?layer=greenland&z={zoom}&x={x}&y={-y}", + "description": "mostly Landsat 8 2013-2015 channels 234 (true color), Landsat mosaic of Greenland", "scaleExtent": [ 0, 12 @@ -18460,14 +20723,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-greenland" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-S2A_R047_S54_20160411T044330", "name": "imagico.de OSM images for mapping: Heard Island coast", "type": "tms", - "description": "S2A_OPER_PRD_MSIL1C_PDMC_20160412T212111_R047_V20160411T044330_20160411T044330, 2016-04-12, channels 234 (true color), Recent image of Heard island with interior mostly cloud covered but mostly well visible coast", "template": "http://imagico.de/map/osmim_tiles.php?layer=S2A_R047_S54_20160411T044330&z={zoom}&x={x}&y={-y}", + "description": "S2A_OPER_PRD_MSIL1C_PDMC_20160412T212111_R047_V20160411T044330_20160411T044330, 2016-04-12, channels 234 (true color), Recent image of Heard island with interior mostly cloud covered but mostly well visible coast", "scaleExtent": [ 0, 13 @@ -18497,14 +20760,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-S2A_R047_S54_20160411T044330" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC82280982013259LGN00", "name": "imagico.de OSM images for mapping: Isla Londonderry", "type": "tms", - "description": "LC82280982013259LGN00, 2013-09-16, channel 654 (false color IR), A lot of very coarse coastlines could be improved here, much snow cover though so no use for glacier mapping", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC82280982013259LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC82280982013259LGN00, 2013-09-16, channel 654 (false color IR), A lot of very coarse coastlines could be improved here, much snow cover though so no use for glacier mapping", "scaleExtent": [ 0, 12 @@ -18534,14 +20797,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC82280982013259LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-AST_L1T_00311162013112731_20150618142416_109190", "name": "imagico.de OSM images for mapping: Leskov Island ASTER", "type": "tms", - "description": "AST_L1T_00311162013112731_20150618142416_109190, 2013-11-16, channels 12x (true color with estimated blue), Missing in other image sources", "template": "http://imagico.de/map/osmim_tiles.php?layer=AST_L1T_00311162013112731_20150618142416_109190&z={zoom}&x={x}&y={-y}", + "description": "AST_L1T_00311162013112731_20150618142416_109190, 2013-11-16, channels 12x (true color with estimated blue), Missing in other image sources", "scaleExtent": [ 0, 13 @@ -18571,14 +20834,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-AST_L1T_00311162013112731_20150618142416_109190" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC81991002015286LGN00", "name": "imagico.de OSM images for mapping: Leskov Island Landsat", "type": "tms", - "description": "LC81991002015286LGN00, 2015-10-13, channels 234 (true color), Missing in other image sources", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC81991002015286LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC81991002015286LGN00, 2015-10-13, channels 234 (true color), Missing in other image sources", "scaleExtent": [ 0, 13 @@ -18608,14 +20871,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC81991002015286LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-ls_polar", "name": "imagico.de OSM images for mapping: May 2013 off-nadir Landsat", "type": "tms", - "description": "LC80372442013137LGN01-LC80530012013137LGN01, 2013-05-17, channels 234 (true color), Only available image north of the regular Landsat limit, mostly with seasonal snow cover so difficult to interpret", "template": "http://imagico.de/map/osmim_tiles.php?layer=ls_polar&z={zoom}&x={x}&y={-y}", + "description": "LC80372442013137LGN01-LC80530012013137LGN01, 2013-05-17, channels 234 (true color), Only available image north of the regular Landsat limit, mostly with seasonal snow cover so difficult to interpret", "scaleExtent": [ 0, 10 @@ -18645,14 +20908,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-ls_polar" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC80940622015159LGN00", "name": "imagico.de OSM images for mapping: New Ireland", "type": "tms", - "description": "LC80940622015159LGN00, 2015-06-08, channels 234 (true color), Many missing islands in OSM (mostly mapped meanwhile)", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC80940622015159LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC80940622015159LGN00, 2015-06-08, channels 234 (true color), Many missing islands in OSM (mostly mapped meanwhile)", "scaleExtent": [ 0, 14 @@ -18682,14 +20945,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC80940622015159LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-nellesmere_ast", "name": "imagico.de OSM images for mapping: Northern Ellesmere Island", "type": "tms", - "description": "ASTER L1T, 2012-07-09/2012-07-15, channels 12x (true color with estimated blue), Assembled from July 2012 ASTER imagery", "template": "http://imagico.de/map/osmim_tiles.php?layer=nellesmere_ast&z={zoom}&x={x}&y={-y}", + "description": "ASTER L1T, 2012-07-09/2012-07-15, channels 12x (true color with estimated blue), Assembled from July 2012 ASTER imagery", "scaleExtent": [ 0, 10 @@ -18719,14 +20982,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-nellesmere_ast" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC81960222015233LGN00vis", "name": "imagico.de OSM images for mapping: Northern German west coast tidalflats", "type": "tms", - "description": "LC81960222015233LGN00, 2015-08-21 channels 134 (true color), Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC81960222015233LGN00vis&z={zoom}&x={x}&y={-y}", + "description": "LC81960222015233LGN00, 2015-08-21 channels 134 (true color), Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals", "scaleExtent": [ 0, 12 @@ -18756,14 +21019,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC81960222015233LGN00vis" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC81960222015233LGN00ir", "name": "imagico.de OSM images for mapping: Northern German west coast tidalflats (infrared)", "type": "tms", - "description": "LC81960222015233LGN00, 2015-08-21 channel 654 (false color IR), Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC81960222015233LGN00ir&z={zoom}&x={x}&y={-y}", + "description": "LC81960222015233LGN00, 2015-08-21 channel 654 (false color IR), Up-to-date low tide imagery of the coast for updating mapping of tidalflats and shoals", "scaleExtent": [ 0, 12 @@ -18793,14 +21056,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC81960222015233LGN00ir" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-ngreenland_ast", "name": "imagico.de OSM images for mapping: Northern Greenland ASTER", "type": "tms", - "description": "ASTER L1T, 2005-06-21 to 2012-08-13, channels 12x (true color with estimated blue), Assembled from mostly 2012 ASTER imagery, some 2005 images mainly in the northeast", "template": "http://imagico.de/map/osmim_tiles.php?layer=ngreenland_ast&z={zoom}&x={x}&y={-y}", + "description": "ASTER L1T, 2005-06-21 to 2012-08-13, channels 12x (true color with estimated blue), Assembled from mostly 2012 ASTER imagery, some 2005 images mainly in the northeast", "scaleExtent": [ 0, 10 @@ -18830,14 +21093,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-ngreenland_ast" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-EO1A1350972013086110KF", "name": "imagico.de OSM images for mapping: Northwest Heard Island", "type": "tms", - "description": "EO1A1350972013086110KF, 2013-03-13, channels 973 (false color IR), Glaciers of Northwest Heard Island (mapped meanwhile)", "template": "http://imagico.de/map/osmim_tiles.php?layer=EO1A1350972013086110KF&z={zoom}&x={x}&y={-y}", + "description": "EO1A1350972013086110KF, 2013-03-13, channels 973 (false color IR), Glaciers of Northwest Heard Island (mapped meanwhile)", "scaleExtent": [ 0, 13 @@ -18867,14 +21130,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-EO1A1350972013086110KF" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-S2A_R111_N09_20160604T154554", "name": "imagico.de OSM images for mapping: Panama Canal", "type": "tms", - "description": "S2A_OPER_PRD_MSIL1C_PDMC_20160607T121312_R111_V20160604T154554_20160604T154554, 2016-06-07, channels 234 (true color), Images of the new locks (but partly cloudy)", "template": "http://imagico.de/map/osmim_tiles.php?layer=S2A_R111_N09_20160604T154554&z={zoom}&x={x}&y={-y}", + "description": "S2A_OPER_PRD_MSIL1C_PDMC_20160607T121312_R111_V20160604T154554_20160604T154554, 2016-06-07, channels 234 (true color), Images of the new locks (but partly cloudy)", "scaleExtent": [ 0, 14 @@ -18904,14 +21167,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-S2A_R111_N09_20160604T154554" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC81511242016033LGN00", "name": "imagico.de OSM images for mapping: Pensacola Mountains", "type": "tms", - "description": "LC81511242016033LGN00/LC81511232016033LGN00, 2016-02-02, channels 234 (true color), Outside regular Landsat coverage and therefore not in LIMA and Bing/Mapbox", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC81511242016033LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC81511242016033LGN00/LC81511232016033LGN00, 2016-02-02, channels 234 (true color), Outside regular Landsat coverage and therefore not in LIMA and Bing/Mapbox", "scaleExtent": [ 0, 10 @@ -18941,14 +21204,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC81511242016033LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-S2A_R136_N41_20150831T093006", "name": "imagico.de OSM images for mapping: Prokletije Mountains", "type": "tms", - "description": "S2A_OPER_PRD_MSIL1C_PDMC_20160316T034950_R136_V20150831T093006_20150831T093006, 2015-08-31, channels 234 (true color), Late summer imagery where usual sources are severely limited by clouds and snow", "template": "http://imagico.de/map/osmim_tiles.php?layer=S2A_R136_N41_20150831T093006&z={zoom}&x={x}&y={-y}", + "description": "S2A_OPER_PRD_MSIL1C_PDMC_20160316T034950_R136_V20150831T093006_20150831T093006, 2015-08-31, channels 234 (true color), Late summer imagery where usual sources are severely limited by clouds and snow", "scaleExtent": [ 0, 14 @@ -18978,14 +21241,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-S2A_R136_N41_20150831T093006" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-DMS_1142622_03746_20110415_17533956", "name": "imagico.de OSM images for mapping: Qasigiannguit", "type": "tms", - "description": "DMS_1142622_03746_20110415_17533956, 2011-04-15, true color, Icebridge DMS image of the settlement - alignment might be poor", "template": "http://imagico.de/map/osmim_tiles.php?layer=DMS_1142622_03746_20110415_17533956&z={zoom}&x={x}&y={-y}", + "description": "DMS_1142622_03746_20110415_17533956, 2011-04-15, true color, Icebridge DMS image of the settlement - alignment might be poor", "scaleExtent": [ 0, 15 @@ -19015,14 +21278,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-DMS_1142622_03746_20110415_17533956" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC81510432015030LGN00", "name": "imagico.de OSM images for mapping: Rann of Kutch", "type": "tms", - "description": "various Landsat early 2015, channel 654 (false color IR), Land/water distinction difficult to properly map based on Bing/Mapbox images", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC81510432015030LGN00&z={zoom}&x={x}&y={-y}", + "description": "various Landsat early 2015, channel 654 (false color IR), Land/water distinction difficult to properly map based on Bing/Mapbox images", "scaleExtent": [ 0, 12 @@ -19052,14 +21315,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC81510432015030LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-S2A_R093_N41_20150828T092005", "name": "imagico.de OSM images for mapping: Rila and Pirin Mountains", "type": "tms", - "description": "S2A_OPER_PRD_MSIL1C_PDMC_20160412T121341_R093_V20150828T092005_20150828T092005, 2015-08-28, channels 234 (true color), Late summer imagery where usual sources are severely limited by clouds and snow", "template": "http://imagico.de/map/osmim_tiles.php?layer=S2A_R093_N41_20150828T092005&z={zoom}&x={x}&y={-y}", + "description": "S2A_OPER_PRD_MSIL1C_PDMC_20160412T121341_R093_V20150828T092005_20150828T092005, 2015-08-28, channels 234 (true color), Late summer imagery where usual sources are severely limited by clouds and snow", "scaleExtent": [ 0, 14 @@ -19089,14 +21352,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-S2A_R093_N41_20150828T092005" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC81730602015040LGN00", "name": "imagico.de OSM images for mapping: Rwenzori Mountains", "type": "tms", - "description": "LC81730602015040LGN00, 2015-02-09, channel 654 (false color IR), Recent image of most of the remaining Rwenzori Mountains glaciers", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC81730602015040LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC81730602015040LGN00, 2015-02-09, channel 654 (false color IR), Recent image of most of the remaining Rwenzori Mountains glaciers", "scaleExtent": [ 0, 13 @@ -19126,14 +21389,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC81730602015040LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC80611072014036LGN00", "name": "imagico.de OSM images for mapping: Scott Island", "type": "tms", - "description": "LC80611072014036LGN00, 2014-02-05, channels 234 (true color), Missing in other image sources", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC80611072014036LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC80611072014036LGN00, 2014-02-05, channels 234 (true color), Missing in other image sources", "scaleExtent": [ 0, 13 @@ -19163,14 +21426,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC80611072014036LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC82100972015347LGN00", "name": "imagico.de OSM images for mapping: Shag Rocks", "type": "tms", - "description": "LC82100972015347LGN00, 2015-12-13, channels 234 (true color), Missing in other image sources", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC82100972015347LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC82100972015347LGN00, 2015-12-13, channels 234 (true color), Missing in other image sources", "scaleExtent": [ 0, 13 @@ -19200,14 +21463,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC82100972015347LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC81130622013270LGN00", "name": "imagico.de OSM images for mapping: Southeastern Sulawesi", "type": "tms", - "description": "LC81130622013270LGN00, 2013-09-27, channels 234 (true color), Missing islands and coarse coastline due to cloud cover in Bing, lakes could also use additional detail", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC81130622013270LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC81130622013270LGN00, 2013-09-27, channels 234 (true color), Missing islands and coarse coastline due to cloud cover in Bing, lakes could also use additional detail", "scaleExtent": [ 0, 13 @@ -19237,14 +21500,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC81130622013270LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC80281222016035LGN00", "name": "imagico.de OSM images for mapping: Southern Transantarctic Mountains", "type": "tms", - "description": "LC80281222016035LGN00/LC80281212016035LGN00, 2016-02-04, channels 234 (true color), Outside regular Landsat coverage and therefore not in LIMA and Bing/Mapbox", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC80281222016035LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC80281222016035LGN00/LC80281212016035LGN00, 2016-02-04, channels 234 (true color), Outside regular Landsat coverage and therefore not in LIMA and Bing/Mapbox", "scaleExtent": [ 0, 10 @@ -19274,14 +21537,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC80281222016035LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-DMS_1142636_160xx_20110507_1822xxxx", "name": "imagico.de OSM images for mapping: Thule Air Base", "type": "tms", - "description": "DMS_1142636_16001_20110507_18221638-DMS_1142636_16076_20110507_18224996, 2011-05-07, true color, Icebridge DMS image - alignment might be poor", "template": "http://imagico.de/map/osmim_tiles.php?layer=DMS_1142636_160xx_20110507_1822xxxx&z={zoom}&x={x}&y={-y}", + "description": "DMS_1142636_16001_20110507_18221638-DMS_1142636_16076_20110507_18224996, 2011-05-07, true color, Icebridge DMS image - alignment might be poor", "scaleExtent": [ 0, 15 @@ -19311,14 +21574,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-DMS_1142636_160xx_20110507_1822xxxx" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC80910682014358LGN00", "name": "imagico.de OSM images for mapping: Vanatinai", "type": "tms", - "description": "LC80910682014358LGN00, 2014-12-24, channels 234 (true color), Coarse coastline due to cloud cover in Bing/Mapbox", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC80910682014358LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC80910682014358LGN00, 2014-12-24, channels 234 (true color), Coarse coastline due to cloud cover in Bing/Mapbox", "scaleExtent": [ 0, 13 @@ -19348,14 +21611,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC80910682014358LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC82330892016031LGN00", "name": "imagico.de OSM images for mapping: Volcán Calbuco", "type": "tms", - "description": "LC82330892016031LGN00, 2016-01-31, channels 234 (true color), Image from after the 2015 eruption", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC82330892016031LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC82330892016031LGN00, 2016-01-31, channels 234 (true color), Image from after the 2015 eruption", "scaleExtent": [ 0, 13 @@ -19385,14 +21648,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC82330892016031LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-LC81490352013282LGN00", "name": "imagico.de OSM images for mapping: Western Karakoram", "type": "tms", - "description": "LC81490352013282LGN00, 2013-10-09, channels 234 (true color), Represents approximately minimum snow cover so can be well used for glacier mapping", "template": "http://imagico.de/map/osmim_tiles.php?layer=LC81490352013282LGN00&z={zoom}&x={x}&y={-y}", + "description": "LC81490352013282LGN00, 2013-10-09, channels 234 (true color), Represents approximately minimum snow cover so can be well used for glacier mapping", "scaleExtent": [ 0, 13 @@ -19422,14 +21685,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-LC81490352013282LGN00" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "osmim-imagicode-S2A_R039_S15_20160510T145731", "name": "imagico.de OSM images for mapping: Willkanuta Mountains and Quelccaya Ice Cap", "type": "tms", - "description": "S2A_OPER_PRD_MSIL1C_PDMC_20160511T025410_R039_V20160510T145731_20160510T150701, 2016-05-10, channels 234 (true color), Poor and outdated imagery in other sources", "template": "http://imagico.de/map/osmim_tiles.php?layer=S2A_R039_S15_20160510T145731&z={zoom}&x={x}&y={-y}", + "description": "S2A_OPER_PRD_MSIL1C_PDMC_20160511T025410_R039_V20160510T145731_20160510T150701, 2016-05-10, channels 234 (true color), Poor and outdated imagery in other sources", "scaleExtent": [ 0, 14 @@ -19459,14 +21722,14 @@ ] ], "terms_url": "http://maps.imagico.de/#osmim", - "terms_text": "imagico.de OSM images for mapping", - "id": "osmim-imagicode-S2A_R039_S15_20160510T145731" + "terms_text": "imagico.de OSM images for mapping" }, { + "id": "Interspect_Budapest_2014", "name": "Interspect ortofotó 2014", "type": "tms", - "description": "Four districts of Budapest: III, XIII, XIV, XV", "template": "http://geoserver.infobex.hu/Budapest2014/IST/{zoom}/{x}/{y}.jpg", + "description": "Four districts of Budapest: III, XIII, XIV, XV", "scaleExtent": [ 10, 21 @@ -20152,6 +22415,7 @@ "best": true }, { + "id": "bartholomew_qi1940", "name": "Ireland Bartholomew Quarter-Inch 1940", "type": "tms", "template": "http://geo.nls.uk/maps/ireland/bartholomew/{zoom}/{x}/{-y}.png", @@ -20323,6 +22587,7 @@ "terms_text": "National Library of Scotland Historic Maps" }, { + "id": "GSGS3906", "name": "Ireland British War Office 1:25k GSGS 3906", "type": "tms", "template": "http://mapwarper.net/layers/tile/101/{zoom}/{x}/{y}.png", @@ -20355,10 +22620,10 @@ ] ], "terms_url": "http://wiki.openstreetmap.org/wiki/WikiProject_Ireland#Trinity_College_Dublin", - "terms_text": "Glucksman Map Library, Trinity College Dublin", - "id": "GSGS3906" + "terms_text": "Glucksman Map Library, Trinity College Dublin" }, { + "id": "GSGS4136", "name": "Ireland British War Office One-Inch 1941-43 GSGS 4136", "type": "tms", "template": "http://geo.nls.uk/maps/ireland/gsgs4136/{zoom}/{x}/{-y}.png", @@ -20591,10 +22856,10 @@ ] ], "terms_url": "http://geo.nls.uk/maps/", - "terms_text": "National Library of Scotland Historic Maps", - "id": "GSGS4136" + "terms_text": "National Library of Scotland Historic Maps" }, { + "id": "IrelandEEACORINE2006", "name": "Ireland EEA CORINE 2006", "type": "tms", "template": "http://a.tile.openstreetmap.ie/tiles/corine/{zoom}/{x}/{y}.png", @@ -20766,6 +23031,7 @@ "terms_text": "EEA Corine 2006" }, { + "id": "IrelandEEAGMESUrbanAtlas", "name": "Ireland EEA GMES Urban Atlas", "type": "tms", "template": "http://a.tile.openstreetmap.ie/tiles/urbanatlas/{zoom}/{x}/{y}.png", @@ -22285,9 +24551,10 @@ "terms_text": "EEA GMES Urban Atlas" }, { + "id": "gsi.go.jp", "name": "Japan GSI ortho Imagery", "type": "tms", - "template": "http://cyberjapandata.gsi.go.jp/xyz/ort/{z}/{x}/{y}.jpg", + "template": "http://cyberjapandata.gsi.go.jp/xyz/ort/{zoom}/{x}/{y}.jpg", "scaleExtent": [ 12, 19 @@ -22386,6 +24653,7 @@ ] }, { + "id": "Aargau-AGIS-2011", "name": "Kanton Aargau 25cm (AGIS 2011)", "type": "tms", "template": "http://tiles.poole.ch/AGIS/OF2011/{zoom}/{x}/{y}.png", @@ -22420,9 +24688,10 @@ "terms_text": "AGIS OF2011" }, { + "id": "Aargau-AGIS-2014", "name": "Kanton Aargau 25cm (AGIS 2014)", "type": "tms", - "template": "http://mapproxy.osm.ch:8080/tiles/AGIS2014/EPSG900913/{z}/{x}/{y}.png?origin=nw", + "template": "http://mapproxy.osm.ch:8080/tiles/AGIS2014/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", "scaleExtent": [ 8, 19 @@ -23071,9 +25340,10 @@ "best": true }, { + "id": "KTBASELSTADT2015", "name": "Kanton Basel-Stadt 2015", "type": "tms", - "template": "http://mapproxy.osm.ch:8080/tiles/KTBASELSTADT2015/EPSG900913/{z}/{x}/{y}.png?origin=nw", + "template": "http://mapproxy.osm.ch:8080/tiles/KTBASELSTADT2015/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", "scaleExtent": [ 8, 21 @@ -23105,9 +25375,10 @@ "terms_text": "Kanton Basel-Stadt OF 2015" }, { + "id": "Solothurn-sogis2014-tms", "name": "Kanton Solothurn 25cm (SOGIS 2014-2015)", "type": "tms", - "template": "http://mapproxy.osm.ch:8080/tiles/sogis2014/EPSG900913/{z}/{x}/{y}.png?origin=nw", + "template": "http://mapproxy.osm.ch:8080/tiles/sogis2014/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", "scaleExtent": [ 12, 19 @@ -23734,9 +26005,10 @@ "best": true }, { + "id": "KTZUERICH2015", "name": "Kanton Zürich 2015 10cm", "type": "tms", - "template": "http://mapproxy.osm.ch:8080/tiles/KTZUERICH2015/EPSG900913/{z}/{x}/{y}.png?origin=nw", + "template": "http://mapproxy.osm.ch:8080/tiles/KTZUERICH2015/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", "scaleExtent": [ 8, 21 @@ -24181,400 +26453,11 @@ "best": true }, { - "name": "Katastrálna mapa Slovenska (KaPor, 2010-04)", - "type": "tms", - "template": "http://www.freemap.sk/tms/kapor2/{zoom}/{x}/{y}.jpg", - "polygon": [ - [ - [ - 19.83682, - 49.25529 - ], - [ - 19.80075, - 49.42385 - ], - [ - 19.60437, - 49.48058 - ], - [ - 19.49179, - 49.63961 - ], - [ - 19.21831, - 49.52604 - ], - [ - 19.16778, - 49.42521 - ], - [ - 19.00308, - 49.42236 - ], - [ - 18.97611, - 49.5308 - ], - [ - 18.54685, - 49.51425 - ], - [ - 18.31432, - 49.33818 - ], - [ - 18.15913, - 49.2961 - ], - [ - 18.05564, - 49.11134 - ], - [ - 17.56396, - 48.84938 - ], - [ - 17.17929, - 48.88816 - ], - [ - 17.058, - 48.81105 - ], - [ - 16.90426, - 48.61947 - ], - [ - 16.79685, - 48.38561 - ], - [ - 17.06762, - 48.01116 - ], - [ - 17.32787, - 47.97749 - ], - [ - 17.51699, - 47.82535 - ], - [ - 17.74776, - 47.73093 - ], - [ - 18.29515, - 47.72075 - ], - [ - 18.67959, - 47.75541 - ], - [ - 18.89755, - 47.81203 - ], - [ - 18.79463, - 47.88245 - ], - [ - 18.84318, - 48.04046 - ], - [ - 19.46212, - 48.05333 - ], - [ - 19.62064, - 48.22938 - ], - [ - 19.89585, - 48.09387 - ], - [ - 20.33766, - 48.2643 - ], - [ - 20.55395, - 48.52358 - ], - [ - 20.82335, - 48.55714 - ], - [ - 21.10271, - 48.47096 - ], - [ - 21.45863, - 48.55513 - ], - [ - 21.74536, - 48.31435 - ], - [ - 22.15293, - 48.37179 - ], - [ - 22.61255, - 49.08914 - ], - [ - 22.09997, - 49.23814 - ], - [ - 21.9686, - 49.36363 - ], - [ - 21.6244, - 49.46989 - ], - [ - 21.06873, - 49.46402 - ], - [ - 20.94336, - 49.31088 - ], - [ - 20.73052, - 49.44006 - ], - [ - 20.22804, - 49.41714 - ], - [ - 20.05234, - 49.23052 - ], - [ - 19.83682, - 49.25529 - ] - ] - ], - "terms_url": "http://wiki.freemap.sk/KatasterPortal", - "terms_text": "Permisssion by UGKK" - }, - { - "name": "Katastrálna mapa Slovenska (KaPor, 2011-05)", - "type": "tms", - "template": "http://www.freemap.sk/tms/kapor2_201105/{zoom}/{x}/{y}.jpg", - "polygon": [ - [ - [ - 19.83682, - 49.25529 - ], - [ - 19.80075, - 49.42385 - ], - [ - 19.60437, - 49.48058 - ], - [ - 19.49179, - 49.63961 - ], - [ - 19.21831, - 49.52604 - ], - [ - 19.16778, - 49.42521 - ], - [ - 19.00308, - 49.42236 - ], - [ - 18.97611, - 49.5308 - ], - [ - 18.54685, - 49.51425 - ], - [ - 18.31432, - 49.33818 - ], - [ - 18.15913, - 49.2961 - ], - [ - 18.05564, - 49.11134 - ], - [ - 17.56396, - 48.84938 - ], - [ - 17.17929, - 48.88816 - ], - [ - 17.058, - 48.81105 - ], - [ - 16.90426, - 48.61947 - ], - [ - 16.79685, - 48.38561 - ], - [ - 17.06762, - 48.01116 - ], - [ - 17.32787, - 47.97749 - ], - [ - 17.51699, - 47.82535 - ], - [ - 17.74776, - 47.73093 - ], - [ - 18.29515, - 47.72075 - ], - [ - 18.67959, - 47.75541 - ], - [ - 18.89755, - 47.81203 - ], - [ - 18.79463, - 47.88245 - ], - [ - 18.84318, - 48.04046 - ], - [ - 19.46212, - 48.05333 - ], - [ - 19.62064, - 48.22938 - ], - [ - 19.89585, - 48.09387 - ], - [ - 20.33766, - 48.2643 - ], - [ - 20.55395, - 48.52358 - ], - [ - 20.82335, - 48.55714 - ], - [ - 21.10271, - 48.47096 - ], - [ - 21.45863, - 48.55513 - ], - [ - 21.74536, - 48.31435 - ], - [ - 22.15293, - 48.37179 - ], - [ - 22.61255, - 49.08914 - ], - [ - 22.09997, - 49.23814 - ], - [ - 21.9686, - 49.36363 - ], - [ - 21.6244, - 49.46989 - ], - [ - 21.06873, - 49.46402 - ], - [ - 20.94336, - 49.31088 - ], - [ - 20.73052, - 49.44006 - ], - [ - 20.22804, - 49.41714 - ], - [ - 20.05234, - 49.23052 - ], - [ - 19.83682, - 49.25529 - ] - ] - ], - "terms_url": "http://wiki.freemap.sk/KatasterPortal", - "terms_text": "Permisssion by UGKK" - }, - { + "id": "kelowna_2012", "name": "Kelowna 2012", "type": "tms", - "description": "High quality aerial imagery taken for the City of Kelowna", "template": "http://{switch:a,b,c,d}.tile.paulnorman.ca/kelowna2012/{zoom}/{x}/{y}.png", + "description": "High quality aerial imagery taken for the City of Kelowna", "scaleExtent": [ 9, 20 @@ -24966,10 +26849,10 @@ 49.7928087 ] ] - ], - "id": "kelowna_2012" + ] }, { + "id": "kelowna_roads", "name": "Kelowna Roads overlay", "type": "tms", "template": "http://{switch:a,b,c,d}.tile.paulnorman.ca/kelowna_overlay/{zoom}/{x}/{y}.png", @@ -25365,14 +27248,14 @@ ] ] ], - "id": "kelowna_roads", "overlay": true }, { + "id": "landsat_233055", "name": "Landsat 233055", "type": "tms", - "description": "Recent Landsat imagery", "template": "http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_233055/{zoom}/{x}/{y}.png", + "description": "Recent Landsat imagery", "scaleExtent": [ 5, 14 @@ -25400,14 +27283,14 @@ 6.1765004 ] ] - ], - "id": "landsat_233055" + ] }, { + "id": "landsat_047026", "name": "Latest southwest British Columbia Landsat", "type": "tms", - "description": "Recent lower-resolution landsat imagery for southwest British Columbia", "template": "http://{switch:a,b,c,d}.tile.paulnorman.ca/landsat_047026/{zoom}/{x}/{y}.png", + "description": "Recent lower-resolution landsat imagery for southwest British Columbia", "scaleExtent": [ 5, 13 @@ -25467,178 +27350,426 @@ 47.7820648 ] ] - ], - "id": "landsat_047026" + ] }, { + "id": "ORT10LT", "name": "Lithuania - NŽT ORT10LT", "type": "tms", - "template": "http://mapproxy.openmap.lt/ort10lt/g/{z}/{x}/{y}.jpeg", + "template": "http://mapproxy.openmap.lt/ort10lt/g/{zoom}/{x}/{y}.jpeg", "scaleExtent": [ - 4, + 1, 18 ], "polygon": [ [ [ - 21.4926054, - 56.3592046 + 26.2138385, + 55.850748 ], [ - 21.8134688, - 56.4097144 + 26.3858298, + 55.7045315 ], [ - 21.9728753, - 56.4567587 + 26.6303618, + 55.6806692 ], [ - 22.2158294, - 56.4604404 + 26.6205349, + 55.5689227 ], [ - 22.2183922, - 56.4162361 + 26.5242191, + 55.5099228 ], [ - 23.3511527, - 56.4267251 + 26.5541476, + 55.388833 ], [ - 23.3521778, - 56.3824815 + 26.4399286, + 55.3479351 ], [ - 23.9179035, - 56.383305 + 26.7919694, + 55.3212027 ], [ - 23.9176231, - 56.3392908 + 26.8291304, + 55.2763488 ], [ - 24.5649817, - 56.3382169 + 26.7434625, + 55.2539863 ], [ - 24.564933, - 56.3828587 + 26.6764846, + 55.158828 ], [ - 24.6475683, - 56.4277798 + 26.4611191, + 55.1285624 ], [ - 24.8099394, - 56.470646 + 26.3577434, + 55.1505399 ], [ - 24.9733979, - 56.4698452 + 26.2296342, + 55.1073177 ], [ - 25.1299701, - 56.2890356 + 26.2713814, + 55.0775905 ], [ - 25.127433, - 56.1990144 + 26.2085126, + 54.997414 ], [ - 25.6921076, - 56.1933684 + 26.0619117, + 54.9416094 ], [ - 26.0839005, - 56.0067879 + 25.8578176, + 54.9276001 ], [ - 26.4673573, - 55.7304232 + 25.7429827, + 54.8150641 ], [ - 26.5463565, - 55.7132705 + 25.7626083, + 54.5769013 ], [ - 26.5154447, - 55.2345969 + 25.5319352, + 54.3418175 ], [ - 25.7874641, - 54.8425656 + 25.6771618, + 54.3238109 ], [ - 25.7675259, - 54.6350898 + 25.7857293, + 54.2336242 ], [ - 25.6165253, - 54.4404007 + 25.7858844, + 54.1550594 ], [ - 24.4566043, - 53.9577649 + 25.5550843, + 54.1461918 ], [ - 23.6164786, - 53.9575517 + 25.5109462, + 54.1750267 ], [ - 23.5632006, - 54.048085 + 25.5896725, + 54.2285838 ], [ - 22.8462074, - 54.3563682 + 25.5136246, + 54.3078472 ], [ - 22.831944, - 54.9414849 + 25.2689287, + 54.2744706 ], [ - 22.4306085, - 55.1159913 + 25.0705963, + 54.1336282 ], [ - 21.9605898, - 55.1107144 + 24.9573726, + 54.1720575 ], [ - 21.7253241, - 55.1496885 + 24.8133801, + 54.144862 ], [ - 21.5628422, - 55.2362913 + 24.7790172, + 54.0999054 ], [ - 21.2209638, - 55.2742668 + 24.8712786, + 54.034904 ], [ - 21.1630444, - 55.2803979 + 24.819568, + 53.9977218 ], [ - 20.9277788, - 55.3101641 + 24.6845912, + 53.9621091 ], [ - 20.9257285, - 55.3588507 + 24.697865, + 54.0171421 ], [ - 20.9980451, - 55.4514157 + 24.6259068, + 54.0105048 ], [ - 21.0282249, - 56.0796297 + 24.4342619, + 53.9014424 ], [ - 21.4926054, - 56.3592046 + 24.3520594, + 53.8967893 + ], + [ + 24.2016059, + 53.9700069 + ], + [ + 23.9683341, + 53.9266977 + ], + [ + 23.9130177, + 53.9696842 + ], + [ + 23.7781192, + 53.8989169 + ], + [ + 23.7097655, + 53.9394502 + ], + [ + 23.5370435, + 53.9430702 + ], + [ + 23.4822428, + 53.9893848 + ], + [ + 23.5273356, + 54.0473482 + ], + [ + 23.4858579, + 54.1532339 + ], + [ + 23.3867851, + 54.224838 + ], + [ + 23.0421216, + 54.3159745 + ], + [ + 23.0102115, + 54.3827959 + ], + [ + 22.8546899, + 54.4104029 + ], + [ + 22.7919963, + 54.3633227 + ], + [ + 22.7023421, + 54.4528985 + ], + [ + 22.6838586, + 54.585972 + ], + [ + 22.7489713, + 54.6319792 + ], + [ + 22.7429727, + 54.7268221 + ], + [ + 22.8866837, + 54.8135001 + ], + [ + 22.8204005, + 54.9119829 + ], + [ + 22.6424041, + 54.9713362 + ], + [ + 22.5892361, + 55.070243 + ], + [ + 22.080597, + 55.0244812 + ], + [ + 22.0324081, + 55.084098 + ], + [ + 21.9130671, + 55.0816838 + ], + [ + 21.6491949, + 55.1808113 + ], + [ + 21.5015124, + 55.1868198 + ], + [ + 21.3843708, + 55.2936996 + ], + [ + 21.2709829, + 55.2450059 + ], + [ + 21.0983616, + 55.2563884 + ], + [ + 20.9421741, + 55.282453 + ], + [ + 21.0863466, + 55.5618266 + ], + [ + 21.0399547, + 55.8363584 + ], + [ + 21.0640261, + 56.0699542 + ], + [ + 21.2047804, + 56.0811668 + ], + [ + 21.2307958, + 56.1623302 + ], + [ + 21.5021038, + 56.2954952 + ], + [ + 21.7235874, + 56.3138211 + ], + [ + 21.8356623, + 56.37162 + ], + [ + 21.9695397, + 56.3766515 + ], + [ + 22.0153001, + 56.4242811 + ], + [ + 22.4372717, + 56.406405 + ], + [ + 22.6800028, + 56.3515884 + ], + [ + 22.9191739, + 56.3790184 + ], + [ + 22.9466759, + 56.4146477 + ], + [ + 23.0932498, + 56.3046383 + ], + [ + 23.1703443, + 56.3667721 + ], + [ + 23.3064522, + 56.3830535 + ], + [ + 23.5571715, + 56.3338187 + ], + [ + 23.7647953, + 56.3733238 + ], + [ + 23.7666897, + 56.3238079 + ], + [ + 24.0189971, + 56.3297615 + ], + [ + 24.1214631, + 56.2488984 + ], + [ + 24.2857421, + 56.3006367 + ], + [ + 24.4541496, + 56.2581579 + ], + [ + 24.5794651, + 56.2882389 + ], + [ + 24.6284061, + 56.3753322 + ], + [ + 24.9023767, + 56.4805317 + ], + [ + 25.1277405, + 56.2059091 + ], + [ + 25.5771398, + 56.182414 + ], + [ + 25.6731232, + 56.1493667 + ], + [ + 26.2138385, + 55.850748 ] ] ], @@ -25646,10 +27777,11 @@ "terms_text": "NŽT ORT10LT" }, { + "id": "mapbox_locator_overlay", "name": "Locator Overlay", "type": "tms", - "description": "Shows major features to help orient you.", "template": "http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh76ba2/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw", + "description": "Shows major features to help orient you.", "scaleExtent": [ 0, 16 @@ -25661,6 +27793,7 @@ "overlay": true }, { + "id": "NSW_LPI_BaseMap", "name": "LPI NSW Base Map", "type": "tms", "template": "http://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Base_Map/MapServer/tile/{zoom}/{y}/{x}", @@ -25777,10 +27910,10 @@ ] ], "terms_url": "http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", - "terms_text": "© Land and Property Information 2016", - "id": "NSW LPI Base Map" + "terms_text": "© Land and Property Information 2016" }, { + "id": "NSW_LPI_Imagery", "name": "LPI NSW Imagery", "type": "tms", "template": "http://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Imagery/MapServer/tile/{zoom}/{y}/{x}", @@ -26134,10 +28267,10 @@ ], "terms_url": "http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", "terms_text": "© Land and Property Information 2016", - "id": "NSW LPI Imagery", "best": true }, { + "id": "NSW_LPI_TopographicMap", "name": "LPI NSW Topographic Map", "type": "tms", "template": "http://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Topo_Map/MapServer/tile/{zoom}/{y}/{x}", @@ -26726,10 +28859,10 @@ ] ], "terms_url": "http://spatialservices.finance.nsw.gov.au/mapping_and_imagery/lpi_web_services", - "terms_text": "© Land and Property Information 2016", - "id": "NSW LPI Topographic Map" + "terms_text": "© Land and Property Information 2016" }, { + "id": "lu.geoportail.opendata.basemap", "name": "Luxembourg Geoportail Basemap", "type": "tms", "template": "https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/basemap/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png", @@ -27646,10 +29779,10 @@ ] ], "terms_url": "https://data.public.lu/en/datasets/carte-de-base-webservices-wms-et-wmts/", - "terms_text": "Administration du Cadastre et de la Topographie", - "id": "lu.geoportail.opendata.basemap" + "terms_text": "Administration du Cadastre et de la Topographie" }, { + "id": "lu.geoportail.opendata.cadastre", "name": "Luxembourg Geoportail Cadastre", "type": "tms", "template": "https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/cadastre/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png", @@ -28566,10 +30699,10 @@ ] ], "terms_url": "https://data.public.lu/en/datasets/plan-cadastral-numerise-pcn-webservices-wms-et-wmts/", - "terms_text": "Administration du Cadastre et de la Topographie", - "id": "lu.geoportail.opendata.cadastre" + "terms_text": "Administration du Cadastre et de la Topographie" }, { + "id": "lu.geoportail.opendata.ortho2010", "name": "Luxembourg Geoportail Ortho 2010", "type": "tms", "template": "https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2010/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg", @@ -29487,10 +31620,10 @@ ], "terms_url": "https://data.public.lu/en/datasets/bd-l-ortho-webservices-wms-et-wmts", "terms_text": "Administration du Cadastre et de la Topographie", - "id": "lu.geoportail.opendata.ortho2010", "best": true }, { + "id": "lu.geoportail.opendata.ortho2013", "name": "Luxembourg Geoportail Ortho 2013", "type": "tms", "template": "https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/ortho_2013/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.jpeg", @@ -30408,10 +32541,10 @@ ], "terms_url": "https://data.public.lu/en/datasets/bd-l-ortho-webservices-wms-et-wmts", "terms_text": "Administration du Cadastre et de la Topographie", - "id": "lu.geoportail.opendata.ortho2013", "best": true }, { + "id": "lu.geoportail.opendata.topo", "name": "Luxembourg Geoportail Topographical Map", "type": "tms", "template": "https://{switch:wmts3,wmts4}.geoportail.lu/opendata/wmts/topo/GLOBAL_WEBMERCATOR_4_V3/{zoom}/{x}/{y}.png", @@ -31328,28 +33461,28 @@ ] ], "terms_url": "https://data.public.lu/en/datasets/cartes-topographiques-services-wms-et-wmts/", - "terms_text": "Administration du Cadastre et de la Topographie", - "id": "lu.geoportail.opendata.topo" + "terms_text": "Administration du Cadastre et de la Topographie" }, { + "id": "Mapbox", "name": "Mapbox Satellite", "type": "tms", - "description": "Satellite and aerial imagery.", "template": "http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh7ifmo/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJncjlmd0t3In0.DmZsIeOW-3x-C5eX-wAqTw", + "description": "Satellite and aerial imagery.", "scaleExtent": [ 0, 19 ], "terms_url": "http://www.mapbox.com/about/maps/", "terms_text": "Terms & Feedback", - "id": "Mapbox", "default": true }, { + "id": "geodata.md.gov-MD_SixInchImagery", "name": "MD 2014 6 Inch Aerial Imagery", "type": "tms", + "template": "http://whoots.mapwarper.net/tms/{zoom}/{x}/{y}/MD_SixInchImagery/http://geodata.md.gov/imap/services/Imagery/MD_SixInchImagery/MapServer/WmsServer", "description": "Six Inch resolution aerial imagery for the State of Maryland", - "template": "http://whoots.mapwarper.net/tms/{z}/{x}/{y}/MD_SixInchImagery/http://geodata.md.gov/imap/services/Imagery/MD_SixInchImagery/MapServer/WmsServer", "scaleExtent": [ 0, 20 @@ -31546,10 +33679,208 @@ "terms_text": "DoIT, MD iMap, MDP" }, { + "id": "geodata.md.gov-MD_ColorBasemap", + "name": "MD Transportation Basemap", + "type": "tms", + "template": "http://whoots.mapwarper.net/tms/{zoom}/{x}/{y}/MD_ColorBasemap/http://geodata.md.gov/imap/services/Transportation/MD_ColorBasemap/MapServer/WmsServer", + "description": "Maryland State Highway Administration road features and additional Maryland focused landmarks", + "polygon": [ + [ + [ + -76.234131, + 37.920368 + ], + [ + -76.598053, + 38.158317 + ], + [ + -76.940002, + 38.270532 + ], + [ + -77.038193, + 38.413786 + ], + [ + -77.23526, + 38.33627 + ], + [ + -77.312164, + 38.410558 + ], + [ + -77.262726, + 38.566422 + ], + [ + -77.042999, + 38.713376 + ], + [ + -77.049866, + 38.793697 + ], + [ + -76.92627, + 38.892503 + ], + [ + -77.040939, + 38.984499 + ], + [ + -77.12162, + 38.925229 + ], + [ + -77.150116, + 38.955137 + ], + [ + -77.252426, + 38.975425 + ], + [ + -77.259293, + 39.024252 + ], + [ + -77.34581, + 39.054918 + ], + [ + -77.461853, + 39.070379 + ], + [ + -77.537384, + 39.139647 + ], + [ + -77.474213, + 39.224807 + ], + [ + -77.572746, + 39.304284 + ], + [ + -77.723465, + 39.328986 + ], + [ + -77.777023, + 39.463234 + ], + [ + -77.861481, + 39.516225 + ], + [ + -77.840881, + 39.608862 + ], + [ + -77.956238, + 39.59299 + ], + [ + -78.166351, + 39.695564 + ], + [ + -78.270035, + 39.621557 + ], + [ + -78.338699, + 39.640066 + ], + [ + -78.466415, + 39.523641 + ], + [ + -78.662796, + 39.540058 + ], + [ + -78.798752, + 39.606217 + ], + [ + -78.9814, + 39.446799 + ], + [ + -79.06723, + 39.476486 + ], + [ + -79.485054, + 39.199536 + ], + [ + -79.485569, + 39.72158 + ], + [ + -75.788359, + 39.721811 + ], + [ + -75.690994, + 38.460579 + ], + [ + -75.049238, + 38.458159 + ], + [ + -75.049839, + 38.402218 + ], + [ + -75.081511, + 38.323208 + ], + [ + -75.097733, + 38.309066 + ], + [ + -75.186996, + 38.097551 + ], + [ + -75.23798, + 38.022402 + ], + [ + -75.61821, + 37.989669 + ], + [ + -75.863686, + 37.909534 + ], + [ + -76.234131, + 37.920368 + ] + ] + ], + "terms_url": "http://imap.maryland.gov/Pages/imagery-products.aspx", + "terms_text": "DoIT, MD iMap, MDP" + }, + { + "id": "New_and_Misaligned_TIGER_Roads-2013", "name": "New & Misaligned TIGER Roads", "type": "tms", - "description": "At zoom level 16+, public domain map data from the US Census. At lower zooms, only changes since 2006 minus changes already incorporated into OpenStreetMap", "template": "http://{switch:a,b,c}.tiles.mapbox.com/v4/enf.e0b8291e/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJhNVlHd29ZIn0.ti6wATGDWOmCnCYen-Ip7Q", + "description": "At zoom level 16+, public domain map data from the US Census. At lower zooms, only changes since 2006 minus changes already incorporated into OpenStreetMap", "scaleExtent": [ 0, 22 @@ -32033,10 +34364,11 @@ "overlay": true }, { + "id": "geodata.state.nj.us-Infrared2015", "name": "NJ 2015 Aerial Imagery (Infrared)", "type": "tms", + "template": "http://whoots.mapwarper.net/tms/{zoom}/{x}/{y}/Infrared2015/http://geodata.state.nj.us/imagerywms/Infrared2015", "description": "Digital orthophotography of New Jersey, Near Infrared, 1 foot resolution", - "template": "http://whoots.mapwarper.net/tms/{z}/{x}/{y}/Infrared2015/http://geodata.state.nj.us/imagerywms/Infrared2015", "scaleExtent": [ 0, 20 @@ -32521,10 +34853,11 @@ "terms_text": "NJ Office of Information Technology (NJOIT), Office of Geographic Information Systems (OGIS)" }, { + "id": "geodata.state.nj.us-Natural2015", "name": "NJ 2015 Aerial Imagery (Natural Color)", "type": "tms", + "template": "http://whoots.mapwarper.net/tms/{zoom}/{x}/{y}/Natural2015/http://geodata.state.nj.us/imagerywms/Natural2015", "description": "Digital orthophotography of New Jersey, Natural Color, 1 foot resolution", - "template": "http://whoots.mapwarper.net/tms/{z}/{x}/{y}/Natural2015/http://geodata.state.nj.us/imagerywms/Natural2015", "scaleExtent": [ 0, 20 @@ -33009,6 +35342,7 @@ "terms_text": "NJ Office of Information Technology (NJOIT), Office of Geographic Information Systems (OGIS)" }, { + "id": "NLS-Bartholomew-hfinch-hist", "name": "NLS - Bartholomew Half Inch, 1897-1907", "type": "tms", "template": "http://geo.nls.uk/mapdata2/bartholomew/great_britain/{zoom}/{x}/{-y}.png", @@ -33044,6 +35378,7 @@ "terms_text": "National Library of Scotland Historic Maps" }, { + "id": "NLS-OS-7th_Series", "name": "NLS - OS 1-inch 7th Series 1955-61", "type": "tms", "template": "http://geo.nls.uk/mapdata2/os/seventh/{zoom}/{x}/{-y}.png", @@ -34133,6 +36468,7 @@ "terms_text": "National Library of Scotland Historic Maps" }, { + "id": "NLS-OS-1st_Series", "name": "NLS - OS 1:25k 1st Series 1937-61", "type": "tms", "template": "http://geo.nls.uk/mapdata2/os/25000/{zoom}/{x}/{-y}.png", @@ -36078,6 +38414,7 @@ "terms_text": "National Library of Scotland Historic Maps" }, { + "id": "NLS-OS-25inch-hist", "name": "NLS - OS 25-inch (Scotland), 1892-1905", "type": "tms", "template": "http://geo.nls.uk/mapdata2/os/25_inch/scotland_1/{zoom}/{x}/{y}.png", @@ -36113,6 +38450,7 @@ "terms_text": "National Library of Scotland Historic Maps" }, { + "id": "NLS-OS-6inch-County-Series-hist", "name": "NLS - OS 6-inch County Series, 1888-1913", "type": "tms", "template": "http://geo.nls.uk/mapdata3/os/6_inch_gb_1900/{zoom}/{x}/{y}.png", @@ -36148,6 +38486,7 @@ "terms_text": "National Library of Scotland Historic Maps" }, { + "id": "NLS-OS-6inch-Scotland-hist", "name": "NLS - OS 6-inch Scotland 1842-82", "type": "tms", "template": "http://geo.nls.uk/maps/os/six_inch/{zoom}/{x}/{-y}.png", @@ -37801,36 +40140,25 @@ "terms_text": "National Library of Scotland Historic Maps" }, { - "name": "OpenPT Map (overlay)", - "type": "tms", - "template": "http://openptmap.de/tiles/{zoom}/{x}/{y}.png", - "scaleExtent": [ - 4, - 17 - ], - "terms_url": "http://openstreetmap.org/", - "terms_text": "© OpenStreetMap contributors, CC-BY-SA", - "overlay": true - }, - { + "id": "MAPNIK", "name": "OpenStreetMap (Standard)", "type": "tms", - "description": "The default OpenStreetMap layer.", "template": "http://{switch:a,b,c}.tile.openstreetmap.org/{zoom}/{x}/{y}.png", + "description": "The default OpenStreetMap layer.", "scaleExtent": [ 0, 19 ], "terms_url": "http://openstreetmap.org/", "terms_text": "© OpenStreetMap contributors, CC-BY-SA", - "id": "MAPNIK", "default": true }, { + "id": "osm-gps", "name": "OpenStreetMap GPS traces", "type": "tms", - "description": "Public GPS traces uploaded to OpenStreetMap.", "template": "http://{switch:a,b,c}.gps-tile.openstreetmap.org/lines/{zoom}/{x}/{y}.png", + "description": "Public GPS traces uploaded to OpenStreetMap.", "scaleExtent": [ 0, 20 @@ -37841,6 +40169,7 @@ "overlay": true }, { + "id": "OS-historic-25k-OSM_Limited", "name": "OS 1:25k historic (OSM)", "type": "tms", "template": "http://ooc.openstreetmap.org/os1/{zoom}/{x}/{y}.jpg", @@ -37874,6 +40203,7 @@ ] }, { + "id": "OS-New_Popular_Edition-historic", "name": "OS New Popular Edition historic", "type": "tms", "template": "http://ooc.openstreetmap.org/npe/{zoom}/{x}/{y}.png", @@ -37903,6 +40233,7 @@ ] }, { + "id": "OS-OpenData_Locator", "name": "OS OpenData Locator", "type": "tms", "template": "http://tiles.itoworld.com/os_locator/{zoom}/{x}/{y}.png", @@ -37933,6 +40264,7 @@ "overlay": true }, { + "id": "OS-OpenData_StreetView", "name": "OS OpenData StreetView", "type": "tms", "template": "http://os.openstreetmap.org/sv/{zoom}/{x}/{y}.png", @@ -39034,6 +41366,7 @@ ] }, { + "id": "OS-Scottish_Popular-historic", "name": "OS Scottish Popular historic", "type": "tms", "template": "http://ooc.openstreetmap.org/npescotland/tiles/{zoom}/{x}/{y}.jpg", @@ -39067,30 +41400,7 @@ ] }, { - "name": "OSM Inspector: Addresses", - "type": "tms", - "template": "http://tools.geofabrik.de/osmi/tiles/addresses/{zoom}/{x}/{y}.png", - "scaleExtent": [ - 0, - 18 - ], - "terms_url": "http://tools.geofabrik.de/osmi/", - "terms_text": "© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA", - "overlay": true - }, - { - "name": "OSM Inspector: Routing", - "type": "tms", - "template": "http://tools.geofabrik.de/osmi/tiles/routing/{zoom}/{x}/{y}.png", - "scaleExtent": [ - 0, - 18 - ], - "terms_url": "http://tools.geofabrik.de/osmi/", - "terms_text": "© Geofabrik GmbH, OpenStreetMap contributors, CC-BY-SA", - "overlay": true - }, - { + "id": "Pangasinan_Bulacan_HiRes", "name": "Pangasinán/Bulacan (Phillipines HiRes)", "type": "tms", "template": "http://gravitystorm.dev.openstreetmap.org/imagery/philippines/{zoom}/{x}/{y}.png", @@ -39166,396 +41476,2346 @@ ] }, { - "name": "Slovakia EEA CORINE 2006", + "id": "PNOA-Spain-TMS", + "name": "PNOA Spain", "type": "tms", - "template": "http://www.freemap.sk/tms/clc/{zoom}/{x}/{y}.png", + "template": "http://www.ign.es/wmts/pnoa-ma?request=GetTile&service=WMTS&VERSION=1.0.0&Layer=OI.OrthoimageCoverage&Style=default&Format=image/png&TileMatrixSet=GoogleMapsCompatible&TileMatrix={zoom}&TileRow={y}&TileCol={x}", "polygon": [ [ [ - 19.83682, - 49.25529 + -17.8846298, + 28.4460601 ], [ - 19.80075, - 49.42385 + -17.8939535, + 28.5225529 ], [ - 19.60437, - 49.48058 + -18.0212548, + 28.7481927 ], [ - 19.49179, - 49.63961 + -18.0224091, + 28.8038375 ], [ - 19.21831, - 49.52604 + -17.9424017, + 28.8726124 ], [ - 19.16778, - 49.42521 + -17.8911792, + 28.8737099 ], [ - 19.00308, - 49.42236 + -17.8903302, + 28.8515102 ], [ - 18.97611, - 49.5308 + -17.7675902, + 28.8537764 ], [ - 18.54685, - 49.51425 + -17.7669837, + 28.8312183 ], [ - 18.31432, - 49.33818 + -17.7412714, + 28.8319975 ], [ - 18.15913, - 49.2961 + -17.7394926, + 28.7642235 ], [ - 18.05564, - 49.11134 + -17.7139824, + 28.7649677 ], [ - 17.56396, - 48.84938 + -17.7129312, + 28.7303731 ], [ - 17.17929, - 48.88816 + -17.7574427, + 28.6931782 ], [ - 17.058, - 48.81105 + -17.7570788, + 28.6741254 ], [ - 16.90426, - 48.61947 + -17.7457913, + 28.6743524 ], [ - 16.79685, - 48.38561 + -17.7457266, + 28.6165627 ], [ - 17.06762, - 48.01116 + -17.7519687, + 28.5833675 ], [ - 17.32787, - 47.97749 + -17.7622536, + 28.5591958 ], [ - 17.51699, - 47.82535 + -17.7833086, + 28.541667 ], [ - 17.74776, - 47.73093 + -17.7831575, + 28.4936643 ], [ - 18.29515, - 47.72075 + -17.808611, + 28.4925024 ], [ - 18.67959, - 47.75541 + -17.8060072, + 28.4468974 ], [ - 18.89755, - 47.81203 - ], - [ - 18.79463, - 47.88245 - ], - [ - 18.84318, - 48.04046 - ], - [ - 19.46212, - 48.05333 - ], - [ - 19.62064, - 48.22938 - ], - [ - 19.89585, - 48.09387 - ], - [ - 20.33766, - 48.2643 - ], - [ - 20.55395, - 48.52358 - ], - [ - 20.82335, - 48.55714 - ], - [ - 21.10271, - 48.47096 - ], - [ - 21.45863, - 48.55513 - ], - [ - 21.74536, - 48.31435 - ], - [ - 22.15293, - 48.37179 - ], - [ - 22.61255, - 49.08914 - ], - [ - 22.09997, - 49.23814 - ], - [ - 21.9686, - 49.36363 - ], - [ - 21.6244, - 49.46989 - ], - [ - 21.06873, - 49.46402 - ], - [ - 20.94336, - 49.31088 - ], - [ - 20.73052, - 49.44006 - ], - [ - 20.22804, - 49.41714 - ], - [ - 20.05234, - 49.23052 - ], - [ - 19.83682, - 49.25529 + -17.8846298, + 28.4460601 ] - ] - ], - "terms_url": "http://www.eea.europa.eu/data-and-maps/data/clc-2006-vector-data-version-1", - "terms_text": "EEA Corine 2006" - }, - { - "name": "Slovakia EEA GMES Urban Atlas", - "type": "tms", - "template": "http://www.freemap.sk/tms/urbanatlas/{zoom}/{x}/{y}.png", - "polygon": [ + ], [ [ - 19.83682, - 49.25529 + -18.1661033, + 27.7851643 ], [ - 19.80075, - 49.42385 + -18.163494, + 27.6949247 ], [ - 19.60437, - 49.48058 + -18.0889827, + 27.6963366 ], [ - 19.49179, - 49.63961 + -18.0873398, + 27.6738724 ], [ - 19.21831, - 49.52604 + -18.0364092, + 27.6753701 ], [ - 19.16778, - 49.42521 + -18.0350079, + 27.6302571 ], [ - 19.00308, - 49.42236 + -17.9589987, + 27.6323976 ], [ - 18.97611, - 49.5308 + -17.8603269, + 27.7926025 ], [ - 18.54685, - 49.51425 + -17.8630328, + 27.8368793 ], [ - 18.31432, - 49.33818 + -17.8884015, + 27.8364947 ], [ - 18.15913, - 49.2961 + -17.8891263, + 27.8590536 ], [ - 18.05564, - 49.11134 + -17.9906491, + 27.8567467 ], [ - 17.56396, - 48.84938 + -18.0386803, + 27.7655831 ], [ - 17.17929, - 48.88816 + -18.1146412, + 27.7637873 ], [ - 17.058, - 48.81105 + -18.1154627, + 27.7863613 ], [ - 16.90426, - 48.61947 + -18.1661033, + 27.7851643 + ] + ], + [ + [ + -17.36038, + 28.0639801 ], [ - 16.79685, - 48.38561 + -17.3629657, + 28.1757247 ], [ - 17.06762, - 48.01116 + -17.3375583, + 28.1763688 ], [ - 17.32787, - 47.97749 + -17.3384577, + 28.2213012 ], [ - 17.51699, - 47.82535 + -17.1857883, + 28.2238767 ], [ - 17.74776, - 47.73093 + -17.0820788, + 28.1351849 ], [ - 18.29515, - 47.72075 + -17.0808422, + 28.0679977 ], [ - 18.67959, - 47.75541 + -17.1315446, + 28.0668073 ], [ - 18.89755, - 47.81203 + -17.1563337, + 28.0214628 ], [ - 18.79463, - 47.88245 + -17.2321063, + 28.0203711 ], [ - 18.84318, - 48.04046 + -17.2319938, + 27.9980388 ], [ - 19.46212, - 48.05333 + -17.2576823, + 27.9978403 ], [ - 19.62064, - 48.22938 + -17.257851, + 28.0199741 ], [ - 19.89585, - 48.09387 + -17.3086658, + 28.0192298 ], [ - 20.33766, - 48.2643 + -17.36038, + 28.0639801 + ] + ], + [ + [ + -16.9278171, + 28.3275779 ], [ - 20.55395, - 48.52358 + -16.9286591, + 28.3721879 ], [ - 20.82335, - 48.55714 + -16.8776666, + 28.3729288 ], [ - 21.10271, - 48.47096 + -16.8780707, + 28.3954191 ], [ - 21.45863, - 48.55513 + -16.5214259, + 28.4226146 ], [ - 21.74536, - 48.31435 + -16.4457117, + 28.491135 ], [ - 22.15293, - 48.37179 + -16.4462506, + 28.535972 ], [ - 22.61255, - 49.08914 + -16.4205859, + 28.5362679 ], [ - 22.09997, - 49.23814 + -16.4209227, + 28.5588419 ], [ - 21.9686, - 49.36363 + -16.3443329, + 28.5597589 ], [ - 21.6244, - 49.46989 + -16.3446023, + 28.5822095 ], [ - 21.06873, - 49.46402 + -16.1912541, + 28.5837179 ], [ - 20.94336, - 49.31088 + -16.1916246, + 28.6068435 ], [ - 20.73052, - 49.44006 + -16.1279344, + 28.6078193 ], [ - 20.22804, - 49.41714 + -16.1277997, + 28.5921762 ], [ - 20.05234, - 49.23052 + -16.0995079, + 28.5925015 ], [ - 19.83682, - 49.25529 + -16.0993395, + 28.5163822 + ], + [ + -16.1648148, + 28.5161158 + ], + [ + -16.1647474, + 28.4938583 + ], + [ + -16.2385755, + 28.4484704 + ], + [ + -16.2653516, + 28.4476116 + ], + [ + -16.2658569, + 28.4030038 + ], + [ + -16.3167484, + 28.4017594 + ], + [ + -16.3163105, + 28.380189 + ], + [ + -16.3420763, + 28.3795075 + ], + [ + -16.3408301, + 28.2892963 + ], + [ + -16.415837, + 28.1976134 + ], + [ + -16.415096, + 28.1311312 + ], + [ + -16.5153297, + 28.0164796 + ], + [ + -16.6168433, + 28.01532 + ], + [ + -16.6168096, + 27.9930469 + ], + [ + -16.7184243, + 27.9919168 + ], + [ + -16.7190979, + 28.0371426 + ], + [ + -16.7446952, + 28.0367859 + ], + [ + -16.7453351, + 28.0818146 + ], + [ + -16.7706967, + 28.0816065 + ], + [ + -16.8223966, + 28.1259036 + ], + [ + -16.8231712, + 28.1708652 + ], + [ + -16.8487012, + 28.1707464 + ], + [ + -16.8502842, + 28.260791 + ], + [ + -16.8756457, + 28.2605537 + ], + [ + -16.8760836, + 28.2832162 + ], + [ + -16.9015125, + 28.2827713 + ], + [ + -16.9023882, + 28.3279337 + ], + [ + -16.9278171, + 28.3275779 + ] + ], + [ + [ + -15.8537427, + 27.9008901 + ], + [ + -15.8542032, + 27.9901812 + ], + [ + -15.828953, + 27.9906555 + ], + [ + -15.8291065, + 28.035578 + ], + [ + -15.7782992, + 28.0363232 + ], + [ + -15.7532793, + 28.0814298 + ], + [ + -15.7278756, + 28.0815652 + ], + [ + -15.7282593, + 28.1718567 + ], + [ + -15.4989741, + 28.1728039 + ], + [ + -15.4987438, + 28.1504075 + ], + [ + -15.4497785, + 28.1507459 + ], + [ + -15.4501622, + 28.1961425 + ], + [ + -15.3972827, + 28.1961425 + ], + [ + -15.3964385, + 28.0383554 + ], + [ + -15.3710348, + 28.0380167 + ], + [ + -15.3706511, + 28.0153212 + ], + [ + -15.3457847, + 28.0153212 + ], + [ + -15.3454777, + 27.9254406 + ], + [ + -15.3708046, + 27.9252372 + ], + [ + -15.3705743, + 27.8352137 + ], + [ + -15.395978, + 27.8347387 + ], + [ + -15.4209979, + 27.7879673 + ], + [ + -15.4718052, + 27.7893932 + ], + [ + -15.471882, + 27.7666454 + ], + [ + -15.522766, + 27.7667813 + ], + [ + -15.5477092, + 27.7216112 + ], + [ + -15.6236132, + 27.7213395 + ], + [ + -15.6241504, + 27.741991 + ], + [ + -15.7007451, + 27.7433495 + ], + [ + -15.801669, + 27.8110501 + ], + [ + -15.8537427, + 27.9008901 + ] + ], + [ + [ + -14.5215621, + 28.0467778 + ], + [ + -14.5224358, + 28.1184131 + ], + [ + -14.4157526, + 28.1156076 + ], + [ + -14.2168794, + 28.2278805 + ], + [ + -14.2153651, + 28.33903 + ], + [ + -14.1641672, + 28.4528287 + ], + [ + -14.1115132, + 28.4747955 + ], + [ + -14.0335806, + 28.7226671 + ], + [ + -13.9565217, + 28.7449351 + ], + [ + -13.9561722, + 28.7665857 + ], + [ + -13.8290221, + 28.7664325 + ], + [ + -13.8289639, + 28.7879765 + ], + [ + -13.8000741, + 28.7879255 + ], + [ + -13.8012972, + 28.7189894 + ], + [ + -13.827566, + 28.719347 + ], + [ + -13.8278572, + 28.6517968 + ], + [ + -13.8025786, + 28.651899 + ], + [ + -13.8033941, + 28.5384172 + ], + [ + -13.8288474, + 28.5384684 + ], + [ + -13.8315061, + 28.3970177 + ], + [ + -13.9158189, + 28.2241438 + ], + [ + -13.9856445, + 28.2235696 + ], + [ + -14.0369588, + 28.1795787 + ], + [ + -14.1387139, + 28.1799894 + ], + [ + -14.1386556, + 28.1579103 + ], + [ + -14.2153651, + 28.1578076 + ], + [ + -14.2147244, + 28.1118888 + ], + [ + -14.2913173, + 28.0452356 + ], + [ + -14.3319673, + 28.0368713 + ], + [ + -14.4457846, + 28.0469834 + ], + [ + -14.4466583, + 28.0657961 + ], + [ + -14.4962835, + 28.0682631 + ], + [ + -14.495934, + 28.0458525 + ], + [ + -14.5215621, + 28.0467778 + ] + ], + [ + [ + -13.800662, + 28.8456579 + ], + [ + -13.8009273, + 28.8231121 + ], + [ + -13.775688, + 28.8230539 + ], + [ + -13.69729, + 28.8898184 + ], + [ + -13.69729, + 28.9127744 + ], + [ + -13.6072498, + 28.9117991 + ], + [ + -13.4388551, + 29.0002417 + ], + [ + -13.4374559, + 29.1351289 + ], + [ + -13.4117005, + 29.1349931 + ], + [ + -13.4105556, + 29.2229789 + ], + [ + -13.4592801, + 29.255586 + ], + [ + -13.4597392, + 29.2942023 + ], + [ + -13.5091254, + 29.2945638 + ], + [ + -13.5100581, + 29.3163453 + ], + [ + -13.5635382, + 29.3172941 + ], + [ + -13.5640564, + 29.2713764 + ], + [ + -13.5389228, + 29.2711956 + ], + [ + -13.5389747, + 29.2500375 + ], + [ + -13.5661293, + 29.2501279 + ], + [ + -13.5665956, + 29.2030039 + ], + [ + -13.5156549, + 29.2022349 + ], + [ + -13.5156549, + 29.1820579 + ], + [ + -13.5398038, + 29.1827819 + ], + [ + -13.5408921, + 29.137528 + ], + [ + -13.65782, + 29.1368528 + ], + [ + -13.713222, + 29.0935079 + ], + [ + -13.7663353, + 29.0934533 + ], + [ + -13.8502463, + 29.0165937 + ], + [ + -13.8518224, + 28.983425 + ], + [ + -13.8524443, + 28.914861 + ], + [ + -13.9013122, + 28.89245 + ], + [ + -13.9024005, + 28.8469779 + ], + [ + -13.800662, + 28.8456579 + ] + ], + [ + [ + 1.6479916, + 38.9990693 + ], + [ + 1.7321668, + 38.9993635 + ], + [ + 1.7314703, + 39.0441733 + ], + [ + 1.6489512, + 39.0431944 + ], + [ + 1.6481552, + 39.1276358 + ], + [ + 1.3948608, + 39.1265691 + ], + [ + 1.3954412, + 39.0864199 + ], + [ + 1.2281145, + 39.0852615 + ], + [ + 1.2291095, + 39.0028958 + ], + [ + 1.1448657, + 39.0018003 + ], + [ + 1.1452803, + 38.8319988 + ], + [ + 1.3113632, + 38.8331615 + ], + [ + 1.3121924, + 38.7906483 + ], + [ + 1.3946949, + 38.7916178 + ], + [ + 1.3951924, + 38.7529597 + ], + [ + 1.3112803, + 38.7519251 + ], + [ + 1.3125919, + 38.6238804 + ], + [ + 1.6489036, + 38.6251112 + ], + [ + 1.6480745, + 38.7111504 + ], + [ + 1.58456, + 38.7101152 + ], + [ + 1.5811604, + 38.7005387 + ], + [ + 1.5491544, + 38.7002798 + ], + [ + 1.5197188, + 38.7092094 + ], + [ + 1.50355, + 38.7253185 + ], + [ + 1.4813282, + 38.9155064 + ], + [ + 1.5518906, + 38.9254411 + ], + [ + 1.5667328, + 38.9566554 + ], + [ + 1.6487378, + 38.9583318 + ], + [ + 1.6479916, + 38.9990693 + ] + ], + [ + [ + 2.5450749, + 39.4166673 + ], + [ + 2.43933, + 39.4161122 + ], + [ + 2.438714, + 39.4846853 + ], + [ + 2.439022, + 39.4993424 + ], + [ + 2.3122308, + 39.4993424 + ], + [ + 2.3119228, + 39.5417911 + ], + [ + 2.2290722, + 39.5409994 + ], + [ + 2.2283536, + 39.6260571 + ], + [ + 2.3460076, + 39.6270851 + ], + [ + 2.9270445, + 39.9601558 + ], + [ + 3.1456647, + 39.9600498 + ], + [ + 3.1460753, + 40.0019797 + ], + [ + 3.2313899, + 40.0019797 + ], + [ + 3.2312872, + 39.8329231 + ], + [ + 3.1482313, + 39.8331596 + ], + [ + 3.1484366, + 39.7935717 + ], + [ + 3.4814817, + 39.7931773 + ], + [ + 3.4803472, + 39.5959027 + ], + [ + 3.3150618, + 39.4784606 + ], + [ + 3.3146179, + 39.3785504 + ], + [ + 3.0830178, + 39.2499355 + ], + [ + 2.9798608, + 39.2501482 + ], + [ + 2.9790395, + 39.3334971 + ], + [ + 2.7287424, + 39.3334177 + ], + [ + 2.7288451, + 39.4581361 + ], + [ + 2.6456865, + 39.4577397 + ], + [ + 2.6453785, + 39.4996593 + ], + [ + 2.5452802, + 39.4994216 + ], + [ + 2.5450749, + 39.4166673 + ] + ], + [ + [ + 3.8120402, + 40.0434431 + ], + [ + 3.729082, + 40.0437979 + ], + [ + 3.7286185, + 39.9584155 + ], + [ + 3.8126633, + 39.9576011 + ], + [ + 3.8122771, + 39.9164393 + ], + [ + 3.9608975, + 39.9159813 + ], + [ + 4.1938142, + 39.791308 + ], + [ + 4.3150279, + 39.7905799 + ], + [ + 4.3159934, + 39.8329294 + ], + [ + 4.3987393, + 39.8320396 + ], + [ + 4.3973664, + 39.9185834 + ], + [ + 4.3158003, + 39.9193274 + ], + [ + 4.3161865, + 40.0433985 + ], + [ + 4.2318959, + 40.0443594 + ], + [ + 4.2324752, + 40.0847793 + ], + [ + 4.1491501, + 40.086109 + ], + [ + 4.1490623, + 40.1255157 + ], + [ + 4.0627981, + 40.1272166 + ], + [ + 4.0624217, + 40.0849941 + ], + [ + 3.8128687, + 40.085294 + ], + [ + 3.8120402, + 40.0434431 + ] + ], + [ + [ + -8.8910646, + 41.8228891 + ], + [ + -9.1092038, + 42.5751065 + ], + [ + -9.0365469, + 42.730656 + ], + [ + -9.0883419, + 42.7269569 + ], + [ + -9.1466113, + 42.7750272 + ], + [ + -9.2185488, + 42.9016271 + ], + [ + -9.2760988, + 42.8605106 + ], + [ + -9.3099094, + 42.9311297 + ], + [ + -9.2789763, + 42.9821991 + ], + [ + -9.3099094, + 43.0600377 + ], + [ + -9.2523594, + 43.1041725 + ], + [ + -9.2314975, + 43.1703151 + ], + [ + -9.1473307, + 43.210176 + ], + [ + -9.06748, + 43.1991644 + ], + [ + -9.0336694, + 43.2426748 + ], + [ + -8.99842, + 43.2447709 + ], + [ + -8.9998588, + 43.2955793 + ], + [ + -8.9372732, + 43.3055265 + ], + [ + -8.92936, + 43.326986 + ], + [ + -8.8638969, + 43.3290792 + ], + [ + -8.8761263, + 43.3740655 + ], + [ + -8.8221732, + 43.3735426 + ], + [ + -8.785485, + 43.3191358 + ], + [ + -8.7063538, + 43.305003 + ], + [ + -8.6099575, + 43.3296025 + ], + [ + -8.5509688, + 43.3233227 + ], + [ + -8.5243519, + 43.3364048 + ], + [ + -8.5250713, + 43.3646525 + ], + [ + -8.45745, + 43.3918416 + ], + [ + -8.3610538, + 43.4111803 + ], + [ + -8.3603344, + 43.4634161 + ], + [ + -8.3344369, + 43.5797394 + ], + [ + -8.2776063, + 43.5708796 + ], + [ + -8.0646713, + 43.7239184 + ], + [ + -7.9992081, + 43.7233986 + ], + [ + -7.9171994, + 43.7826357 + ], + [ + -7.8560525, + 43.7914643 + ], + [ + -7.83591, + 43.7374337 + ], + [ + -7.6628443, + 43.809819 + ], + [ + -7.3188932, + 43.6782695 + ], + [ + -7.1997467, + 43.5830817 + ], + [ + -6.2488228, + 43.6075032 + ], + [ + -6.1229322, + 43.5790105 + ], + [ + -5.8520425, + 43.6798953 + ], + [ + -5.6036334, + 43.5708672 + ], + [ + -5.2855347, + 43.5619084 + ], + [ + -5.1787525, + 43.4991591 + ], + [ + -4.9089869, + 43.4836655 + ], + [ + -4.6156167, + 43.4192021 + ], + [ + -4.1839917, + 43.4249168 + ], + [ + -3.8029478, + 43.5195394 + ], + [ + -3.7400025, + 43.4869277 + ], + [ + -3.5612827, + 43.5423572 + ], + [ + -3.1083013, + 43.3816347 + ], + [ + -2.9385737, + 43.4624573 + ], + [ + -2.7452417, + 43.4755094 + ], + [ + -2.3046245, + 43.3170625 + ], + [ + -1.9854018, + 43.3563045 + ], + [ + -1.8552841, + 43.3972545 + ], + [ + -1.769802, + 43.3964383 + ], + [ + -1.7700492, + 43.3760501 + ], + [ + -1.7100474, + 43.3756908 + ], + [ + -1.7113451, + 43.3312527 + ], + [ + -1.7225915, + 43.3131806 + ], + [ + -1.6890375, + 43.3129108 + ], + [ + -1.6881106, + 43.3341294 + ], + [ + -1.6446695, + 43.3337248 + ], + [ + -1.6449785, + 43.3133155 + ], + [ + -1.6029903, + 43.3129528 + ], + [ + -1.6034352, + 43.2926624 + ], + [ + -1.5635905, + 43.2921227 + ], + [ + -1.5630468, + 43.3133844 + ], + [ + -1.4779905, + 43.3128355 + ], + [ + -1.3667723, + 43.2761368 + ], + [ + -1.3568809, + 43.2381533 + ], + [ + -1.3703692, + 43.1712972 + ], + [ + -1.4423067, + 43.0833554 + ], + [ + -1.4198262, + 43.0603647 + ], + [ + -1.3730668, + 43.051166 + ], + [ + -1.3640746, + 43.1115893 + ], + [ + -1.3020285, + 43.135217 + ], + [ + -1.2354864, + 43.1332484 + ], + [ + -1.2795481, + 43.0774443 + ], + [ + -1.1923239, + 43.0649635 + ], + [ + -1.0061856, + 43.0077821 + ], + [ + -0.942341, + 42.9748951 + ], + [ + -0.7562028, + 42.9821318 + ], + [ + -0.7148387, + 42.9610774 + ], + [ + -0.6968543, + 42.9031405 + ], + [ + -0.5511809, + 42.8220693 + ], + [ + -0.5044215, + 42.8484456 + ], + [ + -0.4288871, + 42.8200906 + ], + [ + -0.3164848, + 42.8655842 + ], + [ + -0.1456332, + 42.810856 + ], + [ + -0.0314324, + 42.7124874 + ], + [ + 0.1861785, + 42.7540985 + ], + [ + 0.3021777, + 42.7177729 + ], + [ + 0.3642238, + 42.7428729 + ], + [ + 0.4487504, + 42.7144695 + ], + [ + 0.6276949, + 42.7223973 + ], + [ + 0.6411832, + 42.8576747 + ], + [ + 0.7149192, + 42.882718 + ], + [ + 0.9675996, + 42.8181119 + ], + [ + 1.108777, + 42.7989808 + ], + [ + 1.1753192, + 42.7342872 + ], + [ + 1.3632559, + 42.7415521 + ], + [ + 1.4113736, + 42.7093914 + ], + [ + 1.4806054, + 42.7103407 + ], + [ + 1.4813006, + 42.5010664 + ], + [ + 1.6443591, + 42.5020345 + ], + [ + 1.6432777, + 42.5424539 + ], + [ + 1.730407, + 42.5434214 + ], + [ + 1.7316429, + 42.5011803 + ], + [ + 2.0638621, + 42.5016359 + ], + [ + 2.0645572, + 42.4590247 + ], + [ + 2.3969309, + 42.4599364 + ], + [ + 2.3976786, + 42.4178363 + ], + [ + 2.4804823, + 42.4179732 + ], + [ + 2.4809767, + 42.3759441 + ], + [ + 2.6447922, + 42.3762636 + ], + [ + 2.6444832, + 42.4592447 + ], + [ + 2.8113266, + 42.4596094 + ], + [ + 2.8112648, + 42.5010358 + ], + [ + 3.063878, + 42.5008535 + ], + [ + 3.063878, + 42.4591535 + ], + [ + 3.2307832, + 42.4593359 + ], + [ + 3.2304935, + 42.3764363 + ], + [ + 3.3141469, + 42.3760369 + ], + [ + 3.3141243, + 42.3339864 + ], + [ + 3.397855, + 42.3340435 + ], + [ + 3.3973912, + 42.290094 + ], + [ + 3.3138923, + 42.2908368 + ], + [ + 3.3139695, + 42.2070151 + ], + [ + 3.1475896, + 42.2073012 + ], + [ + 3.1475896, + 42.1260612 + ], + [ + 3.2305478, + 42.1260039 + ], + [ + 3.2466753, + 41.9529359 + ], + [ + 3.1945206, + 41.8558943 + ], + [ + 3.060537, + 41.7647419 + ], + [ + 2.7835777, + 41.6371796 + ], + [ + 2.26293, + 41.4271601 + ], + [ + 2.1649151, + 41.2989297 + ], + [ + 1.86008, + 41.2232228 + ], + [ + 1.3763003, + 41.116273 + ], + [ + 1.1793714, + 41.0464585 + ], + [ + 1.0858526, + 41.048493 + ], + [ + 0.758537, + 40.8195599 + ], + [ + 0.9114042, + 40.733761 + ], + [ + 0.8781331, + 40.6751363 + ], + [ + 0.6650182, + 40.5358666 + ], + [ + 0.5580112, + 40.5502166 + ], + [ + 0.433919, + 40.3757589 + ], + [ + 0.2675635, + 40.1919192 + ], + [ + 0.1641534, + 40.0647234 + ], + [ + 0.0751307, + 40.0144671 + ], + [ + 0.010387, + 39.8952188 + ], + [ + -0.0939224, + 39.8116904 + ], + [ + -0.1847435, + 39.6311716 + ], + [ + -0.2908513, + 39.5036254 + ], + [ + -0.2863552, + 39.333431 + ], + [ + -0.1856427, + 39.1774612 + ], + [ + -0.2135185, + 39.1558487 + ], + [ + -0.1110076, + 38.9722246 + ], + [ + 0.0094878, + 38.8826835 + ], + [ + 0.1218901, + 38.872183 + ], + [ + 0.2342925, + 38.798636 + ], + [ + 0.2558737, + 38.7264162 + ], + [ + 0.0958128, + 38.6133825 + ], + [ + -0.0022021, + 38.6070586 + ], + [ + -0.0570544, + 38.5269073 + ], + [ + -0.2719677, + 38.4762395 + ], + [ + -0.379874, + 38.3931234 + ], + [ + -0.3834708, + 38.3381297 + ], + [ + -0.4509122, + 38.3310763 + ], + [ + -0.5048654, + 38.2830943 + ], + [ + -0.4823849, + 38.1948095 + ], + [ + -0.429331, + 38.1658287 + ], + [ + -0.4545091, + 38.148859 + ], + [ + -0.5839966, + 38.1721913 + ], + [ + -0.6136708, + 38.1198599 + ], + [ + -0.6370505, + 37.9612228 + ], + [ + -0.6811123, + 37.9456238 + ], + [ + -0.7323677, + 37.8810656 + ], + [ + -0.7215771, + 37.7830562 + ], + [ + -0.688306, + 37.7340026 + ], + [ + -0.6641461, + 37.6231485 + ], + [ + -0.7193941, + 37.5878413 + ], + [ + -0.9196258, + 37.5375806 + ], + [ + -1.1107098, + 37.5164093 + ], + [ + -1.3383246, + 37.5286671 + ], + [ + -1.4408917, + 37.3903714 + ], + [ + -1.6766966, + 37.2765189 + ], + [ + -1.8540816, + 36.9122889 + ], + [ + -2.0683486, + 36.6929117 + ], + [ + -2.2158766, + 36.6619233 + ], + [ + -2.3721861, + 36.7801753 + ], + [ + -2.6812926, + 36.6591056 + ], + [ + -2.9201476, + 36.6675585 + ], + [ + -3.09402, + 36.712625 + ], + [ + -3.4610839, + 36.6548788 + ], + [ + -3.7280395, + 36.6929117 + ], + [ + -4.3743529, + 36.6633322 + ], + [ + -4.6571151, + 36.4404171 + ], + [ + -4.9188018, + 36.4531321 + ], + [ + -5.1699508, + 36.3513541 + ], + [ + -5.2841094, + 36.1970201 + ], + [ + -5.2680911, + 36.1241812 + ], + [ + -5.3524784, + 36.1224654 + ], + [ + -5.3516094, + 36.0401413 + ], + [ + -5.4365759, + 36.0388921 + ], + [ + -5.4353207, + 36.0034384 + ], + [ + -5.6888562, + 36.0036518 + ], + [ + -5.6899635, + 36.0405317 + ], + [ + -5.85506, + 36.0385595 + ], + [ + -5.8566821, + 36.1242077 + ], + [ + -5.9384817, + 36.1221487 + ], + [ + -5.9400265, + 36.1655625 + ], + [ + -5.9983445, + 36.1645024 + ], + [ + -6.0357297, + 36.1780957 + ], + [ + -6.0775178, + 36.2224132 + ], + [ + -6.1506113, + 36.2864561 + ], + [ + -6.231541, + 36.3770075 + ], + [ + -6.3358504, + 36.5310643 + ], + [ + -6.3214629, + 36.5816265 + ], + [ + -6.404191, + 36.6234958 + ], + [ + -6.4743301, + 36.7489673 + ], + [ + -6.4158808, + 36.7993866 + ], + [ + -6.490516, + 36.9173818 + ], + [ + -6.6298949, + 37.0194012 + ], + [ + -6.8744824, + 37.1083766 + ], + [ + -7.0426363, + 37.1850699 + ], + [ + -7.2647434, + 37.1843535 + ], + [ + -7.3753473, + 37.1535419 + ], + [ + -7.408316, + 37.1682196 + ], + [ + -7.4202886, + 37.2118318 + ], + [ + -7.4249231, + 37.2350505 + ], + [ + -7.4380543, + 37.2451969 + ], + [ + -7.4459717, + 37.3326142 + ], + [ + -7.4480958, + 37.3909382 + ], + [ + -7.4696271, + 37.4075829 + ], + [ + -7.4647029, + 37.4530494 + ], + [ + -7.5019723, + 37.516411 + ], + [ + -7.5191587, + 37.5229203 + ], + [ + -7.5219588, + 37.5723727 + ], + [ + -7.4501271, + 37.6695835 + ], + [ + -7.4249019, + 37.7599222 + ], + [ + -7.316662, + 37.839974 + ], + [ + -7.268329, + 37.988952 + ], + [ + -7.1536786, + 38.0155235 + ], + [ + -7.1177098, + 38.0553626 + ], + [ + -7.0142997, + 38.0243785 + ], + [ + -6.9963153, + 38.1075633 + ], + [ + -6.9614706, + 38.201254 + ], + [ + -7.080617, + 38.1570753 + ], + [ + -7.3402665, + 38.4402363 + ], + [ + -7.2638329, + 38.7380741 + ], + [ + -7.0435243, + 38.8729667 + ], + [ + -7.0615086, + 38.907962 + ], + [ + -6.9693387, + 39.0198308 + ], + [ + -7.0008114, + 39.0887867 + ], + [ + -7.1536786, + 39.0957658 + ], + [ + -7.1525545, + 39.1602899 + ], + [ + -7.2447245, + 39.1968854 + ], + [ + -7.2559647, + 39.2813308 + ], + [ + -7.3368944, + 39.3535074 + ], + [ + -7.3279022, + 39.4559917 + ], + [ + -7.5144901, + 39.5886496 + ], + [ + -7.5527069, + 39.6795427 + ], + [ + -7.0502684, + 39.6752171 + ], + [ + -6.9951913, + 39.8195433 + ], + [ + -6.9221297, + 39.8790868 + ], + [ + -6.886161, + 40.0229854 + ], + [ + -7.0412762, + 40.1347927 + ], + [ + -7.0176717, + 40.266146 + ], + [ + -6.8086034, + 40.3450071 + ], + [ + -6.8681766, + 40.4451649 + ], + [ + -6.8535643, + 40.6066433 + ], + [ + -6.837828, + 40.8757589 + ], + [ + -6.9536024, + 41.0370445 + ], + [ + -6.8018592, + 41.0395879 + ], + [ + -6.7681385, + 41.138706 + ], + [ + -6.6411239, + 41.2655616 + ], + [ + -6.5624422, + 41.2630269 + ], + [ + -6.217367, + 41.5791017 + ], + [ + -6.3162811, + 41.644652 + ], + [ + -6.5152332, + 41.6412921 + ], + [ + -6.5871707, + 41.6883151 + ], + [ + -6.5478299, + 41.8559743 + ], + [ + -6.6298836, + 41.9112057 + ], + [ + -7.1334461, + 41.9404756 + ], + [ + -7.1682909, + 41.8718791 + ], + [ + -7.4256922, + 41.7847727 + ], + [ + -7.9539833, + 41.8459271 + ], + [ + -8.130455, + 41.7805819 + ], + [ + -8.2518495, + 41.9078597 + ], + [ + -8.1293309, + 42.0348842 + ], + [ + -8.2484774, + 42.1008034 + ], + [ + -8.3676239, + 42.0557521 + ], + [ + -8.6070409, + 42.0340493 + ], + [ + -8.8910646, + 41.8228891 ] ] ], - "terms_url": "http://www.eea.europa.eu/data-and-maps/data/urban-atlas", - "terms_text": "EEA GMES Urban Atlas" + "terms_text": "PNOA" }, { + "id": "Slovakia-Historic-Maps", "name": "Slovakia Historic Maps", "type": "tms", "template": "http://tms.freemap.sk/historicke/{zoom}/{x}/{y}.png", @@ -39589,6 +43849,7 @@ ] }, { + "id": "South_Africa-CD_NGI-Aerial", "name": "South Africa CD:NGI Aerial", "type": "tms", "template": "http://{switch:a,b,c}.aerial.openstreetmap.org.za/ngi-aerial/{zoom}/{x}/{y}.jpg", @@ -40787,10 +45048,11 @@ "best": true }, { + "id": "South-Tyrol-Orthofoto2011", "name": "South Tyrol Orthofoto 2011", "type": "tms", - "description": "Orthophoto of South Tyrol from 2011", "template": "http://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_OF_2011_EPSG3857&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg", + "description": "Orthophoto of South Tyrol from 2011", "scaleExtent": [ 0, 18 @@ -42676,14 +46938,14 @@ ] ], "terms_url": "http://geoservices.buergernetz.bz.it/geokatalog/", - "terms_text": "© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0", - "id": "South-Tyrol-Orthofoto2011" + "terms_text": "© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0" }, { + "id": "South-Tyrol-Orthofoto2014", "name": "South Tyrol Orthofoto 2014", "type": "tms", - "description": "Orthophoto of South Tyrol from 2011", "template": "http://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_OF_2014_EPSG3857&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg", + "description": "Orthophoto of South Tyrol from 2011", "scaleExtent": [ 0, 18 @@ -43828,14 +48090,14 @@ ], "terms_url": "http://geoservices.buergernetz.bz.it/geokatalog/", "terms_text": "© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano CC-BY 3.0", - "id": "South-Tyrol-Orthofoto2014", "best": true }, { + "id": "South-Tyrol-Topomap", "name": "South Tyrol Topomap", "type": "tms", + "template": "http://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_BASEMAP_TOPO&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{zoom}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg", "description": "Topographical basemap of South Tyrol", - "template": "http://geoservices.buergernetz.bz.it/geoserver/gwc/service/wmts/?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=P_BZ_BASEMAP_TOPO&STYLE=default&TILEMATRIXSET=GoogleMapsCompatible&TILEMATRIX=GoogleMapsCompatible%3A{z}&TILEROW={y}&TILECOL={x}&FORMAT=image%2Fjpeg", "scaleExtent": [ 0, 20 @@ -45721,10 +49983,378 @@ ] ], "terms_url": "http://geoservices.buergernetz.bz.it/geokatalog/", - "terms_text": "© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano", - "id": "South-Tyrol-Topomap" + "terms_text": "© Autonomen Provinz Bozen/Provincia Autonoma di Bolzano" }, { + "id": "Bern-bern2016-tms", + "name": "Stadt Bern 10cm (2016)", + "type": "tms", + "template": "http://mapproxy.osm.ch:8080/tiles/bern2016/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", + "scaleExtent": [ + 8, + 21 + ], + "polygon": [ + [ + [ + 7.2943145, + 46.9237564 + ], + [ + 7.2982665, + 46.9274715 + ], + [ + 7.3061586, + 46.9309487 + ], + [ + 7.3043338, + 46.9362344 + ], + [ + 7.3068603, + 46.9403709 + ], + [ + 7.3246431, + 46.9432765 + ], + [ + 7.3284525, + 46.946409 + ], + [ + 7.3414051, + 46.9460797 + ], + [ + 7.3438454, + 46.9473713 + ], + [ + 7.3434554, + 46.9487937 + ], + [ + 7.3513567, + 46.9485481 + ], + [ + 7.3505628, + 46.950213 + ], + [ + 7.3530901, + 46.9519266 + ], + [ + 7.3582028, + 46.9511773 + ], + [ + 7.3685031, + 46.9566244 + ], + [ + 7.3715097, + 46.9607339 + ], + [ + 7.37503, + 46.959835 + ], + [ + 7.3785111, + 46.9614686 + ], + [ + 7.3806232, + 46.9654741 + ], + [ + 7.3832097, + 46.9663014 + ], + [ + 7.3937998, + 46.9669268 + ], + [ + 7.4000528, + 46.9691779 + ], + [ + 7.4082922, + 46.9686857 + ], + [ + 7.4281713, + 46.9738041 + ], + [ + 7.4327053, + 46.972689 + ], + [ + 7.4353602, + 46.9684345 + ], + [ + 7.4378522, + 46.9684302 + ], + [ + 7.4412474, + 46.9767865 + ], + [ + 7.4456893, + 46.9747939 + ], + [ + 7.4483835, + 46.9756393 + ], + [ + 7.4477006, + 46.9790125 + ], + [ + 7.4440468, + 46.9780682 + ], + [ + 7.4412738, + 46.9798224 + ], + [ + 7.4506732, + 46.9901527 + ], + [ + 7.4522112, + 46.9896803 + ], + [ + 7.454649, + 46.9778182 + ], + [ + 7.4680382, + 46.9758258 + ], + [ + 7.4707923, + 46.969998 + ], + [ + 7.4701907, + 46.9674116 + ], + [ + 7.4781618, + 46.9711823 + ], + [ + 7.4845237, + 46.9701571 + ], + [ + 7.4861275, + 46.9679018 + ], + [ + 7.4857945, + 46.9646828 + ], + [ + 7.4784708, + 46.9629043 + ], + [ + 7.4802865, + 46.9606768 + ], + [ + 7.4789304, + 46.9587841 + ], + [ + 7.4797786, + 46.9566019 + ], + [ + 7.4770135, + 46.9544586 + ], + [ + 7.4840504, + 46.9499938 + ], + [ + 7.4833925, + 46.9451977 + ], + [ + 7.4955563, + 46.9396169 + ], + [ + 7.4935119, + 46.9376594 + ], + [ + 7.4908036, + 46.9387617 + ], + [ + 7.4894997, + 46.9368667 + ], + [ + 7.4766667, + 46.9369496 + ], + [ + 7.4781093, + 46.9362489 + ], + [ + 7.4746986, + 46.9339187 + ], + [ + 7.4753537, + 46.9329898 + ], + [ + 7.4691047, + 46.9292427 + ], + [ + 7.4707683, + 46.9255044 + ], + [ + 7.4585674, + 46.934836 + ], + [ + 7.4476373, + 46.9304297 + ], + [ + 7.435418, + 46.9349668 + ], + [ + 7.4338022, + 46.9331237 + ], + [ + 7.4376403, + 46.9307415 + ], + [ + 7.4146941, + 46.9368183 + ], + [ + 7.413844, + 46.9315682 + ], + [ + 7.4070798, + 46.9303824 + ], + [ + 7.408065, + 46.9256296 + ], + [ + 7.4021268, + 46.9241992 + ], + [ + 7.4014835, + 46.9211927 + ], + [ + 7.3875736, + 46.9304506 + ], + [ + 7.3823129, + 46.927282 + ], + [ + 7.3800187, + 46.9298929 + ], + [ + 7.3808694, + 46.9324085 + ], + [ + 7.3748669, + 46.9314306 + ], + [ + 7.3748901, + 46.9327104 + ], + [ + 7.368066, + 46.9323929 + ], + [ + 7.3683058, + 46.930426 + ], + [ + 7.3604074, + 46.9285884 + ], + [ + 7.3605592, + 46.9272018 + ], + [ + 7.338783, + 46.9245357 + ], + [ + 7.3393683, + 46.9196675 + ], + [ + 7.3274574, + 46.9190326 + ], + [ + 7.3269178, + 46.9235974 + ], + [ + 7.324374, + 46.9251891 + ], + [ + 7.3082264, + 46.9222857 + ], + [ + 7.2943145, + 46.9237564 + ] + ] + ], + "terms_text": "Orthophoto 2016, Vermessungsamt Stadt Bern ", + "best": true + }, + { + "id": "Uster-2008", "name": "Stadt Uster Orthophoto 2008 10cm", "type": "tms", "template": "http://mapproxy.sosm.ch:8080/tiles/uster/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", @@ -45755,9 +50385,10 @@ "terms_text": "Stadt Uster Vermessung Orthophoto 2008" }, { + "id": "Zuerich-zh_luftbild2011-tms", "name": "Stadt Zürich Luftbild 2011", "type": "tms", - "template": "http://mapproxy.sosm.ch:8080/tiles/zh_luftbild2011/EPSG900913/{z}/{x}/{y}.png?origin=nw", + "template": "http://mapproxy.sosm.ch:8080/tiles/zh_luftbild2011/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", "polygon": [ [ [ @@ -45785,6 +50416,7 @@ "terms_text": "Stadt Zürich Luftbild 2011" }, { + "id": "Zuerich-city_map", "name": "Stadtplan Zürich", "type": "tms", "template": "http://mapproxy.sosm.ch:8080/tiles/zh_stadtplan/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", @@ -45815,361 +50447,19 @@ "terms_text": "Stadt Zürich Open Government Data" }, { + "id": "stamen-terrain-background", "name": "Stamen Terrain", "type": "tms", - "template": "http://{switch:a,b,c,d}.tile.stamen.com/terrain-background/{z}/{x}/{y}.jpg", + "template": "http://{switch:a,b,c,d}.tile.stamen.com/terrain-background/{zoom}/{x}/{y}.jpg", "scaleExtent": [ 4, 18 ], - "polygon": [ - [ - [ - -125.990173, - 48.9962416 - ], - [ - -125.989419, - 47.9948396 - ], - [ - -123.9929739, - 47.9955062 - ], - [ - -123.9922429, - 47.0059202 - ], - [ - -125.988688, - 47.0052409 - ], - [ - -125.9879604, - 46.0015618 - ], - [ - -123.9939396, - 46.0022529 - ], - [ - -123.9925238, - 43.9961708 - ], - [ - -124.9931832, - 43.9958116 - ], - [ - -124.9918175, - 41.9942149 - ], - [ - -125.9851789, - 41.9938465 - ], - [ - -125.9838655, - 40.0076111 - ], - [ - -123.9833285, - 40.0083757 - ], - [ - -123.9814115, - 37.002615 - ], - [ - -122.21903, - 37.0033173 - ], - [ - -122.2184144, - 36.011671 - ], - [ - -122.020087, - 36.011751 - ], - [ - -122.0188591, - 33.9961766 - ], - [ - -119.9787757, - 33.9970206 - ], - [ - -119.9775867, - 31.9987658 - ], - [ - -114.0122833, - 32.00129 - ], - [ - -114.0116894, - 30.9862401 - ], - [ - -105.998294, - 30.9896679 - ], - [ - -105.9971419, - 28.9901065 - ], - [ - -102.0210506, - 28.9918418 - ], - [ - -102.0204916, - 28.00733 - ], - [ - -100.0062436, - 28.0082173 - ], - [ - -100.0051143, - 25.991909 - ], - [ - -98.0109067, - 25.9928035 - ], - [ - -98.0103613, - 25.0063461 - ], - [ - -97.0161086, - 25.0067957 - ], - [ - -97.016654, - 25.9932494 - ], - [ - -95.9824825, - 25.9937132 - ], - [ - -95.9835999, - 27.9891175 - ], - [ - -94.0200898, - 27.9899826 - ], - [ - -94.0206586, - 28.9918129 - ], - [ - -88.0156706, - 28.9944338 - ], - [ - -88.0162494, - 30.0038862 - ], - [ - -86.0277506, - 30.0047454 - ], - [ - -86.0271719, - 28.9953016 - ], - [ - -84.0187909, - 28.9961781 - ], - [ - -84.017095, - 25.9817708 - ], - [ - -81.9971976, - 25.9826768 - ], - [ - -81.9966618, - 25.0134917 - ], - [ - -84.0165592, - 25.0125783 - ], - [ - -84.0160068, - 24.0052745 - ], - [ - -80.0199985, - 24.007096 - ], - [ - -80.0245309, - 32.0161282 - ], - [ - -78.0066484, - 32.0169819 - ], - [ - -78.0072238, - 32.9894278 - ], - [ - -77.8807233, - 32.9894807 - ], - [ - -77.8813253, - 33.9955918 - ], - [ - -76.0115411, - 33.9963653 - ], - [ - -76.0121459, - 34.9952552 - ], - [ - -74.0068449, - 34.9960749 - ], - [ - -74.0099997, - 40.0084254 - ], - [ - -72.0013745, - 40.0091931 - ], - [ - -72.002019, - 40.9912464 - ], - [ - -69.8797398, - 40.9920457 - ], - [ - -69.8804173, - 42.00893 - ], - [ - -69.9927682, - 42.0088883 - ], - [ - -69.9934462, - 43.0105166 - ], - [ - -67.9845366, - 43.0112496 - ], - [ - -67.985224, - 44.0103812 - ], - [ - -65.9892568, - 44.0110975 - ], - [ - -65.9921237, - 47.9993584 - ], - [ - -70.006442, - 47.9980181 - ], - [ - -70.005708, - 47.0042007 - ], - [ - -72.023686, - 47.003514 - ], - [ - -72.0222508, - 45.0059846 - ], - [ - -78.0146667, - 45.0038705 - ], - [ - -78.0139662, - 44.0026998 - ], - [ - -80.029686, - 44.0019763 - ], - [ - -80.0290052, - 43.0122994 - ], - [ - -81.995479, - 43.011582 - ], - [ - -81.9982986, - 47.0042713 - ], - [ - -87.505706, - 47.0023972 - ], - [ - -87.5064535, - 48.0142702 - ], - [ - -88.0260889, - 48.0140968 - ], - [ - -88.026838, - 49.0086686 - ], - [ - -93.9981078, - 49.0067142 - ], - [ - -93.9988778, - 50.0086456 - ], - [ - -96.0138899, - 50.0079995 - ], - [ - -96.0131199, - 49.0060547 - ], - [ - -125.990173, - 48.9962416 - ] - ] - ], "terms_url": "http://maps.stamen.com/#terrain", "terms_text": "Map tiles by Stamen Design, under CC BY 3.0" }, { + "id": "Stevns_Denmark", "name": "Stevns (Denmark)", "type": "tms", "template": "http://{switch:a,b,c}.tile.openstreetmap.dk/stevns/2009/{zoom}/{x}/{y}.png", @@ -46308,6 +50598,7 @@ "terms_text": "Stevns Kommune" }, { + "id": "Surrey-Air_Survey", "name": "Surrey Air Survey", "type": "tms", "template": "http://gravitystorm.dev.openstreetmap.org/surrey/{zoom}/{x}/{y}.png", @@ -46797,6 +51088,7 @@ ] }, { + "id": "Szeged_2011", "name": "Szeged ortophoto 2011", "type": "tms", "template": "http://e.tile.openstreetmap.hu/szeged-2011-10cm/{zoom}/{x}/{y}.png", @@ -47024,6 +51316,122 @@ "terms_text": "SZTE TFGT - University of Szeged" }, { + "id": "tnris.org", + "name": "Texas Orthophoto", + "type": "tms", + "template": "https://txgi.tnris.org/login/path/ecology-fiona-poem-romeo/wmts?SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=texas&STYLE=&FORMAT=image/png&tileMatrixSet=0to20&tileMatrix=0to20:{zoom}&tileRow={y}&tileCol={x}", + "scaleExtent": [ + 0, + 20 + ], + "polygon": [ + [ + [ + -99.9985439, + 34.5601834 + ], + [ + -95.55654502453, + 33.99257450647 + ], + [ + -93.89679027134, + 33.61039304449 + ], + [ + -93.98468089634, + 32.04103124103 + ], + [ + -93.41613841587, + 31.02505269211 + ], + [ + -93.74531484297, + 29.57268254375 + ], + [ + -96.50492070332, + 28.23158511753 + ], + [ + -97.36942054453, + 26.95467452634 + ], + [ + -97.04866958924, + 25.80530249434 + ], + [ + -99.0734177889, + 26.32559221139 + ], + [ + -100.76599193149, + 29.02531904433 + ], + [ + -102.3315436893, + 29.8433892263 + ], + [ + -103.13354564242, + 28.88112103669 + ], + [ + -104.2887874222, + 29.28831477845 + ], + [ + -104.7269783935, + 29.94815782859 + ], + [ + -104.72696778796, + 30.23535241761 + ], + [ + -106.53450082091, + 31.78456647831 + ], + [ + -106.75767043939, + 31.78457253947 + ], + [ + -106.75766067978, + 32.04385536686 + ], + [ + -106.61848436611, + 32.04385159755 + ], + [ + -103.11949492759, + 32.04375683439 + ], + [ + -103.09544343487, + 36.50045758762 + ], + [ + -103.05798056071, + 36.54268645422 + ], + [ + -100.00042146824, + 36.54222227302 + ], + [ + -99.9985439, + 34.5601834 + ] + ] + ], + "terms_url": "https://tnris.org/maps-and-data/online-mapping-services/" + }, + { + "id": "tf-landscape", "name": "Thunderforest Landscape", "type": "tms", "template": "https://{switch:a,b,c}.tile.thunderforest.com/landscape/{zoom}/{x}/{y}.png", @@ -47035,6 +51443,7 @@ "terms_text": "Maps © Thunderforest, Data © OpenStreetMap contributors" }, { + "id": "Toulouse-Orthophotoplan-2007", "name": "Toulouse - Orthophotoplan 2007", "type": "tms", "template": "http://wms.openstreetmap.fr/tms/1.0.0/toulouse_ortho2007/{zoom}/{x}/{y}", @@ -47374,6 +51783,7 @@ "terms_text": "ToulouseMetropole" }, { + "id": "Toulouse-Orthophotoplan-2011", "name": "Toulouse - Orthophotoplan 2011", "type": "tms", "template": "http://wms.openstreetmap.fr/tms/1.0.0/toulouse_ortho2011/{zoom}/{x}/{y}", @@ -47609,6 +52019,7 @@ "terms_text": "ToulouseMetropole" }, { + "id": "Toulouse-Orthophotoplan-2013", "name": "Toulouse - Orthophotoplan 2013", "type": "tms", "template": "http://wms.openstreetmap.fr/tms/1.0.0/toulouse_2013/{zoom}/{x}/{y}", @@ -47844,6 +52255,7 @@ "terms_text": "ToulouseMetropole" }, { + "id": "Toulouse-Orthophotoplan-2015", "name": "Toulouse - Orthophotoplan 2015", "type": "tms", "template": "http://wms.openstreetmap.fr/tms/1.0.0/toulouse_2015/{zoom}/{x}/{y}", @@ -48079,6 +52491,7 @@ "terms_text": "ToulouseMetropole" }, { + "id": "Tours-Orthophoto-2008_2010", "name": "Tours - Orthophotos 2008-2010", "type": "tms", "template": "http://wms.openstreetmap.fr/tms/1.0.0/tours/{zoom}/{x}/{y}", @@ -48682,6 +53095,7 @@ "terms_text": "Orthophoto Tour(s) Plus 2008" }, { + "id": "Tours-Orthophoto-2013", "name": "Tours - Orthophotos 2013", "type": "tms", "template": "http://wms.openstreetmap.fr/tms/1.0.0/tours_2013/{zoom}/{x}/{y}", @@ -48717,6 +53131,7 @@ "terms_text": "Orthophoto Tour(s)plus 2013" }, { + "id": "US_Forest_Service_roads", "name": "U.S. Forest Service roads", "type": "tms", "template": "http://osm.cycle.travel/forest/{zoom}/{x}/{y}.png", @@ -49202,6 +53617,7 @@ ] }, { + "id": "Zuerich-zh_uebersichtsplan-tms", "name": "Übersichtsplan Zürich", "type": "tms", "template": "http://mapproxy.sosm.ch:8080/tiles/zh_uebersichtsplan/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", @@ -49236,6 +53652,7 @@ "terms_text": "Stadt Zürich Open Government Data" }, { + "id": "USGS-Large_Scale", "name": "USGS Large Scale Imagery", "type": "tms", "template": "http://{switch:a,b,c}.tile.openstreetmap.us/usgs_large_scale/{zoom}/{x}/{y}.jpg", @@ -53421,6 +57838,7 @@ ] }, { + "id": "USGS-Scanned_Topographic", "name": "USGS Topographic Maps", "type": "tms", "template": "http://{switch:a,b,c}.tile.openstreetmap.us/usgs_scanned_topos/{zoom}/{x}/{y}.png", @@ -54200,10 +58618,11 @@ ] }, { + "id": "sjcgis.org-General_Basemap_WM", "name": "Vector Streetmap for San Juan County WA", "type": "tms", - "description": "Public domain street and address data from the San Juan County, WA. Updated at least quarterly.", "template": "http://sjcgis.org/arcgis/rest/services/Basemaps/General_Basemap_WM/MapServer/tile/{zoom}/{y}/{x}", + "description": "Public domain street and address data from the San Juan County, WA. Updated at least quarterly.", "scaleExtent": [ 0, 19 @@ -54259,6 +58678,7 @@ "best": true }, { + "id": "Vejmidte_Denmark", "name": "Vejmidte (Denmark)", "type": "tms", "template": "http://{switch:a,b,c}.tile.openstreetmap.dk/danmark/vejmidte/{zoom}/{x}/{y}.png", @@ -54902,11 +59322,12 @@ "terms_text": "Danish municipalities" }, { + "id": "wien.gv.at-labels", "name": "Vienna: Beschriftungen (annotations)", "type": "tms", - "template": "http://www.wien.gv.at/wmts/beschriftung/normal/google3857/{zoom}/{y}/{x}.png", + "template": "https://maps.wien.gv.at/wmts/beschriftung/normal/google3857/{zoom}/{y}/{x}.png", "scaleExtent": [ - 0, + 12, 19 ], "polygon": [ @@ -54933,15 +59354,16 @@ ] ] ], - "terms_url": "http://data.wien.gv.at/", + "terms_url": "https://data.wien.gv.at/", "terms_text": "Stadt Wien" }, { + "id": "wien.gv.at-gp", "name": "Vienna: Mehrzweckkarte (general purpose)", "type": "tms", - "template": "http://www.wien.gv.at/wmts/fmzk/pastell/google3857/{zoom}/{y}/{x}.jpeg", + "template": "https://maps.wien.gv.at/wmts/fmzk/pastell/google3857/{zoom}/{y}/{x}.jpeg", "scaleExtent": [ - 0, + 10, 19 ], "polygon": [ @@ -54968,15 +59390,16 @@ ] ] ], - "terms_url": "http://data.wien.gv.at/", + "terms_url": "https://data.wien.gv.at/", "terms_text": "Stadt Wien" }, { + "id": "wien.gv.at-aerial_image", "name": "Vienna: Orthofoto (aerial image)", "type": "tms", - "template": "http://www.wien.gv.at/wmts/lb/farbe/google3857/{zoom}/{y}/{x}.jpeg", + "template": "https://maps.wien.gv.at/wmts/lb/farbe/google3857/{zoom}/{y}/{x}.jpeg", "scaleExtent": [ - 0, + 10, 19 ], "polygon": [ @@ -55003,7 +59426,7 @@ ] ] ], - "terms_url": "http://data.wien.gv.at/", + "terms_url": "https://data.wien.gv.at/", "terms_text": "Stadt Wien" } ] diff --git a/data/update_imagery.js b/data/update_imagery.js index 7dd24ba8b..2967a5ce4 100644 --- a/data/update_imagery.js +++ b/data/update_imagery.js @@ -7,36 +7,29 @@ var cutoffDate = new Date(); cutoffDate.setFullYear(cutoffDate.getFullYear() - 20); var blacklist = { - "2u": true, - "Hike & Bike": true, - "OpenStreetMap (German Language)": true, - "OpenStreetMap (German Style)": true, - "OpenStreetMap (Sorbian Language)": true, - "OpenStreetMap (Standard Black & White)": true, - "Skobbler": true, + 'hike_n_bike': true, // 'Hike & Bike' + 'osm-mapnik-german_style': true, // 'OpenStreetMap (German Style)' + 'osm-mapnik-black_and_white': true, // 'OpenStreetMap (Standard Black & White)' + 'skobbler': true, // 'Skobbler' + 'openpt_map': true, // 'OpenPT Map (overlay)' + 'tf-cycle': true, // 'Thunderforest OpenCycleMap' + 'qa_no_address': true, // 'QA No Address' - "Public Transport (\u00d6PNV)": true, // https://github.com/osmlab/editor-imagery-index/issues/15 + 'OSM-US-TIGER-Roads_Overlay-2012': true, - "TIGER 2012 Roads Overlay": true, // https://github.com/openstreetmap/iD/pull/2010, + 'Waymarked_Trails-Cycling': true, + 'Waymarked_Trails-Hiking': true, + 'Waymarked_Trails-MTB': true, + 'Waymarked_Trails-Skating': true, + 'Waymarked_Trails-Winter_Sports': true, - "Thunderforest OpenCycleMap": true, - - "Waymarked Trails: Cycling": true, - "Waymarked Trails: Hiking": true, - "Waymarked Trails: MTB": true, - "Waymarked Trails: Skating": true, - "Waymarked Trails: Winter Sports": true, - - "OSM Inspector: Geometry": true, - "OSM Inspector: Highways": true, - "OSM Inspector: Multipolygon": true, - "OSM Inspector: Places": true, - "OSM Inspector: Tagging": true, - "OSM Inspector: Addresses (EU)": true, - "OSM Inspector: Boundaries (EU)": true, - "OSM Inspector: Routing (EU)": true, - - "QA No Address": true + 'OSM_Inspector-Addresses': true, + 'OSM_Inspector-Geometry': true, + 'OSM_Inspector-Highways': true, + 'OSM_Inspector-Multipolygon': true, + 'OSM_Inspector-Places': true, + 'OSM_Inspector-Routing': true, + 'OSM_Inspector-Tagging': true }; var whitelist = [ @@ -44,14 +37,14 @@ var whitelist = [ ]; var descriptions = { - 'Mapbox Satellite': 'Satellite and aerial imagery.', - 'Bing aerial imagery': 'Satellite and aerial imagery.', - 'OpenStreetMap (Standard)': 'The default OpenStreetMap layer.' + 'Bing': 'Satellite and aerial imagery.', + 'Mapbox': 'Satellite and aerial imagery.', + 'MAPNIK': 'The default OpenStreetMap layer.' }; sources.concat(whitelist).forEach(function(source) { if (source.type !== 'tms' && source.type !== 'bing') return; - if (source.name in blacklist) return; + if (source.id in blacklist) return; if (source.end_date) { var endDate = new Date(source.end_date), @@ -60,15 +53,15 @@ sources.concat(whitelist).forEach(function(source) { } var im = { + id: source.id, name: source.name, - type: source.type + type: source.type, + template: source.url }; - var description = source.description || descriptions[im.name]; + var description = source.description || descriptions[im.id]; if (description) im.description = description; - im.template = source.url; - var extent = source.extent || {}; if (extent.min_zoom || extent.max_zoom) { im.scaleExtent = [ @@ -89,7 +82,7 @@ sources.concat(whitelist).forEach(function(source) { ]]; } - if (source.name === 'Locator Overlay') { + if (source.id === 'mapbox_locator_overlay') { im.overzoom = false; } @@ -104,7 +97,7 @@ sources.concat(whitelist).forEach(function(source) { im.terms_html = attribution.html; } - ['id', 'default', 'overlay', 'best'].forEach(function(a) { + ['default', 'overlay', 'best'].forEach(function(a) { if (source[a]) { im[a] = source[a]; } diff --git a/modules/renderer/background.js b/modules/renderer/background.js index a47e9e374..11ebb2bf1 100644 --- a/modules/renderer/background.js +++ b/modules/renderer/background.js @@ -27,9 +27,9 @@ export function rendererBackground(context) { .data([0]); base.enter() - .insert('div', '.layer-data') + .insert('div', '.layer-data') .attr('class', 'layer layer-background') - .merge(base) + .merge(base) .call(baseLayer); var overlays = selection.selectAll('.layer-overlay') @@ -39,16 +39,19 @@ export function rendererBackground(context) { .remove(); overlays.enter() - .insert('div', '.layer-data') + .insert('div', '.layer-data') .attr('class', 'layer layer-overlay') - .merge(overlays) + .merge(overlays) .each(function(layer) { d3.select(this).call(layer); }); } background.updateImagery = function() { var b = background.baseLayerSource(), - o = overlayLayers.map(function (d) { return d.source().id; }).join(','), + o = overlayLayers + .filter(function (d) { return !d.source().isLocatorOverlay(); }) + .map(function (d) { return d.source().id; }) + .join(','), meters = geoOffsetToMeters(b.offset()), epsilon = 0.01, x = +meters[0].toFixed(2), @@ -82,12 +85,9 @@ export function rendererBackground(context) { var imageryUsed = [b.imageryUsed()]; - overlayLayers.forEach(function (d) { - var source = d.source(); - if (!source.isLocatorOverlay()) { - imageryUsed.push(source.imageryUsed()); - } - }); + overlayLayers + .filter(function (d) { return !d.source().isLocatorOverlay(); }) + .forEach(function (d) { imageryUsed.push(d.source().imageryUsed()); }); var gpx = context.layers().layer('gpx'); if (gpx && gpx.enabled() && gpx.hasGpx()) { diff --git a/modules/renderer/background_source.js b/modules/renderer/background_source.js index 28d66fcc5..9b04453d5 100644 --- a/modules/renderer/background_source.js +++ b/modules/renderer/background_source.js @@ -47,7 +47,7 @@ export function rendererBackgroundSource(data) { source.imageryUsed = function() { - return source.id || name; + return name || source.id; }; @@ -91,7 +91,7 @@ export function rendererBackgroundSource(data) { source.isLocatorOverlay = function() { - return name === 'Locator Overlay'; + return source.id === 'mapbox_locator_overlay'; }; From cf85acf5ebb4c33d699f59d7775677118787ebc3 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 17 Nov 2016 14:18:25 -0500 Subject: [PATCH 061/119] npm run translations --- dist/locales/ru.json | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/dist/locales/ru.json b/dist/locales/ru.json index 2f30787f7..37d9f38f1 100644 --- a/dist/locales/ru.json +++ b/dist/locales/ru.json @@ -1283,6 +1283,13 @@ "recycling_accepts": { "label": "Принимает" }, + "recycling_type": { + "label": "Тип приёма отходов на переработку", + "options": { + "centre": "Пункт приёма отходов для переработки", + "container": "Контейнер для приема отходов на переработку" + } + }, "ref": { "label": "Номер / идентификатор" }, @@ -1449,6 +1456,9 @@ "tourism": { "label": "Тип" }, + "tower/construction": { + "label": "Тип конструкции" + }, "tracktype": { "label": "Тип просёлочных дорог", "options": { @@ -1523,6 +1533,9 @@ "name": "Адрес", "terms": "адрес" }, + "advertising/billboard": { + "name": "Рекламный щит" + }, "aerialway": { "name": "Подъёмник" }, @@ -1862,6 +1875,9 @@ "name": "Приём на переработку мусора", "terms": "Переработка мусора, Мусоропереработка, Утилизация мусора, Переработка отходов, Утилизация отходов" }, + "amenity/recycling_centre": { + "name": "Пункт приёма отходов для переработки" + }, "amenity/register_office": { "name": "ЗАГС / регистраторы смерти и браков" }, @@ -2386,10 +2402,19 @@ "name": "Пожарный гидрант", "terms": "Пожарный Гидрант, Пожарная Колонка" }, + "emergency/no": { + "name": "Доступ экстренных служб отсутствует" + }, "emergency/phone": { "name": "Экстренный телефон", "terms": "аварийный телефон, телефон спасения, 112, 911, 01, 02, 03, 04" }, + "emergency/private": { + "name": "Доступ экстренных служб по пропускам" + }, + "emergency/yes": { + "name": "Доступ экстренных служб разрешён" + }, "entrance": { "name": "Вход/выход", "terms": "вход, выход" @@ -2835,6 +2860,9 @@ "name": "Стапель", "terms": "Стапель" }, + "leisure/sports_centre": { + "name": "Спортивный Комплекс" + }, "leisure/sports_centre/swimming": { "name": "Бассейн" }, @@ -3274,6 +3302,9 @@ "name": "Разобранная железная дорога", "terms": "Разобранная железнодорожная ветка," }, + "railway/crossing": { + "name": "Железнодорожный переход" + }, "railway/disused": { "name": "Заброшенная железная дорога", "terms": "Неиспользуемая железнодорожная ветка" @@ -3286,6 +3317,9 @@ "name": "Железнодорожный остановочный пункт", "terms": "Железнодорожная станция, ЖД станция" }, + "railway/level_crossing": { + "name": "Железнодорожный переезд" + }, "railway/monorail": { "name": "Монорельс", "terms": "монорельсовая железная дорога, монорельс" @@ -3804,6 +3838,9 @@ "name": "Инфопункт", "terms": "Инфопункт, Инфостэнд, Информационный пункт, Справочная, Справочное, Информационное бюро" }, + "tourism/information/board": { + "name": "Информационный стенд" + }, "tourism/information/map": { "name": "Карта" }, @@ -3831,6 +3868,9 @@ "name": "Зоопарк", "terms": "зоопарк" }, + "traffic_calming": { + "name": "Дорожное препятствие" + }, "traffic_calming/bump": { "name": "Лежачий полицейский", "terms": "полицейский, лежачий" @@ -3839,6 +3879,9 @@ "name": "Широкий лежачий полицейский ", "terms": "широкий лежачий полицейский " }, + "traffic_calming/island": { + "name": "Островок безопасности" + }, "traffic_calming/rumble_strip": { "name": "Стиральная доска", "terms": "стиральная доска" From 4b79325ec130fb2a23075b74e674e7ade2804427 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 17 Nov 2016 14:19:58 -0500 Subject: [PATCH 062/119] 2.0.1 --- modules/core/context.js | 2 +- package.json | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/modules/core/context.js b/modules/core/context.js index 9dd82ed6f..be2218da9 100644 --- a/modules/core/context.js +++ b/modules/core/context.js @@ -346,7 +346,7 @@ export function coreContext() { /* Init */ - context.version = '2.0.0'; + context.version = '2.0.1'; context.projection = geoRawMercator(); diff --git a/package.json b/package.json index fe1e8fdf5..d7a40f83e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iD", - "version": "2.0.0", + "version": "2.0.1", "description": "A friendly editor for OpenStreetMap", "main": "iD.js", "repository": "openstreetmap/iD", From cc00923077db043ffd9e89ece85f119865c07269 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Fri, 18 Nov 2016 12:32:59 -0500 Subject: [PATCH 063/119] chore(package): update request to version 2.79.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d7a40f83e..f1ad124e9 100644 --- a/package.json +++ b/package.json @@ -57,7 +57,7 @@ "name-suggestion-index": "0.1.1", "npm-run-all": "~3.1.1", "phantomjs-prebuilt": "~2.1.11", - "request": "~2.78.0", + "request": "~2.79.0", "rollup": "0.36.3", "rollup-plugin-commonjs": "5.0.5", "rollup-plugin-json": "2.0.2", From 333dc199bad118bd08e8c37b92264fa3fc2e0419 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Fri, 18 Nov 2016 13:06:54 -0500 Subject: [PATCH 064/119] chore(package): update lodash to version 4.17.2 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index f1ad124e9..21237a3a0 100644 --- a/package.json +++ b/package.json @@ -29,7 +29,7 @@ }, "dependencies": { "diacritics": "1.2.3", - "lodash": "4.17.1", + "lodash": "4.17.2", "marked": "0.3.6", "osm-auth": "1.0.1", "rbush": "2.0.1", From 69aa94fb6277c9a8d1460cbbf3cb497ac2cfffe7 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Fri, 18 Nov 2016 03:25:19 -0500 Subject: [PATCH 065/119] chore(package): update mapillary-js to version 2.1.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 21237a3a0..8ea14d813 100644 --- a/package.json +++ b/package.json @@ -50,7 +50,7 @@ "js-yaml": "~3.7.0", "jsonschema": "~1.1.0", "maki": "0.5.0", - "mapillary-js": "2.0.0", + "mapillary-js": "2.1.0", "minimist": "~1.2.0", "mocha": "~3.1.0", "mocha-phantomjs-core": "~2.0.1", From 53e2fffee67982fb9b0e1d4c7a857e975ac5ce50 Mon Sep 17 00:00:00 2001 From: bkil Date: Tue, 8 Nov 2016 12:19:24 +0100 Subject: [PATCH 066/119] data/presets/fields/internet_access/ssid.json: new https://wiki.openstreetmap.org/wiki/Key:internet_access#Fee_and_attributes --- data/presets/fields/internet_access/ssid.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 data/presets/fields/internet_access/ssid.json diff --git a/data/presets/fields/internet_access/ssid.json b/data/presets/fields/internet_access/ssid.json new file mode 100644 index 000000000..5f6b4b56f --- /dev/null +++ b/data/presets/fields/internet_access/ssid.json @@ -0,0 +1,5 @@ +{ + "key": "internet_access:ssid", + "type": "text", + "label": "SSID (Network Name)" +} From ed2f6934e0280c4b6ef6f93282677ba156eb7d0d Mon Sep 17 00:00:00 2001 From: bkil Date: Tue, 8 Nov 2016 13:50:48 +0100 Subject: [PATCH 067/119] data/presets/fields/outdoor_seating.json: new (for pub, restaurant, ...) https://wiki.openstreetmap.org/wiki/Key:outdoor_seating --- data/presets/fields/outdoor_seating.json | 5 +++++ 1 file changed, 5 insertions(+) create mode 100644 data/presets/fields/outdoor_seating.json diff --git a/data/presets/fields/outdoor_seating.json b/data/presets/fields/outdoor_seating.json new file mode 100644 index 000000000..bb80b70b7 --- /dev/null +++ b/data/presets/fields/outdoor_seating.json @@ -0,0 +1,5 @@ +{ + "key": "outdoor_seating", + "type": "combo", + "label": "Outdoor Seating" +} From 2b44f9ed59a02c505764661e501f780a0b154a75 Mon Sep 17 00:00:00 2001 From: bkil Date: Tue, 8 Nov 2016 10:42:31 +0100 Subject: [PATCH 068/119] data/presets/presets/amenity/hunting_stand.json: add search terms --- data/presets/presets/amenity/hunting_stand.json | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/data/presets/presets/amenity/hunting_stand.json b/data/presets/presets/amenity/hunting_stand.json index 03136f3ab..32ae6f802 100644 --- a/data/presets/presets/amenity/hunting_stand.json +++ b/data/presets/presets/amenity/hunting_stand.json @@ -4,7 +4,13 @@ "vertex", "area" ], - "terms": [], + "terms": [ + "game", + "lookout", + "shoot", + "wild", + "watch" + ], "tags": { "amenity": "hunting_stand" }, From a0128e81fbde4c6038f946e6f14523565d518ff8 Mon Sep 17 00:00:00 2001 From: bkil Date: Tue, 8 Nov 2016 12:10:22 +0100 Subject: [PATCH 069/119] data/presets/presets/amenity/pub.json: add search terms --- data/presets/presets/amenity/pub.json | 2 ++ 1 file changed, 2 insertions(+) diff --git a/data/presets/presets/amenity/pub.json b/data/presets/presets/amenity/pub.json index 90af85b79..827a0b064 100644 --- a/data/presets/presets/amenity/pub.json +++ b/data/presets/presets/amenity/pub.json @@ -14,6 +14,8 @@ "amenity": "pub" }, "terms": [ + "alcohol", + "drink", "dive", "beer", "bier", From 504ed75e49fd99d436e35df855603a4fb4176d39 Mon Sep 17 00:00:00 2001 From: bkil Date: Tue, 8 Nov 2016 12:00:00 +0100 Subject: [PATCH 070/119] data/presets/presets/man_made/surveillance.json: add search terms --- data/presets/presets/man_made/surveillance.json | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/data/presets/presets/man_made/surveillance.json b/data/presets/presets/man_made/surveillance.json index 3d7a01d38..93101738a 100644 --- a/data/presets/presets/man_made/surveillance.json +++ b/data/presets/presets/man_made/surveillance.json @@ -4,7 +4,18 @@ "point" ], "terms": [ - "cctv" + "anpr", + "alpr", + "camera", + "car plate recognition", + "cctv", + "guard", + "license plate recognition", + "monitoring", + "number plate recognition", + "security", + "video", + "webcam" ], "tags": { "man_made": "surveillance" From 94a546ca63cb11db55e04db0f86e57afc89ed658 Mon Sep 17 00:00:00 2001 From: bkil Date: Tue, 8 Nov 2016 12:26:10 +0100 Subject: [PATCH 071/119] data/presets/presets/highway/traffic_mirror.json: new https://wiki.openstreetmap.org/wiki/Tag:highway%3Dtraffic_mirror --- .../presets/highway/traffic_mirror.json | 20 +++++++++++++++++++ 1 file changed, 20 insertions(+) create mode 100644 data/presets/presets/highway/traffic_mirror.json diff --git a/data/presets/presets/highway/traffic_mirror.json b/data/presets/presets/highway/traffic_mirror.json new file mode 100644 index 000000000..358b13878 --- /dev/null +++ b/data/presets/presets/highway/traffic_mirror.json @@ -0,0 +1,20 @@ +{ + "geometry": [ + "point" + ], + "tags": { + "highway": "traffic_mirror" + }, + "terms": [ + "blind spot", + "convex", + "corner", + "curved", + "roadside", + "round", + "safety", + "sphere", + "visibility" + ], + "name": "Traffic Mirror" +} From 9dfdf09d0e39a43023758b4dd81eb6cf1b1b5467 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 18 Nov 2016 14:11:10 -0500 Subject: [PATCH 072/119] Add internet_access, outdoor_seating to presets that might use them --- data/presets.yaml | 16 +- data/presets/fields.json | 10 + data/presets/presets.json | 1124 ++++++++++++----- data/presets/presets/aeroway/aerodrome.json | 15 +- data/presets/presets/amenity/bar.json | 3 +- data/presets/presets/amenity/biergarten.json | 3 +- data/presets/presets/amenity/bus_station.json | 5 +- data/presets/presets/amenity/cafe.json | 7 +- data/presets/presets/amenity/college.json | 4 +- .../presets/amenity/coworking_space.json | 5 +- data/presets/presets/amenity/fast_food.json | 3 +- data/presets/presets/amenity/ice_cream.json | 3 +- .../presets/amenity/internet_cafe.json | 6 +- data/presets/presets/amenity/library.json | 5 +- data/presets/presets/amenity/pub.json | 3 +- data/presets/presets/amenity/restaurant.json | 3 +- .../social_facility/homeless_shelter.json | 5 +- data/presets/presets/amenity/university.json | 4 +- data/presets/presets/leisure/marina.json | 4 +- data/presets/presets/railway/station.json | 5 +- data/presets/presets/shop/books.json | 5 +- data/presets/presets/tourism/alpine_hut.json | 5 +- data/presets/presets/tourism/apartment.json | 3 +- data/presets/presets/tourism/camp_site.json | 5 +- .../presets/presets/tourism/caravan_site.json | 4 +- data/presets/presets/tourism/chalet.json | 5 +- data/presets/presets/tourism/guest_house.json | 3 +- data/presets/presets/tourism/hostel.json | 3 +- data/presets/presets/tourism/hotel.json | 3 +- data/presets/presets/tourism/motel.json | 3 +- data/taginfo.json | 4 + dist/locales/en.json | 16 +- 32 files changed, 913 insertions(+), 379 deletions(-) diff --git a/data/presets.yaml b/data/presets.yaml index 93d04ca5f..fd311a3e7 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -498,6 +498,9 @@ en: internet_access/fee: # 'internet_access:fee=*' label: Internet Access Fee + internet_access/ssid: + # 'internet_access:ssid=*' + label: SSID (Network Name) kerb: # kerb=* label: Curb Ramp @@ -742,6 +745,9 @@ en: operator: # operator=* label: Operator + outdoor_seating: + # outdoor_seating=* + label: Outdoor Seating par: # par=* label: Par @@ -1467,6 +1473,7 @@ en: amenity/hunting_stand: # amenity=hunting_stand name: Hunting Stand + # 'terms: game,lookout,shoot,wild,watch' terms: '' amenity/ice_cream: # amenity=ice_cream @@ -1571,7 +1578,7 @@ en: amenity/pub: # amenity=pub name: Pub - # 'terms: dive,beer,bier,booze' + # 'terms: alcohol,drink,dive,beer,bier,booze' terms: '' amenity/public_bookcase: # amenity=public_bookcase @@ -2451,6 +2458,11 @@ en: name: Unmaintained Track Road # 'terms: woods road,forest road,logging road,fire road,farm road,agricultural road,ranch road,carriage road,primitive,unmaintained,rut,offroad,4wd,4x4,four wheel drive,atv,quad,jeep,double track,two track' terms: '' + highway/traffic_mirror: + # highway=traffic_mirror + name: Traffic Mirror + # 'terms: blind spot,convex,corner,curved,roadside,round,safety,sphere,visibility' + terms: '' highway/traffic_signals: # highway=traffic_signals name: Traffic Signals @@ -2880,7 +2892,7 @@ en: man_made/surveillance: # man_made=surveillance name: Surveillance - # 'terms: cctv' + # 'terms: anpr,alpr,camera,car plate recognition,cctv,guard,license plate recognition,monitoring,number plate recognition,security,video,webcam' terms: '' man_made/survey_point: # man_made=survey_point diff --git a/data/presets/fields.json b/data/presets/fields.json index d9651315c..d307cfdb0 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -696,6 +696,11 @@ "type": "check", "label": "Internet Access Fee" }, + "internet_access/ssid": { + "key": "internet_access:ssid", + "type": "text", + "label": "SSID (Network Name)" + }, "kerb": { "key": "kerb", "type": "combo", @@ -1003,6 +1008,11 @@ "type": "text", "label": "Operator" }, + "outdoor_seating": { + "key": "outdoor_seating", + "type": "combo", + "label": "Outdoor Seating" + }, "par": { "key": "par", "type": "number", diff --git a/data/presets/presets.json b/data/presets/presets.json index e0d84dedb..7e38bfe64 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -318,16 +318,19 @@ "point", "area" ], - "terms": [ - "airplane", - "airport", - "aerodrome" - ], "fields": [ "ref", "iata", "icao", - "operator" + "operator", + "internet_access", + "internet_access/fee", + "internet_access/ssid" + ], + "terms": [ + "airplane", + "airport", + "aerodrome" ], "tags": { "aeroway": "aerodrome" @@ -553,7 +556,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", @@ -677,7 +681,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", @@ -729,7 +734,10 @@ "icon": "bus", "fields": [ "building_area", - "operator" + "operator", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -744,11 +752,14 @@ "icon": "cafe", "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "geometry": [ "point", @@ -941,7 +952,9 @@ "icon": "college", "fields": [ "operator", - "address" + "address", + "internet_access", + "internet_access/ssid" ], "geometry": [ "point", @@ -1007,7 +1020,10 @@ "fields": [ "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -1123,7 +1139,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", @@ -1280,7 +1297,13 @@ "vertex", "area" ], - "terms": [], + "terms": [ + "game", + "lookout", + "shoot", + "wild", + "watch" + ], "tags": { "amenity": "hunting_stand" }, @@ -1293,7 +1316,8 @@ "building_area", "opening_hours", "takeaway", - "delivery" + "delivery", + "outdoor_seating" ], "geometry": [ "point", @@ -1317,7 +1341,11 @@ "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "geometry": [ "point", @@ -1362,7 +1390,10 @@ "operator", "building_area", "address", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -1776,7 +1807,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", @@ -1786,6 +1818,8 @@ "amenity": "pub" }, "terms": [ + "alcohol", + "drink", "dive", "beer", "bier", @@ -1903,7 +1937,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", @@ -2068,7 +2103,10 @@ "building_area", "opening_hours", "wheelchair", - "social_facility_for" + "social_facility_for", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -2222,7 +2260,9 @@ "icon": "college", "fields": [ "operator", - "address" + "address", + "internet_access", + "internet_access/ssid" ], "geometry": [ "point", @@ -5371,6 +5411,26 @@ ], "name": "Unmaintained Track Road" }, + "highway/traffic_mirror": { + "geometry": [ + "point" + ], + "tags": { + "highway": "traffic_mirror" + }, + "terms": [ + "blind spot", + "convex", + "corner", + "curved", + "roadside", + "round", + "safety", + "sphere", + "visibility" + ], + "name": "Traffic Mirror" + }, "highway/traffic_signals": { "geometry": [ "vertex" @@ -6126,7 +6186,9 @@ "fee", "sanitary_dump_station", "power_supply", - "internet_access" + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -6853,7 +6915,18 @@ "point" ], "terms": [ - "cctv" + "anpr", + "alpr", + "camera", + "car plate recognition", + "cctv", + "guard", + "license plate recognition", + "monitoring", + "number plate recognition", + "security", + "video", + "webcam" ], "tags": { "man_made": "surveillance" @@ -8328,7 +8401,10 @@ "network", "operator", "address", - "building_area" + "building_area", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -8770,7 +8846,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10664,7 +10743,10 @@ "fields": [ "operator", "address", - "building_area" + "building_area", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10684,7 +10766,8 @@ "smoking", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10738,7 +10821,10 @@ "operator", "address", "capacity", - "fee" + "fee", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10763,7 +10849,9 @@ "fee", "sanitary_dump_station", "power_supply", - "internet_access" + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10785,7 +10873,10 @@ "operator", "address", "building_area", - "smoking" + "smoking", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10830,7 +10921,8 @@ "smoking", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10854,7 +10946,8 @@ "smoking", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10875,7 +10968,8 @@ "stars", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10975,7 +11069,8 @@ "smoking", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -15123,7 +15218,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15142,7 +15238,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15161,7 +15258,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15180,7 +15278,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15199,7 +15298,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15218,7 +15318,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15237,7 +15338,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15256,7 +15358,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15275,7 +15378,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15294,7 +15398,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15313,7 +15418,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15332,7 +15438,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15351,7 +15458,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15370,7 +15478,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15389,7 +15498,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15408,7 +15518,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15427,7 +15538,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15446,7 +15558,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15465,7 +15578,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15484,7 +15598,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15503,7 +15618,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15522,7 +15638,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15541,7 +15658,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15560,7 +15678,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15579,7 +15698,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15598,7 +15718,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15617,7 +15738,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15636,7 +15758,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15655,7 +15778,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15674,7 +15798,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15693,7 +15818,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15712,7 +15838,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15731,7 +15858,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15750,7 +15878,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15769,7 +15898,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15788,7 +15918,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15807,7 +15938,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15826,7 +15958,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15845,7 +15978,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15864,7 +15998,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15883,7 +16018,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15902,7 +16038,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15921,7 +16058,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15940,7 +16078,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15959,7 +16098,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15983,7 +16123,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16008,7 +16149,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16033,7 +16175,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16058,7 +16201,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16082,7 +16226,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16107,7 +16252,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16131,7 +16277,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16156,7 +16303,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16181,7 +16329,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16205,7 +16354,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16229,7 +16379,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16253,7 +16404,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16277,7 +16429,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16302,7 +16455,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16326,7 +16480,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16350,7 +16505,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16375,7 +16531,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16399,7 +16556,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16423,7 +16581,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16447,7 +16606,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16471,7 +16631,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16495,7 +16656,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16519,7 +16681,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16543,7 +16706,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16567,7 +16731,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16591,7 +16756,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16616,7 +16782,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16640,7 +16807,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16664,7 +16832,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16688,7 +16857,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16712,7 +16882,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16736,7 +16907,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16761,7 +16933,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16786,7 +16959,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16810,7 +16984,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16835,7 +17010,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16860,7 +17036,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16884,7 +17061,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16909,7 +17087,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16933,7 +17112,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16957,7 +17137,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16982,7 +17163,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17006,7 +17188,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17031,7 +17214,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17057,7 +17241,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17081,7 +17266,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17105,7 +17291,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17129,7 +17316,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17153,7 +17341,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17177,7 +17366,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17203,7 +17393,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17227,7 +17418,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17251,7 +17443,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17276,7 +17469,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17300,7 +17494,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17324,7 +17519,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17348,7 +17544,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17372,7 +17569,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17396,7 +17594,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17421,7 +17620,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17446,7 +17646,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17470,7 +17671,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17494,7 +17696,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17518,7 +17721,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17542,7 +17746,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17566,7 +17771,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17590,7 +17796,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17615,7 +17822,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17639,7 +17847,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17663,7 +17872,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17687,7 +17897,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17712,7 +17923,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17737,7 +17949,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17761,7 +17974,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17785,7 +17999,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17809,7 +18024,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17832,7 +18048,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17855,7 +18072,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17878,7 +18096,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17901,7 +18120,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17924,7 +18144,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17947,7 +18168,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17970,7 +18192,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17993,7 +18216,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18016,7 +18240,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18039,7 +18264,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18062,7 +18288,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18085,7 +18312,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18108,7 +18336,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18131,7 +18360,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18154,7 +18384,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18177,7 +18408,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18200,7 +18432,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18223,7 +18456,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18246,7 +18480,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18269,7 +18504,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18292,7 +18528,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18315,7 +18552,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18338,7 +18576,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18361,7 +18600,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18384,7 +18624,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18407,7 +18648,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18430,7 +18672,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18453,7 +18696,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18476,7 +18720,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18499,7 +18744,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18522,7 +18768,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18545,7 +18792,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18568,7 +18816,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18591,7 +18840,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18614,7 +18864,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18637,7 +18888,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18660,7 +18912,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18683,7 +18936,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18706,7 +18960,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18729,7 +18984,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18752,7 +19008,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18775,7 +19032,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18798,7 +19056,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18821,7 +19080,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18844,7 +19104,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18867,7 +19128,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18890,7 +19152,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18913,7 +19176,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18936,7 +19200,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18959,7 +19224,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18982,7 +19248,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19005,7 +19272,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19028,7 +19296,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19051,7 +19320,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19074,7 +19344,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19097,7 +19368,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19120,7 +19392,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19143,7 +19416,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19166,7 +19440,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19189,7 +19464,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19212,7 +19488,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19235,7 +19512,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19258,7 +19536,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19281,7 +19560,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19304,7 +19584,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19327,7 +19608,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19350,7 +19632,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19373,7 +19656,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19396,7 +19680,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19419,7 +19704,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19442,7 +19728,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19465,7 +19752,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19488,7 +19776,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19511,7 +19800,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19534,7 +19824,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19557,7 +19848,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19580,7 +19872,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19603,7 +19896,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19626,7 +19920,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19649,7 +19944,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19672,7 +19968,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19695,7 +19992,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19718,7 +20016,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19741,7 +20040,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19764,7 +20064,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19787,7 +20088,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19810,7 +20112,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19833,7 +20136,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19856,7 +20160,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19879,7 +20184,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19902,7 +20208,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19925,7 +20232,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19948,7 +20256,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19971,7 +20280,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19994,7 +20304,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20017,7 +20328,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20040,7 +20352,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20063,7 +20376,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20086,7 +20400,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20109,7 +20424,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20132,7 +20448,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20155,7 +20472,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20179,7 +20497,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20202,7 +20521,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20225,7 +20545,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20248,7 +20569,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20271,7 +20593,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20294,7 +20617,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20317,7 +20641,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20340,7 +20665,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20363,7 +20689,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20386,7 +20713,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20409,7 +20737,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20432,7 +20761,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20455,7 +20785,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20478,7 +20809,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20501,7 +20833,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20524,7 +20857,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20547,7 +20881,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20570,7 +20905,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20593,7 +20929,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20616,7 +20953,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20639,7 +20977,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20662,7 +21001,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27571,11 +27911,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27592,11 +27935,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27613,11 +27959,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27634,11 +27983,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27655,11 +28007,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27676,11 +28031,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27697,11 +28055,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27719,11 +28080,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27740,11 +28104,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27761,11 +28128,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27782,11 +28152,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27803,11 +28176,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27824,11 +28200,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27846,11 +28225,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27867,11 +28249,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27888,11 +28273,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27909,11 +28297,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27931,11 +28322,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27952,11 +28346,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27973,11 +28370,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27994,11 +28394,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -28015,11 +28418,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -28036,11 +28442,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -28057,11 +28466,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -28078,11 +28490,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -28100,11 +28515,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -28121,11 +28539,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -37958,7 +38379,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, @@ -37977,7 +38401,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, @@ -37996,7 +38423,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, @@ -38015,7 +38445,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, @@ -38034,7 +38467,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, @@ -38053,7 +38489,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, @@ -38072,7 +38511,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, diff --git a/data/presets/presets/aeroway/aerodrome.json b/data/presets/presets/aeroway/aerodrome.json index 113f0dbe6..0a9047492 100644 --- a/data/presets/presets/aeroway/aerodrome.json +++ b/data/presets/presets/aeroway/aerodrome.json @@ -4,16 +4,19 @@ "point", "area" ], - "terms": [ - "airplane", - "airport", - "aerodrome" - ], "fields": [ "ref", "iata", "icao", - "operator" + "operator", + "internet_access", + "internet_access/fee", + "internet_access/ssid" + ], + "terms": [ + "airplane", + "airport", + "aerodrome" ], "tags": { "aeroway": "aerodrome" diff --git a/data/presets/presets/amenity/bar.json b/data/presets/presets/amenity/bar.json index b9bf68f03..7f67888ea 100644 --- a/data/presets/presets/amenity/bar.json +++ b/data/presets/presets/amenity/bar.json @@ -5,7 +5,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/biergarten.json b/data/presets/presets/amenity/biergarten.json index bf2e87164..d5f2a2e16 100644 --- a/data/presets/presets/amenity/biergarten.json +++ b/data/presets/presets/amenity/biergarten.json @@ -4,7 +4,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/bus_station.json b/data/presets/presets/amenity/bus_station.json index f6578268b..08218154d 100644 --- a/data/presets/presets/amenity/bus_station.json +++ b/data/presets/presets/amenity/bus_station.json @@ -2,7 +2,10 @@ "icon": "bus", "fields": [ "building_area", - "operator" + "operator", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/cafe.json b/data/presets/presets/amenity/cafe.json index 7e55e4f5e..2c701f062 100644 --- a/data/presets/presets/amenity/cafe.json +++ b/data/presets/presets/amenity/cafe.json @@ -2,11 +2,14 @@ "icon": "cafe", "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/college.json b/data/presets/presets/amenity/college.json index 5c5f16e28..607cd163a 100644 --- a/data/presets/presets/amenity/college.json +++ b/data/presets/presets/amenity/college.json @@ -2,7 +2,9 @@ "icon": "college", "fields": [ "operator", - "address" + "address", + "internet_access", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/coworking_space.json b/data/presets/presets/amenity/coworking_space.json index d12b7924c..d10e9135a 100644 --- a/data/presets/presets/amenity/coworking_space.json +++ b/data/presets/presets/amenity/coworking_space.json @@ -3,7 +3,10 @@ "fields": [ "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/fast_food.json b/data/presets/presets/amenity/fast_food.json index 8d0adeff5..caaabef0d 100644 --- a/data/presets/presets/amenity/fast_food.json +++ b/data/presets/presets/amenity/fast_food.json @@ -9,7 +9,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/ice_cream.json b/data/presets/presets/amenity/ice_cream.json index 2038a4228..82d4beb2e 100644 --- a/data/presets/presets/amenity/ice_cream.json +++ b/data/presets/presets/amenity/ice_cream.json @@ -5,7 +5,8 @@ "building_area", "opening_hours", "takeaway", - "delivery" + "delivery", + "outdoor_seating" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/internet_cafe.json b/data/presets/presets/amenity/internet_cafe.json index 8df97d072..8133fc505 100644 --- a/data/presets/presets/amenity/internet_cafe.json +++ b/data/presets/presets/amenity/internet_cafe.json @@ -4,7 +4,11 @@ "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/library.json b/data/presets/presets/amenity/library.json index 8c868a980..9fe3c68a9 100644 --- a/data/presets/presets/amenity/library.json +++ b/data/presets/presets/amenity/library.json @@ -4,7 +4,10 @@ "operator", "building_area", "address", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/pub.json b/data/presets/presets/amenity/pub.json index 827a0b064..d08ea6d71 100644 --- a/data/presets/presets/amenity/pub.json +++ b/data/presets/presets/amenity/pub.json @@ -4,7 +4,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/restaurant.json b/data/presets/presets/amenity/restaurant.json index 87be53bf6..fd4d2873c 100644 --- a/data/presets/presets/amenity/restaurant.json +++ b/data/presets/presets/amenity/restaurant.json @@ -8,7 +8,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/social_facility/homeless_shelter.json b/data/presets/presets/amenity/social_facility/homeless_shelter.json index 456298778..717ddece7 100644 --- a/data/presets/presets/amenity/social_facility/homeless_shelter.json +++ b/data/presets/presets/amenity/social_facility/homeless_shelter.json @@ -5,7 +5,10 @@ "building_area", "opening_hours", "wheelchair", - "social_facility_for" + "social_facility_for", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/amenity/university.json b/data/presets/presets/amenity/university.json index f99085a21..4430d3a67 100644 --- a/data/presets/presets/amenity/university.json +++ b/data/presets/presets/amenity/university.json @@ -2,7 +2,9 @@ "icon": "college", "fields": [ "operator", - "address" + "address", + "internet_access", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/leisure/marina.json b/data/presets/presets/leisure/marina.json index 9ed65bac3..8ea0a5a34 100644 --- a/data/presets/presets/leisure/marina.json +++ b/data/presets/presets/leisure/marina.json @@ -7,7 +7,9 @@ "fee", "sanitary_dump_station", "power_supply", - "internet_access" + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/railway/station.json b/data/presets/presets/railway/station.json index edd55bffa..eddb4438a 100644 --- a/data/presets/presets/railway/station.json +++ b/data/presets/presets/railway/station.json @@ -4,7 +4,10 @@ "network", "operator", "address", - "building_area" + "building_area", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/shop/books.json b/data/presets/presets/shop/books.json index 11c9794c9..9536ec918 100644 --- a/data/presets/presets/shop/books.json +++ b/data/presets/presets/shop/books.json @@ -4,7 +4,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/tourism/alpine_hut.json b/data/presets/presets/tourism/alpine_hut.json index 57b780abe..1b7effaca 100644 --- a/data/presets/presets/tourism/alpine_hut.json +++ b/data/presets/presets/tourism/alpine_hut.json @@ -3,7 +3,10 @@ "fields": [ "operator", "address", - "building_area" + "building_area", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/tourism/apartment.json b/data/presets/presets/tourism/apartment.json index 7ff3b1571..871a02172 100644 --- a/data/presets/presets/tourism/apartment.json +++ b/data/presets/presets/tourism/apartment.json @@ -7,7 +7,8 @@ "smoking", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/tourism/camp_site.json b/data/presets/presets/tourism/camp_site.json index c48edfde4..927f2f914 100644 --- a/data/presets/presets/tourism/camp_site.json +++ b/data/presets/presets/tourism/camp_site.json @@ -4,7 +4,10 @@ "operator", "address", "capacity", - "fee" + "fee", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/tourism/caravan_site.json b/data/presets/presets/tourism/caravan_site.json index c3216847c..11d11dae0 100644 --- a/data/presets/presets/tourism/caravan_site.json +++ b/data/presets/presets/tourism/caravan_site.json @@ -7,7 +7,9 @@ "fee", "sanitary_dump_station", "power_supply", - "internet_access" + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/tourism/chalet.json b/data/presets/presets/tourism/chalet.json index 406952024..db2357f8a 100644 --- a/data/presets/presets/tourism/chalet.json +++ b/data/presets/presets/tourism/chalet.json @@ -4,7 +4,10 @@ "operator", "address", "building_area", - "smoking" + "smoking", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/tourism/guest_house.json b/data/presets/presets/tourism/guest_house.json index 905425f1f..f2c126957 100644 --- a/data/presets/presets/tourism/guest_house.json +++ b/data/presets/presets/tourism/guest_house.json @@ -7,7 +7,8 @@ "smoking", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/tourism/hostel.json b/data/presets/presets/tourism/hostel.json index 714968ad7..628616e7f 100644 --- a/data/presets/presets/tourism/hostel.json +++ b/data/presets/presets/tourism/hostel.json @@ -7,7 +7,8 @@ "smoking", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/tourism/hotel.json b/data/presets/presets/tourism/hotel.json index dcb50a360..5d6592b99 100644 --- a/data/presets/presets/tourism/hotel.json +++ b/data/presets/presets/tourism/hotel.json @@ -8,7 +8,8 @@ "stars", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/presets/presets/tourism/motel.json b/data/presets/presets/tourism/motel.json index b1a93e2ee..781e65763 100644 --- a/data/presets/presets/tourism/motel.json +++ b/data/presets/presets/tourism/motel.json @@ -7,7 +7,8 @@ "smoking", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", diff --git a/data/taginfo.json b/data/taginfo.json index 213105593..e9c3f7073 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -1178,6 +1178,10 @@ "key": "highway", "value": "track" }, + { + "key": "highway", + "value": "traffic_mirror" + }, { "key": "highway", "value": "traffic_signals" diff --git a/dist/locales/en.json b/dist/locales/en.json index b8ae49472..b50af2647 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -1077,6 +1077,9 @@ "internet_access/fee": { "label": "Internet Access Fee" }, + "internet_access/ssid": { + "label": "SSID (Network Name)" + }, "kerb": { "label": "Curb Ramp" }, @@ -1271,6 +1274,9 @@ "operator": { "label": "Operator" }, + "outdoor_seating": { + "label": "Outdoor Seating" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." @@ -1913,7 +1919,7 @@ }, "amenity/hunting_stand": { "name": "Hunting Stand", - "terms": "" + "terms": "game,lookout,shoot,wild,watch" }, "amenity/ice_cream": { "name": "Ice Cream Shop", @@ -2001,7 +2007,7 @@ }, "amenity/pub": { "name": "Pub", - "terms": "dive,beer,bier,booze" + "terms": "alcohol,drink,dive,beer,bier,booze" }, "amenity/public_bookcase": { "name": "Public Bookcase", @@ -2807,6 +2813,10 @@ "name": "Unmaintained Track Road", "terms": "woods road,forest road,logging road,fire road,farm road,agricultural road,ranch road,carriage road,primitive,unmaintained,rut,offroad,4wd,4x4,four wheel drive,atv,quad,jeep,double track,two track" }, + "highway/traffic_mirror": { + "name": "Traffic Mirror", + "terms": "blind spot,convex,corner,curved,roadside,round,safety,sphere,visibility" + }, "highway/traffic_signals": { "name": "Traffic Signals", "terms": "light,stoplight,traffic light" @@ -3201,7 +3211,7 @@ }, "man_made/surveillance": { "name": "Surveillance", - "terms": "cctv" + "terms": "anpr,alpr,camera,car plate recognition,cctv,guard,license plate recognition,monitoring,number plate recognition,security,video,webcam" }, "man_made/survey_point": { "name": "Survey Point", From e3212e6ea4e7442d19a69305f4ba8377146f9fbc Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sat, 19 Nov 2016 01:08:00 -0500 Subject: [PATCH 073/119] Add presets for Aquarium, Resort, Dance Hall (closes #3579) --- data/presets.yaml | 15 ++++++ data/presets/presets.json | 63 ++++++++++++++++++++++ data/presets/presets/leisure/dance.json | 23 ++++++++ data/presets/presets/leisure/resort.json | 15 ++++++ data/presets/presets/tourism/aquarium.json | 22 ++++++++ data/presets/presets/tourism/zoo.json | 3 ++ data/taginfo.json | 12 +++++ dist/locales/en.json | 14 ++++- 8 files changed, 166 insertions(+), 1 deletion(-) create mode 100644 data/presets/presets/leisure/dance.json create mode 100644 data/presets/presets/leisure/resort.json create mode 100644 data/presets/presets/tourism/aquarium.json diff --git a/data/presets.yaml b/data/presets.yaml index fd311a3e7..bfedba689 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -2654,6 +2654,11 @@ en: name: Common # 'terms: open space' terms: '' + leisure/dance: + # leisure=dance + name: Dance Hall + # 'terms: ballroom,jive,swing,tango,waltz' + terms: '' leisure/dog_park: # leisure=dog_park name: Dog Park @@ -2767,6 +2772,10 @@ en: name: Playground # 'terms: jungle gym,play area' terms: '' + leisure/resort: + # leisure=resort + name: Resort + terms: '' leisure/running_track: # 'leisure=track, sport=running' name: Running Track @@ -3858,6 +3867,11 @@ en: # tourism=apartment name: Guest Apartment / Condo terms: '' + tourism/aquarium: + # tourism=aquarium + name: Aquarium + # 'terms: fish,sea,water' + terms: '' tourism/artwork: # tourism=artwork name: Artwork @@ -3944,6 +3958,7 @@ en: tourism/zoo: # tourism=zoo name: Zoo + # 'terms: animal' terms: '' traffic_calming: # traffic_calming=* diff --git a/data/presets/presets.json b/data/presets/presets.json index 7e38bfe64..17564363a 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -6029,6 +6029,29 @@ }, "name": "Common" }, + "leisure/dance": { + "fields": [ + "operator", + "address", + "building_area", + "opening_hours" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "ballroom", + "jive", + "swing", + "tango", + "waltz" + ], + "tags": { + "leisure": "dance" + }, + "name": "Dance Hall" + }, "leisure/dog_park": { "icon": "dog-park", "geometry": [ @@ -6490,6 +6513,21 @@ }, "name": "Playground" }, + "leisure/resort": { + "fields": [ + "operator", + "address", + "opening_hours" + ], + "geometry": [ + "point", + "area" + ], + "tags": { + "leisure": "resort" + }, + "name": "Resort" + }, "leisure/running_track": { "icon": "pitch", "fields": [ @@ -10778,6 +10816,28 @@ }, "name": "Guest Apartment / Condo" }, + "tourism/aquarium": { + "icon": "water", + "fields": [ + "operator", + "address", + "building_area", + "opening_hours" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "fish", + "sea", + "water" + ], + "tags": { + "tourism": "aquarium" + }, + "name": "Aquarium" + }, "tourism/artwork": { "icon": "art-gallery", "fields": [ @@ -11165,6 +11225,9 @@ "point", "area" ], + "terms": [ + "animal" + ], "tags": { "tourism": "zoo" }, diff --git a/data/presets/presets/leisure/dance.json b/data/presets/presets/leisure/dance.json new file mode 100644 index 000000000..4bef9be5e --- /dev/null +++ b/data/presets/presets/leisure/dance.json @@ -0,0 +1,23 @@ +{ + "fields": [ + "operator", + "address", + "building_area", + "opening_hours" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "ballroom", + "jive", + "swing", + "tango", + "waltz" + ], + "tags": { + "leisure": "dance" + }, + "name": "Dance Hall" +} diff --git a/data/presets/presets/leisure/resort.json b/data/presets/presets/leisure/resort.json new file mode 100644 index 000000000..e37c283d1 --- /dev/null +++ b/data/presets/presets/leisure/resort.json @@ -0,0 +1,15 @@ +{ + "fields": [ + "operator", + "address", + "opening_hours" + ], + "geometry": [ + "point", + "area" + ], + "tags": { + "leisure": "resort" + }, + "name": "Resort" +} diff --git a/data/presets/presets/tourism/aquarium.json b/data/presets/presets/tourism/aquarium.json new file mode 100644 index 000000000..622245b06 --- /dev/null +++ b/data/presets/presets/tourism/aquarium.json @@ -0,0 +1,22 @@ +{ + "icon": "water", + "fields": [ + "operator", + "address", + "building_area", + "opening_hours" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "fish", + "sea", + "water" + ], + "tags": { + "tourism": "aquarium" + }, + "name": "Aquarium" +} diff --git a/data/presets/presets/tourism/zoo.json b/data/presets/presets/tourism/zoo.json index 1925708cd..46add901b 100644 --- a/data/presets/presets/tourism/zoo.json +++ b/data/presets/presets/tourism/zoo.json @@ -9,6 +9,9 @@ "point", "area" ], + "terms": [ + "animal" + ], "tags": { "tourism": "zoo" }, diff --git a/data/taginfo.json b/data/taginfo.json index e9c3f7073..2c01b336c 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -1359,6 +1359,10 @@ "key": "leisure", "value": "common" }, + { + "key": "leisure", + "value": "dance" + }, { "key": "leisure", "value": "dog_park" @@ -1459,6 +1463,10 @@ "key": "leisure", "value": "playground" }, + { + "key": "leisure", + "value": "resort" + }, { "key": "sport", "value": "running" @@ -2437,6 +2445,10 @@ "key": "tourism", "value": "apartment" }, + { + "key": "tourism", + "value": "aquarium" + }, { "key": "tourism", "value": "artwork" diff --git a/dist/locales/en.json b/dist/locales/en.json index b50af2647..9a706a2b8 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -2997,6 +2997,10 @@ "name": "Common", "terms": "open space" }, + "leisure/dance": { + "name": "Dance Hall", + "terms": "ballroom,jive,swing,tango,waltz" + }, "leisure/dog_park": { "name": "Dog Park", "terms": "" @@ -3097,6 +3101,10 @@ "name": "Playground", "terms": "jungle gym,play area" }, + "leisure/resort": { + "name": "Resort", + "terms": "" + }, "leisure/running_track": { "name": "Running Track", "terms": "" @@ -4093,6 +4101,10 @@ "name": "Guest Apartment / Condo", "terms": "" }, + "tourism/aquarium": { + "name": "Aquarium", + "terms": "fish,sea,water" + }, "tourism/artwork": { "name": "Artwork", "terms": "mural,sculpture,statue" @@ -4171,7 +4183,7 @@ }, "tourism/zoo": { "name": "Zoo", - "terms": "" + "terms": "animal" }, "traffic_calming": { "name": "Traffic Calming", From 8fe66fa65d1fe9db60fc5174ecf05edafd60fb8d Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 20 Nov 2016 21:04:33 -0500 Subject: [PATCH 074/119] Add fence and wall type fields, add height field to some barriers (closes #3602) --- data/presets.yaml | 6 ++++++ data/presets/fields.json | 10 ++++++++++ data/presets/fields/fence_type.json | 5 +++++ data/presets/fields/wall.json | 5 +++++ data/presets/presets.json | 14 ++++++++++++++ data/presets/presets/barrier/city_wall.json | 3 +++ data/presets/presets/barrier/fence.json | 4 ++++ data/presets/presets/barrier/hedge.json | 3 +++ data/presets/presets/barrier/wall.json | 4 ++++ dist/locales/en.json | 6 ++++++ 10 files changed, 60 insertions(+) create mode 100644 data/presets/fields/fence_type.json create mode 100644 data/presets/fields/wall.json diff --git a/data/presets.yaml b/data/presets.yaml index bfedba689..d73563c0a 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -386,6 +386,9 @@ en: fee: # fee=* label: Fee + fence_type: + # fence=* + label: Type fire_hydrant/type: # 'fire_hydrant:type=*' label: Type @@ -1159,6 +1162,9 @@ en: house: Up to 5m (16ft) # visibility=street street: 5 to 20m (16 to 65ft) + wall: + # wall=* + label: Type water: # water=* label: Type diff --git a/data/presets/fields.json b/data/presets/fields.json index d307cfdb0..20d70f5e2 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -537,6 +537,11 @@ "type": "check", "label": "Fee" }, + "fence_type": { + "key": "fence", + "type": "combo", + "label": "Type" + }, "fire_hydrant/type": { "key": "fire_hydrant:type", "type": "combo", @@ -1561,6 +1566,11 @@ } } }, + "wall": { + "key": "wall", + "type": "combo", + "label": "Type" + }, "water_point": { "key": "water_point", "type": "check", diff --git a/data/presets/fields/fence_type.json b/data/presets/fields/fence_type.json new file mode 100644 index 000000000..63d43bab5 --- /dev/null +++ b/data/presets/fields/fence_type.json @@ -0,0 +1,5 @@ +{ + "key": "fence", + "type": "combo", + "label": "Type" +} diff --git a/data/presets/fields/wall.json b/data/presets/fields/wall.json new file mode 100644 index 000000000..fcb1ecc1c --- /dev/null +++ b/data/presets/fields/wall.json @@ -0,0 +1,5 @@ +{ + "key": "wall", + "type": "combo", + "label": "Type" +} diff --git a/data/presets/presets.json b/data/presets/presets.json index 17564363a..186cf7adb 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -2669,6 +2669,9 @@ }, "barrier/city_wall": { "icon": "prison", + "fields": [ + "height" + ], "geometry": [ "line", "area" @@ -2704,6 +2707,10 @@ }, "barrier/fence": { "icon": "prison", + "fields": [ + "fence_type", + "height" + ], "geometry": [ "line" ], @@ -2728,6 +2735,9 @@ "name": "Gate" }, "barrier/hedge": { + "fields": [ + "height" + ], "geometry": [ "line", "area" @@ -2803,6 +2813,10 @@ }, "barrier/wall": { "icon": "prison", + "fields": [ + "wall", + "height" + ], "geometry": [ "line", "area" diff --git a/data/presets/presets/barrier/city_wall.json b/data/presets/presets/barrier/city_wall.json index 512be00fd..6d69be4de 100644 --- a/data/presets/presets/barrier/city_wall.json +++ b/data/presets/presets/barrier/city_wall.json @@ -1,5 +1,8 @@ { "icon": "prison", + "fields": [ + "height" + ], "geometry": [ "line", "area" diff --git a/data/presets/presets/barrier/fence.json b/data/presets/presets/barrier/fence.json index 169cfd46f..0497a4aba 100644 --- a/data/presets/presets/barrier/fence.json +++ b/data/presets/presets/barrier/fence.json @@ -1,5 +1,9 @@ { "icon": "prison", + "fields": [ + "fence_type", + "height" + ], "geometry": [ "line" ], diff --git a/data/presets/presets/barrier/hedge.json b/data/presets/presets/barrier/hedge.json index 69c4ec9da..97991c874 100644 --- a/data/presets/presets/barrier/hedge.json +++ b/data/presets/presets/barrier/hedge.json @@ -1,4 +1,7 @@ { + "fields": [ + "height" + ], "geometry": [ "line", "area" diff --git a/data/presets/presets/barrier/wall.json b/data/presets/presets/barrier/wall.json index f102102d9..3fa7171cb 100644 --- a/data/presets/presets/barrier/wall.json +++ b/data/presets/presets/barrier/wall.json @@ -1,5 +1,9 @@ { "icon": "prison", + "fields": [ + "wall", + "height" + ], "geometry": [ "line", "area" diff --git a/dist/locales/en.json b/dist/locales/en.json index 9a706a2b8..227dc647c 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -979,6 +979,9 @@ "fee": { "label": "Fee" }, + "fence_type": { + "label": "Type" + }, "fire_hydrant/type": { "label": "Type", "options": { @@ -1606,6 +1609,9 @@ "area": "Over 20m (65ft)" } }, + "wall": { + "label": "Type" + }, "water_point": { "label": "Water Point" }, From 6e86c235b187712931376b520a109cd4324a6c4a Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 20 Nov 2016 23:32:29 -0500 Subject: [PATCH 075/119] Tag should be `fence_type` not `fence` (re #3602) --- data/presets.yaml | 2 +- data/presets/fields.json | 2 +- data/presets/fields/fence_type.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/data/presets.yaml b/data/presets.yaml index d73563c0a..f27da634e 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -387,7 +387,7 @@ en: # fee=* label: Fee fence_type: - # fence=* + # fence_type=* label: Type fire_hydrant/type: # 'fire_hydrant:type=*' diff --git a/data/presets/fields.json b/data/presets/fields.json index 20d70f5e2..a5daf3ee8 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -538,7 +538,7 @@ "label": "Fee" }, "fence_type": { - "key": "fence", + "key": "fence_type", "type": "combo", "label": "Type" }, diff --git a/data/presets/fields/fence_type.json b/data/presets/fields/fence_type.json index 63d43bab5..f0b0f90b6 100644 --- a/data/presets/fields/fence_type.json +++ b/data/presets/fields/fence_type.json @@ -1,5 +1,5 @@ { - "key": "fence", + "key": "fence_type", "type": "combo", "label": "Type" } From 90210f49329da552226b4c9457090a38b4b83f1f Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 21 Nov 2016 11:11:13 -0500 Subject: [PATCH 076/119] Add maxheight field and add it to many highway presets (closes #3605) --- data/presets.yaml | 5 ++ data/presets/fields.json | 7 +++ data/presets/fields/maxheight.json | 7 +++ data/presets/presets.json | 52 ++++++++++++++++--- .../presets/highway/living_street.json | 2 + data/presets/presets/highway/motorway.json | 1 + .../presets/highway/motorway_link.json | 2 + data/presets/presets/highway/primary.json | 1 + .../presets/presets/highway/primary_link.json | 2 + data/presets/presets/highway/residential.json | 2 + data/presets/presets/highway/road.json | 6 ++- data/presets/presets/highway/secondary.json | 1 + .../presets/highway/secondary_link.json | 2 + data/presets/presets/highway/service.json | 2 +- .../presets/highway/service/alley.json | 7 ++- .../highway/service/drive-through.json | 7 ++- .../presets/highway/service/driveway.json | 7 ++- .../highway/service/emergency_access.json | 7 ++- .../highway/service/parking_aisle.json | 7 ++- data/presets/presets/highway/tertiary.json | 1 + .../presets/highway/tertiary_link.json | 2 + data/presets/presets/highway/trunk.json | 3 +- data/presets/presets/highway/trunk_link.json | 2 + .../presets/presets/highway/unclassified.json | 2 + dist/locales/en.json | 4 ++ 25 files changed, 120 insertions(+), 21 deletions(-) create mode 100644 data/presets/fields/maxheight.json diff --git a/data/presets.yaml b/data/presets.yaml index f27da634e..809e26c7d 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -598,6 +598,11 @@ en: map_type: # map_type=* label: Type + maxheight: + # maxheight=* + label: Max Height + # maxheight field placeholder + placeholder: '4, 4.5, 5, 14''0", 14''6", 15''0"' maxspeed: # maxspeed=* label: Speed Limit diff --git a/data/presets/fields.json b/data/presets/fields.json index a5daf3ee8..f723745d7 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -831,6 +831,13 @@ "type": "typeCombo", "label": "Type" }, + "maxheight": { + "key": "maxheight", + "type": "combo", + "label": "Max Height", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"", + "snake_case": false + }, "maxspeed": { "key": "maxspeed", "type": "maxspeed", diff --git a/data/presets/fields/maxheight.json b/data/presets/fields/maxheight.json new file mode 100644 index 000000000..b307ae441 --- /dev/null +++ b/data/presets/fields/maxheight.json @@ -0,0 +1,7 @@ +{ + "key": "maxheight", + "type": "combo", + "label": "Max Height", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"", + "snake_case": false +} diff --git a/data/presets/presets.json b/data/presets/presets.json index 186cf7adb..46ebcd5f4 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -4857,7 +4857,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "cycleway" ], "geometry": [ @@ -4900,7 +4902,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref" ], "geometry": [ @@ -4933,6 +4937,7 @@ "access", "lanes", "surface", + "maxheight", "ref" ], "geometry": [ @@ -5001,7 +5006,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref", "cycleway" ], @@ -5027,6 +5034,7 @@ "access", "lanes", "surface", + "maxheight", "ref", "cycleway" ], @@ -5071,7 +5079,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "cycleway" ], "geometry": [ @@ -5104,7 +5114,9 @@ "maxspeed", "structure", "access", - "surface" + "lanes", + "surface", + "maxheight" ], "geometry": [ "line" @@ -5122,7 +5134,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref", "cycleway" ], @@ -5148,6 +5162,7 @@ "access", "lanes", "surface", + "maxheight", "ref", "cycleway" ], @@ -5169,7 +5184,7 @@ "structure", "access", "surface", - "cycleway" + "maxheight" ], "geometry": [ "line" @@ -5184,8 +5199,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -5200,8 +5218,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -5216,8 +5237,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -5232,8 +5256,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -5248,8 +5275,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -5343,7 +5373,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref", "cycleway" ], @@ -5369,6 +5401,7 @@ "access", "lanes", "surface", + "maxheight", "ref", "cycleway" ], @@ -5469,7 +5502,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref" ], "geometry": [ @@ -5494,6 +5529,7 @@ "access", "lanes", "surface", + "maxheight", "ref" ], "geometry": [ @@ -5538,7 +5574,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "cycleway" ], "geometry": [ diff --git a/data/presets/presets/highway/living_street.json b/data/presets/presets/highway/living_street.json index 8a9b70aec..35bc46c84 100644 --- a/data/presets/presets/highway/living_street.json +++ b/data/presets/presets/highway/living_street.json @@ -5,7 +5,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "cycleway" ], "geometry": [ diff --git a/data/presets/presets/highway/motorway.json b/data/presets/presets/highway/motorway.json index c05ac6e54..28adc22ad 100644 --- a/data/presets/presets/highway/motorway.json +++ b/data/presets/presets/highway/motorway.json @@ -7,6 +7,7 @@ "access", "lanes", "surface", + "maxheight", "ref" ], "geometry": [ diff --git a/data/presets/presets/highway/motorway_link.json b/data/presets/presets/highway/motorway_link.json index a42ad9f22..4b9f57be1 100644 --- a/data/presets/presets/highway/motorway_link.json +++ b/data/presets/presets/highway/motorway_link.json @@ -5,7 +5,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref" ], "geometry": [ diff --git a/data/presets/presets/highway/primary.json b/data/presets/presets/highway/primary.json index a9d54ac8c..25cef6951 100644 --- a/data/presets/presets/highway/primary.json +++ b/data/presets/presets/highway/primary.json @@ -7,6 +7,7 @@ "access", "lanes", "surface", + "maxheight", "ref", "cycleway" ], diff --git a/data/presets/presets/highway/primary_link.json b/data/presets/presets/highway/primary_link.json index 3972c3aea..69851523c 100644 --- a/data/presets/presets/highway/primary_link.json +++ b/data/presets/presets/highway/primary_link.json @@ -5,7 +5,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref", "cycleway" ], diff --git a/data/presets/presets/highway/residential.json b/data/presets/presets/highway/residential.json index f17d5e565..b268a7467 100644 --- a/data/presets/presets/highway/residential.json +++ b/data/presets/presets/highway/residential.json @@ -5,7 +5,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "cycleway" ], "geometry": [ diff --git a/data/presets/presets/highway/road.json b/data/presets/presets/highway/road.json index fa7963776..54a07312f 100644 --- a/data/presets/presets/highway/road.json +++ b/data/presets/presets/highway/road.json @@ -5,7 +5,9 @@ "maxspeed", "structure", "access", - "surface" + "lanes", + "surface", + "maxheight" ], "geometry": [ "line" @@ -15,4 +17,4 @@ }, "terms": [], "name": "Unknown Road" -} \ No newline at end of file +} diff --git a/data/presets/presets/highway/secondary.json b/data/presets/presets/highway/secondary.json index 244e3aaf9..32810f145 100644 --- a/data/presets/presets/highway/secondary.json +++ b/data/presets/presets/highway/secondary.json @@ -7,6 +7,7 @@ "access", "lanes", "surface", + "maxheight", "ref", "cycleway" ], diff --git a/data/presets/presets/highway/secondary_link.json b/data/presets/presets/highway/secondary_link.json index d791f3aec..68e35b56a 100644 --- a/data/presets/presets/highway/secondary_link.json +++ b/data/presets/presets/highway/secondary_link.json @@ -5,7 +5,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref", "cycleway" ], diff --git a/data/presets/presets/highway/service.json b/data/presets/presets/highway/service.json index 46efb695a..958c403d0 100644 --- a/data/presets/presets/highway/service.json +++ b/data/presets/presets/highway/service.json @@ -7,7 +7,7 @@ "structure", "access", "surface", - "cycleway" + "maxheight" ], "geometry": [ "line" diff --git a/data/presets/presets/highway/service/alley.json b/data/presets/presets/highway/service/alley.json index 9c8c11a86..091f457c4 100644 --- a/data/presets/presets/highway/service/alley.json +++ b/data/presets/presets/highway/service/alley.json @@ -2,8 +2,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -13,4 +16,4 @@ "service": "alley" }, "name": "Alley" -} \ No newline at end of file +} diff --git a/data/presets/presets/highway/service/drive-through.json b/data/presets/presets/highway/service/drive-through.json index 1461ea1cb..f6e3b7c20 100644 --- a/data/presets/presets/highway/service/drive-through.json +++ b/data/presets/presets/highway/service/drive-through.json @@ -2,8 +2,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -13,4 +16,4 @@ "service": "drive-through" }, "name": "Drive-Through" -} \ No newline at end of file +} diff --git a/data/presets/presets/highway/service/driveway.json b/data/presets/presets/highway/service/driveway.json index 73b1045f7..d86e41427 100644 --- a/data/presets/presets/highway/service/driveway.json +++ b/data/presets/presets/highway/service/driveway.json @@ -2,8 +2,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -13,4 +16,4 @@ "service": "driveway" }, "name": "Driveway" -} \ No newline at end of file +} diff --git a/data/presets/presets/highway/service/emergency_access.json b/data/presets/presets/highway/service/emergency_access.json index 0345da169..0ecb3dc00 100644 --- a/data/presets/presets/highway/service/emergency_access.json +++ b/data/presets/presets/highway/service/emergency_access.json @@ -2,8 +2,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -13,4 +16,4 @@ "service": "emergency_access" }, "name": "Emergency Access" -} \ No newline at end of file +} diff --git a/data/presets/presets/highway/service/parking_aisle.json b/data/presets/presets/highway/service/parking_aisle.json index 215950ceb..2022f3bec 100644 --- a/data/presets/presets/highway/service/parking_aisle.json +++ b/data/presets/presets/highway/service/parking_aisle.json @@ -2,8 +2,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -13,4 +16,4 @@ "service": "parking_aisle" }, "name": "Parking Aisle" -} \ No newline at end of file +} diff --git a/data/presets/presets/highway/tertiary.json b/data/presets/presets/highway/tertiary.json index 42e4aa43b..cbd72aac6 100644 --- a/data/presets/presets/highway/tertiary.json +++ b/data/presets/presets/highway/tertiary.json @@ -7,6 +7,7 @@ "access", "lanes", "surface", + "maxheight", "ref", "cycleway" ], diff --git a/data/presets/presets/highway/tertiary_link.json b/data/presets/presets/highway/tertiary_link.json index 8985e1336..51d0c79e8 100644 --- a/data/presets/presets/highway/tertiary_link.json +++ b/data/presets/presets/highway/tertiary_link.json @@ -5,7 +5,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref", "cycleway" ], diff --git a/data/presets/presets/highway/trunk.json b/data/presets/presets/highway/trunk.json index bd39ee073..a820c1e9d 100644 --- a/data/presets/presets/highway/trunk.json +++ b/data/presets/presets/highway/trunk.json @@ -7,6 +7,7 @@ "access", "lanes", "surface", + "maxheight", "ref" ], "geometry": [ @@ -17,4 +18,4 @@ }, "terms": [], "name": "Trunk Road" -} \ No newline at end of file +} diff --git a/data/presets/presets/highway/trunk_link.json b/data/presets/presets/highway/trunk_link.json index 37b934151..251c832da 100644 --- a/data/presets/presets/highway/trunk_link.json +++ b/data/presets/presets/highway/trunk_link.json @@ -5,7 +5,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref" ], "geometry": [ diff --git a/data/presets/presets/highway/unclassified.json b/data/presets/presets/highway/unclassified.json index 775550cea..91c06a5c5 100644 --- a/data/presets/presets/highway/unclassified.json +++ b/data/presets/presets/highway/unclassified.json @@ -5,7 +5,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "cycleway" ], "geometry": [ diff --git a/dist/locales/en.json b/dist/locales/en.json index 227dc647c..270693cad 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -1163,6 +1163,10 @@ "map_type": { "label": "Type" }, + "maxheight": { + "label": "Max Height", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" + }, "maxspeed": { "label": "Speed Limit", "placeholder": "40, 50, 60..." From 817d3528f1f007d6e769cca0b06cd796d60d7621 Mon Sep 17 00:00:00 2001 From: Eduard Popov Date: Tue, 22 Nov 2016 10:48:26 +1000 Subject: [PATCH 077/119] improve release algorithm Escape '*' characters for correct display in Markdown. Do not add force dist/locales/*.json files, that are not ignored in master branch. --- RELEASING.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 271de1377..7a1a1ef79 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -29,7 +29,7 @@ - [ ] git checkout release - [ ] git reset --hard master - [ ] npm run all -- [ ] git add -f dist/*.css dist/*.js dist/img/*.svg dist/locales/*.json dist/mapillary-js/ +- [ ] git add -f dist/\*.css dist/\*.js dist/img/\*.svg dist/mapillary-js/ - [ ] git commit -m 'Check in build' - [ ] git tag vA.B.C - [ ] git push origin -f release vA.B.C @@ -48,7 +48,7 @@ - [ ] git reset --hard upstream/master - [ ] git checkout -b iD-A.B.C - [ ] bundle install -- [ ] rm -rf vendor/assets/iD/* && vendorer +- [ ] rm -rf vendor/assets/iD/\* && vendorer - [ ] git add . && git commit -m 'Update to iD vA.B.C' - [ ] git push osmlab - [ ] Open pull request From 27228c30192c0cb0f988d7181898062f4a7d5c9c Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 22 Nov 2016 16:15:29 -0500 Subject: [PATCH 078/119] Remove checkboxes, remove escaped markdown chars --- RELEASING.md | 82 ++++++++++++++++++++++++++++------------------------ 1 file changed, 44 insertions(+), 38 deletions(-) diff --git a/RELEASING.md b/RELEASING.md index 7a1a1ef79..b19c4ccef 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,54 +1,60 @@ ## Release Checklist ### Prerelease (several days prior) -- [ ] Notify translators of impending release +- Notify translators of impending release (https://www.transifex.com/projects/p/id-editor/announcements/) -- [ ] Notify TomH +- Notify TomH ### Prep -- [ ] If you don't have a `transifex.auth` file in the root of your iD checkout, - you'll need to create a Transifex account, ask @bhousel for admin rights - on the iD project, and then create this file with contents - like `{"user": "yourusername", "password": "*******"}` +- If you don't have a `transifex.auth` file in the root of your iD checkout, +you'll need to create a Transifex account, ask @bhousel for admin rights +on the iD project, and then create this file with contents like
+     {"user": "yourusername", "password": "*******"}
### Update master branch -- [ ] git checkout master -- [ ] npm run translations -- [ ] git add . && git commit -m 'npm run translations' -- [ ] rm -rf node_modules/editor-layer-index/ -- [ ] npm install -- [ ] npm run imagery -- [ ] npm run all -- [ ] git add . && git commit -m 'npm run imagery' -- [ ] Update `CHANGELOG.md` -- [ ] Update version number in `modules/core/context.js`, `package.json` -- [ ] git add . && git commit -m 'A.B.C' -- [ ] git push origin master +```bash +$ git checkout master +$ npm run translations +$ git add . && git commit -m 'npm run translations' +$ rm -rf node_modules/editor-layer-index/ +$ npm install +$ npm run imagery +$ npm run all +$ git add . && git commit -m 'npm run imagery' +$ Update `CHANGELOG.md` +$ Update version number in `modules/core/context.js`, `package.json` +$ git add . && git commit -m 'A.B.C' +$ git push origin master +``` ### Update and tag release branch -- [ ] git checkout release -- [ ] git reset --hard master -- [ ] npm run all -- [ ] git add -f dist/\*.css dist/\*.js dist/img/\*.svg dist/mapillary-js/ -- [ ] git commit -m 'Check in build' -- [ ] git tag vA.B.C -- [ ] git push origin -f release vA.B.C +```bash +$ git checkout release +$ git reset --hard master +$ npm run all +$ git add -f dist/*.css dist/*.js dist/img/*.svg dist/mapillary-js/ +$ git commit -m 'Check in build' +$ git tag vA.B.C +$ git push origin -f release vA.B.C +``` ### Update openstreetmap-website #### Setup remotes (one time only) - -- [ ] git remote add osmlab git@github.com:osmlab/openstreetmap-website.git -- [ ] git remote add upstream git@github.com:openstreetmap/openstreetmap-website.git +```bash +$ git remote add osmlab git@github.com:osmlab/openstreetmap-website.git +$ git remote add upstream git@github.com:openstreetmap/openstreetmap-website.git +``` #### Sync master and update iD (every time) - -- [ ] git fetch --all -- [ ] git checkout master -- [ ] git reset --hard upstream/master -- [ ] git checkout -b iD-A.B.C -- [ ] bundle install -- [ ] rm -rf vendor/assets/iD/\* && vendorer -- [ ] git add . && git commit -m 'Update to iD vA.B.C' -- [ ] git push osmlab -- [ ] Open pull request +```bash +$ git fetch --all +$ git checkout master +$ git reset --hard upstream/master +$ git checkout -b iD-A.B.C +$ bundle install +$ rm -rf vendor/assets/iD/* && vendorer +$ git add . && git commit -m 'Update to iD vA.B.C' +$ git push osmlab +$ Open pull request +``` From ad1b6998a44fe98b5339902d358def7151fc3a7c Mon Sep 17 00:00:00 2001 From: bkil Date: Tue, 8 Nov 2016 11:59:10 +0100 Subject: [PATCH 079/119] data/presets/fields: add surveillance and camera related properties https://wiki.openstreetmap.org/wiki/Tag:man_made%3Dsurveillance https://wiki.openstreetmap.org/wiki/Proposed_features/Extended_tags_for_Key:Surveillance These are mandatory tags: * `surveillance` * `surveillance:type` I do not feel that the following are important, they can be selected from the drop down manually anyway: * `operator` * `name` These tags are well established: * `camera:type` has 15k users * `camera:mount` has 13k users * `surveillance:zone` has 17k users (mostly traffic is noted) * `camera:direction` has 6k users These tags are in the proposed status: * `contact:webcam` usage is only starting * `height` People used various tags instead of `contact:webcam` in the past because of it being a recent tag, and/or a lack of knowledge or being mislead by the dropdown. Thus it is difficult to quote an exact number, but by using complex regexp queries, I could find thousands of usages for webcam links when properly combining man_made/surveillance/camera and various (sometimes invalid) keywords in the key or value part of a tag: * `website` * `image` * `uri`, `url`, `link`, `http`, `contact` * `stream` * `webcam` --- data/presets/fields/camera/direction.json | 6 ++++++ data/presets/fields/camera/mount.json | 6 ++++++ data/presets/fields/camera/type.json | 6 ++++++ data/presets/fields/contact/webcam.json | 7 +++++++ data/presets/fields/surveillance.json | 6 ++++++ data/presets/fields/surveillance/type.json | 6 ++++++ data/presets/fields/surveillance/zone.json | 6 ++++++ 7 files changed, 43 insertions(+) create mode 100644 data/presets/fields/camera/direction.json create mode 100644 data/presets/fields/camera/mount.json create mode 100644 data/presets/fields/camera/type.json create mode 100644 data/presets/fields/contact/webcam.json create mode 100644 data/presets/fields/surveillance.json create mode 100644 data/presets/fields/surveillance/type.json create mode 100644 data/presets/fields/surveillance/zone.json diff --git a/data/presets/fields/camera/direction.json b/data/presets/fields/camera/direction.json new file mode 100644 index 000000000..61a24ad01 --- /dev/null +++ b/data/presets/fields/camera/direction.json @@ -0,0 +1,6 @@ +{ + "key": "camera:direction", + "type": "number", + "label": "Camera direction", + "placeholder": "90 (degrees clockwise)" +} diff --git a/data/presets/fields/camera/mount.json b/data/presets/fields/camera/mount.json new file mode 100644 index 000000000..2b0bf9571 --- /dev/null +++ b/data/presets/fields/camera/mount.json @@ -0,0 +1,6 @@ +{ + "key": "camera:mount", + "type": "combo", + "label": "Camera mount", + "options": [ "pole", "wall", "ceiling", "roof", "gantry" ] +} diff --git a/data/presets/fields/camera/type.json b/data/presets/fields/camera/type.json new file mode 100644 index 000000000..fc6e16338 --- /dev/null +++ b/data/presets/fields/camera/type.json @@ -0,0 +1,6 @@ +{ + "key": "camera:type", + "type": "combo", + "label": "Camera type", + "options": ["fixed", "panning", "dome"] +} diff --git a/data/presets/fields/contact/webcam.json b/data/presets/fields/contact/webcam.json new file mode 100644 index 000000000..0a1371f9a --- /dev/null +++ b/data/presets/fields/contact/webcam.json @@ -0,0 +1,7 @@ +{ + "key": "contact:webcam", + "type": "url", + "icon": "website", + "label": "Webcam feed URL", + "placeholder": "http://example.com/" +} diff --git a/data/presets/fields/surveillance.json b/data/presets/fields/surveillance.json new file mode 100644 index 000000000..2afb60217 --- /dev/null +++ b/data/presets/fields/surveillance.json @@ -0,0 +1,6 @@ +{ + "key": "surveillance", + "type": "combo", + "label": "Surveillance kind", + "options": ["outdoor", "public", "indoor"] +} diff --git a/data/presets/fields/surveillance/type.json b/data/presets/fields/surveillance/type.json new file mode 100644 index 000000000..4ba3cf39f --- /dev/null +++ b/data/presets/fields/surveillance/type.json @@ -0,0 +1,6 @@ +{ + "key": "surveillance:type", + "type": "combo", + "label": "What is watching", + "options": ["camera", "guard", "alpr"] +} diff --git a/data/presets/fields/surveillance/zone.json b/data/presets/fields/surveillance/zone.json new file mode 100644 index 000000000..99aaca4db --- /dev/null +++ b/data/presets/fields/surveillance/zone.json @@ -0,0 +1,6 @@ +{ + "key": "surveillance:zone", + "type": "combo", + "label": "Zone", + "options": ["traffic", "building", "town", "parking", "shop", "bank"] +} From c87ff327e1b0a7e701bee6b3e0412f77f4eab7dd Mon Sep 17 00:00:00 2001 From: bkil Date: Tue, 8 Nov 2016 12:00:48 +0100 Subject: [PATCH 080/119] data/presets/presets/man_made/surveillance.json: add some common fields --- data/presets/presets/man_made/surveillance.json | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/data/presets/presets/man_made/surveillance.json b/data/presets/presets/man_made/surveillance.json index 93101738a..6a8b07ca4 100644 --- a/data/presets/presets/man_made/surveillance.json +++ b/data/presets/presets/man_made/surveillance.json @@ -3,6 +3,15 @@ "geometry": [ "point" ], + "fields": [ + "surveillance", + "surveillance/type", + "camera/type", + "camera/mount", + "camera/direction", + "surveillance/zone", + "contact/webcam" + ], "terms": [ "anpr", "alpr", From c4140bf2b5513f1e5cf336f0405167925715c6f4 Mon Sep 17 00:00:00 2001 From: bkil Date: Sat, 19 Nov 2016 12:16:41 +0100 Subject: [PATCH 081/119] fix up generated files via `npm run build` --- data/presets.yaml | 25 ++++++++++++++ data/presets/fields.json | 68 +++++++++++++++++++++++++++++++++++++++ data/presets/presets.json | 9 ++++++ dist/locales/en.json | 23 +++++++++++++ 4 files changed, 125 insertions(+) diff --git a/data/presets.yaml b/data/presets.yaml index 809e26c7d..1492b54e4 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -206,6 +206,17 @@ en: building_area: # building=* label: Building + camera/direction: + # 'camera:direction=*' + label: Camera direction + # camera/direction field placeholder + placeholder: 90 (degrees clockwise) + camera/mount: + # 'camera:mount=*' + label: Camera mount + camera/type: + # 'camera:type=*' + label: Camera type capacity: # capacity=* label: Capacity @@ -261,6 +272,11 @@ en: construction: # construction=* label: Type + contact/webcam: + # 'contact:webcam=*' + label: Webcam feed URL + # contact/webcam field placeholder + placeholder: 'http://example.com/' content: # content=* label: Contents @@ -1070,6 +1086,15 @@ en: surface: # surface=* label: Surface + surveillance: + # surveillance=* + label: Surveillance kind + surveillance/type: + # 'surveillance:type=*' + label: What is watching + surveillance/zone: + # 'surveillance:zone=*' + label: Zone tactile_paving: # tactile_paving=* label: Tactile Paving diff --git a/data/presets/fields.json b/data/presets/fields.json index f723745d7..c62573f03 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -283,6 +283,34 @@ "type": "combo", "label": "Building" }, + "camera/direction": { + "key": "camera:direction", + "type": "number", + "label": "Camera direction", + "placeholder": "90 (degrees clockwise)" + }, + "camera/mount": { + "key": "camera:mount", + "type": "combo", + "label": "Camera mount", + "options": [ + "pole", + "wall", + "ceiling", + "roof", + "gantry" + ] + }, + "camera/type": { + "key": "camera:type", + "type": "combo", + "label": "Camera type", + "options": [ + "fixed", + "panning", + "dome" + ] + }, "capacity": { "key": "capacity", "type": "number", @@ -335,6 +363,13 @@ "type": "combo", "label": "Type" }, + "contact/webcam": { + "key": "contact:webcam", + "type": "url", + "icon": "website", + "label": "Webcam feed URL", + "placeholder": "http://example.com/" + }, "content": { "key": "content", "type": "combo", @@ -1457,6 +1492,39 @@ "type": "combo", "label": "Surface" }, + "surveillance": { + "key": "surveillance", + "type": "combo", + "label": "Surveillance kind", + "options": [ + "outdoor", + "public", + "indoor" + ] + }, + "surveillance/type": { + "key": "surveillance:type", + "type": "combo", + "label": "What is watching", + "options": [ + "camera", + "guard", + "alpr" + ] + }, + "surveillance/zone": { + "key": "surveillance:zone", + "type": "combo", + "label": "Zone", + "options": [ + "traffic", + "building", + "town", + "parking", + "shop", + "bank" + ] + }, "tactile_paving": { "key": "tactile_paving", "type": "check", diff --git a/data/presets/presets.json b/data/presets/presets.json index 46ebcd5f4..11f8ddb53 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -7004,6 +7004,15 @@ "geometry": [ "point" ], + "fields": [ + "surveillance", + "surveillance/type", + "camera/type", + "camera/mount", + "camera/direction", + "surveillance/zone", + "contact/webcam" + ], "terms": [ "anpr", "alpr", diff --git a/dist/locales/en.json b/dist/locales/en.json index 270693cad..26038e9ce 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -820,6 +820,16 @@ "building": { "label": "Building" }, + "camera/direction": { + "label": "Camera direction", + "placeholder": "90 (degrees clockwise)" + }, + "camera/mount": { + "label": "Camera mount" + }, + "camera/type": { + "label": "Camera type" + }, "capacity": { "label": "Capacity", "placeholder": "50, 100, 200..." @@ -858,6 +868,10 @@ "construction": { "label": "Type" }, + "contact/webcam": { + "label": "Webcam feed URL", + "placeholder": "http://example.com/" + }, "content": { "label": "Contents" }, @@ -1536,6 +1550,15 @@ "surface": { "label": "Surface" }, + "surveillance": { + "label": "Surveillance kind" + }, + "surveillance/type": { + "label": "What is watching" + }, + "surveillance/zone": { + "label": "Zone" + }, "tactile_paving": { "label": "Tactile Paving" }, From 1b329d4e6f03d3adc0a336273da7a87f0519fb5e Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Wed, 23 Nov 2016 09:06:00 -0500 Subject: [PATCH 082/119] chore(package): update rollup to version 0.36.4 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 8ea14d813..18dc400bf 100644 --- a/package.json +++ b/package.json @@ -58,7 +58,7 @@ "npm-run-all": "~3.1.1", "phantomjs-prebuilt": "~2.1.11", "request": "~2.79.0", - "rollup": "0.36.3", + "rollup": "0.36.4", "rollup-plugin-commonjs": "5.0.5", "rollup-plugin-json": "2.0.2", "rollup-plugin-node-resolve": "2.0.0", From 708a7cee406377b34ca64648fedc5f97ce5aa28b Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Wed, 23 Nov 2016 09:13:58 -0500 Subject: [PATCH 083/119] chore(package): update d3 to version 4.4.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 18dc400bf..7f75811fd 100644 --- a/package.json +++ b/package.json @@ -40,7 +40,7 @@ "devDependencies": { "brfs": "1.4.3", "chai": "~3.5.0", - "d3": "4.3.0", + "d3": "4.4.0", "ecstatic": "~2.1.0", "editor-layer-index": "osmlab/editor-layer-index.git#gh-pages", "gaze": "~1.1.1", From 80d9cd6c72a3678a3a1e5b65bdd480823f5178c1 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 23 Nov 2016 09:55:16 -0500 Subject: [PATCH 084/119] Use traditional interpolation for zoom interpolator, not fly-out-in --- modules/renderer/map.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/modules/renderer/map.js b/modules/renderer/map.js index eb1cc327a..e3a165345 100644 --- a/modules/renderer/map.js +++ b/modules/renderer/map.js @@ -51,9 +51,9 @@ export function rendererMap(context) { mousemove; var zoom = d3.zoom() - .scaleExtent([ztok(2), ztok(24)]) // TODO: uncomment interpolate when d3.zoom 1.0.4 avail: - // .interpolate(d3.interpolate) // https://github.com/d3/d3-zoom/issues/54 - .on('zoom', zoomPan); // default zoom interpolator does a fly-out-in + .scaleExtent([ztok(2), ztok(24)]) + .interpolate(d3.interpolate) + .on('zoom', zoomPan); var _selection = d3.select(null); From c1cb675ce1fe75d345e2b9e4265199aa23c78c15 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Wed, 23 Nov 2016 09:17:29 -0500 Subject: [PATCH 085/119] chore(package): update mocha-phantomjs-core to version 2.1.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 7f75811fd..704fb7b24 100644 --- a/package.json +++ b/package.json @@ -53,7 +53,7 @@ "mapillary-js": "2.1.0", "minimist": "~1.2.0", "mocha": "~3.1.0", - "mocha-phantomjs-core": "~2.0.1", + "mocha-phantomjs-core": "~2.1.0", "name-suggestion-index": "0.1.1", "npm-run-all": "~3.1.1", "phantomjs-prebuilt": "~2.1.11", From 67407c508126ca9e9b59cfdb71882d0dd46804e1 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 23 Nov 2016 10:02:12 -0500 Subject: [PATCH 086/119] Add node 7 to Travis build matrix --- .travis.yml | 1 + 1 file changed, 1 insertion(+) diff --git a/.travis.yml b/.travis.yml index d5024afe8..4d9966218 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,4 +2,5 @@ language: node_js node_js: - "4" - "6" + - "7" sudo: false From b34013be67a26d80941e9485e3f93af11c722947 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Fri, 25 Nov 2016 17:48:27 -0500 Subject: [PATCH 087/119] chore(package): update eslint to version 3.11.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 704fb7b24..403bcbe6f 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "ecstatic": "~2.1.0", "editor-layer-index": "osmlab/editor-layer-index.git#gh-pages", "gaze": "~1.1.1", - "eslint": "~3.10.0", + "eslint": "~3.11.0", "glob": "~7.1.0", "happen": "~0.3.1", "js-yaml": "~3.7.0", From e9b0fa1dd69137def8e1359efc39b3f28cd2dc50 Mon Sep 17 00:00:00 2001 From: Eduard Popov Date: Fri, 25 Nov 2016 16:56:30 +1000 Subject: [PATCH 088/119] fix connection.js to osm.js in FAQ --- FAQ.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/FAQ.md b/FAQ.md index 61a57c3b3..fd33ac736 100644 --- a/FAQ.md +++ b/FAQ.md @@ -53,7 +53,7 @@ and [configure](https://github.com/openstreetmap/openstreetmap-website/blob/mast an instance of the Rails Port, the server that runs the OpenStreetMap website and API. Once you have the Rails Port running, you may edit as normal using the version of iD that -is bundled with it. Your changes will be saved to your own database. To use a standalone iD with your own api, you may edit the [connection.js](https://github.com/openstreetmap/iD/blob/master/js/id/core/connection.js) file. +is bundled with it. Your changes will be saved to your own database. To use a standalone iD with your own api, you may edit the [osm.js](https://github.com/openstreetmap/iD/blob/master/modules/services/osm.js) file. Depending on your requirements, you may also want to set up [cgimap](https://github.com/openstreetmap/cgimap) and/or a tile rendering stack, but neither of these are required for editing with iD. From cc648d8ebaf1e559bfe13581e39045a312b35abf Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Thu, 24 Nov 2016 19:39:38 -0500 Subject: [PATCH 089/119] chore(package): update mocha to version 3.2.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 403bcbe6f..6d3b7f57e 100644 --- a/package.json +++ b/package.json @@ -52,7 +52,7 @@ "maki": "0.5.0", "mapillary-js": "2.1.0", "minimist": "~1.2.0", - "mocha": "~3.1.0", + "mocha": "~3.2.0", "mocha-phantomjs-core": "~2.1.0", "name-suggestion-index": "0.1.1", "npm-run-all": "~3.1.1", From c51c170797fc5dce5be76a3047634bb25bd2cd85 Mon Sep 17 00:00:00 2001 From: samely Date: Sat, 26 Nov 2016 13:03:08 -0500 Subject: [PATCH 090/119] add presets to amenity=food_court and amenity=crematorium --- data/presets.yaml | 10 +++++ data/presets/presets.json | 45 +++++++++++++++++++ data/presets/presets/amenity/crematorium.json | 19 ++++++++ data/presets/presets/amenity/food_court.json | 25 +++++++++++ data/taginfo.json | 8 ++++ dist/locales/en.json | 8 ++++ 6 files changed, 115 insertions(+) create mode 100644 data/presets/presets/amenity/crematorium.json create mode 100644 data/presets/presets/amenity/food_court.json diff --git a/data/presets.yaml b/data/presets.yaml index 809e26c7d..008680899 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -1421,6 +1421,11 @@ en: name: Coworking Space # 'terms: coworking,office' terms: '' + amenity/crematorium: + # amenity=crematorium + name: Crematorium + # 'terms: cemetery,funeral' + terms: '' amenity/dentist: # amenity=dentist name: Dentist @@ -1458,6 +1463,11 @@ en: # amenity=fire_station name: Fire Station terms: '' + amenity/food_court: + # amenity=food_court + name: Food Court + # 'terms: fast food,restaurant,food' + terms: '' amenity/fountain: # amenity=fountain name: Fountain diff --git a/data/presets/presets.json b/data/presets/presets.json index 46ebcd5f4..105cd8e47 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -1038,6 +1038,27 @@ }, "name": "Coworking Space" }, + "amenity/crematorium": { + "icon": "cemetery", + "fields": [ + "website", + "phone", + "opening_hours", + "wheelchair" + ], + "geometry": [ + "area", + "point" + ], + "tags": { + "amenity": "crematorium" + }, + "terms": [ + "cemetery", + "funeral" + ], + "name": "Crematorium" + }, "amenity/dentist": { "icon": "dentist", "fields": [ @@ -1191,6 +1212,30 @@ }, "name": "Fire Station" }, + "amenity/food_court": { + "icon": "restaurant", + "fields": [ + "operator", + "address", + "building_area", + "opening_hours", + "smoking", + "outdoor_seating" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "fast food", + "restaurant", + "food" + ], + "tags": { + "amenity": "food_court" + }, + "name": "Food Court" + }, "amenity/fountain": { "geometry": [ "point", diff --git a/data/presets/presets/amenity/crematorium.json b/data/presets/presets/amenity/crematorium.json new file mode 100644 index 000000000..acfca6ada --- /dev/null +++ b/data/presets/presets/amenity/crematorium.json @@ -0,0 +1,19 @@ +{ + "icon": "cemetery", + "fields": [ + "website", + "phone", + "opening_hours", + "wheelchair" + + ], + "geometry": [ + "area", + "point" + ], + "tags": { + "amenity": "crematorium" + }, + "terms": ["cemetery","funeral"], + "name": "Crematorium" +} \ No newline at end of file diff --git a/data/presets/presets/amenity/food_court.json b/data/presets/presets/amenity/food_court.json new file mode 100644 index 000000000..c3ed5a3d6 --- /dev/null +++ b/data/presets/presets/amenity/food_court.json @@ -0,0 +1,25 @@ +{ + "icon": "restaurant", + "fields": [ + "operator", + "address", + "building_area", + "opening_hours", + "smoking", + "outdoor_seating" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "fast food", + "restaurant", + "food" + ], + "tags": { + "amenity": "food_court" + }, + "name": "Food Court" +} + diff --git a/data/taginfo.json b/data/taginfo.json index 2c01b336c..9cdf955fa 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -235,6 +235,10 @@ "key": "amenity", "value": "coworking_space" }, + { + "key": "amenity", + "value": "crematorium" + }, { "key": "amenity", "value": "dentist" @@ -267,6 +271,10 @@ "key": "amenity", "value": "fire_station" }, + { + "key": "amenity", + "value": "food_court" + }, { "key": "amenity", "value": "fountain" diff --git a/dist/locales/en.json b/dist/locales/en.json index 270693cad..a8facb7de 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -1875,6 +1875,10 @@ "name": "Coworking Space", "terms": "coworking,office" }, + "amenity/crematorium": { + "name": "Crematorium", + "terms": "cemetery,funeral" + }, "amenity/dentist": { "name": "Dentist", "terms": "tooth,teeth" @@ -1907,6 +1911,10 @@ "name": "Fire Station", "terms": "" }, + "amenity/food_court": { + "name": "Food Court", + "terms": "fast food,restaurant,food" + }, "amenity/fountain": { "name": "Fountain", "terms": "" From 9e50af529bc90759e65a86db6e7a92d47508aa82 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sat, 26 Nov 2016 16:42:37 -0500 Subject: [PATCH 091/119] Adjust placeholders, labels.. add specific Surveillance Camera preset * Having separate presets for Surveillance and Surveillance Camera means we can show the camera related fields only if `surveillance:type=camera` * Generally use Upper Case for labels and keep it short * if list of values is really fixed, use options strings to make them translateable * if list of values is not fixed, avoid adding placeholder, iD will fetch from taginfo * Seems like value "ALPR" is preferred over "alpr" --- data/presets.yaml | 35 ++++++++--- data/presets/fields.json | 60 +++++++------------ data/presets/fields/camera/direction.json | 4 +- data/presets/fields/camera/mount.json | 3 +- data/presets/fields/camera/type.json | 10 +++- data/presets/fields/contact/webcam.json | 2 +- data/presets/fields/surveillance.json | 3 +- data/presets/fields/surveillance/type.json | 10 +++- data/presets/fields/surveillance/zone.json | 3 +- data/presets/presets.json | 32 +++++++++- .../presets/man_made/surveillance.json | 6 +- .../presets/man_made/surveillance_camera.json | 34 +++++++++++ data/taginfo.json | 4 ++ dist/locales/en.json | 30 +++++++--- 14 files changed, 163 insertions(+), 73 deletions(-) create mode 100644 data/presets/presets/man_made/surveillance_camera.json diff --git a/data/presets.yaml b/data/presets.yaml index 65809349b..d536bc552 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -208,15 +208,22 @@ en: label: Building camera/direction: # 'camera:direction=*' - label: Camera direction + label: Direction (Degrees Clockwise) # camera/direction field placeholder - placeholder: 90 (degrees clockwise) + placeholder: '45, 90, 180, 270' camera/mount: # 'camera:mount=*' - label: Camera mount + label: Camera Mount camera/type: # 'camera:type=*' - label: Camera type + label: Camera Type + options: + # 'camera:type=dome' + dome: Dome + # 'camera:type=fixed' + fixed: Fixed + # 'camera:type=panning' + panning: Panning capacity: # capacity=* label: Capacity @@ -274,7 +281,7 @@ en: label: Type contact/webcam: # 'contact:webcam=*' - label: Webcam feed URL + label: Webcam URL # contact/webcam field placeholder placeholder: 'http://example.com/' content: @@ -1088,13 +1095,20 @@ en: label: Surface surveillance: # surveillance=* - label: Surveillance kind + label: Surveillance Kind surveillance/type: # 'surveillance:type=*' - label: What is watching + label: Surveillance Type + options: + # 'surveillance:type=ALPR' + ALPR: Automatic License Plate Reader + # 'surveillance:type=camera' + camera: Camera + # 'surveillance:type=guard' + guard: Guard surveillance/zone: # 'surveillance:zone=*' - label: Zone + label: Surveillance Zone tactile_paving: # tactile_paving=* label: Tactile Paving @@ -2949,6 +2963,11 @@ en: name: Surveillance # 'terms: anpr,alpr,camera,car plate recognition,cctv,guard,license plate recognition,monitoring,number plate recognition,security,video,webcam' terms: '' + man_made/surveillance_camera: + # 'man_made=surveillance, surveillance:type=camera' + name: Surveillance Camera + # 'terms: anpr,alpr,camera,car plate recognition,cctv,guard,license plate recognition,monitoring,number plate recognition,security,video,webcam' + terms: '' man_made/survey_point: # man_made=survey_point name: Survey Point diff --git a/data/presets/fields.json b/data/presets/fields.json index c62573f03..d7b964d76 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -286,30 +286,25 @@ "camera/direction": { "key": "camera:direction", "type": "number", - "label": "Camera direction", - "placeholder": "90 (degrees clockwise)" + "label": "Direction (Degrees Clockwise)", + "placeholder": "45, 90, 180, 270" }, "camera/mount": { "key": "camera:mount", "type": "combo", - "label": "Camera mount", - "options": [ - "pole", - "wall", - "ceiling", - "roof", - "gantry" - ] + "label": "Camera Mount" }, "camera/type": { "key": "camera:type", "type": "combo", - "label": "Camera type", - "options": [ - "fixed", - "panning", - "dome" - ] + "label": "Camera Type", + "strings": { + "options": { + "fixed": "Fixed", + "panning": "Panning", + "dome": "Dome" + } + } }, "capacity": { "key": "capacity", @@ -367,7 +362,7 @@ "key": "contact:webcam", "type": "url", "icon": "website", - "label": "Webcam feed URL", + "label": "Webcam URL", "placeholder": "http://example.com/" }, "content": { @@ -1495,35 +1490,24 @@ "surveillance": { "key": "surveillance", "type": "combo", - "label": "Surveillance kind", - "options": [ - "outdoor", - "public", - "indoor" - ] + "label": "Surveillance Kind" }, "surveillance/type": { "key": "surveillance:type", "type": "combo", - "label": "What is watching", - "options": [ - "camera", - "guard", - "alpr" - ] + "label": "Surveillance Type", + "strings": { + "options": { + "camera": "Camera", + "guard": "Guard", + "ALPR": "Automatic License Plate Reader" + } + } }, "surveillance/zone": { "key": "surveillance:zone", "type": "combo", - "label": "Zone", - "options": [ - "traffic", - "building", - "town", - "parking", - "shop", - "bank" - ] + "label": "Surveillance Zone" }, "tactile_paving": { "key": "tactile_paving", diff --git a/data/presets/fields/camera/direction.json b/data/presets/fields/camera/direction.json index 61a24ad01..142376c77 100644 --- a/data/presets/fields/camera/direction.json +++ b/data/presets/fields/camera/direction.json @@ -1,6 +1,6 @@ { "key": "camera:direction", "type": "number", - "label": "Camera direction", - "placeholder": "90 (degrees clockwise)" + "label": "Direction (Degrees Clockwise)", + "placeholder": "45, 90, 180, 270" } diff --git a/data/presets/fields/camera/mount.json b/data/presets/fields/camera/mount.json index 2b0bf9571..8deea4021 100644 --- a/data/presets/fields/camera/mount.json +++ b/data/presets/fields/camera/mount.json @@ -1,6 +1,5 @@ { "key": "camera:mount", "type": "combo", - "label": "Camera mount", - "options": [ "pole", "wall", "ceiling", "roof", "gantry" ] + "label": "Camera Mount" } diff --git a/data/presets/fields/camera/type.json b/data/presets/fields/camera/type.json index fc6e16338..4f29b05a2 100644 --- a/data/presets/fields/camera/type.json +++ b/data/presets/fields/camera/type.json @@ -1,6 +1,12 @@ { "key": "camera:type", "type": "combo", - "label": "Camera type", - "options": ["fixed", "panning", "dome"] + "label": "Camera Type", + "strings": { + "options": { + "fixed": "Fixed", + "panning": "Panning", + "dome": "Dome" + } + } } diff --git a/data/presets/fields/contact/webcam.json b/data/presets/fields/contact/webcam.json index 0a1371f9a..54a6c878d 100644 --- a/data/presets/fields/contact/webcam.json +++ b/data/presets/fields/contact/webcam.json @@ -2,6 +2,6 @@ "key": "contact:webcam", "type": "url", "icon": "website", - "label": "Webcam feed URL", + "label": "Webcam URL", "placeholder": "http://example.com/" } diff --git a/data/presets/fields/surveillance.json b/data/presets/fields/surveillance.json index 2afb60217..3f4365141 100644 --- a/data/presets/fields/surveillance.json +++ b/data/presets/fields/surveillance.json @@ -1,6 +1,5 @@ { "key": "surveillance", "type": "combo", - "label": "Surveillance kind", - "options": ["outdoor", "public", "indoor"] + "label": "Surveillance Kind" } diff --git a/data/presets/fields/surveillance/type.json b/data/presets/fields/surveillance/type.json index 4ba3cf39f..1f5d7fa5a 100644 --- a/data/presets/fields/surveillance/type.json +++ b/data/presets/fields/surveillance/type.json @@ -1,6 +1,12 @@ { "key": "surveillance:type", "type": "combo", - "label": "What is watching", - "options": ["camera", "guard", "alpr"] + "label": "Surveillance Type", + "strings": { + "options": { + "camera": "Camera", + "guard": "Guard", + "ALPR": "Automatic License Plate Reader" + } + } } diff --git a/data/presets/fields/surveillance/zone.json b/data/presets/fields/surveillance/zone.json index 99aaca4db..492316151 100644 --- a/data/presets/fields/surveillance/zone.json +++ b/data/presets/fields/surveillance/zone.json @@ -1,6 +1,5 @@ { "key": "surveillance:zone", "type": "combo", - "label": "Zone", - "options": ["traffic", "building", "town", "parking", "shop", "bank"] + "label": "Surveillance Zone" } diff --git a/data/presets/presets.json b/data/presets/presets.json index 2c2f46572..fadf2fdaa 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -7044,7 +7044,7 @@ }, "name": "Storage Tank" }, - "man_made/surveillance": { + "man_made/surveillance_camera": { "icon": "camera", "geometry": [ "point" @@ -7072,6 +7072,36 @@ "video", "webcam" ], + "tags": { + "man_made": "surveillance", + "surveillance:type": "camera" + }, + "name": "Surveillance Camera" + }, + "man_made/surveillance": { + "icon": "camera", + "geometry": [ + "point" + ], + "fields": [ + "surveillance", + "surveillance/type", + "surveillance/zone" + ], + "terms": [ + "anpr", + "alpr", + "camera", + "car plate recognition", + "cctv", + "guard", + "license plate recognition", + "monitoring", + "number plate recognition", + "security", + "video", + "webcam" + ], "tags": { "man_made": "surveillance" }, diff --git a/data/presets/presets/man_made/surveillance.json b/data/presets/presets/man_made/surveillance.json index 6a8b07ca4..ee2a07e80 100644 --- a/data/presets/presets/man_made/surveillance.json +++ b/data/presets/presets/man_made/surveillance.json @@ -6,11 +6,7 @@ "fields": [ "surveillance", "surveillance/type", - "camera/type", - "camera/mount", - "camera/direction", - "surveillance/zone", - "contact/webcam" + "surveillance/zone" ], "terms": [ "anpr", diff --git a/data/presets/presets/man_made/surveillance_camera.json b/data/presets/presets/man_made/surveillance_camera.json new file mode 100644 index 000000000..10aea0a2b --- /dev/null +++ b/data/presets/presets/man_made/surveillance_camera.json @@ -0,0 +1,34 @@ +{ + "icon": "camera", + "geometry": [ + "point" + ], + "fields": [ + "surveillance", + "surveillance/type", + "camera/type", + "camera/mount", + "camera/direction", + "surveillance/zone", + "contact/webcam" + ], + "terms": [ + "anpr", + "alpr", + "camera", + "car plate recognition", + "cctv", + "guard", + "license plate recognition", + "monitoring", + "number plate recognition", + "security", + "video", + "webcam" + ], + "tags": { + "man_made": "surveillance", + "surveillance:type": "camera" + }, + "name": "Surveillance Camera" +} diff --git a/data/taginfo.json b/data/taginfo.json index 9cdf955fa..a9c663eb0 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -1582,6 +1582,10 @@ "key": "man_made", "value": "storage_tank" }, + { + "key": "surveillance:type", + "value": "camera" + }, { "key": "man_made", "value": "surveillance" diff --git a/dist/locales/en.json b/dist/locales/en.json index 308bc2432..44949de8f 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -821,14 +821,19 @@ "label": "Building" }, "camera/direction": { - "label": "Camera direction", - "placeholder": "90 (degrees clockwise)" + "label": "Direction (Degrees Clockwise)", + "placeholder": "45, 90, 180, 270" }, "camera/mount": { - "label": "Camera mount" + "label": "Camera Mount" }, "camera/type": { - "label": "Camera type" + "label": "Camera Type", + "options": { + "fixed": "Fixed", + "panning": "Panning", + "dome": "Dome" + } }, "capacity": { "label": "Capacity", @@ -869,7 +874,7 @@ "label": "Type" }, "contact/webcam": { - "label": "Webcam feed URL", + "label": "Webcam URL", "placeholder": "http://example.com/" }, "content": { @@ -1551,13 +1556,18 @@ "label": "Surface" }, "surveillance": { - "label": "Surveillance kind" + "label": "Surveillance Kind" }, "surveillance/type": { - "label": "What is watching" + "label": "Surveillance Type", + "options": { + "camera": "Camera", + "guard": "Guard", + "ALPR": "Automatic License Plate Reader" + } }, "surveillance/zone": { - "label": "Zone" + "label": "Surveillance Zone" }, "tactile_paving": { "label": "Tactile Paving" @@ -3258,6 +3268,10 @@ "name": "Storage Tank", "terms": "water,oil,gas,petrol" }, + "man_made/surveillance_camera": { + "name": "Surveillance Camera", + "terms": "anpr,alpr,camera,car plate recognition,cctv,guard,license plate recognition,monitoring,number plate recognition,security,video,webcam" + }, "man_made/surveillance": { "name": "Surveillance", "terms": "anpr,alpr,camera,car plate recognition,cctv,guard,license plate recognition,monitoring,number plate recognition,security,video,webcam" From 5494d0990a92bb6faf7b8fd1d90c7aec4ae6e33f Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 27 Nov 2016 23:56:17 -0500 Subject: [PATCH 092/119] Pull RTL/LTR from Transifex (closes #3489) --- data/locales.json | 252 ++++++++++++++++++++++++++++++----------- data/update_locales.js | 49 ++++++-- package.json | 1 + 3 files changed, 227 insertions(+), 75 deletions(-) diff --git a/data/locales.json b/data/locales.json index 44287a1d9..1e5fde723 100644 --- a/data/locales.json +++ b/data/locales.json @@ -1,66 +1,190 @@ { - "dataLocales": [ - "af", - "sq", - "ar", - "ar-AA", - "hy", - "ast", - "bn", - "bs", - "bg-BG", - "ca", - "zh", - "zh-CN", - "zh-HK", - "zh-TW", - "yue", - "hr", - "cs", - "da", - "nl", - "en-GB", - "eo", - "et", - "fi", - "fr", - "gl", - "de", - "el", - "gu", - "hi", - "hu", - "is", - "id", - "it", - "ja", - "kn", - "ko", - "ku", - "lv", - "lij", - "lt", - "ml", - "no", - "fa", - "pl", - "pt", - "pt-BR", - "ro", - "ru", - "sc", - "sr", - "si", - "sk", - "sl", - "es", - "sv", - "tl", - "ta", - "te", - "th", - "tr", - "uk", - "vi" - ] + "dataLocales": { + "af": { + "rtl": false + }, + "ar": { + "rtl": true + }, + "ar-AA": { + "rtl": true + }, + "ast": { + "rtl": false + }, + "bg-BG": { + "rtl": false + }, + "bn": { + "rtl": false + }, + "bs": { + "rtl": false + }, + "ca": { + "rtl": false + }, + "cs": { + "rtl": false + }, + "da": { + "rtl": false + }, + "de": { + "rtl": false + }, + "el": { + "rtl": false + }, + "en-GB": { + "rtl": false + }, + "eo": { + "rtl": false + }, + "es": { + "rtl": false + }, + "et": { + "rtl": false + }, + "fa": { + "rtl": true + }, + "fi": { + "rtl": false + }, + "fr": { + "rtl": false + }, + "gl": { + "rtl": false + }, + "gu": { + "rtl": false + }, + "hi": { + "rtl": false + }, + "hr": { + "rtl": false + }, + "hu": { + "rtl": false + }, + "hy": { + "rtl": false + }, + "id": { + "rtl": false + }, + "is": { + "rtl": false + }, + "it": { + "rtl": false + }, + "ja": { + "rtl": false + }, + "kn": { + "rtl": false + }, + "ko": { + "rtl": false + }, + "ku": { + "rtl": false + }, + "lij": { + "rtl": false + }, + "lt": { + "rtl": false + }, + "lv": { + "rtl": false + }, + "ml": { + "rtl": false + }, + "nl": { + "rtl": false + }, + "no": { + "rtl": false + }, + "pl": { + "rtl": false + }, + "pt": { + "rtl": false + }, + "pt-BR": { + "rtl": false + }, + "ro": { + "rtl": false + }, + "ru": { + "rtl": false + }, + "sc": { + "rtl": false + }, + "si": { + "rtl": false + }, + "sk": { + "rtl": false + }, + "sl": { + "rtl": false + }, + "sq": { + "rtl": false + }, + "sr": { + "rtl": false + }, + "sv": { + "rtl": false + }, + "ta": { + "rtl": false + }, + "te": { + "rtl": false + }, + "th": { + "rtl": false + }, + "tl": { + "rtl": false + }, + "tr": { + "rtl": false + }, + "uk": { + "rtl": false + }, + "vi": { + "rtl": false + }, + "yue": { + "rtl": false + }, + "zh": { + "rtl": false + }, + "zh-CN": { + "rtl": false + }, + "zh-HK": { + "rtl": false + }, + "zh-TW": { + "rtl": false + } + } } \ No newline at end of file diff --git a/data/update_locales.js b/data/update_locales.js index 9dd554698..7be9af8a0 100644 --- a/data/update_locales.js +++ b/data/update_locales.js @@ -1,8 +1,9 @@ /* Downloads the latest translations from Transifex */ -var request = require('request').defaults({maxSockets: 1}), +var request = require('request').defaults({ maxSockets: 1 }), yaml = require('js-yaml'), fs = require('fs'), + stringify = require('json-stable-stringify'), _ = require('lodash'); var resources = ['core', 'presets']; @@ -26,27 +27,39 @@ var auth = JSON.parse(fs.readFileSync('./transifex.auth', 'utf8')); var sourceCore = yaml.load(fs.readFileSync('./data/core.yaml', 'utf8')), sourcePresets = yaml.load(fs.readFileSync('./data/presets.yaml', 'utf8')); + asyncMap(resources, getResource, function(err, locales) { if (err) return console.log(err); var locale = _.merge(sourceCore, sourcePresets), - codes = []; + dataLocales = {}; locales.forEach(function(l) { locale = _.merge(locale, l); }); - for (var i in locale) { - if (i === 'en' || _.isEmpty(locale[i])) continue; - codes.push(i); - var obj = {}; - obj[i] = locale[i]; - fs.writeFileSync(outdir + i + '.json', JSON.stringify(obj, null, 4)); - } - - fs.writeFileSync('data/locales.json', JSON.stringify({ dataLocales: codes }, null, 4)); + asyncMap(Object.keys(locale), + function(code, done) { + if (code === 'en' || _.isEmpty(locale[code])) { + done(); + } else { + var obj = {}; + obj[code] = locale[code]; + fs.writeFileSync(outdir + code + '.json', JSON.stringify(obj, null, 4)); + getLanguageInfo(code, function(err, info) { + dataLocales[code] = { rtl: info && info.rtl }; + done(); + }); + } + }, function(err) { + if (!err) { + fs.writeFileSync('data/locales.json', stringify({ dataLocales: dataLocales }, { space: 4 })); + } + } + ); }); + function getResource(resource, callback) { resource = project + 'resource/' + resource + '/'; getLanguages(resource, function(err, codes) { @@ -65,6 +78,7 @@ function getResource(resource, callback) { }); } + function getLanguage(resource) { return function(code, callback) { code = code.replace(/-/g, '_'); @@ -78,6 +92,18 @@ function getLanguage(resource) { }; } + +function getLanguageInfo(code, callback) { + code = code.replace(/-/g, '_'); + var url = api + 'language/' + code; + request.get(url, { auth : auth }, function(err, resp, body) { + if (err) return callback(err); + console.log(resp.statusCode + ': ' + url); + callback(null, JSON.parse(body)); + }); +} + + function getLanguages(resource, callback) { var url = resource + '?details'; request.get(url, { auth: auth }, @@ -92,6 +118,7 @@ function getLanguages(resource, callback) { }); } + function asyncMap(inputs, func, callback) { var remaining = inputs.length, results = [], diff --git a/package.json b/package.json index 6d3b7f57e..071d9625c 100644 --- a/package.json +++ b/package.json @@ -49,6 +49,7 @@ "happen": "~0.3.1", "js-yaml": "~3.7.0", "jsonschema": "~1.1.0", + "json-stable-stringify": "~1.0.1", "maki": "0.5.0", "mapillary-js": "2.1.0", "minimist": "~1.2.0", From fc0b8a6a908dbc99294ef3f11043531b7310e2a8 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 27 Nov 2016 23:56:39 -0500 Subject: [PATCH 093/119] npm run translations --- dist/locales/ast.json | 5 +- dist/locales/da.json | 77 +++++++++++ dist/locales/de.json | 103 +++++++++++++-- dist/locales/es.json | 42 +++++- dist/locales/fa.json | 40 +++++- dist/locales/fi.json | 48 +++++++ dist/locales/fr.json | 106 +++++++++++++-- dist/locales/hu.json | 86 ++++++++++++- dist/locales/it.json | 73 +++++++++++ dist/locales/kn.json | 18 ++- dist/locales/lt.json | 279 +++++++++++++++++++++++++++++++++++++++- dist/locales/ml.json | 4 +- dist/locales/nl.json | 74 +++++++++++ dist/locales/pl.json | 72 ++++++++++- dist/locales/pt-BR.json | 3 + dist/locales/ru.json | 84 +++++++++++- dist/locales/sl.json | 221 ++++++++++++++++++++++--------- dist/locales/sv.json | 33 +++++ dist/locales/ta.json | 78 ++++++++++- dist/locales/te.json | 57 +++++++- dist/locales/uk.json | 77 +++++++++++ dist/locales/vi.json | 79 +++++++++++- dist/locales/zh-HK.json | 96 ++++++++++++-- dist/locales/zh-TW.json | 77 +++++++++++ 24 files changed, 1692 insertions(+), 140 deletions(-) diff --git a/dist/locales/ast.json b/dist/locales/ast.json index 4b988bc44..65ec6fb73 100644 --- a/dist/locales/ast.json +++ b/dist/locales/ast.json @@ -227,6 +227,7 @@ "localized_translation_name": "Nome" }, "zoom_in_edit": "Averar pa editar", + "login": "aniciu de sesión", "logout": "zarrar sesión", "loading_auth": "Coneutando con OpenStreetMap...", "report_a_bug": "Informar d'un fallu", @@ -238,7 +239,8 @@ "status": { "error": "Nun se pue coneutar cola API.", "offline": "La API ta desconeutada. Intente la edición más sero.", - "readonly": "La API ta en mou de sólo llectura. Tendrá d'esperar pa guardar los cambios." + "readonly": "La API ta en mou de sólo llectura. Tendrá d'esperar pa guardar los cambios.", + "rateLimit": "La API tien llendaes les conexones anónimes. Puedes igualo aniciando sesión." }, "commit": { "title": "Guardar cambios", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "Nun hai documentación disponible pa esta combinación d'etiquetes", "no_documentation_key": "Nun hai documentación disponible pa esta clave", + "documentation_redirect": "Esta documentación redirixóse a una páxina nueva", "show_more": "Ver más", "view_on_osm": "Ver en openstreetmap.org", "all_fields": "Tolos campos", diff --git a/dist/locales/da.json b/dist/locales/da.json index 47c086614..933bd0000 100644 --- a/dist/locales/da.json +++ b/dist/locales/da.json @@ -820,6 +820,21 @@ "building_area": { "label": "Bygning" }, + "camera/direction": { + "label": "Retning (grader urets retning)", + "placeholder": "45, 90, 180, 270" + }, + "camera/mount": { + "label": "Kameraholder" + }, + "camera/type": { + "label": "Kameratype", + "options": { + "dome": "Kupel", + "fixed": "Fast fikspunkt", + "panning": "Panorering" + } + }, "capacity": { "label": "Kapacitet", "placeholder": "50, 100, 200..." @@ -858,6 +873,10 @@ "construction": { "label": "Type" }, + "contact/webcam": { + "label": "Webcam URL", + "placeholder": "http://example.com/" + }, "content": { "label": "Indhold" }, @@ -979,6 +998,9 @@ "fee": { "label": "Gebyr" }, + "fence_type": { + "label": "Type" + }, "fire_hydrant/type": { "label": "Type", "options": { @@ -1077,6 +1099,9 @@ "internet_access/fee": { "label": "Internet gebyr" }, + "internet_access/ssid": { + "label": "SSID (Netværksnavn)" + }, "kerb": { "label": "Ramme" }, @@ -1157,6 +1182,10 @@ "map_type": { "label": "Type" }, + "maxheight": { + "label": "Maksimal højde", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" + }, "maxspeed": { "label": "Hastighedsbegrænsning", "placeholder": "40, 50, 60..." @@ -1271,6 +1300,9 @@ "operator": { "label": "Operatør" }, + "outdoor_seating": { + "label": "Udendørssidepladser" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." @@ -1523,6 +1555,20 @@ "surface": { "label": "Overflade" }, + "surveillance": { + "label": "Overvågningskategori" + }, + "surveillance/type": { + "label": "Overvågningstype", + "options": { + "ALPR": "Automatisk nummerpladegenkendelse", + "camera": "Kamera", + "guard": "Vagtovervåget" + } + }, + "surveillance/zone": { + "label": "Overvågningszone" + }, "tactile_paving": { "label": "Følbar belægning for blinde" }, @@ -1600,6 +1646,9 @@ "street": "5 til 20m (16 til 65ft)" } }, + "wall": { + "label": "Type" + }, "water": { "label": "Type" }, @@ -1824,6 +1873,10 @@ "name": "Kontorfællesskab", "terms": "Kontorfællesskab" }, + "amenity/crematorium": { + "name": "Krematorium", + "terms": "Krematorium, Ligbrænding" + }, "amenity/dentist": { "name": "Tandlæge", "terms": "Tandlæge" @@ -1856,6 +1909,10 @@ "name": "Brandstation", "terms": "" }, + "amenity/food_court": { + "name": "Torvehaller", + "terms": "Torvehaller, Food Court, Fødevaremarkedspladser" + }, "amenity/fountain": { "name": "Springvand", "terms": "Springvand,Fontæne" @@ -2767,6 +2824,10 @@ "name": "Uvedligeholdt markvej", "terms": "Uvedligeholdt markvej" }, + "highway/traffic_mirror": { + "name": "Trafikspejl", + "terms": "Trafikspejl" + }, "highway/traffic_signals": { "name": "Trafiksignal", "terms": "Trafiksignal, Lyskryds, Lyskurv" @@ -2946,6 +3007,10 @@ "name": "Hyppig", "terms": "Hyppig, Almindelig" }, + "leisure/dance": { + "name": "Dansehal", + "terms": "Dansehal, Dansested" + }, "leisure/dog_park": { "name": "Hundepark", "terms": "Hundepark" @@ -3046,6 +3111,10 @@ "name": "Legeplads", "terms": "Legeplads, Naturlegeplads, Børnelegeplads" }, + "leisure/resort": { + "name": "Turistresort", + "terms": "Turistresort, " + }, "leisure/running_track": { "name": "Løberute", "terms": "Løberute, Løbespor, Motionsløberute" @@ -3161,6 +3230,10 @@ "name": "Overvågning", "terms": "Overvågning" }, + "man_made/surveillance_camera": { + "name": "Overvågningskamera", + "terms": "Overvågningskamera, videoovervågning" + }, "man_made/survey_point": { "name": "Geografisk fixpunkt", "terms": "Geografisk fixpunkt" @@ -4049,6 +4122,10 @@ "name": "Gæstelejlighed/Ejerlejlighed", "terms": "Gæstelejlighed/Ejerlejlighed" }, + "tourism/aquarium": { + "name": "Akvarium", + "terms": "Akvarium" + }, "tourism/artwork": { "name": "Kunstværk", "terms": "Kunstværk" diff --git a/dist/locales/de.json b/dist/locales/de.json index 5cf042b6f..e96ba8400 100644 --- a/dist/locales/de.json +++ b/dist/locales/de.json @@ -820,6 +820,21 @@ "building_area": { "label": "Gebäude" }, + "camera/direction": { + "label": "Ausrichtung (Winkel Im Uhrzeigersinn) ", + "placeholder": "45, 90, 180, 270" + }, + "camera/mount": { + "label": "Kameramontagtyp" + }, + "camera/type": { + "label": "Art der Kamera", + "options": { + "dome": "Dom", + "fixed": "fix installiert", + "panning": "schwenkend" + } + }, "capacity": { "label": "Kapazität", "placeholder": "50, 100, 200..." @@ -858,6 +873,10 @@ "construction": { "label": "Typ" }, + "contact/webcam": { + "label": "Webcam URL", + "placeholder": "http://example.com/" + }, "content": { "label": "Inhalte" }, @@ -948,7 +967,7 @@ "label": "Typ" }, "drive_through": { - "label": "Durchfahrtslokal" + "label": "Durchfahrts-Service" }, "electrified": { "label": "Elektrifizierung", @@ -979,6 +998,9 @@ "fee": { "label": "Gebühr" }, + "fence_type": { + "label": "Typ" + }, "fire_hydrant/type": { "label": "Typ", "options": { @@ -1077,6 +1099,9 @@ "internet_access/fee": { "label": "Internetzugangsgebühr" }, + "internet_access/ssid": { + "label": "SSID (Netzwerk Name)" + }, "kerb": { "label": "Bordsteinabsenkung" }, @@ -1157,6 +1182,10 @@ "map_type": { "label": "Typ" }, + "maxheight": { + "label": "Maximale Höhe", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" + }, "maxspeed": { "label": "Höchstgeschwindigkeit", "placeholder": "40, 50, 60 …" @@ -1271,6 +1300,9 @@ "operator": { "label": "Betreiber" }, + "outdoor_seating": { + "label": "Außengastronomie" + }, "par": { "label": "Par", "placeholder": "3, 4, 5, 6" @@ -1363,7 +1395,7 @@ "recycling_type": { "label": "Recycling Typ", "options": { - "centre": "Recycling Zentrum", + "centre": "Wertstoffhof", "container": "Container" } }, @@ -1430,7 +1462,7 @@ "crossover": "Überleitgleis", "siding": "Überhol-/Ausweichgleis", "spur": "Anschluss-/Ladegleis", - "yard": "Rangier-/Abstellgleis" + "yard": "Nebengleich (Rangier-/Abstellgleis)" } }, "shelter": { @@ -1523,6 +1555,20 @@ "surface": { "label": "Oberfläche" }, + "surveillance": { + "label": "Überwachungsort" + }, + "surveillance/type": { + "label": "Überwachungstyp", + "options": { + "ALPR": "Automatischer Kennzeichner-Leser", + "camera": "Kamera", + "guard": "Wachmann" + } + }, + "surveillance/zone": { + "label": "Überwachungszone" + }, "tactile_paving": { "label": "Oberfläche mit Blindenleitsystem" }, @@ -1549,7 +1595,7 @@ }, "tower/construction": { "label": "Baustelle", - "placeholder": "Guyed, eingezäunt, verborgen, ...." + "placeholder": "Abgespannt, ummantelte oder Gittertrüme." }, "tower/type": { "label": "Typ" @@ -1600,6 +1646,9 @@ "street": "5 bis 20 Meter (16 bis 65 Fuß)" } }, + "wall": { + "label": "Typ" + }, "water": { "label": "Typ" }, @@ -1824,6 +1873,10 @@ "name": "Coworking Platz", "terms": "Coworking Platz, Coworking Büro, Coworking Firma" }, + "amenity/crematorium": { + "name": "Krematorium", + "terms": "Krematorium, Feuerhalle, Einäscherungshalle" + }, "amenity/dentist": { "name": "Zahnarzt", "terms": "Zahnarzt, Dentist, Stomatologe" @@ -1856,6 +1909,10 @@ "name": "Feuerwehrhaus", "terms": "Feuerwehr,Feuerwehrstation,Feuerwache,Feuerwehrhaus,Feuerwehrgerätehaus,Feuerwehrstandort" }, + "amenity/food_court": { + "name": "Gemeinschafts-Gastgarten", + "terms": "Gemeinschafts-Gastgarten, gemeinsamer Gastgarten, Selbstbedienungs-Gastgarten für mehrere Lokale" + }, "amenity/fountain": { "name": "Springbrunnen", "terms": "Springbrunnen, Wasserspiel" @@ -1981,7 +2038,7 @@ "terms": "Recyclingcontainer, Abfallwiederverwertung, Container, Abfall, Müll" }, "amenity/recycling_centre": { - "name": "Recycling Zentrum", + "name": "Wertstoffhof", "terms": "Recycling Zentrum, Abfallwirtschaftszentrum, Abfallsammelstelle, Abfallwirtschaftshof" }, "amenity/register_office": { @@ -2331,8 +2388,8 @@ "terms": "Lagerhaus, Lagergebäude" }, "camp_site/camp_pitch": { - "name": "Campingplatz", - "terms": "Campingplatz, Zeltplatz" + "name": "Camping Stellplatz", + "terms": "Campingplatz, Zeltplatz, Stellplatz" }, "craft": { "name": "Handwerker", @@ -2379,8 +2436,8 @@ "terms": "Uhrmacher" }, "craft/confectionery": { - "name": "Konditorei", - "terms": "Konditorei, Feinbäckerei, Süßwarengeschäft" + "name": "Süßwarengeschäft", + "terms": "Pralinengeschäft,Süßwarengeschäft,Bonbonladen" }, "craft/dressmaker": { "name": "Damenschneiderei", @@ -2767,6 +2824,10 @@ "name": "Feld-/Waldweg", "terms": "Wirtschaftsweg, Feldweg, Waldweg, Forststraße, primitive Straße, nicht ausgebaute Straße, verfallene Straße" }, + "highway/traffic_mirror": { + "name": "Verkehrsspiegel", + "terms": "Verkehrsspiegel, Trixi-Spiegel" + }, "highway/traffic_signals": { "name": "Eine oder mehrere Ampeln", "terms": "Ampel, Ampeln, Lichtzeichenanlage, Lichtsignalanlage, Verkehrslichtsignalanlage" @@ -2946,6 +3007,10 @@ "name": "öffentliche Fläche, Allmende", "terms": "öffentliche Grünfläche, Allmende, Allmeind" }, + "leisure/dance": { + "name": "Tanzsaal", + "terms": "Tanzlokal, Tanzhalle, Tanzboden, Tanzdiele, Tanzpalast, Tanzsaal, Tanzhaus" + }, "leisure/dog_park": { "name": "Hundepark", "terms": "Hundefreilaufzone, Hundeauslaufzone, Hundezone, Hundeauslaufplatz" @@ -3046,6 +3111,10 @@ "name": "Spielplatz", "terms": "Spielplatz, Kinderspielplatz" }, + "leisure/resort": { + "name": "Resort", + "terms": "Resort, touristische Hotelanlage" + }, "leisure/running_track": { "name": "Laufbahn", "terms": "Laufbahn, Tartanbahn" @@ -3161,6 +3230,10 @@ "name": "Überwachungskamera", "terms": "Überwachungskamera, Überwachungseinrichtung" }, + "man_made/surveillance_camera": { + "name": "Überwachungskamera", + "terms": "Überwachungskamera, Alarmkamera" + }, "man_made/survey_point": { "name": "Vermessungspunkt", "terms": "Trigonometrischer Punkt, Geodätischer Festpunkt" @@ -4043,11 +4116,15 @@ }, "tourism/alpine_hut": { "name": "Berghütte", - "terms": "Berghütte,Almhütte,Alm,Schutzhütte,Schutzhaus,Hospiz,Winterraum" + "terms": "Alpenvereinshütte,Berghütte,Schutzhütte,Schutzhaus,Hospiz," }, "tourism/apartment": { - "name": "Ferienwohnung / Eigentumswohnung", - "terms": "Ferienwohnung / Eigentumswohnung, Gästewohnung, Gästeapartment" + "name": "Ferienwohnung", + "terms": "Ferienwohnung, Gästewohnung, Gästeapartment" + }, + "tourism/aquarium": { + "name": "Aquarium", + "terms": "Aquarium, Aquarienhaus" }, "tourism/artwork": { "name": "Kunst", @@ -4067,7 +4144,7 @@ }, "tourism/chalet": { "name": "Ferienhaus", - "terms": "Landhaus, Ferienhaus, Sennhütte, Chalet" + "terms": "Ferienhaus, Chalet" }, "tourism/gallery": { "name": "Kunstgallerie", diff --git a/dist/locales/es.json b/dist/locales/es.json index 88c48a58f..e41b5372d 100644 --- a/dist/locales/es.json +++ b/dist/locales/es.json @@ -979,6 +979,9 @@ "fee": { "label": "Tarifado" }, + "fence_type": { + "label": "Tipo" + }, "fire_hydrant/type": { "label": "Tipo", "options": { @@ -1077,6 +1080,9 @@ "internet_access/fee": { "label": "Pago por acceso a Internet" }, + "internet_access/ssid": { + "label": "SSID (nombre de red)" + }, "kerb": { "label": "Rampa de bordillo/cordón" }, @@ -1152,11 +1158,15 @@ "label": "Tipo" }, "map_size": { - "label": "Covertura" + "label": "Cobertura" }, "map_type": { "label": "Tipo" }, + "maxheight": { + "label": "Altura máxima", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" + }, "maxspeed": { "label": "Límite de velocidad", "placeholder": "40, 50, 60..." @@ -1271,6 +1281,9 @@ "operator": { "label": "Operador" }, + "outdoor_seating": { + "label": "Asientos al aire libre" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." @@ -1600,6 +1613,9 @@ "street": "5 a 20 m (16 a 65 ft)" } }, + "wall": { + "label": "Tipo" + }, "water": { "label": "Tipo" }, @@ -2767,6 +2783,10 @@ "name": "Pista o camino rural", "terms": "camino, senda, sendero, calle, vía, pista, rural, forestal, agrícola, campo, sin mantenimiento, offroad, jeep, doble tracción, tractor, 4x4, atv, cuadrimotor, quadratrack, con huella" }, + "highway/traffic_mirror": { + "name": "Espejo de tráfico", + "terms": "espejo, convexo, cóncavo, curvo, redondo, circular, esférico, espejo de esquina, espejo de visibilidad, espejo de intersección" + }, "highway/traffic_signals": { "name": "Semáforos", "terms": "semáforo, señal de tráfico, luces de tráfico, luces de señalización, luces de parado, señal, tráfico, tránsito, control" @@ -2946,6 +2966,10 @@ "name": "Tierras comunes -Reino Unido-", "terms": "tierras comunales, terreno comunal, comunal, tierras comunes" }, + "leisure/dance": { + "name": "Salón de baile", + "terms": "sala de baile, pista de baile, baile de salón, bolero, conga, cha-cha-chá, fox-trot, mambo, son cubano, meregue, milonga, pasodoble, polka, rock and roll, rumba, swing, tango, vals, jive" + }, "leisure/dog_park": { "name": "Parque canino", "terms": "perro, can, parque de perros" @@ -3046,6 +3070,10 @@ "name": "Zona de juegos", "terms": "parque infantil, área de juegos, zona de juegos, juegos, infantil, niños, niñas, plaza, parque" }, + "leisure/resort": { + "name": "Complejo turístico", + "terms": "resort, estación turística, resort de destino, estación de esquí, balneario, estación de todo incluido, turismo" + }, "leisure/running_track": { "name": "Pista de atletismo", "terms": "circuito de running, pista de carreras, running, atletismo" @@ -4049,6 +4077,10 @@ "name": "Apartamento de huéspedes", "terms": "apartamento, piso, condominio, bloque, huéspedes, invitados" }, + "tourism/aquarium": { + "name": "Acuario", + "terms": "acuario público, peces, océano, agua" + }, "tourism/artwork": { "name": "Obra de arte", "terms": "obra de arte, pieza de arte, pintura, escultura, mural, pintada, estatua" @@ -4091,19 +4123,19 @@ }, "tourism/information/board": { "name": "Tablero de información", - "terms": "Tablero de información, información turística, cartel" + "terms": "tabla, tablón, cuadro, cartel, información, informativo, información turística" }, "tourism/information/guidepost": { "name": "Poste guía", - "terms": "Poste guía, columna, carteles, información" + "terms": "poste indicador, cartel, información, dirección, indicación" }, "tourism/information/map": { "name": "Mapa", - "terms": "Mapa, mapa turístico, información" + "terms": "plano, croquis, cartel, información, indicación" }, "tourism/information/office": { "name": "Oficina de información turística", - "terms": "Oficina de Información turística, Información turística, Información, Guía, turismo" + "terms": "oficina, guía, caseta, puesto, turismo, información turística, información turismo, información cultural, actividad turística, actividad de recreación, actividad de ocio" }, "tourism/motel": { "name": "Motel", diff --git a/dist/locales/fa.json b/dist/locales/fa.json index d8f6c1d39..82e861053 100644 --- a/dist/locales/fa.json +++ b/dist/locales/fa.json @@ -337,6 +337,7 @@ "switch": "بازگشت به این پس‌زمینه", "custom": "سفارشی", "custom_button": "ویرایش پشت زمینه سفارشی", + "custom_prompt": "آدرس یک قالب تایل را وارد کنید. ورودی‌های درست {z}, {x}, {y} هستند برای الگوی Z/X/Y و {u} برای طرح چهار کاشی.", "fix_misalignment": "تنظیم فاصله تصویری", "imagery_source_faq": "منبع این تصویر کجاست؟", "reset": "باز نشاندن", @@ -524,14 +525,14 @@ "help": { "title": "راهنمایی", "help": "#راهنمایی\n\nاین یک ویرایشگر برای [OpenStreetMap](http://www.openstreetmap.org/) است،\nنقشه ای رایگان و قابل ویرایش از جهان. شما میتوانید از آن برای افزودن و بروزرسانی\nداده ها در ناحیه‌تان استفاده کنید، ساختن نقشه ی منبع‌باز و داده‌باز از جهان\nبرای همه بهتر است.\n\nویرایش هایی که شما در این نقشه می سازید برای هر کسی که از OpenStreetMap استفاده میکند قابل استفاده است. برای ایجاد یک ویرایش، شما نیاز دارید که یک\n[حساب رایگان OpenStreetMap](https://www.openstreetmap.org/user/new) داشته باشید.\n\n[ویرایشگر ID](http://ideditor.com/) یک پروژه مشترک است که [منبع کد در GitHub\nموجود است](https://github.com/systemed/iD).\n", - "editing_saving": "# ویرایش و ذخیره کردن\n\nاین ویرایشگر طراحی شده تا کاملا آنلاین کار کند و از طریق وبسایت به آن دسترسی داشته باشید.\n\n### انتخاب عناصر\n\nبرای انتخاب یک عنصر نقشه، مانند یک جاده یا یک نقطه؛ بر روی آن در نقشه کلیک کنید. این کار باعث می‌شود تا آن عنصر پررنگ شود و یک کادر جزئیات در کنار صفحه در مورد آن باز شود و یک منو از عملیات‌هایی که می‌توانید با این عنصر انجام دهید را مشاهده کنید.\n\nبرای انتخاب چند عنصر، کلید shift را پایین نگه دارید. سپس همزمان بر روی عنصر دوم کلیک کنید. یک مستطیل ظاهر می‌شود. با موس محدوده‌ای مشخص را انتخاب کنید تا تمامی عناصر درون مستطیل انتخاب شوند.\n\n\n### ذخیره کردن ویرایش‌ها\n\nزمانی که شما تغیراتی را مانند ویرایش جاده‌ها، ساختمان‌ها و مکان‌ها انجام می‌دهید، این‌ها به صورت محلی ذخیره می‌شوند تا هنگامی که آن‌ها را به سرور بفرستید. نگران نباشید اگر اشتباهی انجام دادید. شما می‌توانید با آندو و ریدو کردن تغیرات را به عقب برگردانید.\n\nبرای اتمام یک سری از تغیرات بر روی دکمه‌ی 'ذخیره' کلیک کنید، هنگامی که تغیرات مربوط به محلی را اتمام و می‌خواهید محل دیگری را ویرایش کنید. شما امکان این را دارید تا تغیراتی را که انجام داده‌اید را بازبینی کنید و همچنین ویرایشگر پیشنهادات و هشدارهایی به شما می‌دهد اگر مشکلی در این تغیرات دیده شود.\n\n\nاگر همه چیز خوب به نظر برسد، شما میتوانید یک دیدگاه کوتاه که توضیح دهد چه کاری انجام داده‌اید وارد کنید و بر روی دکمه‌ی 'ذخیره' کلیک کنید تا تغیرات در [OpenStreetMap.org](http://www.openstreetmap.org/) ذخیره شود. جایی که برای تمامی کاربران دیگر نیز قابل مشاهده است.\n\nاگر شما نمی‌توانید ویرایش خود را تکمیل کنید، میتوانید ویرایشگر را رها کنید و در آینده برگردید (در همان رایانه و مرورگر) و ویرایشگر به شما امکان می‌دهد تغیرات پیشین خود را بازیابی کنید.\n\n\n### استفاده از ویرایشگر\n\nیک فهرست از میانبرهای صفحه‌کلید در [اینجا](http://wiki.openstreetmap.org/wiki/ID/Shortcuts) قابل مشاهده است.\n\n\n\n", + "editing_saving": "# ویرایش و ذخیره کردن\n\nاین ویرایشگر طراحی شده تا کاملا آنلاین کار کند و از طریق وبسایت به آن دسترسی داشته باشید.\n\n### انتخاب عناصر\n\nبرای انتخاب یک عنصر نقشه، مانند یک جاده یا یک نقطه؛ بر روی آن در نقشه کلیک کنید. این کار باعث می‌شود تا آن عنصر پررنگ شود و یک کادر جزئیات در کنار صفحه در مورد آن باز شود و یک منو از عملیات‌هایی که می‌توانید با این عنصر انجام دهید را مشاهده کنید.\n\nبرای انتخاب چند عنصر، کلید shift را پایین نگه دارید. سپس همزمان بر روی عنصر دوم کلیک کنید. یک مستطیل ظاهر می‌شود. با موس محدوده‌ای مشخص را انتخاب کنید تا تمامی عناصر درون مستطیل انتخاب شوند.\n\n\n### ذخیره کردن ویرایش‌ها\n\nزمانی که شما تغیراتی را مانند ویرایش جاده‌ها، ساختمان‌ها و مکان‌ها انجام می‌دهید، این‌ها به صورت محلی ذخیره می‌شوند تا هنگامی که آن‌ها را به سرور بفرستید. نگران نباشید اگر اشتباهی انجام دادید. شما می‌توانید با آندو و ریدو کردن تغیرات را به عقب برگردانید.\n\nبرای اتمام یک سری از تغیرات بر روی دکمه‌ی 'ذخیره' کلیک کنید، هنگامی که تغیرات مربوط به محلی را اتمام و می‌خواهید محل دیگری را ویرایش کنید. شما امکان این را دارید تا تغیراتی را که انجام داده‌اید را بازبینی کنید و همچنین ویرایشگر پیشنهادات و هشدارهایی به شما می‌دهد اگر مشکلی در این تغیرات دیده شود.\n\n\nاگر همه چیز خوب به نظر برسد، شما میتوانید یک دیدگاه کوتاه که توضیح دهد چه کاری انجام داده‌اید وارد کنید و بر روی دکمه‌ی 'ذخیره' کلیک کنید تا تغیرات در [OpenStreetMap.org](http://www.openstreetmap.org/) ذخیره شود. جایی که برای تمامی کاربران دیگر نیز قابل مشاهده است.\n\nاگر شما نمی‌توانید ویرایش خود را تکمیل کنید، میتوانید ویرایشگر را رها کنید و در آینده برگردید (در همان رایانه و مرورگر) و ویرایشگر به شما امکان می‌دهد تغیرات پیشین خود را بازیابی کنید.\n\n\n### استفاده از ویرایشگر\n\nیک فهرست از میانبرهای صفحه‌کلید در [اینجا](http://wiki.openstreetmap.org/wiki/ID/Shortcuts) قابل مشاهده است.\n\n\n\n", "roads": "# جاده ها\n\nشما میتوانید جاده ها را ایجاد کنید، تعمیر کنید، و حذف کنید به وسیله ی این ویرایشگر. جاده ها میتوانند همه نوعی باشند:\nپیاده روی، بزرگراه، راه آهن، راه موتور سیکلت، و بیشتر - هر چیزی که غالبا - برای عبور است\nباید نقشه شود.\n\n### انتخاب کردن\n\nروی جاده کلیک کنید تا انتخاب شود. طرح کلی باید قابل نمایش باشد، همراه\nیک منوی ابزار کوچک روی نقشه و یک نوار کناری نشان میدهد اطلاعات بیشتری\nدرباره جاده.\n\n### اصلاح کردن\n\nاغلب جاده هایی که میبینید با تصاویر نقشه نگاری پشت سرشان یا پیگیری GPS\nهم طراز نیستند. شما میتوانید این جاده ها را در مکان درستشان تطبیق\nدهید.\n\nاولین کلیک روی نقشه شما میخواهید تغییر دهید. اینکار آنرا برجسته میکند و نقاط\nکنترل را نشان میدهد شما میتوانید آنرا به مکان بهتری بکشید. اگر\nبخواهید نقاط کنترل جدید بیشتری برای اطلاعات بیشتر اضافه کنید، روی قسمتی\nاز نقشه که بدون گره است دوبار کلیک کنید، و یکی اضاف خواهد شد.\n\nاگر جاده به جاده های دیگر متصل باشد، اما روی نقشه به درستی\nمتصل نباشد، شما میتوانید یکی از نقاط کنترل را بکشید به سایر جاده ها برای\nفراهم کردن پیوستن آنها. داشتن جاده های پیوسته و متصل برای نقشه مهم است\nو ارائه دستورالعمل ها ی رانندگی ضروری است.\n\nهمچنین میتوانید روی ابزار 'انتقال' کلیک کنید یا کلید میانبر `M` را فشار دهید تا همه جاده یک بار منتقل\nشود، و بعد دوباره کلیک کنید تا جابجایی ذخیره شود.\n\n### حذف کردن\n\nاگر جاده کامل اشتباه است - میتوانید ببینید که در تصویر ماهواره ای موجود نیست و بصورت ایده آل\nبطور محلی پذیرفته شده که در حال حاضر موجود نیست - شما میتوانید\nآنرا حذف کنید، با پاک کردن آن از نقشه. هنگام حذف عنصر محتاط باشید-\nشبیه هر ویرایش دیگری، نتایج توسط هر کسی دیده میشود تصاویر ماهواره ای غالبا تاریخ گذشته اند،\nپس ممکن است به طور ساده جاده جدیدا ساخته شده باشد.\n\nشما میتوانید جاده ای را حذف کنید با کلیک روی آن و انتخاب آن، سپس کلیک روی آیکون سطل زباله\nیا فشار دکمه ی 'Delete'.\n\n### ایجاد کردن\n\nجاهایی یافت میشوند که باید جاده باشند ولی اینگونه نیست؟ روی آیکون 'خط'\nدر بالا سمت چپ ویرایشگر کلیک کنید یا کلید میانبر`2` را فشار دهید\nتا کشیدن یک خط شروع شود.\n\nبرای شروع کشیدن روی ابتدای جاده کلیک کنید. اگر جاده\nشاخه ای از جاده ی موجود باشد، با کلیک روی مکانی که به هم متصل اند شروع کنید.\n\nسپس روی نقاط در امتداد جاده کلیک کنید به طوری که از مسیر سمت راست ، طبق تصاویر ماهواره ای\nیا GPS پیروی کند. اگر جاده ی در حال کشیدن شما از سایر جاده ها میگذرد، با کلیک\nروی نقطه تقاطع آنرا متصل کنید. وقتی کشیدنتان انجان شد، دوبار کلیک کنید\nیا 'بازگشت' را فشار دهید یا روی صفحه کلید 'Enter' را فشار دهید.\n", - "gps": "# جی‌پی‌اس\n\nردیابی‌های جی‌پی‌اس جمع‌آوری شده یکی از منابع ارزشمند برای اوپن‌استریت‌مپ هستند.\nاین ویرایشگر از ردیابی‌های محلی (پرونده‌های `.gpx`) پشتیبانی می‌کند.\nشما می‌توانید این نوع ردیابی‌ها را با بعضی از نرم‌افزارهای تلفن‌های هوشمند یا سخت‌افزارهای GPS ضبط کنید.\n\nبرای اطلاعات بیشتر در این موارد و چگونگی اجرای این کار میتوانید آموزش [نقشه‌کشی با گوشی هوشمند، دستگاه GPS و یا نقشه کاغذی](http://learnosm.org/fa/mobile-mapping/) را بخوانید.\n\nبرای استفاده از یک ردیابی GPX، فایل را به داخل ویرایشگر بکشید.\nاگر فایل GPX شناسایی بشود، مسیرهای آن به شکل خطوط بنفشی روشن در نقشه نشان داده می‌شوند. در منوی سمت راست صفحه بر روی گذینه‌ی 'Map Data' کلیک کنید تا تنظیمات این لایه GPX را مشاهده کنید.\n\nThe GPX track isn't directly uploaded to OpenStreetMap - the best way to\nuse it is to draw on the map, using it as a guide for the new features that\nyou add, and also to [upload it to OpenStreetMap](http://www.openstreetmap.org/trace/create)\nfor other users to use.\n\n", + "gps": "# جی‌پی‌اس\n\nردیابی‌های جی‌پی‌اس جمع‌آوری شده یکی از منابع ارزشمند برای اوپن‌استریت‌مپ هستند.\nاین ویرایشگر از ردیابی‌های محلی (پرونده‌های `.gpx`) پشتیبانی می‌کند.\nشما می‌توانید این نوع ردیابی‌ها را با بعضی از نرم‌افزارهای تلفن‌های هوشمند یا سخت‌افزارهای GPS ضبط کنید.\n\nبرای اطلاعات بیشتر در این موارد و چگونگی اجرای این کار میتوانید آموزش [نقشه‌کشی با گوشی هوشمند، دستگاه GPS و یا نقشه کاغذی](http://learnosm.org/fa/mobile-mapping/) را بخوانید.\n\nبرای استفاده از یک ردیابی GPX، فایل را به داخل ویرایشگر بکشید.\nاگر فایل GPX شناسایی بشود، مسیرهای آن به شکل خطوط بنفشی روشن در نقشه نشان داده می‌شوند. در منوی سمت راست صفحه بر روی گذینه‌ی 'Map Data' کلیک کنید تا تنظیمات این لایه GPX را مشاهده کنید.\n\nردیابی‌های جی‌پی‌اکس مستقیما به او‌اس‌ام بارگذاری نمیشوند. بهترین راه برای تبدیل آن‌ها، استفاد از آن‌ها به عنوان راهنمایی برای ایجاد مسیر دستی است. همچنین میتوانید صفحه [بارگزاری به او‌اس‌ام](http://www.openstreetmap.org/trace/create) را مطالعه کنید.\n", "imagery": "# تصاویر هوایی\n\nتصاویر هوایی یک منبع مهمبرای نقشه‌کشی هستند. یک مجموعه از تصاویر و نقشه‌های هوایی و ماهواره‌ای رایگان در منوی سمت راست و بخش the 'Background Settings' وجود دارند.\n\nبه طور پیشفرض تصاویر ماهواره‌ای [نقشه بینگ](http://www.bing.com/maps/) در پس‌زمینه قرار دارند، اما به محض زوم کردن و جابجایی در نقشه منابع دیگر نیز در دسترس خواهند بود. بعضی کشورها مانند ایالات متحده، فرانسه و دانمارک در بعضی ناحیه‌ها دارای تصاویر بسیار باکیفیت هوایی هستند.\n\nتصاویر گاهی اوقات به علت خطا در سرور ارائه دهنده با موقعیت واقعی اختلاف دارند. اگر شما مسیر‌های بسیاری می‌بینید که با تصویر پس‌زمینه فاصله دارند، به هیچ عنوان بدون تحقیق آنها را با توجه به پس‌زمینه انتقال ندهید! به جای این کار می‌توانید پس از مطلع شدن از اختلاف تصاویر، آن‌ها را با کلیک بر روی دکمه‌ی 'Fix alignment' تنظیم کنید.\n", "addresses": "# آدرس ها\n\nآدرس ها مقداری از اطلاعات بسیار سودمند برای نقشه هستند.\n\nاگرچه آدرس ها اغلب بعنوان بخش هایی از جاده نمایان میشوند، در OpenStreetMap\nآنها بعنوان ویژگی هایی از ساختمان ها و مکان ها در امتداد خیابان ها ثبت میشوند.\n\nشما میتوانید اطلاعات آدرس را به مکان های نقشه شده بعنوان خطوط اضافه ساخته شده و\nهمچنین آنهایی که بعنوان یک نقطه نقشه شده اند اضافه کنید. منبع مناسب برای داده های آدرس\nبررسی بر روی زمین و دانش شخصی است -مثل هر ویژگی دیگری،\nکپی برداری از منابع تجاری مثل نقشه های گوگل به شدت\nممنوع است.\n", "inspector": "# Using the Inspector\n\nThe inspector is the section on the left side of the page that allows you to\nedit the details of the selected feature.\n\n### Selecting a Feature Type\n\nAfter you add a point, line, or area, you can choose what type of feature it\nis, like whether it's a highway or residential road, supermarket or cafe.\nThe inspector will display buttons for common feature types, and you can\nfind others by typing what you're looking for in the search box.\n\nClick the 'i' in the bottom-right-hand corner of a feature type button to\nlearn more about it. Click a button to choose that type.\n\n### Using Forms and Editing Tags\n\nAfter you choose a feature type, or when you select a feature that already\nhas a type assigned, the inspector will display fields with details about\nthe feature like its name and address.\n\nBelow the fields you see, you can click the 'Add field' dropdown to add\nother details, like a Wikipedia link, wheelchair access, and more.\n\nAt the bottom of the inspector, click 'Additional tags' to add arbitrary\nother tags to the element. [Taginfo](http://taginfo.openstreetmap.org/) is a\ngreat resource for learn more about popular tag combinations.\n\nChanges you make in the inspector are automatically applied to the map.\nYou can undo them at any time by clicking the 'Undo' button.\n", "buildings": "# ساختمان ها\n\nOpenStreetMap یک دیتابیس عظیم جهان از ساختمان ها است. شما میتوانید\nاین دیتابیس را بسازید و بهبود بخشید.\n\n### انتخاب کردن\n\nمیتوانید با کلیک روی مرز ساختمان آن را انتخاب کنید. اینکار ساختمان را\nبرجسته میکند و یک منو ابزار کوچک باز میکند همجنین یک نوار کناری اطلاعات بیشتری\nدرباره ی ساختمان نشان میدهد.\n\n### اصلاح کردن\n\nگاهی اوقات ساختمان ها نادرست جاگذاری شده اند یا برچسب نادرست دارند.\n\nبرای انتقال کل ساختمان، آنرا انتخاب کنید، بعد روی ابزار 'انتقال' کلیک کنید. موس تان\nرا برای تغییر ساختمان حرکت دهید، و وقتی به درستی جایگذاری شد کلیک کنید.\n\nبرای تعمیر قسمت خاصی از ساختمان، روی گره هایی که مرز را مشخص میکنند کلیک کنید\nو آنها را به مکان بهتری بکشید.\n\n### ایجاد کردن\n\nیکی از موضوعات اصلی پیرامون افزودن ساختمان ها به نقشه این است که\nOpenStreetMap ساختمان ها را هم بصورت نقاط و هم شکل ها ثبت میکند. قاعده کلی برای\n_نقشه کردن ساختمان ها بصورت شکل هر وقت ممکن باشد_ این است، و نقشه کردن شرکت ها، خانه ها،\nامکانات رفاهی، و چیزهای دیگری که به عنوان ساختمان کاربرد دارند قرار گرفتن نقاط با شکل\nساختمان است\n\nکشیدن ساختمان بصورت شکل را شروع کنید با کلیک روی کلید 'فضا' در بالا سمت چپ\nرابط کاربری، و به آن پایان دهید توسط فشار دادن دکمه ی 'بازگشت' در صفحه کلیدتان\nیا کلیک روی اولین گره کشیده شده تا شکل بسته شود.\n\n### حذف کردن\n\nاگر ساختمانی کاملا نادرست است- میتوانید ببینید که در تصویر ماهواره ای\nموجود نیست و ایده آل تر بصورت محلی پذیرفته شده که موجود نیست - میتوانید\nآن را حذف کنید، با پاک کردن آن از نقشه. هنگام حذف عنصر محتاط باشید\nشبیه هر ویرایش دیگری، نتایج توسط هر کسی دیده میشود و تصاویر ماهواره ای\nغالبا تاریخ گذشته است، پس بطور ساده ممکن است ساختمان جدیدا ساخته شده.\n\nمیتوانید یک ساختمان را حذف کنید با کلیک روی آن و انتخاب آن، سپس\nروی آیکون سطل زباله کلیک کنید یا کلید 'Delete' را فشار دهید.\n", - "relations": "# Relations\n\nA relation is a special type of feature in OpenStreetMap that groups together\nother features. For example, two common types of relations are *route relations*,\nwhich group together sections of road that belong to a specific freeway or\nhighway, and *multipolygons*, which group together several lines that define\na complex area (one with several pieces or holes in it like a donut).\n\nThe group of features in a relation are called *members*. In the sidebar, you can\nsee which relations a feature is a member of, and click on a relation there\nto select the it. When the relation is selected, you can see all of its\nmembers listed in the sidebar and highlighted on the map.\n\nFor the most part, iD will take care of maintaining relations automatically\nwhile you edit. The main thing you should be aware of is that if you delete a\nsection of road to redraw it more accurately, you should make sure that the\nnew section is a member of the same relations as the original.\n\n## Editing Relations\n\nIf you want to edit relations, here are the basics.\n\nTo add a feature to a relation, select the feature, click the \"+\" button in the\n\"All relations\" section of the sidebar, and select or type the name of the relation.\n\nTo create a new relation, select the first feature that should be a member,\nclick the \"+\" button in the \"All relations\" section, and select \"New relation...\".\n\nTo remove a feature from a relation, select the feature and click the trash\nbutton next to the relation you want to remove it from.\n\nYou can create multipolygons with holes using the \"Merge\" tool. Draw two areas (inner\nand outer), hold the Shift key and click on each of them to select them both, and then\nclick the \"Merge\" (+) button.\n" + "relations": "# روابط\n\nرابطه نوع خاصی از ویژگی در نقشه شهری باز است که ویژگی های دیگر را با هم به شکل گروه در می آورد. به عنوان مثال، دو نوع رایج از روابط \"روابط مسیر\"که بخش های مختلف جاده، متعلق به یک آزادراه یا بزرگراه را به هم مرتبط می سازند و همچنین \"چند ضلعی های متعدد\" که گروهی از چند خط تعریف کننده یک منطقه پیچیده هستند (چند تکه یا سوراخ دار مانند شیرینی دونات).\nاین گروه از ویژگی های درون یک رابطه \"اعضا\" نامیده می شوند. در نوار کناری، می توانید ببینید یک ویژگی عضو کدام روابط است و با کلیک بر روی یک رابطه، آن را انتخاب نمایید. هنگامی که رابطه انتخاب شد، می توانید تمام اعضای آن را ببینید، فهرستی در نوار کناری و نقاط برجسته بر روی نقشه.\nدر اکثر موارد، هنگام ویرایش،iD روابط را به صورت خودکار حفظ می کند. نکته اصلی که باید به یاد داشته باشید این است که اگر بخشی از جاده را حذف نمودید تا دوباره ترسیم دقیق تری انجام دهید، باید مطمئن شوید که بخش جدید عضوی از همان روابط اصلی باشد.\n##ویرایش روابط\n\nاگر می خواهید روابط را ویرایش کنید، اصول اولیه از این قرارند.\nبرای افزودن یک ویژگی به یک رابطه، آن ویژگی را انتخاب کنید، دربخش \"تمام روابط\" پایین نوار کناری، روی \"+\" کلیک کنید و رابطه را انتخاب کنید یا نامش را وارد نمایید.\nبرای ایجاد یک رابطه جدید، اولین ویژگی که می بایست عضو باشد را انتخاب کنید، در بخش \"تمام روابط\" پایین نوار کناری، روی \"+\" کلیک کنید و گزینه \"رابطه جدید ...\" را انتخاب نمایید.\nبرای حذف یک ویژگی از یک رابطه، ویژگی را انتخاب کنید و روی دکمه سطل زباله کنار رابطه ای که می خواهید حذفش کنید، کلیک کنید.\nبرای ایجاد \"چندوجهی های متعدد و یا سوراخ دار\"، می توانید از ابزار \"ادغام\" استفاده کنید. دو منطقه (درونی و بیرونی) را رسم کنید، با نگه داشتن کلید Shift و کلیک بر روی هر یک از آنها، انتخابشان کنید و سپس با روی \"ادغام\" (+) کلیک کنید.\n" }, "intro": { "done": "انجام شده", @@ -1076,6 +1077,9 @@ "internet_access/fee": { "label": "هزینهٔ دسترسی به اینترنت" }, + "internet_access/ssid": { + "label": "SSID (نام شبکه)" + }, "kerb": { "label": "سطح شیبدار جدول" }, @@ -1270,6 +1274,9 @@ "operator": { "label": "اپراتور" }, + "outdoor_seating": { + "label": "صندلی در فضای باز" + }, "par": { "label": "برابری", "placeholder": "3, 4, 5..." @@ -1547,7 +1554,8 @@ "label": "نوع" }, "tower/construction": { - "label": "ساخت و ساز" + "label": "ساخت و ساز", + "placeholder": "دکل مهاری، مشبک، مخفی..." }, "tower/type": { "label": "نوع" @@ -2765,6 +2773,10 @@ "name": "جاده خاکی رها شده", "terms": "راه خاکی، راه جنگلی، راه روستایی، مسیر تراکتور" }, + "highway/traffic_mirror": { + "name": "آینه ترافیکی", + "terms": "آینه‌ی رفت‌آمد" + }, "highway/traffic_signals": { "name": "چراغ راهنمایی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'چراغ راهنمایی'، با کاما جدا می‌شوند>" @@ -2781,6 +2793,10 @@ "name": "بنبست قابل دور زدن", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بنبست قابل دور زدن'، با کاما جدا می‌شوند>" }, + "highway/turning_loop": { + "name": "Turning Loop (Island)", + "terms": "حلقه برگردان (ایسلند)" + }, "highway/unclassified": { "name": "جاده طبقه‌بندی نشده/جزئی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'جاده طبقه‌بندی نشده/جزئی'، با کاما جدا می‌شوند>" @@ -2940,6 +2956,10 @@ "name": "عمومی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'عمومی'، با کاما جدا میشوند>" }, + "leisure/dance": { + "name": "سالن رقص", + "terms": "تالار رقص" + }, "leisure/dog_park": { "name": "پارک سگ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پارک سگ‌ها'، با کاما جدا می‌شوند>" @@ -3040,6 +3060,10 @@ "name": "زمین بازی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'زمین بازی'، با کاما جدا می‌شوند>" }, + "leisure/resort": { + "name": "پر رفت‌آمد", + "terms": "مکان پررفت‌آمد, اماکن پر رفت آمد,مکان‌های مطرح" + }, "leisure/running_track": { "name": "پیست دو و میدانی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیست دو و میدانی'، با کاما جدا می‌شوند>" @@ -4043,6 +4067,10 @@ "name": "آپارتمان مهمان / کاندو", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آپارتمان مهمان / کاندو'، با کاما جدا می‌شوند>" }, + "tourism/aquarium": { + "name": "آکواریوم", + "terms": "آکواریوم ماهی" + }, "tourism/artwork": { "name": "اثر هنری", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اثر هنری'، با کاما جدا می‌شوند>" @@ -4087,6 +4115,10 @@ "name": "تابلوی اطلاعات", "terms": "صفحه‌ی اطلاعات" }, + "tourism/information/guidepost": { + "name": "تابلو راهنمایی", + "terms": "تابلو اعلانات, تابلو اطلاعات" + }, "tourism/information/map": { "name": "نقشه", "terms": "نگاشت" diff --git a/dist/locales/fi.json b/dist/locales/fi.json index f333eee0f..3617743d5 100644 --- a/dist/locales/fi.json +++ b/dist/locales/fi.json @@ -773,6 +773,9 @@ "bin": { "label": "Jäteastia" }, + "board_type": { + "label": "Tyyppi" + }, "boundary": { "label": "Tyyppi" }, @@ -894,6 +897,9 @@ "description": { "label": "Kuvaus" }, + "dock": { + "label": "Tyyppi" + }, "drive_through": { "label": "Autokaista" }, @@ -1015,6 +1021,9 @@ "yes": "Kyllä" } }, + "internet_access/fee": { + "label": "Internet-yhteyden maksullisuus" + }, "lamp_type": { "label": "Tyyppi" }, @@ -1154,6 +1163,9 @@ "label": "Lyöntimääräsuositus", "placeholder": "3, 4, 5..." }, + "parallel_direction": { + "label": "Vaikuttaa kulkusuunnassa" + }, "park_ride": { "label": "Autoparkki" }, @@ -1169,6 +1181,9 @@ "underground": "Pysäköintiluola" } }, + "payment_multi": { + "label": "Maksutavat" + }, "phone": { "label": "Puhelinnumero", "placeholder": "+358 40 123 4567" @@ -1283,6 +1298,9 @@ "shop": { "label": "Tyyppi" }, + "site": { + "label": "Tyyppi" + }, "smoking": { "label": "Tupakointi", "options": { @@ -1323,6 +1341,9 @@ "sport_racing": { "label": "Urheilulaji" }, + "stop": { + "label": "Pysähtymissuunnat" + }, "structure": { "label": "Rakenne", "options": { @@ -1334,6 +1355,12 @@ }, "placeholder": "Tuntematon" }, + "studio": { + "label": "Tyyppi" + }, + "substation": { + "label": "Tyyppi" + }, "supervised": { "label": "Valvonta" }, @@ -1363,6 +1390,15 @@ "tourism": { "label": "Tyyppi" }, + "tower/type": { + "label": "Tyyppi" + }, + "traffic_calming": { + "label": "Tyyppi" + }, + "traffic_signals": { + "label": "Tyyppi" + }, "trail_visibility": { "label": "Havaittavuus", "options": { @@ -2847,6 +2883,10 @@ "railway/abandoned": { "name": "Hylätty rautatie" }, + "railway/crossing": { + "name": "Kevyenliikenteen tasoristeys", + "terms": "tasoristeys, ylityspaikka, rautatie, radanylitys, jalankulku, pyöräily, jalan, pyörällä, pyörä, polkupyörä, polkupyörien, polkupyörän, pyörien, pyörän, suojatie" + }, "railway/disused": { "name": "Käyttämätön rautatie" }, @@ -2858,6 +2898,10 @@ "name": "Seisake", "terms": "rautatie, juna, junarata, pysäkki, asema, rautatieasema, VR" }, + "railway/level_crossing": { + "name": "Moottoriajoneuvoliikenteen tasoristeys", + "terms": "tasoristeys, ylityspaikka, rautatie, radanylitys, ajoneuvo, tie, katu, moottoriajoneuvo, ajoneuvo, auto" + }, "railway/monorail": { "name": "Monorail" }, @@ -3298,6 +3342,10 @@ "tourism/zoo": { "name": "Eläintarha" }, + "traffic_calming": { + "name": "Hidaste", + "terms": "hidastetöyssy, töyssy, kumpare, kumpu, raita, hidastus, hidaste, korotettu, korotus" + }, "traffic_calming/bump": { "name": "Hidastustöyssy" }, diff --git a/dist/locales/fr.json b/dist/locales/fr.json index 3766a74bd..c49e6ac1b 100644 --- a/dist/locales/fr.json +++ b/dist/locales/fr.json @@ -337,6 +337,7 @@ "switch": "Revenir à cet arrière-plan", "custom": "Personnalisé", "custom_button": "Modifier le fond personnalisé", + "custom_prompt": "Entrez un modèle d'URL de tuile. Les jetons valides sont {zoom}, {x}, {y} pour le schéma Z/X/Y et {u} pour le schéma quadtile.", "fix_misalignment": "Ajuster le décalage de l'imagerie", "imagery_source_faq": "D'où provient cette imagerie ?", "reset": "réinitialiser", @@ -430,7 +431,7 @@ "no_changes": "Aucune modification à sauvegarder", "error": "Des erreurs sont survenues en tentant de sauvegarder", "status_code": "Le serveur a renvoyé le code de statut {code}", - "unknown_error_details": "S'il vous plaît, assurez-vous d'être connecté à l'internet.", + "unknown_error_details": "Veuillez vérifier que votre ordinateur est connecté au réseau.", "uploading": "Envoi des modifications vers OpenStreetMap.", "unsaved_changes": "Vous avez des modifications non enregistrées", "conflict": { @@ -569,7 +570,7 @@ "title": "Navigation", "drag": "La vue principale montre les données OpenStreetMap par dessus un fond de carte. Vous pouvez naviguer au sein de la vue en faisant du cliquer-glisser, ou avec les barres de navigation, comme n'importe quelle carte sur Internet. **Faites glisser la carte !**", "select": "Les éléments cartographiques sont de trois types : les points, les lignes et les polygones. Chaque élément peut être sélectionné en cliquant dessus. **Cliquez sur le point pour le sélectionner.**", - "pane": "Lorsqu'un élément est sélectionné, l'éditeur d'éléments est affiché. L'entête nous indique que le type d'élément et le panneau principal nous montre les attributs de l'élément, tels que son nom et son adresse. **Fermez l'éditeur d'éléments en cliquant sur le {button} bouton de fermeture en haut à droite.**", + "pane": "Lorsqu'un élément est sélectionné, l'éditeur d'éléments est affiché. L'entête nous indique le type d'élément et le panneau principal nous montre les attributs de l'élément, tels que son nom et son adresse. **Fermez l'éditeur d'éléments en cliquant sur le {button} bouton de fermeture en haut à droite.**", "search": "Vous pouvez aussi rechercher des éléments pour la vue courante, ou le monde entier. **Recherchez '{name}'**", "choose": "** Choisissez {name} depuis la liste pour le selectionner. ** ", "chosen": "Super ! {name} est sélectionné. **Fermer l'éditeur d'élément en cliquant sur le bouton {button}.**" @@ -579,7 +580,7 @@ "add": "Les points sont utilisés pour représenter des éléments tels que des magasins, des restaurants ou des monuments. Ils indiquent une position précise, et décrivent ce qui s'y trouve. **Clickez sur le {button} bouton Point pour ajouter un nouveau point.**", "place": "Le point peut être placé en cliquant sur la carte. **Cliquez sur la carte pour positionner le nouveau point sur le bâtiment.**", "search": "De nombreux éléments peuvent être représentés par des points. Le point que vous venez d'ajouter est un café. \n**Cherchez '{name}'**", - "choose": "**Choisi Café dans la liste.**", + "choose": "**Choisissez Café dans la liste.**", "describe": "Le point est désormais marqué comme étant un café. Nous pouvons ajouter davantage d'informations grâce à l'éditeur d'élément. **Ajoutez un nom au café.**", "close": "L'éditeur d'élément enregistre automatiquement tous vos changements. Quand vous éditez une caractéristique, the bouton fermer se transforme en coche. **Cliquez sur le {button} bouton pour fermer l'éditeur d'élément.\"", "reselect": "En général, les points existent déjà, mais sont incomplets ou contiennent des erreurs. Il est possible de modifier un point existant. **Cliquez pour sélectionner le point que vous venez de créer.**", @@ -819,6 +820,19 @@ "building_area": { "label": "Bâtiment" }, + "camera/direction": { + "label": "Direction (en degrés dans le sens horaire)", + "placeholder": "45, 90, 180, 270" + }, + "camera/mount": { + "label": "Support de caméra" + }, + "camera/type": { + "label": "Type de caméra", + "options": { + "panning": "Panoramique" + } + }, "capacity": { "label": "Capacité", "placeholder": "50, 100, 200..." @@ -857,6 +871,10 @@ "construction": { "label": "Type" }, + "contact/webcam": { + "label": "URL de la Webcam", + "placeholder": "http://example.com/" + }, "content": { "label": "Contenu" }, @@ -947,7 +965,7 @@ "label": "Type" }, "drive_through": { - "label": "Drive-in" + "label": "Service Drive" }, "electrified": { "label": "Électrification", @@ -978,6 +996,9 @@ "fee": { "label": "Prix" }, + "fence_type": { + "label": "Type" + }, "fire_hydrant/type": { "label": "Type", "options": { @@ -1076,6 +1097,9 @@ "internet_access/fee": { "label": "Frais d'accès à Internet" }, + "internet_access/ssid": { + "label": "SSID (Nom du réseau)" + }, "kerb": { "label": "Bateau de trottoir" }, @@ -1156,6 +1180,10 @@ "map_type": { "label": "Type" }, + "maxheight": { + "label": "Hauteur maximum", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" + }, "maxspeed": { "label": "Vitesse maximale autorisée", "placeholder": "30, 50, 70, 90, etc." @@ -1270,6 +1298,9 @@ "operator": { "label": "Exploitant" }, + "outdoor_seating": { + "label": "Places en Terasse" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." @@ -1522,6 +1553,15 @@ "surface": { "label": "Revêtement" }, + "surveillance": { + "label": "Type de surveillance" + }, + "surveillance/type": { + "label": "Type de surveillance", + "options": { + "guard": "Gardien" + } + }, "tactile_paving": { "label": "Équipement de voirie podotactile" }, @@ -1547,7 +1587,8 @@ "label": "Type" }, "tower/construction": { - "label": "Construction" + "label": "Construction", + "placeholder": "Aubans, Treillis, Dissimulée, …" }, "tower/type": { "label": "Type" @@ -1598,6 +1639,9 @@ "street": "5 à 20m (16 à 65ft)" } }, + "wall": { + "label": "Type" + }, "water": { "label": "Type" }, @@ -1822,6 +1866,9 @@ "name": "Espace de bureaux partagés", "terms": "Espace de coworking,Lieu de coworking,Coworking,Espace de travail collaboratif" }, + "amenity/crematorium": { + "name": "Crématorium" + }, "amenity/dentist": { "name": "Dentiste", "terms": "Dentiste, Cabinet dentaire" @@ -1854,6 +1901,10 @@ "name": "Caserne de pompiers", "terms": "Station de pompiers, Caserne de pompiers" }, + "amenity/food_court": { + "name": "Zone de restauration", + "terms": "Aire de restauration" + }, "amenity/fountain": { "name": "Fontaine", "terms": "Fontaine" @@ -2591,10 +2642,12 @@ "terms": "Trou de golf" }, "golf/lateral_water_hazard_area": { - "name": "Obstacle d'eau latéral" + "name": "Obstacle d'eau latéral", + "terms": "zone d'eau latéral" }, "golf/lateral_water_hazard_line": { - "name": "Obstacle d'eau latéral" + "name": "Obstacle d'eau latéral", + "terms": "ligne d'eau latéral" }, "golf/rough": { "name": "Hautes herbes (golf)", @@ -2605,10 +2658,12 @@ "terms": "Tertre de départ" }, "golf/water_hazard_area": { - "name": "Obstacle d'eau" + "name": "Obstacle d'eau", + "terms": "zone d'eau" }, "golf/water_hazard_line": { - "name": "Obstacle d'eau" + "name": "Obstacle d'eau", + "terms": "ligne d'eau" }, "healthcare/blood_donation": { "name": "Centre de don du sang", @@ -2718,7 +2773,7 @@ "terms": "Allée" }, "highway/service/drive-through": { - "name": "Drive-in", + "name": "Service Drive", "terms": "service au comptoir,service au volant,point retrait" }, "highway/service/driveway": { @@ -2761,6 +2816,10 @@ "name": "Piste agricole ou forestière", "terms": "route forestière,piste pare-feu, chemin d'exploitation, chemin agricole,chemin non entretenu" }, + "highway/traffic_mirror": { + "name": "Miroir routier", + "terms": "Miroir de sécurité" + }, "highway/traffic_signals": { "name": "Feux tricolores", "terms": "Feux de circulation, Feux tricolores, Feux rouges" @@ -2778,7 +2837,8 @@ "terms": "Point de retournement" }, "highway/turning_loop": { - "name": "Boucle de retournement" + "name": "Boucle de retournement (Irlande)", + "terms": "Boucle de manœuvre (Irelande)" }, "highway/unclassified": { "name": "Route mineure ou non classifiée", @@ -2939,6 +2999,10 @@ "name": "Terrain communal", "terms": "Terrain communal, bien communal, bois communal, pré communal" }, + "leisure/dance": { + "name": "Salle de danse", + "terms": "piste de danse,salle de bal,dancing" + }, "leisure/dog_park": { "name": "Parc canin", "terms": "Parc canin, parc à chiens" @@ -3039,6 +3103,10 @@ "name": "Jeux pour enfants", "terms": "Aire de Jeu, Cour de récréation" }, + "leisure/resort": { + "name": "Relaxation", + "terms": "SPA,sona,détente" + }, "leisure/running_track": { "name": "Piste de course à pied", "terms": "Piste de course à pied" @@ -3154,6 +3222,9 @@ "name": "Caméra de surveillance", "terms": "caméra, vidéo" }, + "man_made/surveillance_camera": { + "name": "Caméra de surveillance" + }, "man_made/survey_point": { "name": "Borne géodésique", "terms": "Borne géodésique, monument géodésique, repère géodésique" @@ -3502,7 +3573,8 @@ "terms": "Voie ferrée abandonnée" }, "railway/crossing": { - "name": "Passage à niveau (piétons)" + "name": "Passage à niveau (piétons)", + "terms": "Passage à niveau (chemin)" }, "railway/disused": { "name": "Voie ferrée désaffectée", @@ -3517,7 +3589,8 @@ "terms": "Arrêt ferroviaire, Arrêt" }, "railway/level_crossing": { - "name": "Passage à niveau (route)" + "name": "Passage à niveau (route)", + "terms": "Passage à niveau (voiture)" }, "railway/monorail": { "name": "Monorail", @@ -4037,7 +4110,12 @@ "terms": "Refuge de montagne, cabane" }, "tourism/apartment": { - "name": "Location de vacances" + "name": "Location de vacances", + "terms": "appartement d'invité,condo,condominium" + }, + "tourism/aquarium": { + "name": "Aquarium", + "terms": "aquarium" }, "tourism/artwork": { "name": "Œuvre d'art", diff --git a/dist/locales/hu.json b/dist/locales/hu.json index 7078e666c..6af682212 100644 --- a/dist/locales/hu.json +++ b/dist/locales/hu.json @@ -820,6 +820,21 @@ "building_area": { "label": "Épület" }, + "camera/direction": { + "label": "Irány (szög az óra járása szerint)", + "placeholder": "45, 90, 180, 270" + }, + "camera/mount": { + "label": "Kamera tartó" + }, + "camera/type": { + "label": "Kamera típus", + "options": { + "dome": "Kupola", + "fixed": "Fix", + "panning": "Pásztázó" + } + }, "capacity": { "label": "Kapacitás", "placeholder": "50, 100, 200..." @@ -858,6 +873,10 @@ "construction": { "label": "Típus" }, + "contact/webcam": { + "label": "Webkamera URL", + "placeholder": "http://example.com/" + }, "content": { "label": "Tartalom" }, @@ -979,6 +998,9 @@ "fee": { "label": "Fizetős" }, + "fence_type": { + "label": "Típus" + }, "fire_hydrant/type": { "label": "Típus", "options": { @@ -1077,6 +1099,9 @@ "internet_access/fee": { "label": "Internetelérés díja" }, + "internet_access/ssid": { + "label": "SSID (Hálózatnév)" + }, "kerb": { "label": "Járdaszegély rámpa" }, @@ -1157,6 +1182,10 @@ "map_type": { "label": "Típus" }, + "maxheight": { + "label": "Max. magasság", + "placeholder": "4, 4.5, 5" + }, "maxspeed": { "label": "Sebességhatár", "placeholder": "30, 50, 70..." @@ -1523,6 +1552,20 @@ "surface": { "label": "Felület" }, + "surveillance": { + "label": "Megfigyelés fajtája" + }, + "surveillance/type": { + "label": "Megfigyelés típusa", + "options": { + "ALPR": "Automatikus rendszámtábla-leolvasó", + "camera": "Kamera", + "guard": "Őr" + } + }, + "surveillance/zone": { + "label": "Megfigyelt terület" + }, "tactile_paving": { "label": "Taktilis útburkolati jel - vakok és gyengénlátók számára" }, @@ -1599,6 +1642,9 @@ "street": "5 és 20 m között" } }, + "wall": { + "label": "Típus" + }, "water": { "label": "Típus" }, @@ -1610,7 +1656,7 @@ }, "website": { "label": "Weboldal", - "placeholder": "http://peldaoldal.hu/" + "placeholder": "http://example.com/" }, "wetland": { "label": "Típus" @@ -1823,6 +1869,10 @@ "name": "Közösségi munkatér", "terms": "coworking,közösségi,munka" }, + "amenity/crematorium": { + "name": "Krematórium", + "terms": "krematórium" + }, "amenity/dentist": { "name": "Fogorvos", "terms": "Fogorvos, Fogász, Fogászat" @@ -1884,7 +1934,8 @@ "terms": "fagyibolt, fagyis, fagylaltos, fagylaltüzlet" }, "amenity/internet_cafe": { - "name": "Internetkávézó" + "name": "Internetkávézó", + "terms": "internetkávézó" }, "amenity/kindergarten": { "name": "bölcsőde - óvoda", @@ -2765,6 +2816,10 @@ "name": "Nem karbantartott földút", "terms": "földút,nem karbantartott" }, + "highway/traffic_mirror": { + "name": "Közlekedési tükör", + "terms": "közlekedési tükör" + }, "highway/traffic_signals": { "name": "Jelzőlámpa", "terms": "Közlekedési lámpa" @@ -2940,6 +2995,9 @@ "name": "Közterület", "terms": "Közterület" }, + "leisure/dance": { + "name": "Táncterem" + }, "leisure/dog_park": { "name": "Kutyafuttató", "terms": "Kutyasétáltató" @@ -3040,6 +3098,9 @@ "name": "Játszótér", "terms": "Játszótér" }, + "leisure/resort": { + "name": "Üdülő" + }, "leisure/running_track": { "name": "Futópálya", "terms": "Futópálya" @@ -3155,6 +3216,9 @@ "name": "Videomegfigyelő", "terms": "térfigyelő kamera, biztonsági kamera" }, + "man_made/surveillance_camera": { + "name": "Megfigyelő kamera" + }, "man_made/survey_point": { "name": "Földmérési alappont", "terms": "Megfigyelőpont" @@ -4042,13 +4106,17 @@ "tourism/apartment": { "name": "Apartman" }, + "tourism/aquarium": { + "name": "Akvárium", + "terms": "akvárium" + }, "tourism/artwork": { "name": "Műalkotás", "terms": "Művészeti alkotás, szobor, fafaragás, " }, "tourism/attraction": { "name": "Turistalátványosság", - "terms": "Túrista látványosság" + "terms": "Turista látványosság" }, "tourism/camp_site": { "name": "Tábor", @@ -4083,16 +4151,20 @@ "terms": "Infomáció" }, "tourism/information/board": { - "name": "Információs tábla" + "name": "Információs tábla", + "terms": "információs tábla" }, "tourism/information/guidepost": { - "name": "Irányjelző" + "name": "Irányjelző", + "terms": "irányjelző" }, "tourism/information/map": { - "name": "Térkép" + "name": "Térkép", + "terms": "térkép" }, "tourism/information/office": { - "name": "Turistainformációs iroda" + "name": "Turistainformációs iroda", + "terms": "turista információs iroda, turistairoda" }, "tourism/motel": { "name": "Motel", diff --git a/dist/locales/it.json b/dist/locales/it.json index e8e634dd3..4ff2292f2 100644 --- a/dist/locales/it.json +++ b/dist/locales/it.json @@ -820,6 +820,21 @@ "building_area": { "label": "Edificio" }, + "camera/direction": { + "label": "Direzione (gradi in senso orario)", + "placeholder": "45, 90, 180, 270" + }, + "camera/mount": { + "label": "Supporto della telecamera" + }, + "camera/type": { + "label": "Tipo di telecamera", + "options": { + "dome": "A cupola", + "fixed": "Fissa", + "panning": "Panoramica" + } + }, "capacity": { "label": "Capienza", "placeholder": "50, 100, 200..." @@ -858,6 +873,10 @@ "construction": { "label": "Tipo" }, + "contact/webcam": { + "label": "URL webcam", + "placeholder": "http://example.com/" + }, "content": { "label": "Contenuto" }, @@ -979,6 +998,9 @@ "fee": { "label": "Tariffa" }, + "fence_type": { + "label": "Tipo" + }, "fire_hydrant/type": { "label": "Tipo", "options": { @@ -1077,6 +1099,9 @@ "internet_access/fee": { "label": "Accesso ad Internet a pagamento" }, + "internet_access/ssid": { + "label": "SSID (Nome della rete)" + }, "kerb": { "label": "Rampa sul cordolo" }, @@ -1157,6 +1182,10 @@ "map_type": { "label": "Tipo" }, + "maxheight": { + "label": "Altezza massima", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\", ..." + }, "maxspeed": { "label": "Limite di velocità", "placeholder": "40, 50, 60..." @@ -1271,6 +1300,9 @@ "operator": { "label": "Operatore" }, + "outdoor_seating": { + "label": "Seduta all'aperto" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." @@ -1523,6 +1555,20 @@ "surface": { "label": "Superficie" }, + "surveillance": { + "label": "Ambiente di sorveglianza" + }, + "surveillance/type": { + "label": "Tipo di sorveglianza", + "options": { + "ALPR": "Lettore automatico di targhe", + "camera": "Telecamera", + "guard": "Vigilanza" + } + }, + "surveillance/zone": { + "label": "Zona sorvegliata" + }, "tactile_paving": { "label": "Pavimento tattile" }, @@ -1600,6 +1646,9 @@ "street": "Da 5 a 20 m (da 16 a 65 ft)" } }, + "wall": { + "label": "Tipo" + }, "water": { "label": "Tipo" }, @@ -1824,6 +1873,10 @@ "name": "Spazio in coworking", "terms": "coworking,ufficio" }, + "amenity/crematorium": { + "name": "Forno crematorio", + "terms": "cimitero,funerale,forno,cremazione,ceneri" + }, "amenity/dentist": { "name": "Dentista", "terms": "dentista,odontoiatra,odontotecnico" @@ -2767,6 +2820,10 @@ "name": "Strada ad uso agricolo / forestale", "terms": "strada sterrata,strada forestale,strada agricola,abbandonata,fuoristrada,4x4,quattro ruote motrici,quad,atv,jeep" }, + "highway/traffic_mirror": { + "name": "Specchio stradale", + "terms": "specchio,parabola,stradale,punto cieco,convesso,curvo" + }, "highway/traffic_signals": { "name": "Semaforo", "terms": "semaforo,luce semaforica,lanterna semaforica" @@ -2946,6 +3003,10 @@ "name": "Luogo pubblico", "terms": "beni comuni,comune,pubblico,spazio pubblico,spazio comune,libero accesso" }, + "leisure/dance": { + "name": "Sala da ballo", + "terms": "ballo,danza,jive,swing,tango,valzer,balera" + }, "leisure/dog_park": { "name": "Area per cani", "terms": "Area cani" @@ -3046,6 +3107,10 @@ "name": "Parco giochi", "terms": "area giochi,scivolo,parco,giochi" }, + "leisure/resort": { + "name": "Resort", + "terms": "resort" + }, "leisure/running_track": { "name": "Pista di atletica", "terms": "atletica,tartan,pista" @@ -3161,6 +3226,10 @@ "name": "Sorveglianza", "terms": "telecamera,vigilanza" }, + "man_made/surveillance_camera": { + "name": "Telecamera di sorveglianza", + "terms": "anpr,alpr,telecamera,circuito fisso,guardia,monitor,sicurezza,video,webcam,impianto,cctv,tutor" + }, "man_made/survey_point": { "name": "Punto geodetico", "terms": "Punto geodetico o altra stazione fissa" @@ -4049,6 +4118,10 @@ "name": "Affittacamere", "terms": "Affittacamere,Bed & breakfast,Appartamenti" }, + "tourism/aquarium": { + "name": "Acquario", + "terms": "pesci,marino,mare,acqua,acquafan" + }, "tourism/artwork": { "name": "Opera d'arte", "terms": " Opera d'arte " diff --git a/dist/locales/kn.json b/dist/locales/kn.json index d1bc2c3fb..951c0e3fd 100644 --- a/dist/locales/kn.json +++ b/dist/locales/kn.json @@ -213,6 +213,7 @@ "localized_translation_name": "ಹೆಸರು" }, "zoom_in_edit": "ಸಂಪಾದಿಸಲು ಜೂಮ್ ಇನ್ ಮಾಡಿ", + "login": "ಲಾಗಿನ್", "logout": "ಲಾಗ್ ಔಟ್", "loading_auth": "ಓಪನ್ ಸ್ಟ್ರೀಟ್ ಮ್ಯಾಪ್ ಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ.....", "report_a_bug": "ದೋಷವನ್ನು ವಿವರಿಸಿ. ", @@ -237,6 +238,7 @@ "modified": "ಮಾರ್ಪಡಿಸು", "deleted": "ಅಳಿಸಲಾಯಿತು", "created": "ರಚಿಸಲಾಯಿತು", + "about_changeset_comments": "‍‍‍ಚೇಂಜ್‌ಸೆಟ್ ಅಭಿಪ್ರಾಯದ ಬಗ್ಗೆ", "google_warning": "ನೀವು ಈ ಹೇಳಿಕೆಯಲ್ಲಿ ಗೂಗಲ್ ಅನ್ನು ಉಲ್ಲೇಖಿಸಿದ್ದೀರ. ಗೂಗಲ್ ಮಾಪ್ಸ್ ನಿಂದ ಮಾಹಿತಿ ಪಡೆಯುವುದು ನಿಷೇಧಿಸಿದೆ. " }, "contributors": { @@ -306,6 +308,7 @@ "description": "ಹಿನ್ನಲೆ ವ್ಯವಸ್ತೆಗಳು", "none": "‍‍ಯಾವುದೂ ಇಲ್ಲ", "custom": "ಅನುಸರಣ", + "imagery_source_faq": "‍", "reset": "ಮರುಹೊಂದಿಸು", "minimap": { "description": "ಚಿಕ್ಕ ನಕ್ಷೆ" @@ -314,7 +317,8 @@ "map_data": { "title": "ನಕ್ಷೆ ಮಾಹಿತಿ.", "description": "ನಕ್ಷೆ ಮಾಹಿತಿ.", - "fill_area": "ಪ್ರದೇಶಗಳನ್ನು ತುಂಬು" + "fill_area": "ಪ್ರದೇಶಗಳನ್ನು ತುಂಬು", + "map_features": "‍ನಕ್ಷೆಯ ವೈಶಿಷ್ಟ್ಯತೆಗಳು" }, "feature": { "points": { @@ -428,13 +432,23 @@ "validations": { "untagged_point": "ಹೆಸರುಪಟ್ಟಿಯಿಲ್ಲದ ಚುಕ್ಕೆ. ", "untagged_line": "ಹೆಸರುಪಟ್ಟಿಯಿಲ್ಲದ ಗೆರೆ. ", - "untagged_area": "ಹೆಸರುಪಟ್ಟಿಯಿಲ್ಲದ ಕ್ಷೇತ್ರ." + "untagged_area": "ಹೆಸರುಪಟ್ಟಿಯಿಲ್ಲದ ಕ್ಷೇತ್ರ.", + "deprecated_tags": "‍" }, "zoom": { "in": "ಹಿಗ್ಗಿಸು", "out": "ಕುಗ್ಗಿಸು" }, "full_screen": "‍ಪೂರ್ಣ ಪರದೆಗೆ ಹಿಂದಿರುಗು", + "mapillary_images": { + "title": "ಚಿತ್ರಗಳ ಹೊ‍ದಿಕೆ (Mapillary)" + }, + "mapillary_signs": { + "title": "‍‍‍ಸಂಚಾರಿ ಚಿಹ್ನೆಯ ಹೊ‍ದಿಕೆ (Mapillary)" + }, + "mapillary": { + "view_on_mapillary": "ಈ ಚಿತ್ರವನ್ನು Mapillary ನಲ್ಲಿ ನೋಡಿ" + }, "help": { "title": "ಸಹಾಯ" }, diff --git a/dist/locales/lt.json b/dist/locales/lt.json index c9b7408d2..51e796c94 100644 --- a/dist/locales/lt.json +++ b/dist/locales/lt.json @@ -134,13 +134,19 @@ "key": "D", "annotation": "Atjungtos linijos/plotai.", "not_connected": "Nepakankamai linijų/plotų, kad būtų galima atjungti.", - "connected_to_hidden": "Tai negali būti atjungta, nes yra prijungta prie paslėpto objekto." + "connected_to_hidden": "Tai negali būti atjungta, nes yra prijungta prie paslėpto objekto.", + "relation": "Tai negali būti atjungta, nes jungia ryšio narius." }, "merge": { "title": "Sujungti", + "description": "Sulieti šiuos objektus.", "key": "C", + "annotation": "Sulieti {n} objektai.", "not_eligible": "Šie geoobjektai negali būti sulieti.", - "incomplete_relation": "Šie objektai negali būti sujungti, nes ne visi pilnai atsiųsti." + "not_adjacent": "Šių objektų negalima sulieti, nes jie nesiliečia.", + "restriction": "Šių objektų negalima sulieti, nes bent vienas iš jų yra ryšyje „{relation}“,", + "incomplete_relation": "Šie objektai negali būti sujungti, nes ne visi pilnai atsiųsti.", + "conflicting_tags": "Šių objektų negalima sulieti, nes kai kurios iš jų žymų turi nesuderinamas reikšmes." }, "move": { "title": "Perkelti", @@ -213,6 +219,7 @@ "nothing": "Nėra ką pakartoti." }, "tooltip_keyhint": "Kombinacija:", + "browser_notice": "Šis redaktorius veikia Firefox, Chrome, Safari, Opera ir Internet Explorer 11 bei naujesnėse naršyklėse. Prašome atnaujinti naršyklę arba naudoti Potlatch 2 žemėlapio redagavimui.", "translate": { "translate": "Versti", "localized_translation_label": "Daugiakalbis pavadinimas", @@ -220,8 +227,11 @@ "localized_translation_name": "Pavadinimas" }, "zoom_in_edit": "Padidinkite prieš redaguodami", + "login": "prisijungti", "logout": "atsijungti", "loading_auth": "Jungiamasi prie OpenStreetMap...", + "report_a_bug": "Pranešti apie klaidą", + "help_translate": "Padėkite versti", "feature_info": { "hidden_warning": "{count} paslėptų objektų", "hidden_details": "Šie objektai šiuo metu paslėpti: {details}" @@ -229,10 +239,12 @@ "status": { "error": "Nepavyksta prisijungti prie API.", "offline": "API išjungtas. Bandykite redaguoti vėliau.", - "readonly": "API yra tik skaitymo režime. Prieš įrašydami savo pakeitimus turėsite palaukti." + "readonly": "API yra tik skaitymo režime. Prieš įrašydami savo pakeitimus turėsite palaukti.", + "rateLimit": "API riboja anoniminius prisijungimus. Galite tai išspręsti prisijungdami." }, "commit": { "title": "Išsaugoti pakeitimus", + "description_placeholder": "Trumpas jūsų indėlio aprašymas (privalomas)", "message_label": "Pakeitimo komentaras", "upload_explanation": "Jūsų įkeliami pakeitimai bus matomi visuose žemėlapiuose, naudojančiuose OpenStreetMap duomenis.", "upload_explanation_with_user": "Pakeitimai, kuriuos jūs įkeliate kaip naudotojas {user} bus matomi visuose žemėlapiuose, naudojančiuose OpenStreetMap duomenis.", @@ -242,7 +254,11 @@ "warnings": "Įspėjimai", "modified": "Pakeista", "deleted": "Ištrinta", - "created": "Sukurta" + "created": "Sukurta", + "about_changeset_comments": "Apie pokyčių komentarus", + "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/Good_changeset_comments", + "google_warning": "Šiame komentare paminėjote Google: atsiminkite, kad kopijuoti iš Google Maps yra griežtai draudžiama.", + "google_warning_link": "http://www.openstreetmap.org/copyright" }, "contributors": { "list": "Keitėjai {users}", @@ -274,13 +290,16 @@ "no_results_worldwide": "Nėra rezultatų" }, "geolocate": { - "title": "Rodyti mano vietą" + "title": "Rodyti mano vietą", + "locating": "Ieškoma, prašome palaukti..." }, "inspector": { "no_documentation_combination": "Nėra šios žymos ar žymų kombinacijos aprašymo", "no_documentation_key": "Šis raktas neturi dokumentacijos", + "documentation_redirect": "Ši dokumentacija peradresuota į naują puslapį", "show_more": "Rodyti daugiau", "view_on_osm": "Žiūrėti svetainėje openstreetmap.org", + "all_fields": "Visi laukai", "all_tags": "Visos žymos", "all_members": "Visi nariai", "all_relations": "Visi ryšiai", @@ -301,6 +320,7 @@ "yes": "Taip", "no": "Ne" }, + "add": "Pridėti", "none": "Jokio", "node": "Taškas", "way": "Kelias", @@ -313,9 +333,15 @@ "description": "Fono nustatymai", "percent_brightness": "{opacity}% ryškumas", "none": "Jokio", + "best_imagery": "Geriausia žinoma ortofotografija šiai vietai", + "switch": "Persijungti atgal į šį foną", "custom": "Savas", "custom_button": "Redaguoti pasirinktiną foną", + "custom_prompt": "Įveskite URL šabloną. Galimos žymos yra {zoom}, {x}, {y} skirtos Z/X/Y schemai ir {u} quadtile schemai.", + "fix_misalignment": "Keisti fono poslinkį", + "imagery_source_faq": "Iš kur ši ortofotografija?", "reset": "iš naujo", + "offset": "Tempkite bet kur pilkoje zonoje, kad keistumėte orotofotografijos poslinkį, arba įvesktie poslinkių reikšmes metrais.", "minimap": { "description": "Minižemėlapis", "tooltip": "Rodyti atitolintą žemėlapį, kad būtų lengviau rasti šiuo metu rodomą vietą." @@ -334,6 +360,14 @@ "description": "Taškai", "tooltip": "Lankytinos vietos" }, + "traffic_roads": { + "description": "Eismo keliai", + "tooltip": "Greitkeliai, gatvės ir pan." + }, + "service_roads": { + "description": "Aptarnaujantys keliai", + "tooltip": "Aptarnavimo, stovėjimo aikštelės keliai, miško/laukų keliai ir pan." + }, "paths": { "description": "Takai", "tooltip": "Šaligatviai, pėsčiųjų takai, dviračių takai ir pan." @@ -429,7 +463,10 @@ "view_on_osm": "Žiūrėti OSM žemėlapyje", "facebook": "Pasidalinti Facebook'e", "twitter": "Pasidalinti Twitter'yje", - "google": "Pasidalinti Google+" + "google": "Pasidalinti Google+", + "help_html": "Jūsų pakeitimai turėtų būti matomi „Standartiniame“ sluoksnyje po kelių minučių. Kituose sluoksniuose ir kai kurios savybės gali pasirodyti vėliau.", + "help_link_text": "Detalės", + "help_link_url": "https://wiki.openstreetmap.org/wiki/FAQ#I_have_just_made_some_changes_to_the_map._How_do_I_get_to_see_my_changes.3F" }, "confirm": { "okay": "Gerai", @@ -474,6 +511,14 @@ "zoom": "Rodyti GPX pėdsako plotą", "browse": "Naršyti .gpx failo" }, + "mapillary_images": { + "tooltip": "Gatvės lygio nuotraukos iš Mapillary", + "title": "Nuotraukų perdanga (Mapillary)" + }, + "mapillary_signs": { + "tooltip": "Kelio ženklai iš Mapillary (reikia įjungti nuotraukų perdangą)", + "title": "Kelio ženklų perdanga (Mapillary)" + }, "mapillary": { "view_on_mapillary": "Žiūrėti šią nuotrauką per Mapillary" }, @@ -488,6 +533,20 @@ "relations": "# Ryšiai\n\nRyšys - tai specialus OpenStreetMap objekto tipas, kuris grupuoja kelis objektus. Pavyzdžiui du populiarūs ryšių tipai yra *maršruto ryšys*, kuris grupuoja kelis skirtingus to paties greitkelio gabalus, ir *multipoligonai*, kurie grupuoja kelias linijas, apibrėžiančias sudėtingą plotą (tokį, kuris turi kelis gabalus arba skyles kaip riestainyje).\n\nObjektai ryšyje vadinami „nariais“. Šoninėje juostoje galite matyti, kuriems ryšiams priklauso objektas. Ten pat galite pažymėti ryšį. Pažymėjus ryšį galėsite matyti visus jo narius šoninėje juostoje bei paryškintus žemėlapyje.\n\nDažniausiai iD pasirūpins ir sutvarkys ryšius automatiškai, tol kol jūs keisite kitus objektus. Pagrindinis dalykas, kurį turėtumėte atsiminti yra tai, kad jei panaikinate kelio dalį, kad nupaišytumėte ją tiksliau iš naujo, būtinai turite naujai nupieštą dalį įtraukti į tą patį ryšį, į kurį buvo įtraukta ir pradinė dalis.\n\n## Ryšių keitimas\n\nJei norite keisti ryšius, štai pagrindiniai dalykai, kuriuos turite žinoti.\n\nNorėdami pridėti objektą prie ryšio, pažymėkite objektą, spauskite mygtuką „+“ šoninės juostos dalyje „Visi ryšiai“ ir tada parinkite arba įrašykite ryšio pavadinimą.\n\nNorėdami sukurti naują ryšį, pažymėkite pirmą objektą, kuris turėtų būti narys, spauskite mygtuką „+“ sekcijoje „Visi ryšiai“ ir tada parinkite „Naujas ryšys...“.\n\nNorėdami išimti objektą iš ryšio, parinkite objektą ir spauskite šiukšlių dėžės mygtuką šalia ryšio, iš kurio norite objektą išmesti.\n\nGalite sukurti multipoligonus su skylėmis naudodami mygtuką „Sulieti“. Nubrėžkite du plotus (vidinį ir išorinį), laikykite Shift mygtuką ir spauskite ant abiejų plotų, tada spauskite mygtuką „Sulieti“ (+).\n" }, "intro": { + "done": "baigta", + "graph": { + "city_hall": "Trijų upių miesto rotušė", + "fire_department": "Trijų upių gaisrinė", + "memory_isle_park": "Atminties salos viršūnė", + "riverwalk_trail": "Paupio takas", + "w_michigan_ave": "Vakarų Dundulio alėja", + "e_michigan_ave": "Rytų Dundulio alėja", + "spring_st": "Pavasario gatvė", + "scidmore_park": "Riedučių parkas", + "petting_zoo": "Riedučių parko Zooparkas", + "n_andrews_st": "Šiaurės Algirdo gatvė", + "s_andrews_st": "Pietų Algirdo gatvė" + }, "navigation": { "title": "Navigacija", "drag": "Pagrindinė žemėlapio sritis rodo OpenStreetMap duomenis virš fono. Galite keisti poziciją tempiant pele arba naudojant pelės ratuką - kaip ir bet kuriame kitame tinklo žemėlapyje. **Pastumkite žemėlapį!**", @@ -520,6 +579,41 @@ } }, "presets": { + "categories": { + "category-barrier": { + "name": "Kliūčių objektai" + }, + "category-building": { + "name": "Pastatų objektai" + }, + "category-golf": { + "name": "Golfo objektai" + }, + "category-landuse": { + "name": "Žemėnaudos objektai" + }, + "category-path": { + "name": "Takų objektai" + }, + "category-rail": { + "name": "Geležinkelio objektai" + }, + "category-restriction": { + "name": "Apribojimo objektai" + }, + "category-road": { + "name": "Kelių objektai" + }, + "category-route": { + "name": "Maršrutų objektai" + }, + "category-water-area": { + "name": "Vandens objektai" + }, + "category-water-line": { + "name": "Vandens objektai" + } + }, "fields": { "access": { "label": "Leidžiamas priėjimas", @@ -553,7 +647,9 @@ "title": "Leidžiamas" } }, + "placeholder": "Nenurodyta", "types": { + "access": "Visi", "bicycle": "Dviračiai", "foot": "Pėstieji", "horse": "Arkliai", @@ -573,6 +669,7 @@ "conscriptionnumber": "123", "country": "Valstybė", "district": "Rajonas", + "floor": "Aukštas", "hamlet": "Viensėdis", "housename": "Namo pavadinimas", "housenumber": "123", @@ -649,12 +746,30 @@ "barrier": { "label": "Tipas" }, + "beauty": { + "label": "Parduotuvės tipas" + }, "bench": { "label": "Suolas" }, "bicycle_parking": { "label": "Tipas" }, + "bin": { + "label": "Šiukšliadėžė" + }, + "blood_components": { + "label": "Kraujo komponentai", + "options": { + "plasma": "plazma", + "platelets": "plateletės", + "stemcells": "kamieninių ląstelių pavyzdžiai", + "whole": "visas kraujas" + } + }, + "board_type": { + "label": "Tipas" + }, "boundary": { "label": "Tipas" }, @@ -726,6 +841,12 @@ "cuisine": { "label": "Virtuvė" }, + "currency_multi": { + "label": "Valiutų tipai" + }, + "cycle_network": { + "label": "Tinklas" + }, "cycleway": { "label": "Dviračių juostos", "options": { @@ -741,16 +862,32 @@ "description": "Abiejų krypčių dviračių juosta vienpusėje gatvėje", "title": "Dviračių juostos kryptis prieš eismą" }, + "opposite_lane": { + "description": "Dviračių juosta, kuria eismas vyksta priešinga kryptimi.", + "title": "Priešinga dviračių juosta" + }, "share_busway": { "description": "Dviračių juosta yra kartu su autobusų juosta", "title": "Dviračių juosta kartu su autobusų" + }, + "shared_lane": { + "description": "Dviračių juosta be atskirties nuo automobilių eismo", + "title": "Bendra dviračių juosta" + }, + "track": { + "description": "Dviračių juosta, atskirta nuo eismo fiziniu barjeru", + "title": "Dviračių takas" } }, + "placeholder": "nėra", "types": { "cycleway:left": "Kairė pusė", "cycleway:right": "Dešinė pusė" } }, + "date": { + "label": "Data" + }, "delivery": { "label": "Pristatymas" }, @@ -763,6 +900,12 @@ "description": { "label": "Aprašymas" }, + "diaper": { + "label": "Galimas vystyklų keitimas" + }, + "dock": { + "label": "Tipas" + }, "drive_through": { "label": "Pravažiavimas" }, @@ -795,6 +938,9 @@ "fee": { "label": "Mokestis" }, + "fence_type": { + "label": "Tipas" + }, "fire_hydrant/type": { "label": "Tipas", "options": { @@ -810,6 +956,9 @@ "fuel": { "label": "Degalai" }, + "fuel_multi": { + "label": "Kuro tipai" + }, "gauge": { "label": "Matuoklis" }, @@ -878,6 +1027,12 @@ "yes": "Taip" } }, + "internet_access/fee": { + "label": "Nemokama interneto prieiga" + }, + "internet_access/ssid": { + "label": "SSID (Tinklo pavadinimas)" + }, "lamp_type": { "label": "Tipas" }, @@ -902,6 +1057,7 @@ } }, "leaf_cycle_singular": { + "label": "Lapų ciklas", "options": { "deciduous": "Lapuočiai", "evergreen": "Visžaliai", @@ -948,6 +1104,9 @@ "man_made": { "label": "Tipas" }, + "map_type": { + "label": "Tipas" + }, "maxspeed": { "label": "Greičio limitas", "placeholder": "40, 50, 60..." @@ -998,6 +1157,39 @@ "network": { "label": "Tinklas" }, + "network_bicycle": { + "label": "Tinklo tipas", + "options": { + "icn": "Tarptautinis", + "lcn": "Vietinis", + "ncn": "Nacionalinis", + "rcn": "Regioninis" + }, + "placeholder": "Vietinis, Regioninis, Nacionalinis, Tarptautinis" + }, + "network_foot": { + "label": "Tinklo tipas", + "options": { + "iwn": "Tarptautinis", + "lwn": "Vietinis", + "nwn": "Nacionalinis", + "rwn": "Regioninis" + }, + "placeholder": "Vietinis, Regioninis, Nacionalinis, Tarptautinis" + }, + "network_horse": { + "label": "Tinklo tipas", + "options": { + "ihn": "Tarptautinis", + "lhn": "Vietinis", + "nhn": "Nacionalinis", + "rhn": "Regioninis" + }, + "placeholder": "Vietinis, Regioninis, Nacionalinis, Tarptautinis" + }, + "network_road": { + "label": "Tinklas" + }, "note": { "label": "Pastaba" }, @@ -1026,10 +1218,20 @@ "operator": { "label": "Operatorius" }, + "outdoor_seating": { + "label": "Sėdimos vietos lauke" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." }, + "parallel_direction": { + "label": "Kryptis", + "options": { + "backward": "Atgal", + "forward": "Pirmyn" + } + }, "park_ride": { "label": "Palik automobilį ir važiuok" }, @@ -1045,6 +1247,9 @@ "underground": "Požeminis" } }, + "payment_multi": { + "label": "Mokėjimo tipai" + }, "phone": { "label": "Telefonas", "placeholder": "+31 42 123 4567" @@ -1089,9 +1294,22 @@ "power": { "label": "Tipas" }, + "power_supply": { + "label": "Elektros šaltinis" + }, "railway": { "label": "Tipas" }, + "recycling_accepts": { + "label": "Priima" + }, + "recycling_type": { + "label": "Rūšiavimo tipas", + "options": { + "centre": "Rūšiavimo Centras", + "container": "Konteineris" + } + }, "ref": { "label": "Šaltinis" }, @@ -1107,6 +1325,9 @@ "restrictions": { "label": "Posūkio apribojimai" }, + "rooms": { + "label": "Kambariai" + }, "route": { "label": "Tipas" }, @@ -1128,9 +1349,20 @@ "seasonal": { "label": "Sezoninis" }, + "second_hand": { + "options": { + "no": "Ne", + "only": "Tik", + "yes": "Taip" + }, + "placeholder": "Taip, ne, tik" + }, "service": { "label": "Tipas" }, + "service/bicycle": { + "label": "Paslaugos" + }, "service_rail": { "label": "Tarnybos tipas", "options": { @@ -1148,6 +1380,9 @@ "shop": { "label": "Tipas" }, + "site": { + "label": "Tipas" + }, "smoking": { "label": "Rūkymas", "options": { @@ -1182,6 +1417,15 @@ "sport_racing": { "label": "Sportas" }, + "stars": { + "label": "Žvaigždutės" + }, + "stop": { + "label": "Sustojimo tipas", + "options": { + "all": "Visi keliai" + } + }, "structure": { "label": "Struktūra", "options": { @@ -1192,6 +1436,9 @@ }, "placeholder": "Nežinoma" }, + "studio": { + "label": "Tipas" + }, "substation": { "label": "Tipas" }, @@ -1213,13 +1460,24 @@ }, "placeholder": "Taip, ne, tik išsinešimui..." }, + "toilets/disposal": { + "options": { + "bucket": "Kibiras" + } + }, "tourism": { "label": "Tipas" }, + "tower/type": { + "label": "Tipas" + }, "tracktype": { "label": "Kelio tipas", "placeholder": "Tvirtas, daugiausia tvirtas, minkštas..." }, + "traffic_calming": { + "label": "Tipas" + }, "traffic_signals": { "label": "Tipas" }, @@ -1244,6 +1502,12 @@ "vending": { "label": "Prekių tipas" }, + "visibility": { + "label": "Matomumas" + }, + "wall": { + "label": "Tipas" + }, "water": { "label": "Tipas" }, @@ -2429,7 +2693,8 @@ "terms": "didmiestis" }, "place/farm": { - "name": "Ūkis" + "name": "Ūkis", + "terms": "ūkis,ūkio sodyba,ferma" }, "place/hamlet": { "name": "Viensėdis", diff --git a/dist/locales/ml.json b/dist/locales/ml.json index 18e6c61a6..0f34e15cb 100644 --- a/dist/locales/ml.json +++ b/dist/locales/ml.json @@ -2,7 +2,9 @@ "ml": { "modes": { "add_area": { - "title": "പ്രദേശം" + "title": "പ്രദേശം", + "description": "പാര്‍ക്കുകള്‍, കെട്ടിടങ്ങള്‍, തടാകങ്ങള്‍, ഇതുപോലുള്ള മറ്റ് സ്ഥലങ്ങള്‍ മാപ്പിലേക്ക് ചേര്‍ക്കുക", + "tail": "പാര്‍ക്കുകള്‍, കെട്ടിടങ്ങള്‍, തടാകങ്ങള്‍, ഇതുപോലുള്ള മറ്റ് സ്ഥലങ്ങള്‍ വരയ്ക്കാനായി മാപ്പില്‍ ക്ലിക്ക് ചെയ്യുക." }, "add_line": { "title": "രേഖ" diff --git a/dist/locales/nl.json b/dist/locales/nl.json index e3686e152..e8af90708 100644 --- a/dist/locales/nl.json +++ b/dist/locales/nl.json @@ -337,6 +337,7 @@ "switch": "Selecteer terug deze achtergrond", "custom": "Aangepast", "custom_button": "Aangepaste achtergrond aanpassen", + "custom_prompt": "Geef een tegel-URL-sjabloon op. Geldige placeholders zijn {zoom}, {x}, {y} voor het Z/X/Y-schema en {u} voor het quadtile-schema.", "fix_misalignment": "Verplaatsing van luchtfoto aanpassen", "imagery_source_faq": "Waar komen deze afbeeldingen vandaan? (Engels)", "reset": "Standaard herstellen", @@ -978,6 +979,9 @@ "fee": { "label": "Betalend" }, + "fence_type": { + "label": "Type" + }, "fire_hydrant/type": { "label": "TYpe", "options": { @@ -1076,6 +1080,9 @@ "internet_access/fee": { "label": "Internettoegang is betalend" }, + "internet_access/ssid": { + "label": "SSID (netwerknaam)" + }, "kerb": { "label": "Stoeprand" }, @@ -1150,9 +1157,16 @@ "man_made": { "label": "Type" }, + "map_size": { + "label": "Dekkingsgebied" + }, "map_type": { "label": "Type" }, + "maxheight": { + "label": "Maximale hoogte", + "placeholder": "4, 4.5, 5" + }, "maxspeed": { "label": "Snelheidsbeperking", "placeholder": "40, 50, 60 …" @@ -1267,6 +1281,9 @@ "operator": { "label": "Uitbatende organisatie" }, + "outdoor_seating": { + "label": "Buitenzitjes" + }, "par": { "label": "Par", "placeholder": "3, 4, 5 …" @@ -1596,6 +1613,9 @@ "street": "5 tot 20 meter" } }, + "wall": { + "label": "Type" + }, "water": { "label": "Type" }, @@ -2295,6 +2315,10 @@ "name": "Opslagplaats", "terms": "magazijn,warenhuis" }, + "camp_site/camp_pitch": { + "name": "Individueel kampeerveld of sta-plaats op camping", + "terms": "kampeerveldje,sta-plaats,staplaats" + }, "craft": { "name": "Vakmanschap", "terms": "stiel,kunde,handwerk" @@ -2532,6 +2556,14 @@ "name": "Golf Hole", "terms": "gat,doel" }, + "golf/lateral_water_hazard_area": { + "name": "Zijdelingse waterpartij (golf)", + "terms": "golf,water" + }, + "golf/lateral_water_hazard_line": { + "name": "Zijdelingse waterpartij (golf)", + "terms": "golf,water" + }, "golf/rough": { "name": "Rough", "terms": "golf" @@ -2540,6 +2572,14 @@ "name": "Tee-Box", "terms": "golf" }, + "golf/water_hazard_area": { + "name": "Waterpartij (golf)", + "terms": "golf,water" + }, + "golf/water_hazard_line": { + "name": "Waterpartij (golf)", + "terms": "golf,water" + }, "healthcare/blood_donation": { "name": "Bloeddonorcentrum", "terms": "bloedbank,bloeddonatie,bloedtransfusie,aferese,plasmaferese,stamceldonatie" @@ -2672,6 +2712,10 @@ "highway/track": { "name": "Veld- of bosweg" }, + "highway/traffic_mirror": { + "name": "Verkeersspiegel", + "terms": "spiegel,dodehoeksspiegel,kruispuntspiegel" + }, "highway/traffic_signals": { "name": "Verkeerslichten", "terms": "verkeerslichten,rode lichten" @@ -2838,6 +2882,10 @@ "leisure/common": { "name": "Gemeenschappelijk" }, + "leisure/dance": { + "name": "Danszaal", + "terms": "ballroom,jive,swing,tango,wals" + }, "leisure/dog_park": { "name": "Hondenpark" }, @@ -2925,6 +2973,10 @@ "name": "Speeltuin", "terms": "speelplaats,speelterrein" }, + "leisure/resort": { + "name": "Resort", + "terms": "vakantiepark,hotel" + }, "leisure/running_track": { "name": "Looppiste", "terms": "atletiekbaan,stadion,stadium,hardlopen,hordenloop" @@ -3820,6 +3872,9 @@ "name": "Vakantieappartement", "terms": "gastenappartement,verhuurd appartement,zomerappartement,vakantieflat,gastenflat,gastappartement,gastflat,verhuurde flat,zomerflat" }, + "tourism/aquarium": { + "name": "Aquarium" + }, "tourism/artwork": { "name": "Kunstwerk", "terms": "kunst,object,kunstobject" @@ -3858,6 +3913,22 @@ "name": "Informatie", "terms": "i,info,vvv,touristeninformatie,office de tourisme,tourismekantoor" }, + "tourism/information/board": { + "name": "Informatiebord", + "terms": "uitlegbord,informatie" + }, + "tourism/information/guidepost": { + "name": "Wandel-, fiets-, e.d. -wegwijzer", + "terms": "wegwijzer,wandelroutewegwijzer,fietsroutewegwijzer,routewegwijzer,route,wandelwegwijzer,fietswegwijzer" + }, + "tourism/information/map": { + "name": "Kaart", + "terms": "plan,plattegrond,informatie" + }, + "tourism/information/office": { + "name": "Toerismekantoor", + "terms": "bezoekerscentrum,informatiecentrum,vvv-kantoor,office du tourisme,informatie" + }, "tourism/motel": { "name": "Motel" }, @@ -3896,6 +3967,9 @@ "traffic_calming/cushion": { "name": "Verkeerskussen" }, + "traffic_calming/dip": { + "name": "Verkeersremmende greppel" + }, "traffic_calming/hump": { "name": "Verkeersdrempel, 2 meter of langer", "terms": "snelheidsdrempel,plateau,verkeersplateau" diff --git a/dist/locales/pl.json b/dist/locales/pl.json index 86a7b8da0..5a6dccea3 100644 --- a/dist/locales/pl.json +++ b/dist/locales/pl.json @@ -227,6 +227,7 @@ "localized_translation_name": "Nazwa" }, "zoom_in_edit": "Przybliż, aby edytować", + "login": "login", "logout": "wyloguj", "loading_auth": "Łączenie z OpenStreetMap...", "report_a_bug": "Zgłoś błąd", @@ -238,7 +239,8 @@ "status": { "error": "Nie można nawiązać połączenia z API.", "offline": "API jest offline. Proszę spróbować edytować później.", - "readonly": "API jest w trybie tylko do odczytu. Musisz poczekać, żeby zapisać swoje zmiany." + "readonly": "API jest w trybie tylko do odczytu. Musisz poczekać, żeby zapisać swoje zmiany.", + "rateLimit": "API ogranicza anonimowe połączenia. Możesz je ominąć logując się." }, "commit": { "title": "Zapisz zmiany", @@ -335,6 +337,7 @@ "switch": "Wróć do tego podkładu", "custom": "Własne", "custom_button": "Edycja własnego podkładu", + "custom_prompt": "Podaj adres URL kafelka mapy. Poprawne adresy posiadają {zoom}, {x}, {y} dla współrzędnych Z/X/Y oraz {u} dla każdego kwartyla mapy.", "fix_misalignment": "Przesunięcie podkładu", "imagery_source_faq": "Skąd pochodzi ta warstwa?", "reset": "Przywraca ustawienia", @@ -976,6 +979,9 @@ "fee": { "label": "Opłata" }, + "fence_type": { + "label": "Rodzaj" + }, "fire_hydrant/type": { "label": "Typ", "options": { @@ -1074,6 +1080,9 @@ "internet_access/fee": { "label": "Płatny dostęp do Internetu" }, + "internet_access/ssid": { + "label": "SSID (Nazwa Sieci)" + }, "kerb": { "label": "Krawężnik" }, @@ -1154,6 +1163,10 @@ "map_type": { "label": "Typ" }, + "maxheight": { + "label": "Maksymalna Wysokość", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" + }, "maxspeed": { "label": "Ograniczenie prędkości", "placeholder": "40, 50, 60..." @@ -1268,6 +1281,9 @@ "operator": { "label": "Operator" }, + "outdoor_seating": { + "label": "Ogródek Restauracyjny" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." @@ -1391,8 +1407,14 @@ "sac_scale": { "label": "Stopień trudności turystyki pieszej", "options": { - "hiking": "T1: Wędrówki" - } + "alpine_hiking": "T4: Wspinaczka Alpejska", + "demanding_alpine_hiking": "T5: Wymagająca Wspinaczka Alpejska", + "demanding_mountain_hiking": "T3: Wymagająca Wspinaczka Górska", + "difficult_alpine_hiking": "T6: Trudna Wspinaczka Alpejska", + "hiking": "T1: Wędrówki", + "mountain_hiking": "T2: Wspinaczka Górska" + }, + "placeholder": "Wspinaczka Górska, Wspinaczka Alpejska..." }, "sanitary_dump_station": { "label": "Miejsce opróżniania toalety" @@ -1591,6 +1613,9 @@ "street": "Od 5 do 20m" } }, + "wall": { + "label": "Typ" + }, "water": { "label": "Typ" }, @@ -2579,6 +2604,12 @@ "name": "dołek na polu golfowym ", "terms": "dołek golfowy" }, + "golf/lateral_water_hazard_area": { + "name": "Przeszkoda Wodna Boczna" + }, + "golf/lateral_water_hazard_line": { + "name": "Przeszkoda Wodna Boczna" + }, "golf/rough": { "name": "rough", "terms": "rough" @@ -2587,6 +2618,12 @@ "name": "rzutnia", "terms": "tee box" }, + "golf/water_hazard_area": { + "name": "Przeszkoda Wodna" + }, + "golf/water_hazard_line": { + "name": "Przeszkoda Wodna" + }, "healthcare/blood_donation": { "name": "Centrum Dawców Krwi", "terms": "dawstwo krwi" @@ -2738,6 +2775,10 @@ "name": "Droga polna lub leśna", "terms": "trakt leśny" }, + "highway/traffic_mirror": { + "name": "Lustro drogowe", + "terms": "lustro przy ulicy" + }, "highway/traffic_signals": { "name": "Sygnalizacja świetlna", "terms": "światła,sygnalizacja świetlna,sygnalizator" @@ -2754,6 +2795,9 @@ "name": "Miejsce do zawracania", "terms": "miejsce,zawracania,zawracanie" }, + "highway/turning_loop": { + "name": "Węzeł Do Zawracania (Z Wyspą)" + }, "highway/unclassified": { "name": "Droga czwartorzędna", "terms": "Droga czwartorzędna" @@ -2913,6 +2957,9 @@ "name": "Teren rekreacyjny ogólnodostępny", "terms": "wspólnota gruntowa" }, + "leisure/dance": { + "name": "Sala Taneczna" + }, "leisure/dog_park": { "name": "Park dla psów", "terms": "psi park" @@ -3012,6 +3059,9 @@ "name": "Plac zabaw", "terms": "plac zabaw" }, + "leisure/resort": { + "name": "Resort" + }, "leisure/running_track": { "name": "Bieżnia", "terms": "biegi" @@ -4007,6 +4057,10 @@ "name": "Chata górska", "terms": "chata alpejska" }, + "tourism/aquarium": { + "name": "Akwarium", + "terms": "akwarium" + }, "tourism/artwork": { "name": "Rzeźba", "terms": "dzieło sztuki" @@ -4047,10 +4101,18 @@ "name": "Tablica Informacyjna", "terms": "informacja, obwieszczenia" }, + "tourism/information/guidepost": { + "name": "Drogowskaz", + "terms": "drogowskaz" + }, "tourism/information/map": { "name": "Mapa", "terms": "plan, mapa, " }, + "tourism/information/office": { + "name": "Informacja Turystyczna", + "terms": "informacja turystyka, turystyka" + }, "tourism/motel": { "name": "Motel", "terms": "Motel" @@ -4079,6 +4141,10 @@ "name": "Próg zwalniający", "terms": "próg zwalniający" }, + "traffic_calming/chicane": { + "name": "Szykana drogowa", + "terms": "Szykany" + }, "traffic_calming/cushion": { "name": "Poduszka", "terms": "poduszka, wyspowy próg spowalniający" diff --git a/dist/locales/pt-BR.json b/dist/locales/pt-BR.json index 8c826220a..9e681f0b3 100644 --- a/dist/locales/pt-BR.json +++ b/dist/locales/pt-BR.json @@ -1077,6 +1077,9 @@ "internet_access/fee": { "label": "Taxa para acesso à Internet" }, + "internet_access/ssid": { + "label": "SSID (Nome da Rede)" + }, "kerb": { "label": "Meio-fio" }, diff --git a/dist/locales/ru.json b/dist/locales/ru.json index 37d9f38f1..845cd6f9b 100644 --- a/dist/locales/ru.json +++ b/dist/locales/ru.json @@ -533,12 +533,32 @@ "intro": { "done": "выполнено", "graph": { + "city_hall": "Ратуша Трёхречья", + "fire_department": "Пожарная часть Трёхречья", + "memory_isle_park": "Парк острова Памяти", + "w_michigan_ave": "Западный Мичиганский бульвар", + "e_michigan_ave": "Восточный Мичиганский бульвар", "spring_st": "Весенняя улица", + "scidmore_park": "Скидмор-Парк", + "petting_zoo": "Контактный зоопарк парка Скидмор", + "n_andrews_st": "Северная Андреевская улица", + "s_andrews_st": "Южная Андреевская улица", + "n_constantine_st": "Северная Константиновская улица", + "s_constantine_st": "Южная Константиновская улица", "rocky_river": "Скалистая река", + "railroad_dr": "Железнодорожный проезд", + "conrail_rr": "Конрейловская железная дорога", + "st_joseph_river": "река Святого Джозефа", + "n_main_st": "Северная Главная улица", + "s_main_st": "Южная Главная улица", + "water_st": "Водная улица", + "portage_river": "река Волочья", "flower_st": "Цветочная улица", + "elm_st": "Вязовая улица", "walnut_st": "Абрикосовая улица", "morris_ave": "проспект Морриса", - "east_st": "Восточная улица" + "east_st": "Восточная улица", + "portage_ave": "Волочий проспект" }, "navigation": { "title": "Перемещение", @@ -578,7 +598,7 @@ "intersect": "Щёлкните, чтобы добавить ещё точки в линию. Во время рисования можно двигать карту. Дороги и множество других типов линий — часть большей системы. Для корректной работы приложений, прокладывающих маршруты, важно, чтобы эти линии были соединены с другими правильно. **Щёлкните по {name}, чтобы создать перекрёсток, соединяющий две линии.**", "finish": "Чтобы завершить рисование линии, нужно ещё раз щелкнуть на её последней точке. **Закончите рисование дороги.**", "road": "**Выберите из списка «Дорогу»**", - "residential": "Существует много различных типов дорог, наиболее распространённый — улица. **Выберите тип дороги «Улица»**", + "residential": "Существует много различных типов дорог, наиболее распространённый — улица. **Выберите тип дороги «Дорога вдоль жилых зон»**", "describe": "**Дайте название дороге, затем нажмите кнопку {button}, чтобы закрыть редактор объектов.**", "restart": "Эта дорога должна пересекаться с {name}.", "wrong_preset": "Вы не выбрали тип дороги. **Щёлкните здесь, чтобы выбрать заново**" @@ -587,7 +607,7 @@ "title": "Редактировать", "help": "Вы можете повторить это обучение или ознакомиться с более подробной документацией, нажав кнопку справки {button}.", "save": "Не забывайте регулярно сохранять свои изменения!", - "start": "Рисовать карту" + "start": "Рисовать карту!" } }, "presets": { @@ -776,6 +796,9 @@ "whole": "цельная кровь" } }, + "board_type": { + "label": "Тип" + }, "boundary": { "label": "Тип границы" }, @@ -850,6 +873,9 @@ "currency_multi": { "label": "Типы валюты" }, + "cycle_network": { + "label": "Сеть" + }, "cycleway": { "label": "Велосипедные дорожки", "options": { @@ -1166,6 +1192,38 @@ "network": { "label": "Дорожная сеть" }, + "network_bicycle": { + "options": { + "icn": "Международная", + "lcn": "Местная", + "ncn": "Национальная", + "rcn": "Региональная" + }, + "placeholder": "Местная, Региональная, Национальная, Международная" + }, + "network_foot": { + "label": "Тип сети", + "options": { + "iwn": "Международная", + "lwn": "Местная", + "nwn": "Национальная", + "rwn": "Региональная" + }, + "placeholder": "Местная, Региональная, Национальная, Международная" + }, + "network_horse": { + "label": "Тип сети", + "options": { + "ihn": "Международная", + "lhn": "Местная", + "nhn": "Национальная", + "rhn": "Региональная" + }, + "placeholder": "Местная, Региональная, Национальная, Международная" + }, + "network_road": { + "label": "Сеть" + }, "note": { "label": "Заметка для картографов" }, @@ -1409,6 +1467,9 @@ "stars": { "label": "Звёзды" }, + "stop": { + "label": "Тип магазина" + }, "structure": { "label": "Сооружение", "options": { @@ -1459,6 +1520,9 @@ "tower/construction": { "label": "Тип конструкции" }, + "tower/type": { + "label": "Тип" + }, "tracktype": { "label": "Тип просёлочных дорог", "options": { @@ -1470,6 +1534,9 @@ }, "placeholder": "Твердая, скорее твёрдая, мягкая" }, + "traffic_calming": { + "label": "Тип" + }, "traffic_signals": { "label": "Тип" }, @@ -2028,7 +2095,7 @@ "name": "Беспрепятственный проход / лаз" }, "barrier/fence": { - "name": "Прозрачный забор", + "name": "Забор", "terms": "Забор, Ограда, Изгородь" }, "barrier/gate": { @@ -2398,6 +2465,9 @@ "name": "Станция Скорой Помощи", "terms": "Пункт Скорой Помощи, Амбулатория, Пункт Первой Помощи" }, + "emergency/defibrillator": { + "name": "Дефибриллятор" + }, "emergency/fire_hydrant": { "name": "Пожарный гидрант", "terms": "Пожарный Гидрант, Пожарная Колонка" @@ -2459,6 +2529,9 @@ "name": "Стартовая площадка", "terms": "Стартовая площадка, Стартовая зона" }, + "healthcare/blood_donation": { + "name": "Станция переливания крови" + }, "highway": { "name": "Дорога" }, @@ -3403,6 +3476,9 @@ "name": "Салон красоты", "terms": "салон красоты, маникюрный салон, солярий, массаж, спа" }, + "shop/beauty/nails": { + "name": "Маникюрный салон" + }, "shop/bed": { "name": "Магазин матрасов и постельных принадлежностей", "terms": "матрас, спальные принадлежности, постельное бельё" diff --git a/dist/locales/sl.json b/dist/locales/sl.json index 366c37c08..a8564e330 100644 --- a/dist/locales/sl.json +++ b/dist/locales/sl.json @@ -32,7 +32,7 @@ "annotation": { "point": "Točka je dodana.", "vertex": "Vozlišče je dodano na pot.", - "relation": "Povezava je dodana." + "relation": "Zveza je dodana." } }, "start": { @@ -56,7 +56,7 @@ "annotation": "Risanje je preklicano." }, "change_role": { - "annotation": "Vloga člana povezave je spremenjena." + "annotation": "Vloga člana zveze je spremenjena." }, "change_tags": { "annotation": "Oznake so bile spremenjene." @@ -73,7 +73,8 @@ "area": "Mnogokotnik je spremenjen v krog." }, "not_closed": "Izbora ni mogoče spremeniti v krog, ker zanka ni sklenjena.", - "too_large": "Tega objekta ni mogoče spremeniti v krog, ker ga preveč sega izven trenutnega vidnega polja." + "too_large": "Tega objekta ni mogoče spremeniti v krog, ker ga preveč sega izven trenutnega vidnega polja.", + "connected_to_hidden": "Te značilnosti ni mogoče spremeniti v krožno, ker je povezana s skrito značilnostjo." }, "orthogonalize": { "title": "Kvadrat", @@ -104,16 +105,16 @@ "vertex": "Vozlišče je izbrisano.", "line": "Črta je izbrisana.", "area": "Mnogokotnik je izbrisan.", - "relation": "Povezava je odstranjena.", + "relation": "Zveza je odstranjena.", "multiple": "Izbrisanih je {n} predmetov." }, "incomplete_relation": "Tega objekta ni mogoče izbrisati, ker ni bil v celoti naložen." }, "add_member": { - "annotation": "Član je dodan v povezavo." + "annotation": "Član je dodan v zvezo." }, "delete_member": { - "annotation": "Član je odstranjen iz povezave." + "annotation": "Član je odstranjen iz zveze." }, "connect": { "annotation": { @@ -132,7 +133,9 @@ }, "merge": { "title": "Združeno.", + "description": "Združi te značilnosti.", "key": "C", + "annotation": "Združenih {n} značilnosti.", "not_eligible": "Teh objektov ni mogoče združiti.", "incomplete_relation": "Teh objektov ni mogoče združiti, ker vsaj en ni bil v celoti naložen." }, @@ -204,13 +207,14 @@ "nothing": "Nič za ponovitev." }, "tooltip_keyhint": "Bližnjica:", + "browser_notice": "Urejevalnik podpirajo Firefox, Chrome, Safari, Opera, in Internet Explorer 11 oz. novejši. Za urejanje zemljevida nadgradite brskalnik ali uporabite Potlatch 2.", "translate": { "translate": "Prevedi", "localized_translation_label": "Večjezično ime", "localized_translation_language": "Izberite jezik", "localized_translation_name": "Ime" }, - "zoom_in_edit": "Za urejanje približaj pogled", + "zoom_in_edit": "Za urejanje povečajte pogled", "logout": "odjava", "loading_auth": "Povezovanje z OpenStreetMap...", "report_a_bug": "Sporoči napako", @@ -222,14 +226,18 @@ }, "commit": { "title": "Shrani spremembe", + "message_label": "Povzetek sprememb", "upload_explanation": "Spremembe, ki ji boste naložili, bodo vidne na vseh zemljevidih, ki uporabljajo podatke OpenStreetMap.", "upload_explanation_with_user": "Spremembe, ki jih boste naložili kot {user}, bodo vidne na vseh zemljevidih, ki uporabljajo podatke OpenStreetMap.", "save": "Shrani", "cancel": "Prekliči", + "changes": "{count} sprememb", "warnings": "Opozorila", "modified": "Spremenjeno", "deleted": "Izbrisano", - "created": "Ustvarjeno" + "created": "Ustvarjeno", + "about_changeset_comments": "O povzetkih sprememb", + "about_changeset_comments_link": "//wiki.openstreetmap.org/wiki/Good_changeset_comments" }, "contributors": { "list": "Spremembe uporabnikov {users}", @@ -240,6 +248,7 @@ "length": "Dolžina", "area": "Površina", "centroid": "Centroid", + "location": "Lokacija", "metric": "Metrične", "imperial": "Imperialne" }, @@ -255,7 +264,7 @@ "no_results_worldwide": "Ni najdenih zadetkov" }, "geolocate": { - "title": "Prikaži moj položaj" + "title": "Prikaži mojo lokacijo" }, "inspector": { "no_documentation_combination": "Za to kombinacijo oznak ni na voljo dokumentacije", @@ -265,8 +274,8 @@ "all_fields": "Vsa polja", "all_tags": "Vse oznake", "all_members": "Vsi člani", - "all_relations": "Vse povezave", - "new_relation": "Nova povezava ...", + "all_relations": "Vse zveze", + "new_relation": "Nova zveza ...", "role": "Vloga", "choose": "Izberite vrsto elementa", "results": "{n} zadetkov iskanja {search}", @@ -287,8 +296,8 @@ "none": "Noben", "node": "Vozlišče", "way": "Pot", - "relation": "Povezava", - "location": "Položaj", + "relation": "Zveza", + "location": "Lokacija", "add_fields": "Dodaj polje:" }, "background": { @@ -296,23 +305,74 @@ "description": "Nastavitve ozadja", "percent_brightness": "{opacity}% svetlost", "none": "Brez", + "best_imagery": "Najbolj znani vir ozadja za to lokacijo", "custom": "Po meri", "custom_button": "Uredi ozadje po meri", - "reset": "ponastavi" + "custom_prompt": "Navedite naslov predloge URL. Dovoljeni nadomestni znaki so {zoom}, {x}, {y} za shemo Z/X/Y in {u} za shemo quadtile.", + "fix_misalignment": "Prilagodi zamik ozadja", + "imagery_source_faq": "Od kje prihajajo ta ozadja?", + "reset": "ponastavi", + "offset": "Povlecite kjerkoli v sivem področju spodaj za prilagoditev zamika ali vnašanje zamika z vrednostmi v metrih." + }, + "map_data": { + "title": "Podatki zemljevida", + "description": "Podatki zemljevida", + "data_layers": "Podatkovne plasti", + "fill_area": "Zapolnjevanje področij", + "map_features": "Značilnosti zemljevida" }, "feature": { "points": { "description": "Točke" }, + "traffic_roads": { + "description": "Prometne poti" + }, + "service_roads": { + "description": "Servisne ceste" + }, + "paths": { + "description": "Poti" + }, "buildings": { - "description": "Stavbe" + "description": "Zgradbe" }, "landuse": { + "description": "Uporaba zemljišča", "tooltip": "Gozdovi, Obdelovalna zemlja, Stanovanjska zemljišča, Poslovna zemljišča itd." }, "boundaries": { "description": "Meje", "tooltip": "Administrativne meje" + }, + "water": { + "description": "Vode" + }, + "rail": { + "description": "Železnice", + "tooltip": "Železnice" + }, + "power": { + "description": "Energijski objekti" + }, + "past_future": { + "description": "Preteklo/Prihodnje" + }, + "others": { + "description": "Drugo" + } + }, + "area_fill": { + "wireframe": { + "description": "Brez zapolnjevanja (mreža)" + }, + "partial": { + "description": "Delno zapolnjevanje", + "tooltip": "Področja bodo narisana s polnilom samo okoli notranjih robov (priporočljivo za začetnike)." + }, + "full": { + "description": "Polno zapolnjevanje", + "tooltip": "Področja bodo polno zapolnjena." } }, "restore": { @@ -339,6 +399,7 @@ "facebook": "Deli na Facebook-u", "twitter": "Deli na Twitter-ju", "google": "Deli na Google+", + "help_html": "Vaše spremembe so bodo na \"običajni\" plasti pojavile pojavile čez nekaj minut. Druge plasti in določene značilnosti lahko trajajo dlje.", "help_link_text": "Podrobnosti", "help_link_url": "https://wiki.openstreetmap.org/wiki/FAQ#I_have_just_made_some_changes_to_the_map._How_do_I_get_to_see_my_changes.3F" }, @@ -374,23 +435,30 @@ "deprecated_tags": "Zastarele oznake: {tags}" }, "zoom": { - "in": "Približaj", - "out": "Oddalji" + "in": "Povečaj", + "out": "Pomanjšaj" }, - "cannot_zoom": "Nadaljnje oddaljevanje v trenutnem načinu ni več mogoče.", + "cannot_zoom": "V trenutnem načinu nadaljnja pomanjšava ni več mogoča.", "gpx": { "local_layer": "Lokalna datoteka GPX", "drag_drop": "Povlecite in spustite datoteko .gpx na spletno strani, za iskanje datoteke pa kliknite gumb na desni", - "zoom": "Približaj GPX sled", + "zoom": "Povečaj/Pomanjšaj na sled GPX", "browse": "Prebrskaj do datoteke .gpx" }, + "mapillary_images": { + "title": "Plast s fotografijami (Mapillary)" + }, + "mapillary_signs": { + "tooltip": "Prometni znaki iz Mapilaryja (omogočena mora biti plast s fotografijami)", + "title": "Plast s prometnimi znaki (Mapillary)" + }, "help": { "title": "Pomoč", "roads": "# Ceste\n\nS tem urejevalnikom lahko ceste ustvarjate, popravljate in jih brišete. Ceste so lahko vseh\ntipov: poti, avtoceste, kolovozi, kolesarske steze idr. - vsak pogosto prečkan del ceste\n\nnaj bi bil kartiran.\n\n### Izbiranje\n\nZa izbiranje ceste kliknite nanjo. Pokazal se bo obris ceste, ob njem pa\nmajhen meni z orodji in stranski meni z več informacijami o tej cesti.\n\n### Spreminjanje\n\nPogosto boste opazili ceste, ki se ne prekrivajo s sliko v ozadju,\nali z GPS sledjo. Te ceste lahko prilagodite tako, da so na pravilnem\nmestu.\n\nNajprej klinite na cesto, ki jo želite spremeniti. Cesta bo postala poudarjena in vzdolž\nnje se bodo prikazala vozlišča, ki jih lahko premaknete na pravo mesto. Če želite\ndodati nova vozlišča za bolj podroben potek ceste, dvokliknite na del ceste, ki\nše nima vozlišča, in pojavilo se bo novo vozlišče.\nČe se cesta dotika druge ceste, toda na zemljevidu ni pravilno povezana,\nlahko enega od njenih vozlišč premaknete na drugo cesto in ju tako\npovežete. Pravilno povezane ceste so pomembne za zemljevid\nin nujne za samodejno iskanje pot med različnimi kraji.\nS klikom na 'Premakni' ali s pritiskom tipke 'M' na tipkovnici lahko aktivirate orodje\nza premik celotne ceste naenkrat; premik je končan ob naslednjem kliku.\n### Odstranjevanje\nČe je potek ceste v celoti napačen - npr. ko cesta na satelitskem posnetku sploh ne obstaja\noz. še bolje, ko imate informacijo o tem iz prve roke - jo lahko izbrišete ter jo tako\nodstranite z zemljevida. Pri brisanju objektov bodite pozorni -\nkot pri ostalih načinih urejanja bodo posledice vidne vsakomur. Včasih so satelitski posnetki\nzastareli in morda zato kakšne ceste na njih še ni.\nCesto izbrišete tako, da najprej kliknete nanjo, nato pa kliknete na ikono za smetnjak ali\npa pritisnete tipko 'Izbriši'.\n\n### Creating\n\nSte opazili, da na zemljevidu manjka kakšna cesta? Za začetek risanja kliknite ikono 'Črta'\nlevo zgoraj v urejevalniku ali pa pritisnite tipko '2'.\nKliknite na zemljevid na začetek nove ceste. Če se cesta odcepi z že obstoječe ceste,\nzačnite s klikom na mesto, kjer se ločita.\nNato klikajte na točke vzdolž ceste v pravi smeri (glede na satelitske posnetke ali GPS)\nČe cesta, ki jo rišete, prečka drugo cesto, ju povežite s klikom na njuno križišče.\nKo končate, dvokliknite z miško ali na tipkovnici pritisnite tipko 'Return' ali 'Enter'.\n", "imagery": "# Slikovni posnetki\n\nZračne/satelitske fotografije so pomemben vir za kartiranje. Kombinacija letalskih\nposnetkov, satelitski posnetki in brezplačni viri so dostopni v\nurejevalniku v meniju 'Nastavitve ozadja' na desni.\nZa prikaz so prednastavljen [Bing Maps](http://www.bing.com/maps/) satelitski posnetki,\na ob premikanju in povečevanju zemljevida se bodo prikazali tudi ostali razpoložljivi viri.\nV nekaterih državah, kot so ZDA, Francija ali Danska, so za posamezna območja na voljo tudi posnetki\nz zelo veliko prostorsko ločljivostjo.\nPosnetki so zaradi napak na strani ponudnika včasih zamaknjeni glede na zemljevid.\nČe vidite, da je več cest zamaknjenih glede na posnetek v ozadju,\ncest ne premikajte. Namesto tega lahko prilagodite posnetek tako, da se prekriva z\nobstoječimi podatki na zemljevidu; to storite s klikom na 'Popravi lego' na dnu\nuporabniškega vmesnika 'Nastavitve ozadja'.\n\n", "addresses": "# Naslovi\n\nNaslovi so ena od najbolj uporabnih informacij za zemljevid.\n\nČeprav so naslovi pogosto predstavljeni kot deli ulic, so na OpenStreetMap\nzabeležni kot lastnost stavb in mest ob ulicah.\n\nNaslove lahko dodate točkovnim objektom in tudi obrisom stavb.\nNajboljši vir naslovov je lastna raziskava oz. zbiranje podatkov ali pa\nlastno znanje. Tako kot za ostale objekte tudi tu velja, da je kopiranje\nz ostalih tržnih virov, kot je Google Zemljevidi, strogo prepovedano.\n\n", "buildings": "# Stavbe\n\nOpenStreetMap je največja svetovna zbirka stavb; lahko jo soustvarjate in izboljšujete.\n\n### Izbiranje\n\nStavbo lahko izberete s klikom na njen obris. Stavba se bo poudarila,\nprikazala pa se bosta majhen meni z orodji in stransko polje z več informacijami\no stavbi.\n\n### Spreminjanje\n\nVčasih so stavbe na napačnem mestu ali pa imajo vnešene napačne oznake.\n\nZa premik celotne stavbe jo najprej izberite, nato pa kliknite na orodje 'Move'.\nPremaknite miško za premik stavbe, s ponovnim klikom se premikanje konča.\n\nZa popravilo določenega dela stavbe kliknite in vlecite vozlišče, dokler\nne bo oblika pravilna.\n\n### Ustvarjanje\n\nEna od glavnih značilnosti dodajanja novih stavb na zemljevid je, da\nOpenStreetMap beleži stavbe tako kot obliko kot tudi kot točko. Priporočamo, da\nse _stavbe predstavijo kot mnogokotniki, kadar je le to mogoče_, medtem ko se\npodjetja, domovi, ustanove in vse ostalo, kar se dogaja v stavbah, beleži kot točke,\nki jih umestimo znotraj mnogokotnika stavbe.\n\nZa začetek risanja stavbe na levo strani urejevalnika kliknite gumb 'Mnogokotnik',\nrisanje pa lahko končate s pritiskom tipke 'Return' ali pa s klikom na prvo vozlišče\nte stavbe.\n\n### Odstranjevanje\n\nČe je stavba prikazana popolnoma napačno - če se je npr. ni na satelitskem posnetku oz.\\imate informacije o tem iz prve roke - jo lahko odstranite z zemljevida.\nPri brisanju objektov bodite pozorni -\nkot pri ostalih načinih urejanja bodo posledice vidne vsakomur.\nVčasih so satelitski posnetki\nzastareli in morda zato kakšne stavbe na njih še ni.\n\nStavbo lahko odstanite tako, da jo s klikom izberete, nato pa kliknete\nikono smetnjak ali pritisnete tipko 'Delete'.\n", - "relations": "# Povezave\n\nPovezava je posebna vrsta objekta na OpenStreetMap, ki ostale objekte povezuje v skupine.\nNa primer: dva pogosta tipa povezav sta *cestne povezave*,\nki povezuje vse odseke cest, ki pripadajo določeni prometnici\n(npr. avtocesti, regionalni cesti), in *več mnogokotnikov*; ti v skupino povezujejo\nveč črt, ki definirajo kompleksno območje (npr. na več delov razkosano območje,\nobmočja z vrzelmi).\n\nSkupina objektov v povezavi so *člani* povezave. V stranski vrstici lahko vidite,\nčlan katerih povezav je vsak objekt, s klikom na povezavo pa jo izberete.\nKo je povezava izbrana, bodo v stranski vrstici prikazani vsi njeni člani,\nhkrati pa bodo tudi poudarjeni na zemljevidu.\n\nV večini primerov bo za vzdrževanje povezav samodejno poskrbel iD že med urejanjem.\nBodite pa pozorni predvsem med brisanjem delov cest, ki jih boste na novo narisali -\nte morate nato dodati v isto skupino, kot so bili pred brisanjem.\n\n## Urejanje povezav\n\nSpodaj so navedene osnove za urejanje povezav.\n\nZa dodajanje objekta v povezavo, izberite objekt in kliknite gumb \\+\\ v odseku\n\\All relations\\ stranske vrstice, nato pa izberite ali natipkajte ime povezave.\n\nZa ustvarjanje nove povezave najprej izberite objekt, ki bo njen član,\nnato klinite gumb \\+\\ v odseku \\All relations\\ nato pa izberite\new relation...\\.\n\nZa odstranitev objekta iz povezave najprej izberite objekt, nato pa kliknite na ikono\nsmetnjaka ob povezavi, iz katere želite objekt odstraniti.\n\nVeč mnogokotnikov z vrzelmi lahko ustvarite z orodjem \\Merge\\. Narišite dve območji (zunanjo\nin notranje), nato pa držite pritisnjeno tipko Shift in kliknite na obe območji, da ju izberete.\nNa koncu kliknite še gumb \\Merge\\ (+).\n\n" + "relations": "# Zveza\n\nZveza je posebna vrsta objekta na OpenStreetMap, ki ostale objekte povezuje v skupine.\nNa primer: dva pogosta tipa zvez sta *cestne povezave*,\nki povezuje vse odseke cest, ki pripadajo določeni prometnici\n(npr. avtocesti, regionalni cesti), in *več mnogokotnikov*; ti v skupino povezujejo\nveč črt, ki definirajo kompleksno območje (npr. na več delov razkosano območje,\nobmočja z vrzelmi).\n\nSkupina objektov v zvezi so *člani* zveze. V stranski vrstici lahko vidite,\nčlan katerih zvez je vsak objekt, s klikom na zvezo pa jo izberete.\nKo je zveza izbrana, bodo v stranski vrstici prikazani vsi njeni člani,\nhkrati pa bodo tudi poudarjeni na zemljevidu.\n\nV večini primerov bo za vzdrževanje zvez samodejno poskrbel iD že med urejanjem.\nBodite pa pozorni predvsem med brisanjem delov cest, ki jih boste na novo narisali -\nte morate nato dodati v isto skupino, kot so bili pred brisanjem.\n\n## Urejanje zvez\n\nSpodaj so navedene osnove za urejanje zvez.\n\nZa dodajanje objekta v zvezo izberite objekt in kliknite gumb \\+\\ v odseku\n\\All relations\\ stranske vrstice, nato pa izberite ali natipkajte ime zveze.\n\nZa ustvarjanje nove zveze najprej izberite objekt, ki bo njen član,\nnato klinite gumb \\+\\ v odseku \\All relations\\ nato pa izberite\new relation...\\.\n\nZa odstranitev objekta iz zveze najprej izberite objekt, nato pa kliknite na ikono\nsmetnjaka ob zvezi, iz katere želite objekt odstraniti.\n\nVeč mnogokotnikov z vrzelmi lahko ustvarite z orodjem \\Merge\\. Narišite dve območji (zunanjo\nin notranje), nato pa držite pritisnjeno tipko Shift in kliknite na obe območji, da ju izberete.\nNa koncu kliknite še gumb \\Merge\\ (+).\n\n" }, "intro": { "navigation": { @@ -442,7 +510,7 @@ "name": "Vrste poti" }, "category-rail": { - "name": "Tipi železnice" + "name": "Vrste železnice" }, "category-restriction": { "name": "Vrste prepovedi" @@ -591,6 +659,9 @@ "barrier": { "label": "Vrsta" }, + "beauty": { + "label": "Vrsta trgovine" + }, "bench": { "label": "Klop" }, @@ -605,6 +676,9 @@ "stemcells": "vzorci izvornih celic" } }, + "board_type": { + "label": "Vrsta" + }, "boundary": { "label": "Vrsta" }, @@ -617,6 +691,14 @@ "building_area": { "label": "Zgradba" }, + "camera/direction": { + "label": "Smer (v stopinjah v smeri ur. kazalca)" + }, + "camera/type": { + "options": { + "dome": "Kupola" + } + }, "capacity": { "label": "Kapaciteta", "placeholder": "50, 100, 200..." @@ -655,6 +737,10 @@ "construction": { "label": "Vrsta" }, + "contact/webcam": { + "label": "URL spletne kamere", + "placeholder": "http://example.com/" + }, "content": { "label": "Vsebina" }, @@ -820,6 +906,9 @@ "handrail": { "label": "Ograja" }, + "height": { + "label": "Višina (metri)" + }, "highway": { "label": "Vrsta" }, @@ -918,7 +1007,7 @@ "label": "Osvetljeno" }, "location": { - "label": "Položaj" + "label": "Lokacija" }, "man_made": { "label": "Vrsta" @@ -1088,7 +1177,7 @@ "hike": "Zimsko pohodništvo", "ice_skate": "Drsanje", "nordic": "Nordijsko smučanje", - "playground": "Igrišče", + "playground": "Otroško igrišče", "skitour": "Turno smučanje", "sled": "Sankanje", "sleigh": "Snežna vprega", @@ -1139,12 +1228,12 @@ "options": { "alpine_hiking": "T4: Alpine Hiking", "demanding_alpine_hiking": "T5: Demanding Alpine Hiking", - "demanding_mountain_hiking": "T3: Demanding Mountain Hiking", + "demanding_mountain_hiking": "T3: zahtevna gorska hoja", "difficult_alpine_hiking": "T6: Difficult Alpine Hiking", "hiking": "T1: Hiking", - "mountain_hiking": "T2: Mountain Hiking" + "mountain_hiking": "T2: gorska hoja" }, - "placeholder": "Različne stopnje težavnosti poti..." + "placeholder": "Različne stopnje težavnosti poti …" }, "seasonal": { "label": "Sezonskost" @@ -1208,6 +1297,11 @@ "sport_racing": { "label": "Šport" }, + "stop": { + "options": { + "minor": "Manjša cesta" + } + }, "structure": { "label": "Premostitveni objekt", "options": { @@ -1255,6 +1349,9 @@ "tourism": { "label": "Vrsta" }, + "tower/construction": { + "label": "Gradbišče" + }, "tracktype": { "label": "Tip kolovoza", "options": { @@ -1830,12 +1927,12 @@ "name": "Univerzitetno poslopje" }, "building/commercial": { - "name": "Poslovna stavba", - "terms": "pisarne" + "name": "Poslovna zgradba", + "terms": "pisarne, poslovna stavba" }, "building/construction": { - "name": "Stavba v izgradnji", - "terms": "stavba v gradnji" + "name": "Zgradba v izgradnji", + "terms": "stavba v gradnji,stavba v izgradnji,gradnja" }, "building/dormitory": { "name": "Študentski/dijaški dom", @@ -1857,7 +1954,7 @@ "terms": "topla greda" }, "building/hospital": { - "name": "Bolnišnična stavba", + "name": "Bolnišnična zgradba", "terms": "bolnišnica,bolnica" }, "building/hotel": { @@ -1877,20 +1974,20 @@ "terms": "tovarna,proizvodna hala,proizvodni obrat" }, "building/public": { - "name": "Javna stavba", - "terms": "upravne stavbe,stavbe v javni lasti" + "name": "Javna zgradba", + "terms": "upravne stavbe,stavbe v javni lasti,upravne zgradbe,zgradbe v javni lasti" }, "building/residential": { - "name": "Stanovanjska stavba", + "name": "Stanovanjska zgradba", "terms": "hiša, blok,stanovanjski blok" }, "building/retail": { - "name": "Trgovska stavba", + "name": "Trgovska zgradba", "terms": "trgovska hiša" }, "building/roof": { "name": "Nadstrešek", - "terms": "streha" + "terms": "Streha" }, "building/school": { "name": "Šolsko poslopje", @@ -2044,7 +2141,7 @@ }, "craft/roofer": { "name": "Krovstvo", - "terms": "krovec" + "terms": "Krovec" }, "craft/saddler": { "name": "Sedlarstvo", @@ -2209,11 +2306,11 @@ "terms": "AC" }, "highway/motorway_junction": { - "name": "Avtocestni priključek / Izvoz", + "name": "Avtocestno križišče / Izvoz", "terms": "uvoz,izvoz,priključek" }, "highway/motorway_link": { - "name": "Avtocestna priključna rampa", + "name": "Avtocestni priključek", "terms": "priključek,priključna rampa" }, "highway/path": { @@ -2349,8 +2446,8 @@ "terms": "spominska zgradba" }, "historic/ruins": { - "name": "Ruševine", - "terms": "ostaline,podrtija" + "name": "Razvaline", + "terms": "ruševine,ostaline,podrtija" }, "historic/wayside_cross": { "name": "Križ", @@ -2367,7 +2464,7 @@ "name": "Raba tal" }, "landuse/basin": { - "name": "Čistilni bazen", + "name": "Kotanja", "terms": "usedalnik" }, "landuse/cemetery": { @@ -2379,7 +2476,8 @@ "terms": "cerkvena okolica" }, "landuse/commercial": { - "name": "Poslovno področje" + "name": "Poslovno področje", + "terms": "poslovno območje" }, "landuse/construction": { "name": "Gradbišče", @@ -2390,7 +2488,7 @@ }, "landuse/farmland": { "name": "Obdelovalna zemlja", - "terms": "poljedeljstvo,paša" + "terms": "poljedeljstvo,paša,kmetijsko zemljišče" }, "landuse/farmyard": { "name": "Kmetija", @@ -2404,22 +2502,24 @@ "name": "Garaže" }, "landuse/grass": { - "name": "Zelenica", + "name": "Travnata površina", "terms": "zelenica,vrt,park,javna zelena površina,trava" }, "landuse/industrial": { - "name": "Industrijsko področje" + "name": "Industrijsko področje", + "terms": "industrijska cona,industrijsko območje" }, "landuse/landfill": { "name": "Smetišče", - "terms": "odpadki,deponija odpadkov" + "terms": "odpadki,deponija odpadkov,odlagališče" }, "landuse/meadow": { "name": "Travnik", - "terms": "travišče" + "terms": "travišče,čistina" }, "landuse/military": { - "name": "Vojaško področje" + "name": "Vojaško področje", + "terms": "vojaško območje" }, "landuse/orchard": { "name": "Sadovnjak", @@ -2429,8 +2529,13 @@ "name": "Kamnolom", "terms": "peskokop" }, + "landuse/recreation_ground": { + "name": "Rekreacijsko zemljišče", + "terms": "Zemljišče za rekreacijo" + }, "landuse/residential": { - "name": "Stanovanjsko področje" + "name": "Stanovanjsko področje", + "terms": "Stanovanjsko območje" }, "landuse/retail": { "name": "Nakupovalno področje" @@ -2519,7 +2624,7 @@ }, "leisure/playground": { "name": "Otroško igrišče", - "terms": "igrišče za otroke" + "terms": "igrišče za otroke,igrišče" }, "leisure/running_track": { "name": "Tekaška steza" @@ -2661,7 +2766,7 @@ }, "natural/cliff": { "name": "Skalna stena", - "terms": "skalovje,stena,pečine,klifi,skalni skok" + "terms": "skalovje,stena,pečine,klifi,skalni skok,pečina" }, "natural/coastline": { "name": "Obala", @@ -2680,8 +2785,8 @@ "terms": "travniki,travišče,pašniki" }, "natural/heath": { - "name": "Grmičevje", - "terms": "grmovje" + "name": "Ruševje", + "terms": "grmovje,grmičevje" }, "natural/peak": { "name": "Vrh", @@ -2696,8 +2801,8 @@ "terms": "grušč" }, "natural/scrub": { - "name": "Grmovje", - "terms": "grmičevje,makija" + "name": "Grmičevje", + "terms": "grmovje,makija" }, "natural/spring": { "name": "Izvir", @@ -2961,8 +3066,8 @@ "terms": "tramvaj" }, "relation": { - "name": "Povezava", - "terms": "relacija,zveza,odnos" + "name": "Zveza", + "terms": "relacija,povezava,odnos" }, "roundabout": { "name": "Krožišče" diff --git a/dist/locales/sv.json b/dist/locales/sv.json index 1cf52df7f..babf1200f 100644 --- a/dist/locales/sv.json +++ b/dist/locales/sv.json @@ -337,6 +337,7 @@ "switch": "Växla tillbaka till denna bakgrund", "custom": "Anpassa", "custom_button": "Ändra anpassad bakgrund", + "custom_prompt": "Ange en URL-mall för plattor. Giltiga symboler är {zoom}, {x} och {y} för Z/X/Y-scheman och {u} för QuadTile-scheman.", "fix_misalignment": "Justera bildplacering", "imagery_source_faq": "Var kommer dessa flygfoton från?", "reset": "ta bort", @@ -804,6 +805,9 @@ "whole": "helt blod" } }, + "board_type": { + "label": "Typ" + }, "boundary": { "label": "Typ" }, @@ -975,6 +979,9 @@ "fee": { "label": "Avgift" }, + "fence_type": { + "label": "Typ" + }, "fire_hydrant/type": { "label": "Typ", "options": { @@ -1025,6 +1032,9 @@ "handrail": { "label": "Ledstång" }, + "height": { + "label": "Höjd (meter)" + }, "highway": { "label": "Typ" }, @@ -1070,6 +1080,9 @@ "internet_access/fee": { "label": "Avgift för internetåtkomst" }, + "internet_access/ssid": { + "label": "SSID (Nätverksnamn)" + }, "kerb": { "label": "Trottoarkant" }, @@ -1144,6 +1157,12 @@ "man_made": { "label": "Typ" }, + "map_type": { + "label": "Typ" + }, + "maxheight": { + "label": "Maxhöjd" + }, "maxspeed": { "label": "Hastighetsbegränsning", "placeholder": "50, 70, 90..." @@ -1534,6 +1553,9 @@ "tourism": { "label": "Typ" }, + "tower/type": { + "label": "Typ" + }, "tracktype": { "label": "Typ av bruksväg", "options": { @@ -1580,6 +1602,9 @@ "street": "5 till 20 m (16 till 65 ft)" } }, + "wall": { + "label": "Typ" + }, "water": { "label": "Typ" }, @@ -1864,6 +1889,10 @@ "name": "Glassaffär", "terms": "Glassaffär, glass, glasskiosk, kulglass, mjukglass,gelato,sorbet,sherbet,frozen,yogurt" }, + "amenity/internet_cafe": { + "name": "Internetkafé", + "terms": "Internetcafé, internetcafe, internetcaffe, cybercafé, internetkafé" + }, "amenity/kindergarten": { "name": "Förskoleområde", "terms": "Förskola, dagis, daghem, lekskola, kindergarten, lekis, lekplats, " @@ -2743,6 +2772,10 @@ "name": "Ej underhållen bruksväg", "terms": "Bruksväg, traktorväg, skogsväg, åkerväg, virkesväg, timmerväg, traktor, skogsmaskin, åker, timmer, jordbruk, brandväg, brandgata" }, + "highway/traffic_mirror": { + "name": "Trafikspegel", + "terms": "Trafikspegel, vägspegel, utfartspegel" + }, "highway/traffic_signals": { "name": "Trafiksignaler", "terms": "Trafikljus, trafiksignal, stoppljus, signalljus, ljus, stoppljus, trafikljus" diff --git a/dist/locales/ta.json b/dist/locales/ta.json index 0822f9b96..06078a10a 100644 --- a/dist/locales/ta.json +++ b/dist/locales/ta.json @@ -371,6 +371,9 @@ "suburb": "புறநகர்" } }, + "admin_level": { + "label": "அட்மின் நிலை" + }, "aerialway": { "label": "வகை" }, @@ -401,6 +404,7 @@ "placeholder": "2, 4, 8..." }, "aerialway/summer/access": { + "label": "அனுமதி (வெயில் காலம்)", "options": { "both": "இரண்டும்", "entry": "நுழைவு", @@ -440,6 +444,13 @@ "bin": { "label": "குப்பைத்தொட்டி" }, + "blood_components": { + "label": "இரத்த பாகங்கள் ", + "options": { + "plasma": "பிளாஸ்மா", + "platelets": "பிலேட்லெட்டுகள் " + } + }, "board_type": { "label": "வகை" }, @@ -518,10 +529,15 @@ "label": "பிணையம்" }, "cycleway": { + "label": "ஈருருளை சந்துகள்", "options": { "none": { + "description": "ஈருருளை இல்லா சந்துகள்", "title": "எதுவுமில்லை" }, + "shared_lane": { + "title": "பகிர்ந்த ஈருருளை சந்துகள்" + }, "track": { "title": "பைக் பாதை" } @@ -538,6 +554,9 @@ "delivery": { "label": "பட்டுவாடா" }, + "denomination": { + "label": "மதிப்பு " + }, "description": { "label": "விளக்கம்" }, @@ -552,6 +571,7 @@ "options": { "contact_line": "தொடர்பு வரி", "no": "இல்லை", + "rail": "மின்மயமாக்கப்பட்ட இரயில் ", "yes": "ஆம் (குறிப்பிடப்படவில்லை)" } }, @@ -571,6 +591,9 @@ "fee": { "label": "Fee" }, + "fence_type": { + "label": "வகை" + }, "fire_hydrant/type": { "label": "வகை", "options": { @@ -716,6 +739,10 @@ "map_type": { "label": "வகை" }, + "maxheight": { + "label": "அதிகபட்ச உயரம் ", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" + }, "maxspeed": { "label": "வேக எல்லை", "placeholder": "40, 50, 60..." @@ -836,7 +863,8 @@ "piste/type": { "label": "வகை", "options": { - "playground": "விடையாட்டு மைதானம்" + "playground": "விடையாட்டு மைதானம்", + "snow_park": "பனி பூங்கா " } }, "place": { @@ -880,11 +908,18 @@ "no": "இல்லை", "only": "மட்டும்", "yes": "ஆம்" - } + }, + "placeholder": "ஆம். இல்லை. மட்டும் " }, "service": { "label": "வகை" }, + "service/bicycle": { + "label": "சேவைகள்" + }, + "service_rail": { + "label": "சேவை வகை " + }, "shelter_type": { "label": "வகை" }, @@ -962,6 +997,9 @@ "visibility": { "label": "பார்க்கூடிய நிலை" }, + "wall": { + "label": "வகை" + }, "water": { "label": "வகை" }, @@ -994,24 +1032,42 @@ "name": "பில்போர்ட்", "terms": "துண்டு விளம்பரங்கள் ஒட்டப்படும் பலகை" }, + "aerialway/cable_car": { + "name": "கேபிள் கார் " + }, "aeroway/aerodrome": { "name": "விமானநிலையம்" }, "aeroway/helipad": { "name": "சிறு விமானம் இறங்கும் தளம்" }, + "aeroway/terminal": { + "name": "விமான நிலையம்" + }, + "amenity/arts_centre": { + "name": "கலையரங்கம் " + }, "amenity/atm": { "name": "ஏ.டி.எம்" }, "amenity/bank": { "name": "வங்கி" }, + "amenity/bar": { + "name": "மதுபானக் கடை " + }, + "amenity/bench": { + "name": "விசுப்பலகை" + }, "amenity/bicycle_parking": { "name": "ஈருருளை நிறுத்தகம்" }, "amenity/bicycle_rental": { "name": "சைக்கிள் வாடகை" }, + "amenity/bus_station": { + "name": "பேருந்து நிலையம் " + }, "amenity/cafe": { "name": "டீக்கடை" }, @@ -1021,6 +1077,15 @@ "amenity/clock": { "name": "கடிகாரம்" }, + "amenity/dentist": { + "name": "பல் மருத்துவர் " + }, + "amenity/doctors": { + "name": "மருத்துவர் " + }, + "amenity/drinking_water": { + "name": "குடிநீர் " + }, "amenity/fire_station": { "name": "தீயணைப்பு நிலையம்" }, @@ -1045,9 +1110,15 @@ "amenity/place_of_worship": { "name": "வழிபாட்டு இடம்" }, + "amenity/place_of_worship/christian": { + "name": "தேவாலயம் " + }, "amenity/place_of_worship/muslim": { "name": "தர்கா" }, + "amenity/planetarium": { + "name": "கோளரங்கம் " + }, "amenity/police": { "name": "காவல்" }, @@ -1057,6 +1128,9 @@ "amenity/post_office": { "name": "அஞ்சலகம்" }, + "amenity/pub": { + "name": "பப் " + }, "amenity/restaurant": { "name": "உணவகம்" }, diff --git a/dist/locales/te.json b/dist/locales/te.json index 9f624cc44..f40596ef7 100644 --- a/dist/locales/te.json +++ b/dist/locales/te.json @@ -213,6 +213,7 @@ "upload_explanation": "మీరు ఎక్కించే మార్పులు ఓపెన్‌స్ట్రీట్‌మ్యాప్ డేటాను వాడే పటాలన్నింటిలోనూ కనిపిస్తాయి.", "save": "భద్రపరచు", "cancel": "రద్దుచేయి", + "changes": "{count} మార్పులు", "warnings": "హెచ్చరికలు", "modified": "మార్చబడింది", "deleted": "తొలగించబడింది", @@ -223,6 +224,7 @@ "truncated_list": "మార్పులు చేసినవారు {users} మరియు {count} మంది" }, "infobox": { + "selected": "{n} ఎంచుకున్నారు", "geometry": "రేఖాగణితం", "closed": "మూసివున్న", "center": "కేంద్రము", @@ -236,7 +238,8 @@ "geometry": { "point": "బిందువు", "vertex": "శీర్షం", - "line": "గీత" + "line": "గీత", + "relation": "సంబంధం" }, "geocoder": { "search": "విశ్వవ్యాప్తంగా వెతుకు", @@ -266,6 +269,11 @@ "unknown": "గుర్తు తెలియని", "feature_list": "విశేషాలు వెతుకు", "edit": "విశేషం మార్చు", + "check": { + "yes": "అవును", + "no": "కాదు" + }, + "add": "చేర్చు", "none": "ఏవీ కాదు", "way": "దారి", "relation": "సంబంధం", @@ -276,6 +284,38 @@ "description": "వెనుతలపు అమరికలు", "none": "ఏవీ కాదు" }, + "map_data": { + "map_features": "పటపు విశేషాలు" + }, + "feature": { + "points": { + "description": "బిందువులు" + }, + "traffic_roads": { + "tooltip": "రహదార్లు, వీధులు, మొదలైనవి." + }, + "paths": { + "description": "దారులు", + "tooltip": "కాలిబాటలు, సైకిల్ తోవలు, మొదలైనవి." + }, + "buildings": { + "description": "కట్టడాలు" + }, + "boundaries": { + "description": "సరిహద్దులు", + "tooltip": "పరిపాలనా సరిహద్దులు" + }, + "water": { + "description": "నీటి విశేషాలు", + "tooltip": "నదులు, చెరువులు, పల్లపు ప్రాంతాలు, మొదలైనవి." + }, + "rail": { + "tooltip": "రైల్వేలు" + }, + "others": { + "description": "ఇతరాలు" + } + }, "restore": { "heading": "భద్రపరచని మార్పులు ఉన్నాయి", "restore": "పునరుద్ధరించు" @@ -283,17 +323,26 @@ "save": { "title": "భద్రపరచు", "no_changes": "భద్రపరచాల్సిన మార్పులేమీ లేవు.", - "unsaved_changes": "భద్రపరచని మార్పులు ఉన్నాయి" + "unsaved_changes": "భద్రపరచని మార్పులు ఉన్నాయి", + "conflict": { + "previous": "< మునుపటి", + "next": "తదుపరి >", + "keep_local": "నావి ఉంచు", + "keep_remote": "వాళ్ళవి వాడు", + "restore": "పునరుద్ధరించు" + } }, "success": { "just_edited": "మీరు ఇప్పుడే OpenStreetMapను మార్చారు", "view_on_osm": "OSM/ఓఎస్ఎం లో వీక్షించు", "facebook": "ఫేస్‌బుక్‌లో పంచుకోండి", "twitter": "ట్విట్టర్లో పంచుకోండి", - "google": "గూగుల్+లో పంచుకోండి" + "google": "గూగుల్+లో పంచుకోండి", + "help_link_text": "వివరాలు" }, "confirm": { - "okay": "సరే" + "okay": "సరే", + "cancel": "రద్దుచేయి" }, "splash": { "walkthrough": "దర్శన మొదలుపెట్టు", diff --git a/dist/locales/uk.json b/dist/locales/uk.json index 33a34229a..940fefa58 100644 --- a/dist/locales/uk.json +++ b/dist/locales/uk.json @@ -820,6 +820,21 @@ "building_area": { "label": "Будинок" }, + "camera/direction": { + "label": "Напрямок (в градусах за годинниковою стрілкою)", + "placeholder": "45, 90, 180, 270" + }, + "camera/mount": { + "label": "Кріплення камери" + }, + "camera/type": { + "label": "Тип кармери", + "options": { + "dome": "Купольна", + "fixed": "Нерухома", + "panning": "Панорамна" + } + }, "capacity": { "label": "Міськість", "placeholder": "50, 100, 200…" @@ -858,6 +873,10 @@ "construction": { "label": "Тип" }, + "contact/webcam": { + "label": "URL веб-камери", + "placeholder": "http://example.com/" + }, "content": { "label": "Вміст" }, @@ -979,6 +998,9 @@ "fee": { "label": "Плата" }, + "fence_type": { + "label": "Тип" + }, "fire_hydrant/type": { "label": "Тип", "options": { @@ -1077,6 +1099,9 @@ "internet_access/fee": { "label": "Плата за доступ до Інтеренету" }, + "internet_access/ssid": { + "label": "SSID (Назва мережі)" + }, "kerb": { "label": "Зʼїзд з бордюра" }, @@ -1157,6 +1182,10 @@ "map_type": { "label": "Тип" }, + "maxheight": { + "label": "Максимальна висота", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" + }, "maxspeed": { "label": "Обмеження швидкості", "placeholder": "40, 50, 60…" @@ -1271,6 +1300,9 @@ "operator": { "label": "Оператор" }, + "outdoor_seating": { + "label": "Місця на зовні" + }, "par": { "label": "Пар", "placeholder": "3, 4, 5…" @@ -1523,6 +1555,20 @@ "surface": { "label": "Поверхня" }, + "surveillance": { + "label": "Спостереження " + }, + "surveillance/type": { + "label": "Тип спостереження", + "options": { + "ALPR": "Автоматичне розпізнавання номерних знаків", + "camera": "Камера", + "guard": "Охорона" + } + }, + "surveillance/zone": { + "label": "Зона спостереження" + }, "tactile_paving": { "label": "Тактильне покриття" }, @@ -1600,6 +1646,9 @@ "street": "5 м до 20 м (16-65 фт)" } }, + "wall": { + "label": "Тип" + }, "water": { "label": "Тип" }, @@ -1824,6 +1873,10 @@ "name": "Коворкінг", "terms": "коворкінг,офіс,спільне,розташування,оренда,робота,конференція" }, + "amenity/crematorium": { + "name": "Крематорій", + "terms": "крематорій,поховання,послуги,церемонія,мрець,покійник,кладовище,цвинтар,обряд,служба" + }, "amenity/dentist": { "name": "Дантист", "terms": "Dentist, lfynbcn, стоматолог, зубний лікар, лікар" @@ -1856,6 +1909,10 @@ "name": "Пожежна станція", "terms": "Fire Station, gjtyf cnfywsz, пожежне депо, пожежна станція, пожежа" }, + "amenity/food_court": { + "name": "Ресторане подвірʼя", + "terms": "фудкорт,забігайлівка,кафе,швидко,їжа,центр,торговий,розважальний,кіно,відпочинок,дозвілля,ресторан,суші,піца,кава,напої,тістечка" + }, "amenity/fountain": { "name": "Фонтан", "terms": "Fountain, ajynfy,вода, фонтан" @@ -2767,6 +2824,10 @@ "name": "Путівець", "terms": "путівець,грунтовка,польова дорога,трактор,вантажівка,шрунт,трава,шлак,відсів" }, + "highway/traffic_mirror": { + "name": "Дзеркало", + "terms": "дзеркало,дорога,безпека,рух,огляд,попередження" + }, "highway/traffic_signals": { "name": "Світлофор", "terms": "Traffic Signals, cdsnkjajh, світлофор" @@ -2946,6 +3007,10 @@ "name": "Громада", "terms": "громада, земля громади" }, + "leisure/dance": { + "name": "Зала для танців", + "terms": "танці,зала,бальні танці,розваги,дозвілля,клуб,інтереси,тренування" + }, "leisure/dog_park": { "name": "Парк для собак", "terms": "Dog Park, gfhr lkz cjfr, парк для собак" @@ -3046,6 +3111,10 @@ "name": "Ігровий майданчик", "terms": "Playground, suhjdbq vfqlfyxbr, дитячий ігровий майданчик,ігровий майданчик " }, + "leisure/resort": { + "name": "Курорт", + "terms": "курорт,відпочинок,пляж,процедури,оздоровлення,лікування,вода,дозвілля,розваги,готель,житло,туризм" + }, "leisure/running_track": { "name": "Бігова доріжка", "terms": "бігова доріжка, трек" @@ -3161,6 +3230,10 @@ "name": "Камера відео-спостереження", "terms": "камера,спостереження,швидкість" }, + "man_made/surveillance_camera": { + "name": "Камера відеоспостереження", + "terms": "камера,спостереження,безпека,нагляд,швидкість,реєстрація,порушення,злочин,запис,відео" + }, "man_made/survey_point": { "name": "Геодезичний пункт", "terms": "Survey Point, utjltpbxybq geyrn, місце спостереження" @@ -4049,6 +4122,10 @@ "name": "Мебльована квартира/Комплекс", "terms": "готель,квартира,апартаменти,відпочинок,житло,готель,оренда,тур,кімната,хостел" }, + "tourism/aquarium": { + "name": "Акваріум", + "terms": "акваріум,туризм,розваги,вода,риби,тварини,вистава" + }, "tourism/artwork": { "name": "Витвори мистецтв", "terms": "Artwork, dbndjhb vbcntwnd, витвори мистецтва" diff --git a/dist/locales/vi.json b/dist/locales/vi.json index 93467a695..6cb0c847f 100644 --- a/dist/locales/vi.json +++ b/dist/locales/vi.json @@ -820,6 +820,21 @@ "building_area": { "label": "Tòa nhà" }, + "camera/direction": { + "label": "Hướng (Độ theo Chiều Kim Đồng hồ)", + "placeholder": "45, 90, 180, 270" + }, + "camera/mount": { + "label": "Hỗ trợ Camera" + }, + "camera/type": { + "label": "Loại Camera", + "options": { + "dome": "Vòm", + "fixed": "Cố định", + "panning": "Cuộn" + } + }, "capacity": { "label": "Sức chứa", "placeholder": "50, 100, 200…" @@ -858,6 +873,10 @@ "construction": { "label": "Kiểu" }, + "contact/webcam": { + "label": "URL Webcam", + "placeholder": "http://example.com/" + }, "content": { "label": "Đồ Chứa đựng" }, @@ -979,6 +998,9 @@ "fee": { "label": "Phí" }, + "fence_type": { + "label": "Kiểu" + }, "fire_hydrant/type": { "label": "Kiểu", "options": { @@ -1077,6 +1099,9 @@ "internet_access/fee": { "label": "Phí Truy cập Internet" }, + "internet_access/ssid": { + "label": "SSID (Tên Mạng)" + }, "kerb": { "label": "Bờ Lề đường" }, @@ -1157,6 +1182,10 @@ "map_type": { "label": "Kiểu" }, + "maxheight": { + "label": "Chiều cao Tối đa", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" + }, "maxspeed": { "label": "Tốc độ Tối đa", "placeholder": "40, 50, 60…" @@ -1271,6 +1300,9 @@ "operator": { "label": "Cơ quan Chủ quản" }, + "outdoor_seating": { + "label": "Ngồi ở Ngoài" + }, "par": { "label": "Điểm chuẩn", "placeholder": "3, 4, 5…" @@ -1523,6 +1555,20 @@ "surface": { "label": "Mặt" }, + "surveillance": { + "label": "Vị trí Quan sát" + }, + "surveillance/type": { + "label": "Chế độ Quan sát", + "options": { + "ALPR": "Hệ thống Nhận dạng Bảng số Xe Tự động", + "camera": "Camera", + "guard": "Nhân viên" + } + }, + "surveillance/zone": { + "label": "Phạm vi Quan sát" + }, "tactile_paving": { "label": "Gạch dành cho Người Khiếm thị" }, @@ -1600,6 +1646,9 @@ "street": "5 đến 20 m (16 đến 65 ft)" } }, + "wall": { + "label": "Kiểu" + }, "water": { "label": "Loại" }, @@ -1824,6 +1873,10 @@ "name": "Văn phòng Làm việc Chung", "terms": "văn phòng làm việc chung, không gian làm việc chung, van phong lam viec chung, khong gian lam viec chung" }, + "amenity/crematorium": { + "name": "Lò Thiêu", + "terms": "lò thiêu, lò hỏa táng, lò hoả táng, lo thieu, lo hoa tang" + }, "amenity/dentist": { "name": "Nha sĩ", "terms": "văn phòng nha sĩ, văn phòng nha sỹ, văn phòng bác sĩ nha khoa, văn phòng bác sỹ nha khoa, văn phòng chữa răng, van phong nha si, van phong nha sy, van phong bac si nha khoa, van phong bac sy nha khoa, van phong chua rang" @@ -1856,6 +1909,10 @@ "name": "Trạm Cứu hỏa", "terms": "trạm cứu hỏa, cứu hỏa, trạm cứu hoả, cứu hoả, trạm chữa cháy, chữa cháy, tram cuu hoa, cuu hoa, tram chua chay, chua chay" }, + "amenity/food_court": { + "name": "Trung tâm Ẩm thực", + "terms": "trung tâm ẩm thực, khu ẩm thực, phố ẩm thực, nhà hàng ăn nhanh, quán ăn nhanh, trung tam am thuc, khu am thuc, pho am thuc, nha hang an nhanh, quan an nhanh" + }, "amenity/fountain": { "name": "Vòi nước", "terms": "vòi nước, voi nuoc" @@ -2661,7 +2718,7 @@ }, "highway/mini_roundabout": { "name": "Bùng binh Nhỏ", - "terms": "bùng binh nhỏ, đường vòng nhỏ, bung binh nho, duong vong nho" + "terms": "bùng binh nhỏ, đường vòng nhỏ, vòng xuyến nhỏ, bung binh nho, duong vong nho, vong xuyen nho" }, "highway/motorway": { "name": "Đường Cao tốc", @@ -2767,6 +2824,10 @@ "name": "Đường gom", "terms": "đường gom, đường mòn, đường nông thôn, đường lâm nghiệp, đường bỏ hoang, duong gom, duong mon, duong nong thon, duong lam nghiep, duong bo hoang" }, + "highway/traffic_mirror": { + "name": "Gương Giao thông", + "terms": "gương giao thông, guong giao thong" + }, "highway/traffic_signals": { "name": "Đèn Giao thông", "terms": "đèn giao thông, đèn tín hiệu giao thông, đèn tín hiệu, đèn điều khiển giao thông, đèn điều khiển, đèn xanh đèn đỏ, đèn xanh đỏ, đèn ngã tư, đèn ngã ba, den giao thong, den tin hieu giao thong, den tin hieu, den dieu khien giao thong, den dieu khien, den xanh den do, den xanh do, den nga tu, den nga ba" @@ -2946,6 +3007,10 @@ "name": "Đất công", "terms": "đất công, mảnh đất công, đất công cộng, dat cong, manh dat cong, dat cong cong" }, + "leisure/dance": { + "name": "Phòng Khiêu vũ", + "terms": "phòng khiêu vũ, phòng nhảy, phong khieu vu, phong nhay" + }, "leisure/dog_park": { "name": "Công viên dành cho Chó", "terms": "công viên chó, công viên cho chó, công viên dành cho chó, công viên chó chạy nhảy, cong vien cho, cong vien cho cho, cong vien danh cho cho, cong vien cho chay nhay" @@ -3046,6 +3111,10 @@ "name": "Sân chơi", "terms": "sân chơi, khu vui chơi, khu vui chơi trẻ em, đồ chơi, công viên trẻ em, cầu tuột, đu, xích đu, thang leo, san choi, khu vui choi, khu vui choi tre em, do choi, cong vien tre em, cau tuot, du, xich du, thang leo" }, + "leisure/resort": { + "name": "Khu Nghỉ dưỡng", + "terms": "khu nghỉ dưỡng, khu nghỉ ngơi, khu nghỉ hè, resort, khu nghi duong, khu nghi ngoi, khu nghi he" + }, "leisure/running_track": { "name": "Đường Chạy", "terms": "đường chạy, đường chạy đua, đường chạy điền kinh, duong chay, duong chay dua, duong chay dien kinh" @@ -3161,6 +3230,10 @@ "name": "Camera Giám sát", "terms": "camera giám sát, máy ảnh giám sát, giám sát, camera giam sat, may anh giam sat, giam sat" }, + "man_made/surveillance_camera": { + "name": "Camera Quan sát", + "terms": "camera quan sát, camêra quan sát, máy ảnh quan sát, camera giám sát, camêra giám sát, máy ảnh giám sát, camera an ninh, camêra an ninh, máy ảnh an ninh, cctv, camera quan sat, may anh quan sat, camera giam sat, may anh giam sat, camera an ninh, may anh an ninh" + }, "man_made/survey_point": { "name": "Điểm Khảo sát", "terms": "điểm khảo sát, diem khao sat" @@ -4049,6 +4122,10 @@ "name": "Khu chung cư Nghỉ dưỡng", "terms": "khu chung cư nghỉ dưỡng, khu chung cư nghỉ mát, khu chung cu nghi duong, khu chung cu nghi mat" }, + "tourism/aquarium": { + "name": "Thủy cung", + "terms": "thủy cung, thuỷ cung, vườn thủy cung, vườn thuỷ cung, công viên thủy sinh, công viên thuỷ sinh, vườn thủy sinh, vườn thuỷ sinh, công viên cá, công viên hải dương học, thuy cung, vuon thuy cung, cong vien thuy sinh, vuon thuy sinh, cong vien ca, cong vien hai duong hoc" + }, "tourism/artwork": { "name": "Nghệ phẩm", "terms": "nghệ phẩm, mỹ phẩm, bức tranh, công trình điêu khắc, nghe pham, my pham, buc tranh, cong trinh dieu khac" diff --git a/dist/locales/zh-HK.json b/dist/locales/zh-HK.json index 3e2df796e..3f4a517ef 100644 --- a/dist/locales/zh-HK.json +++ b/dist/locales/zh-HK.json @@ -227,6 +227,7 @@ "localized_translation_name": "名稱" }, "zoom_in_edit": "放大以編輯", + "login": "登入", "logout": "登出", "loading_auth": "正在連接 OpenStreetMap...", "report_a_bug": "報告錯誤", @@ -238,7 +239,8 @@ "status": { "error": "未能連接至應用程式介面。", "offline": "應用程式介面現在離線。請稍後再編輯。", - "readonly": "應用程式介面處於唯讀模式。如要儲存變更需要稍等。" + "readonly": "應用程式介面處於唯讀模式。如要儲存變更需要稍等。", + "rateLimit": "這個應用程式介面限制匿名連接,你可登入來解決這個問題。" }, "commit": { "title": "儲存變更", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "沒有這個標籤組合的相關文件", "no_documentation_key": "沒有這個鍵值的相關文件", + "documentation_redirect": "這份文件已轉至新一頁", "show_more": "顯示更多", "view_on_osm": "在 openstreetmap.org 中檢視", "all_fields": "所有資料", @@ -334,6 +337,7 @@ "switch": "切換回這個背景", "custom": "自訂", "custom_button": "編輯自訂背景", + "custom_prompt": "輸入區塊範本的網址。有效的標記是以 {z}, {x}, {y} 作為 Z/X/Y 標記系統 Z/X/Y scheme 和 {u} 作為四分位數標記系統 quadtile scheme。", "fix_misalignment": "校正對位誤差", "imagery_source_faq": "這個背景影像來自何處?", "reset": "重設", @@ -757,10 +761,10 @@ } }, "aeroway": { - "label": "類" + "label": "種類" }, "amenity": { - "label": "類" + "label": "種類" }, "area/highway": { "label": "種類" @@ -769,7 +773,7 @@ "label": "藝人" }, "artwork_type": { - "label": "類" + "label": "種類" }, "atm": { "label": "提款機" @@ -778,13 +782,16 @@ "label": "長椅" }, "barrier": { - "label": "類" + "label": "種類" + }, + "beauty": { + "label": "商店種類" }, "bench": { "label": "長椅" }, "bicycle_parking": { - "label": "類" + "label": "種類" }, "bin": { "label": "垃圾筒" @@ -798,8 +805,11 @@ "whole": "全血" } }, + "board_type": { + "label": "種類" + }, "boundary": { - "label": "類" + "label": "種類" }, "brand": { "label": "品牌" @@ -846,7 +856,7 @@ "label": "收集時間" }, "construction": { - "label": "類" + "label": "種類" }, "content": { "label": "內容" @@ -864,7 +874,7 @@ "label": "裁剪" }, "crossing": { - "label": "類" + "label": "種類" }, "cuisine": { "label": "菜系" @@ -957,7 +967,7 @@ "label": "急症室" }, "entrance": { - "label": "類" + "label": "種類" }, "except": { "label": "例外" @@ -969,6 +979,9 @@ "fee": { "label": "費用" }, + "fence_type": { + "label": "種類" + }, "fire_hydrant/type": { "label": "類", "options": { @@ -1006,7 +1019,7 @@ "label": "來源" }, "generator/type": { - "label": "類" + "label": "種類" }, "golf_hole": { "label": "參攷", @@ -1019,11 +1032,14 @@ "handrail": { "label": "扶手" }, + "height": { + "label": "高度 (米)" + }, "highway": { - "label": "類別" + "label": "種類" }, "historic": { - "label": "類別" + "label": "種類" }, "hoops": { "label": "籃框數量", @@ -1049,7 +1065,7 @@ "label": "室內" }, "information": { - "label": "類" + "label": "種類" }, "internet_access": { "label": "用到互聯網", @@ -1064,6 +1080,9 @@ "internet_access/fee": { "label": "互聯網費用" }, + "internet_access/ssid": { + "label": "SSID (網絡名稱)" + }, "kerb": { "label": "下斜路緣" }, @@ -1138,6 +1157,16 @@ "man_made": { "label": "類別" }, + "map_size": { + "label": "覆蓋範圍" + }, + "map_type": { + "label": "種類" + }, + "maxheight": { + "label": "最大高度", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" + }, "maxspeed": { "label": "速度限制", "placeholder": "40, 50, 60..." @@ -1252,6 +1281,9 @@ "operator": { "label": "營辦商" }, + "outdoor_seating": { + "label": "室外座位" + }, "par": { "label": "標準桿", "placeholder": "3, 4, 5..." @@ -1341,6 +1373,13 @@ "recycling_accepts": { "label": "接受" }, + "recycling_type": { + "label": "回收種類", + "options": { + "centre": "回收中心", + "container": "回收箱" + } + }, "ref": { "label": "參考" }, @@ -1518,6 +1557,9 @@ "tourism": { "label": "類" }, + "tower/type": { + "label": "種類" + }, "tracktype": { "label": "路徑種類", "options": { @@ -1529,6 +1571,9 @@ }, "placeholder": "實心、接近實心、柔性..." }, + "traffic_calming": { + "label": "種類" + }, "traffic_signals": { "label": "訊號種類" }, @@ -1561,6 +1606,9 @@ "street": "5 至 20米 (16 至 65呎)" } }, + "wall": { + "label": "種類" + }, "water": { "label": "類" }, @@ -2708,6 +2756,10 @@ "name": "無保養道路", "terms": "未舖設路面的路" }, + "highway/traffic_mirror": { + "name": "廣角鏡", + "terms": "Traffic Mirror, 魚眼鏡" + }, "highway/traffic_signals": { "name": "交通燈", "terms": "Traffic Signals,交通燈,紅綠燈" @@ -2724,6 +2776,10 @@ "name": "迴車處", "terms": "Turning Circle,回轉圈,迴車場,迴車圓環,車輛迴轉處,車輛迴旋處" }, + "highway/turning_loop": { + "name": "迴車處 (島式)", + "terms": "Turning Loop, 迴車圈" + }, "highway/unclassified": { "name": "次級/未分類道路", "terms": "未分類的道路,小路,小規模道路" @@ -3974,6 +4030,10 @@ "name": "高山小屋", "terms": "Alpine Hut,高山小屋,高山屋仔" }, + "tourism/aquarium": { + "name": "水族館", + "terms": "Aquarium, 水族館" + }, "tourism/artwork": { "name": "藝術品", "terms": "Artwork,藝術品" @@ -4010,6 +4070,14 @@ "name": "旅遊資訊", "terms": "Information,資訊,資訊處" }, + "tourism/information/map": { + "name": "地圖", + "terms": "Map, 地圖" + }, + "tourism/information/office": { + "name": "遊客中心", + "terms": "Tourist Information Office, 旅客中心, 遊客中心, 旅客諮詢中心" + }, "tourism/motel": { "name": "汽車酒店", "terms": "Motel,汽車旅館,汽車酒店,時租旅店" diff --git a/dist/locales/zh-TW.json b/dist/locales/zh-TW.json index 2655c8c54..0954ea327 100644 --- a/dist/locales/zh-TW.json +++ b/dist/locales/zh-TW.json @@ -820,6 +820,21 @@ "building_area": { "label": "建築物" }, + "camera/direction": { + "label": "方向(順時針)", + "placeholder": "45, 90, 180, 270" + }, + "camera/mount": { + "label": "相機架設" + }, + "camera/type": { + "label": "相機類型", + "options": { + "dome": "半球形", + "fixed": "固定式", + "panning": "全景" + } + }, "capacity": { "label": "容量", "placeholder": "50, 100, 200..." @@ -858,6 +873,10 @@ "construction": { "label": "種類" }, + "contact/webcam": { + "label": "網路攝影機 URL", + "placeholder": "http://example.com/" + }, "content": { "label": "內容" }, @@ -979,6 +998,9 @@ "fee": { "label": "費用" }, + "fence_type": { + "label": "種類" + }, "fire_hydrant/type": { "label": "種類", "options": { @@ -1077,6 +1099,9 @@ "internet_access/fee": { "label": "網路存取費用" }, + "internet_access/ssid": { + "label": "SSID (網路名稱)" + }, "kerb": { "label": "路邊斜坡" }, @@ -1157,6 +1182,10 @@ "map_type": { "label": "種類" }, + "maxheight": { + "label": "最高高度", + "placeholder": "4, 4.5, 5, 14'0\", 14'6\", 15'0\"" + }, "maxspeed": { "label": "速度限制", "placeholder": "40, 50, 60..." @@ -1271,6 +1300,9 @@ "operator": { "label": "營運商" }, + "outdoor_seating": { + "label": "戶外座位" + }, "par": { "label": "標準桿數", "placeholder": "3,4,5..." @@ -1523,6 +1555,20 @@ "surface": { "label": "路面鋪設" }, + "surveillance": { + "label": "監視種類" + }, + "surveillance/type": { + "label": "監視類型", + "options": { + "ALPR": "自動牌照讀取器", + "camera": "相機", + "guard": "守衛" + } + }, + "surveillance/zone": { + "label": "監視區域" + }, "tactile_paving": { "label": "人行道視障引導設施" }, @@ -1600,6 +1646,9 @@ "street": "5 到 20 公尺(16 到 65 英呎)" } }, + "wall": { + "label": "種類" + }, "water": { "label": "種類" }, @@ -1824,6 +1873,10 @@ "name": "共同工作空間", "terms": "共同工作空間,共用工作空間,coworking space" }, + "amenity/crematorium": { + "name": "火葬場", + "terms": "火葬場" + }, "amenity/dentist": { "name": "牙醫", "terms": "牙醫診所" @@ -1856,6 +1909,10 @@ "name": "消防局", "terms": "消防隊,救火隊" }, + "amenity/food_court": { + "name": "美食街", + "terms": "美食街,美食中心" + }, "amenity/fountain": { "name": "噴水池", "terms": "噴水泉" @@ -2767,6 +2824,10 @@ "name": "未舖設路面的車徑", "terms": "未舖設路面的車徑" }, + "highway/traffic_mirror": { + "name": "道路反射鏡", + "terms": "反射鏡,交通反射鏡" + }, "highway/traffic_signals": { "name": "紅綠燈", "terms": "交通燈,交通號誌,交通信號燈" @@ -2946,6 +3007,10 @@ "name": "公共用地", "terms": "公有地" }, + "leisure/dance": { + "name": "舞廳", + "terms": "跳舞場所" + }, "leisure/dog_park": { "name": "狗公園", "terms": "寵物公園" @@ -3046,6 +3111,10 @@ "name": "遊樂場", "terms": "遊樂場" }, + "leisure/resort": { + "name": "度假勝地", + "terms": "度假村" + }, "leisure/running_track": { "name": "操場", "terms": "跑道,跑步跑道,賽跑跑道" @@ -3161,6 +3230,10 @@ "name": "監視器", "terms": "監視錄影器" }, + "man_made/surveillance_camera": { + "name": "監視器", + "terms": "監視器" + }, "man_made/survey_point": { "name": "測量點", "terms": "三角點,土地測量點,控制點" @@ -4049,6 +4122,10 @@ "name": "假日公寓", "terms": "假日公寓,日租型套房" }, + "tourism/aquarium": { + "name": "水族館(展覽館)", + "terms": "水族館,海洋世界,海洋公園" + }, "tourism/artwork": { "name": "公共藝術", "terms": "藝術品,街頭藝術" From 3f024d0b95e3adf1aba49bd33cf3b528ebee4381 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 28 Nov 2016 00:12:50 -0500 Subject: [PATCH 094/119] Replace hardcoded RTL list with detected language lookup from dataLocales --- modules/core/context.js | 4 ++-- modules/util/detect.js | 4 +++- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/modules/core/context.js b/modules/core/context.js index be2218da9..a6b9249be 100644 --- a/modules/core/context.js +++ b/modules/core/context.js @@ -307,7 +307,7 @@ export function coreContext() { }; context.loadLocale = function(callback) { - if (locale && locale !== 'en' && dataLocales.indexOf(locale) !== -1) { + if (locale && locale !== 'en' && dataLocales.hasOwnProperty(locale)) { localePath = localePath || context.asset('locales/' + locale + '.json'); d3.json(localePath, function(err, result) { if (!err) { @@ -351,7 +351,7 @@ export function coreContext() { context.projection = geoRawMercator(); locale = utilDetect().locale; - if (locale && dataLocales.indexOf(locale) === -1) { + if (locale && !dataLocales.hasOwnProperty(locale)) { locale = locale.split('-')[0]; } diff --git a/modules/util/detect.js b/modules/util/detect.js index d3a002fe0..a4cf24d7d 100644 --- a/modules/util/detect.js +++ b/modules/util/detect.js @@ -1,4 +1,5 @@ import { currentLocale, setTextDirection } from './locale'; +import { dataLocales } from '../../data/index'; import { utilStringQs } from './index'; var detected; @@ -70,7 +71,8 @@ export function utilDetect(force) { // detect text direction var q = utilStringQs(window.location.hash.substring(1)); - if (['ar', 'fa', 'iw', 'he', 'dv'].indexOf(detected.locale.split('-')[0]) > -1 || q.hasOwnProperty('rtl')) { + var lang = dataLocales[detected.locale]; + if ((lang && lang.rtl) || q.hasOwnProperty('rtl')) { detected.textDirection = 'rtl'; } else { detected.textDirection = 'ltr'; From 026450d8fdffde14da34a3db5f64f0c787a58c48 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 30 Nov 2016 14:56:58 -0500 Subject: [PATCH 095/119] Bump shx 0.2.1 to fix issue w building on windows cygwyn/git bash shell --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 071d9625c..80ee1cda4 100644 --- a/package.json +++ b/package.json @@ -63,7 +63,7 @@ "rollup-plugin-commonjs": "5.0.5", "rollup-plugin-json": "2.0.2", "rollup-plugin-node-resolve": "2.0.0", - "shx": "~0.2.0", + "shx": "~0.2.1", "sinon": "~1.17.5", "sinon-chai": "~2.8.0", "smash": "0.0", From 2453c5c8b77030d1b675b2f52c08e244a4a20793 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 30 Nov 2016 17:06:33 -0500 Subject: [PATCH 096/119] Eliminate symlinks in repository - shelljs/shx can make them (closes #3545) --- .gitignore | 7 ++++ README.md | 7 ++-- build.js | 55 ++++++++++++++++++---------- css/img | 1 - fixWinSymlinks.bat | 91 ---------------------------------------------- img | 1 - land.html | 1 - test/css | 1 - test/img | 1 - 9 files changed, 46 insertions(+), 119 deletions(-) delete mode 120000 css/img delete mode 100644 fixWinSymlinks.bat delete mode 120000 img delete mode 120000 land.html delete mode 120000 test/css delete mode 120000 test/img diff --git a/.gitignore b/.gitignore index c3fd22f29..c2925d6a7 100644 --- a/.gitignore +++ b/.gitignore @@ -8,3 +8,10 @@ dist/mapillary-js/ node_modules/ npm-debug.log transifex.auth + +# autogenerated symlinks +land.html +img +css/img +test/css +test/img diff --git a/README.md b/README.md index e035487cb..519c88586 100644 --- a/README.md +++ b/README.md @@ -44,10 +44,9 @@ Come on in, the water's lovely. More help? Ping `jfire` or `bhousel` on: To run the current development version of iD on your own computer: 1. Create a local `git clone` of the project, then `cd` into the project folder -2. (Windows Only) Run `fixWinSymlinks.bat`. This script will prompt for Administrator rights. see also: http://stackoverflow.com/questions/5917249/git-symlinks-in-windows -3. Run `npm install` (this will run the `prepublish` script that builds everything) -4. Run `npm start` -5. Open `http://localhost:8080/` in a web browser +2. Run `npm install` (this will run the `prepublish` script that builds everything) +3. Run `npm start` +4. Open `http://localhost:8080/` in a web browser For guidance on building a packaged version, running tests, and contributing to development, see [CONTRIBUTING.md](CONTRIBUTING.md). diff --git a/build.js b/build.js index d50523bc5..5551318e2 100644 --- a/build.js +++ b/build.js @@ -1,15 +1,34 @@ /* eslint-disable no-console */ -var _ = require('lodash'); -var fs = require('fs'); -var path = require('path'); -var glob = require('glob'); -var YAML = require('js-yaml'); -var jsonschema = require('jsonschema'); +const _ = require('lodash'); +const fs = require('fs'); +const glob = require('glob'); +const jsonschema = require('jsonschema'); +const path = require('path'); +const shell = require('shelljs'); +const YAML = require('js-yaml'); + +const fieldSchema = require('./data/presets/schema/field.json'); +const presetSchema = require('./data/presets/schema/preset.json'); +const suggestions = require('name-suggestion-index/name-suggestions.json'); + + +// Create symlinks if necessary.. { 'target': 'source' } +const symlinks = { + 'land.html': 'dist/land.html', + 'img': 'dist/img', + 'css/img': '../dist/img', + 'test/css': '../css', + 'test/img': '../dist/img' +}; + +for (const target of Object.keys(symlinks)) { + if (!shell.test('-L', target)) { + console.log(`Creating symlink: ${target} -> ${symlinks[target]}`); + shell.ln('-sf', symlinks[target], target); + } +} -var fieldSchema = require('./data/presets/schema/field.json'); -var presetSchema = require('./data/presets/schema/preset.json'); -var suggestions = require('name-suggestion-index/name-suggestions.json'); // Translation strings var tstrings = { @@ -20,12 +39,14 @@ var tstrings = { // Start clean -unlink('data/presets/categories.json'); -unlink('data/presets/fields.json'); -unlink('data/presets/presets.json'); -unlink('data/presets.yaml'); -unlink('data/taginfo.json'); -unlink('dist/locales/en.json'); +shell.rm('-f', [ + 'data/presets/categories.json', + 'data/presets/fields.json', + 'data/presets/presets.json', + 'data/presets.yaml', + 'data/taginfo.json', + 'dist/locales/en.json' +]); var categories = generateCategories(); var fields = generateFields(); @@ -54,10 +75,6 @@ fs.writeFileSync('dist/locales/en.json', JSON.stringify(en, null, 4)); process.exit(); -function unlink(f) { - try { fs.unlinkSync(f); } catch (e) { /* noop */ } -} - function read(f) { return JSON.parse(fs.readFileSync(f, 'utf8')); } diff --git a/css/img b/css/img deleted file mode 120000 index a5e0e5adb..000000000 --- a/css/img +++ /dev/null @@ -1 +0,0 @@ -../dist/img/ \ No newline at end of file diff --git a/fixWinSymlinks.bat b/fixWinSymlinks.bat deleted file mode 100644 index 6932c6686..000000000 --- a/fixWinSymlinks.bat +++ /dev/null @@ -1,91 +0,0 @@ -@echo. -@echo For converting Git symlink files to Windows file symlinks. -@echo * Run in repository root as Administrator. -@echo * Handling of folder symlinks is not implemented. -@echo * Intended for windows versions Vista and above (Win 7,8) -@echo. -@echo Thanks to: http://stackoverflow.com/a/5930443/1031870 -@echo v1.02 (c) 2015 Robert Benko (Quazistax), License: MIT -@echo. - -@echo off -pushd "%~dp0" -setlocal EnableDelayedExpansion -call :raiseUACIfNotAdmin || exit /B 1 -for /f "tokens=3,*" %%e in ('git ls-files -s ^| findstr /R /C:"^120000"') do ( - call :processFirstLine %%f -) -REM pause -goto :eof - -:processFirstLine -@echo. -@echo FILE: %1 - -dir "%~f1" | find "" >NUL && ( - @echo FILE already is a symlink - goto :eof -) - -for /f "usebackq tokens=*" %%l in ("%~f1") do ( - @echo LINK TO: %%l - - del "%~f1" - if not !ERRORLEVEL! == 0 ( - @echo FAILED: del - goto :eof - ) - - setlocal - call :expandRelative linkto "%1" "%%l" - mklink "%~f1" "!linkto!" - endlocal - if not !ERRORLEVEL! == 0 ( - @echo FAILED: mklink - @echo reverting deletion... - git checkout -- "%~f1" - goto :eof - ) - - git update-index --assume-unchanged "%1" - if not !ERRORLEVEL! == 0 ( - @echo FAILED: git update-index --assume-unchanged - goto :eof - ) - @echo SUCCESS - goto :eof -) -goto :eof - -:: param1 = result variable -:: param2 = reference path from which relative will be resolved -:: param3 = relative path -:expandRelative - pushd . - cd "%~dp2" - set %1=%~f3 - popd -goto :eof - -:raiseUACIfNotAdmin -:: Quick test for Windows generation: UAC aware or not ; all OS before NT4 ignored for simplicity -:: Original from: http://stackoverflow.com/a/14729312/1031870 - -(ver | findstr /IL "5." > NUL || ver | findstr /IL "4." > NUL) && ( - @echo ERROR: Symlinks are not supported on this version of Windows. - exit /B 1 -) - -:: Test if Admin -call net session >NUL 2>&1 -if not !ERRORLEVEL! == 0 ( - :: Start batch again with UAC - echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs" - echo UAC.ShellExecute "cmd.exe", "/K ""cd /d %~dp0 && %~s0""", "%~dp0", "runas", 1 >> "%temp%\getadmin.vbs" - @echo Requesting administrative privileges... - "%temp%\getadmin.vbs" - del "%temp%\getadmin.vbs" - exit /B 2 -) -exit /B 0 -goto :eof diff --git a/img b/img deleted file mode 120000 index aab814b92..000000000 --- a/img +++ /dev/null @@ -1 +0,0 @@ -dist/img \ No newline at end of file diff --git a/land.html b/land.html deleted file mode 120000 index 45f5c6cc8..000000000 --- a/land.html +++ /dev/null @@ -1 +0,0 @@ -dist/land.html \ No newline at end of file diff --git a/test/css b/test/css deleted file mode 120000 index d2d7c52c8..000000000 --- a/test/css +++ /dev/null @@ -1 +0,0 @@ -../css \ No newline at end of file diff --git a/test/img b/test/img deleted file mode 120000 index a5e0e5adb..000000000 --- a/test/img +++ /dev/null @@ -1 +0,0 @@ -../dist/img/ \ No newline at end of file From d955b3c6269ab0a8e18ac3df4bde6a60223b4567 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 30 Nov 2016 23:36:55 -0500 Subject: [PATCH 097/119] Include shelljs as dependency (even though shx installs it) --- package.json | 1 + 1 file changed, 1 insertion(+) diff --git a/package.json b/package.json index 80ee1cda4..4ea7eddfa 100644 --- a/package.json +++ b/package.json @@ -63,6 +63,7 @@ "rollup-plugin-commonjs": "5.0.5", "rollup-plugin-json": "2.0.2", "rollup-plugin-node-resolve": "2.0.0", + "shelljs": "~0.7.5", "shx": "~0.2.1", "sinon": "~1.17.5", "sinon-chai": "~2.8.0", From 7edef9ef67365211fd3420a64c98f860e3d48673 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 1 Dec 2016 21:52:35 -0500 Subject: [PATCH 098/119] const with for-of not actually ok in all version of node 4 --- build.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/build.js b/build.js index 5551318e2..2c925ea6f 100644 --- a/build.js +++ b/build.js @@ -22,7 +22,7 @@ const symlinks = { 'test/img': '../dist/img' }; -for (const target of Object.keys(symlinks)) { +for (var target of Object.keys(symlinks)) { if (!shell.test('-L', target)) { console.log(`Creating symlink: ${target} -> ${symlinks[target]}`); shell.ln('-sf', symlinks[target], target); From 1a31d6e3c67a9a05b24faa5775a04d49bf26ec79 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 1 Dec 2016 22:29:19 -0500 Subject: [PATCH 099/119] Add note for Windows users about symbolic links --- README.md | 3 +++ 1 file changed, 3 insertions(+) diff --git a/README.md b/README.md index 519c88586..cec40f7b4 100644 --- a/README.md +++ b/README.md @@ -41,6 +41,9 @@ Come on in, the water's lovely. More help? Ping `jfire` or `bhousel` on: ## Installation +Note: Windows users should run these steps in a shell started with "Run as administrator". +This is only necessary the first time so that the build process can create symbolic links. + To run the current development version of iD on your own computer: 1. Create a local `git clone` of the project, then `cd` into the project folder From 0c024698d1c664c5c47be3de90e20c7ba94ca393 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 2 Dec 2016 05:44:25 -0500 Subject: [PATCH 100/119] Remove "covered" field from Bus Stop preset (closes #3627) --- data/presets/presets.json | 3 +-- data/presets/presets/highway/bus_stop.json | 5 ++--- 2 files changed, 3 insertions(+), 5 deletions(-) diff --git a/data/presets/presets.json b/data/presets/presets.json index fadf2fdaa..62a2115df 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -4763,8 +4763,7 @@ "network", "operator", "bench", - "shelter", - "covered" + "shelter" ], "geometry": [ "point", diff --git a/data/presets/presets/highway/bus_stop.json b/data/presets/presets/highway/bus_stop.json index c358e0ac8..19981f3e8 100644 --- a/data/presets/presets/highway/bus_stop.json +++ b/data/presets/presets/highway/bus_stop.json @@ -4,8 +4,7 @@ "network", "operator", "bench", - "shelter", - "covered" + "shelter" ], "geometry": [ "point", @@ -16,4 +15,4 @@ }, "terms": [], "name": "Bus Stop" -} \ No newline at end of file +} From 1d7e2f76bde5cd891f16649037eec7e80a8fb619 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 2 Dec 2016 10:45:03 -0500 Subject: [PATCH 101/119] Check in example deploy.sh script --- scripts/deploy.sh | 32 ++++++++++++++++++++++++++++++++ 1 file changed, 32 insertions(+) create mode 100644 scripts/deploy.sh diff --git a/scripts/deploy.sh b/scripts/deploy.sh new file mode 100644 index 000000000..00339eeb6 --- /dev/null +++ b/scripts/deploy.sh @@ -0,0 +1,32 @@ +#/bin/bash + +# This is an example script that shows how to pull the latest version +# of iD and replace the version string with a git short hash. +# +# We use this script to maintain the iD mirror at: http://openstreetmap.us/iD/master +# It runs via cron job every 15 minutes. +# +# To use this on your own site, you'll want to change the `cp` and `chgrp` +# lines at the end to match your web server's documentroot folder and security group. + +git checkout -q master +git remote update > /dev/null + +rev=`git rev-parse --short HEAD` +orig=`git rev-parse --short origin/master` +if [[ "${rev}" == "${orig}" ]] ; then + exit 0 +fi + +git reset --hard HEAD +git pull origin master + +rev=`git rev-parse --short HEAD` +sed -i "s/context.version = .*;/context.version = '${rev}';/" modules/core/context.js + +npm prune +npm install +# npm run all + +cp -Rf dist/* /var/www/openstreetmap.us/iD/master/ +chgrp -R www-data /var/www/openstreetmap.us/iD/master/ From b9888e45e46148a0334081e62ed3c1a21072cb82 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sat, 3 Dec 2016 19:22:06 -0500 Subject: [PATCH 102/119] Add imageryBlacklists function to get blacklists from OSM API (for #3623) --- modules/services/osm.js | 36 +++++++++++++++++++++++++- test/spec/services/osm.js | 54 +++++++++++++++++++++++++++++++++++++++ 2 files changed, 89 insertions(+), 1 deletion(-) diff --git a/modules/services/osm.js b/modules/services/osm.js index e55f29a91..aaa2162ad 100644 --- a/modules/services/osm.js +++ b/modules/services/osm.js @@ -25,6 +25,7 @@ var dispatch = d3.dispatch('authLoading', 'authDone', 'change', 'loading', 'load }), rateLimitError, userDetails, + capabilities, off; @@ -161,6 +162,7 @@ export default { reset: function() { userDetails = undefined; rateLimitError = undefined; + capabilities = undefined; _.forEach(inflight, abortRequest); loadedTiles = {}; inflight = {}; @@ -429,22 +431,54 @@ export default { }, + // `status` will always request the `api/capabilities` resource.. status: function(callback) { - function done(capabilities) { + function done(xml) { + capabilities = xml; + if (rateLimitError) { callback(rateLimitError, 'rateLimited'); } else { var apiStatus = capabilities.getElementsByTagName('status'), val = apiStatus[0].getAttribute('api'); + callback(undefined, val); } } + d3.xml(urlroot + '/api/capabilities').get() .on('load', done) .on('error', callback); }, + // `imageryBlacklists` will reuse the previous `api/capabilities` result, if available.. + imageryBlacklists: function(callback) { + function done(xml) { + capabilities = xml; + + var elements = capabilities.getElementsByTagName('blacklist'), + blacklists = []; + for (var i = 0; i < elements.length; i++) { + var regex = elements[i].getAttribute('regex'); // needs unencode? + if (regex) { + blacklists.push(regex); + } + } + + callback(undefined, blacklists); + } + + if (capabilities) { + done(capabilities); + } else { + d3.xml(urlroot + '/api/capabilities').get() + .on('load', done) + .on('error', callback); + } + }, + + tileZoom: function(_) { if (!arguments.length) return tileZoom; tileZoom = _; diff --git a/test/spec/services/osm.js b/test/spec/services/osm.js index fce8e6d68..bd5d75fb9 100644 --- a/test/spec/services/osm.js +++ b/test/spec/services/osm.js @@ -445,4 +445,58 @@ describe('iD.serviceOsm', function () { expect(connection.changesetTags('2.0.0', '', [])).not.to.have.property('comment'); }); }); + + describe('API capabilities', function() { + var server, + capabilitiesXML = '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + '' + + ''; + + + beforeEach(function() { + server = sinon.fakeServer.create(); + // connection.reset(); + }); + + afterEach(function() { + server.restore(); + }); + + describe('#status', function() { + it('gets API status', function(done) { + connection.status(function(err, val) { + expect(val).to.eql('online'); + done(); + }); + + server.respondWith('GET', 'http://www.openstreetmap.org/api/capabilities', + [200, { 'Content-Type': 'text/xml' }, capabilitiesXML]); + server.respond(); + }); + }); + + describe('#imageryBlacklists', function() { + it('gets imagery blacklists', function(done) { + connection.imageryBlacklists(function(err, val) { + expect(val).to.eql(['.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*']); + done(); + }); + + server.respondWith('GET', 'http://www.openstreetmap.org/api/capabilities', + [200, { 'Content-Type': 'text/xml' }, capabilitiesXML]); + server.respond(); + }); + }); + + }); + }); From c353684ad337433a4c257ccdea8f19129c3a97cd Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 4 Dec 2016 13:55:18 -0500 Subject: [PATCH 103/119] Add imagery blacklist tests to rendererBackground#baseLayerSource --- modules/renderer/background.js | 31 ++++++++++++++++++++++++++++++- 1 file changed, 30 insertions(+), 1 deletion(-) diff --git a/modules/renderer/background.js b/modules/renderer/background.js index 11ebb2bf1..50f58a0f4 100644 --- a/modules/renderer/background.js +++ b/modules/renderer/background.js @@ -12,6 +12,8 @@ export function rendererBackground(context) { var dispatch = d3.dispatch('change'), baseLayer = rendererTileLayer(context).projection(context.projection), overlayLayers = [], + defaultBlacklist = '.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*', + blacklists = [defaultBlacklist], backgroundSources; @@ -127,7 +129,34 @@ export function rendererBackground(context) { background.baseLayerSource = function(d) { if (!arguments.length) return baseLayer.source(); - baseLayer.source(d); + + // // test source against OSM imagery blacklists.. + // context.connection().imageryBlacklists(function(err, val) { + // if (!err) blacklists = val; + // }); + + var fail = false, + tested = 0, + regex, i; + + for (i = 0; i < blacklists; i++) { + try { + regex = new RegExp(blacklists[i]); + fail = regex.test(d.template); + tested++; + if (fail) break; + } catch (e) { + /* noop */ + } + } + + // ensure at least one test was run. + if (!tested) { + regex = new RegExp(defaultBlacklist); + fail = regex.test(d.template); + } + + baseLayer.source(!fail ? d : rendererBackgroundSource.None()); dispatch.call('change'); background.updateImagery(); return background; From a7ac44f6e8f8646812ee444f150cf504f37824cf Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 4 Dec 2016 21:34:34 -0500 Subject: [PATCH 104/119] Refactor `imageryBlacklists` so it can be called without triggering a GET Previous code was problematic because we need the function to to properly blacklist custom imagery passed in through the url hash, before iD is completely initialized. Triggering GET causes tests to break because osm service testing has side effects :-/ --- modules/core/context.js | 9 +++---- modules/renderer/background.js | 10 +++----- modules/services/osm.js | 46 +++++++++++++--------------------- modules/ui/background.js | 9 +++---- test/spec/services/osm.js | 13 ++++++---- 5 files changed, 35 insertions(+), 52 deletions(-) diff --git a/modules/core/context.js b/modules/core/context.js index a6b9249be..e2f49a15f 100644 --- a/modules/core/context.js +++ b/modules/core/context.js @@ -381,7 +381,6 @@ export function coreContext() { ui = uiInit(context); connection = services.osm; - background = rendererBackground(context); features = rendererFeatures(context); presets = presetIndex(); @@ -396,16 +395,16 @@ export function coreContext() { context.zoomOutFurther = map.zoomOutFurther; context.redrawEnable = map.redrawEnable; - background.init(); - presets.init(); - areaKeys = presets.areaKeys(); - _.each(services, function(service) { if (service && typeof service.init === 'function') { service.init(context); } }); + background.init(); + presets.init(); + areaKeys = presets.areaKeys(); + return utilRebind(context, dispatch, 'on'); } diff --git a/modules/renderer/background.js b/modules/renderer/background.js index 50f58a0f4..46284acad 100644 --- a/modules/renderer/background.js +++ b/modules/renderer/background.js @@ -12,8 +12,6 @@ export function rendererBackground(context) { var dispatch = d3.dispatch('change'), baseLayer = rendererTileLayer(context).projection(context.projection), overlayLayers = [], - defaultBlacklist = '.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*', - blacklists = [defaultBlacklist], backgroundSources; @@ -130,10 +128,8 @@ export function rendererBackground(context) { background.baseLayerSource = function(d) { if (!arguments.length) return baseLayer.source(); - // // test source against OSM imagery blacklists.. - // context.connection().imageryBlacklists(function(err, val) { - // if (!err) blacklists = val; - // }); + // test source against OSM imagery blacklists.. + var blacklists = context.connection().imageryBlacklists(); var fail = false, tested = 0, @@ -152,7 +148,7 @@ export function rendererBackground(context) { // ensure at least one test was run. if (!tested) { - regex = new RegExp(defaultBlacklist); + regex = new RegExp('.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*'); fail = regex.test(d.template); } diff --git a/modules/services/osm.js b/modules/services/osm.js index aaa2162ad..defbf6ec1 100644 --- a/modules/services/osm.js +++ b/modules/services/osm.js @@ -13,6 +13,7 @@ var dispatch = d3.dispatch('authLoading', 'authDone', 'change', 'loading', 'load useHttps = window.location.protocol === 'https:', protocol = useHttps ? 'https:' : 'http:', urlroot = protocol + '//www.openstreetmap.org', + blacklists = ['.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*'], inflight = {}, loadedTiles = {}, tileZoom = 16, @@ -25,7 +26,6 @@ var dispatch = d3.dispatch('authLoading', 'authDone', 'change', 'loading', 'load }), rateLimitError, userDetails, - capabilities, off; @@ -162,7 +162,6 @@ export default { reset: function() { userDetails = undefined; rateLimitError = undefined; - capabilities = undefined; _.forEach(inflight, abortRequest); loadedTiles = {}; inflight = {}; @@ -431,15 +430,26 @@ export default { }, - // `status` will always request the `api/capabilities` resource.. status: function(callback) { function done(xml) { - capabilities = xml; + // update blacklists + var elements = xml.getElementsByTagName('blacklist'), + regexes = []; + for (var i = 0; i < elements.length; i++) { + var regex = elements[i].getAttribute('regex'); // needs unencode? + if (regex) { + regexes.push(regex); + } + } + if (regexes.length) { + blacklists = regexes; + } + if (rateLimitError) { callback(rateLimitError, 'rateLimited'); } else { - var apiStatus = capabilities.getElementsByTagName('status'), + var apiStatus = xml.getElementsByTagName('status'), val = apiStatus[0].getAttribute('api'); callback(undefined, val); @@ -452,30 +462,8 @@ export default { }, - // `imageryBlacklists` will reuse the previous `api/capabilities` result, if available.. - imageryBlacklists: function(callback) { - function done(xml) { - capabilities = xml; - - var elements = capabilities.getElementsByTagName('blacklist'), - blacklists = []; - for (var i = 0; i < elements.length; i++) { - var regex = elements[i].getAttribute('regex'); // needs unencode? - if (regex) { - blacklists.push(regex); - } - } - - callback(undefined, blacklists); - } - - if (capabilities) { - done(capabilities); - } else { - d3.xml(urlroot + '/api/capabilities').get() - .on('load', done) - .on('error', callback); - } + imageryBlacklists: function() { + return blacklists; }, diff --git a/modules/ui/background.js b/modules/ui/background.js index e03309588..f3389a616 100644 --- a/modules/ui/background.js +++ b/modules/ui/background.js @@ -109,14 +109,11 @@ export function uiBackground(context) { function editCustom() { d3.event.preventDefault(); var template = window.prompt(t('background.custom_prompt'), customTemplate); - if (!template || - template.indexOf('google.com') !== -1 || - template.indexOf('googleapis.com') !== -1 || - template.indexOf('google.ru') !== -1) { + if (template) { + setCustom(template); + } else { selectLayer(); - return; } - setCustom(template); } diff --git a/test/spec/services/osm.js b/test/spec/services/osm.js index bd5d75fb9..b75c23378 100644 --- a/test/spec/services/osm.js +++ b/test/spec/services/osm.js @@ -458,13 +458,15 @@ describe('iD.serviceOsm', function () { '' + '' + '' + - '' + + '' + + '' + + '' + + '' + ''; beforeEach(function() { server = sinon.fakeServer.create(); - // connection.reset(); }); afterEach(function() { @@ -485,9 +487,10 @@ describe('iD.serviceOsm', function () { }); describe('#imageryBlacklists', function() { - it('gets imagery blacklists', function(done) { - connection.imageryBlacklists(function(err, val) { - expect(val).to.eql(['.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*']); + it('updates imagery blacklists', function(done) { + connection.status(function() { + var blacklists = connection.imageryBlacklists(); + expect(blacklists).to.deep.equal(['\.foo\.com','\.bar\.org']); done(); }); From aa3c1c8431173273ef4edd8754f02bb10947e42b Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 4 Dec 2016 21:47:46 -0500 Subject: [PATCH 105/119] All sources have id now, so compare by id Fixes an issue where a source might not compare strictly equal e.g.: 1. custom imagery gets blacklisted and replaced with a `rendererBackgroundSource.None()` 2. which doesn't strictly === the `rendererBackgroundSource.None()` on the background pane switcher 3. so the radio button would not appear checked --- modules/renderer/background.js | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/modules/renderer/background.js b/modules/renderer/background.js index 46284acad..0a37d6511 100644 --- a/modules/renderer/background.js +++ b/modules/renderer/background.js @@ -165,9 +165,8 @@ export function rendererBackground(context) { background.showsLayer = function(d) { - return d === baseLayer.source() || - (d.id === 'custom' && baseLayer.source().id === 'custom') || - overlayLayers.some(function(l) { return l.source() === d; }); + return d.id === baseLayer.source().id || + overlayLayers.some(function(layer) { return d.id === layer.source().id; }); }; From 77b78a73ca6343006e089df505a0dec062d1edad Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 6 Dec 2016 16:54:42 -0500 Subject: [PATCH 106/119] Complete orphaned d3-zoom gestures that were preventing clicks (closes #2151), (see also d3/d3-zoom#60, d3/d3-brush#18) Intercept `mousedown` and check if there is an orphaned zoom gesture. This can happen if a previous `mousedown` occurred without a `mouseup`. If we detect this, dispatch `mouseup` to complete the orphaned gesture, so that d3-zoom won't stop propagation of new `mousedown` events. --- modules/renderer/map.js | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) diff --git a/modules/renderer/map.js b/modules/renderer/map.js index e3a165345..514031e56 100644 --- a/modules/renderer/map.js +++ b/modules/renderer/map.js @@ -53,6 +53,7 @@ export function rendererMap(context) { var zoom = d3.zoom() .scaleExtent([ztok(2), ztok(24)]) .interpolate(d3.interpolate) + .filter(zoomEventFilter) .on('zoom', zoomPan); var _selection = d3.select(null); @@ -145,7 +146,40 @@ export function rendererMap(context) { }); map.dimensions(utilGetDimensions(selection)); + } + + function zoomEventFilter() { + // Fix for #2151, (see also d3/d3-zoom#60, d3/d3-brush#18) + // Intercept `mousedown` and check if there is an orphaned zoom gesture. + // This can happen if a previous `mousedown` occurred without a `mouseup`. + // If we detect this, dispatch `mouseup` to complete the orphaned gesture, + // so that d3-zoom won't stop propagation of new `mousedown` events. + if (d3.event.type === 'mousedown') { + var hasOrphan = false; + var listeners = window.__on; + for (var i = 0; i < listeners.length; i++) { + var listener = listeners[i]; + if (listener.name === 'zoom' && listener.type === 'mouseup') { + hasOrphan = true; + break; + } + } + if (hasOrphan) { + var event = window.CustomEvent; + if (event) { + event = new event('mouseup'); + } else { + event = window.document.createEvent('Event'); + event.initEvent('mouseup', false, false); + } + // Event needs to be dispatched with an event.view property. + event.view = window; + window.dispatchEvent(event); + } + } + + return d3.event.button !== 2; // ignore right clicks } From 6b18ea76ff5bbf0739f0a12c004a9a09413f57a5 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 7 Dec 2016 15:38:14 -0500 Subject: [PATCH 107/119] Hide labels along selected ways, or near selected vertices (closes #3636) --- modules/renderer/map.js | 10 ++++++--- modules/svg/labels.js | 46 ++++++++++++++++++++++++++++++++++------- 2 files changed, 45 insertions(+), 11 deletions(-) diff --git a/modules/renderer/map.js b/modules/renderer/map.js index 514031e56..d78d495cc 100644 --- a/modules/renderer/map.js +++ b/modules/renderer/map.js @@ -360,9 +360,13 @@ export function rendererMap(context) { map.mouse = function() { - var e = mousemove || d3.event, s; - while ((s = e.sourceEvent)) e = s; - return mouse(e); + var event = mousemove || d3.event; + if (event) { + var s; + while ((s = event.sourceEvent)) { event = s; } + return mouse(event); + } + return null; }; diff --git a/modules/svg/labels.js b/modules/svg/labels.js index 0abc70992..cb05159b8 100644 --- a/modules/svg/labels.js +++ b/modules/svg/labels.js @@ -584,35 +584,65 @@ export function svgLabels(projection, context) { // debug drawCollisionBoxes(label, rskipped, 'debug-skipped'); drawCollisionBoxes(label, rdrawn, 'debug-drawn'); + + selection.call(filterLabels); } - function hideOnMouseover() { - if (d3.event.buttons) return; - - var layers = d3.select(this) + function filterLabels(selection) { + var layers = selection .selectAll('.layer-label, .layer-halo'); layers.selectAll('.proximate') .classed('proximate', false); var mouse = context.mouse(), - pad = 20, - bbox = { minX: mouse[0] - pad, minY: mouse[1] - pad, maxX: mouse[0] + pad, maxY: mouse[1] + pad }, - ids = _.map(rdrawn.search(bbox), 'id'); + graph = context.graph(), + selectedIDs = context.selectedIDs(), + ids = [], + pad, bbox; + + // hide labels near the mouse + if (mouse) { + pad = 20; + bbox = { minX: mouse[0] - pad, minY: mouse[1] - pad, maxX: mouse[0] + pad, maxY: mouse[1] + pad }; + ids.push.apply(ids, _.map(rdrawn.search(bbox), 'id')); + } + + // hide labels along selected ways, or near selected vertices + for (var i = 0; i < selectedIDs.length; i++) { + var entity = graph.entity(selectedIDs[i]); + var geometry = entity.geometry(graph); + + if (geometry === 'line') { + ids.push(selectedIDs[i]); + } else if (geometry === 'vertex') { + var point = context.projection(entity.loc); + pad = 10; + bbox = { minX: point[0] - pad, minY: point[1] - pad, maxX: point[0] + pad, maxY: point[1] + pad }; + ids.push.apply(ids, _.map(rdrawn.search(bbox), 'id')); + } + } layers.selectAll(utilEntitySelector(ids)) .classed('proximate', true); } + var throttleFilterLabels = _.throttle(filterLabels, 100); + + drawLabels.observe = function(selection) { - selection.on('mousemove.hidelabels', hideOnMouseover); + var listener = function() { throttleFilterLabels(selection); }; + selection.on('mousemove.hidelabels', listener); + context.on('enter.hidelabels', listener); }; drawLabels.off = function(selection) { + throttleFilterLabels.cancel(); selection.on('mousemove.hidelabels', null); + context.on('enter.hidelabels', null); }; From 1912251251faa45b7af2395ff1ad3c9d2945b66b Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Wed, 7 Dec 2016 16:58:27 -0500 Subject: [PATCH 108/119] Add labels for vertices (closes #2709) --- modules/svg/labels.js | 42 +++++++++++++++++++++++------------------- 1 file changed, 23 insertions(+), 19 deletions(-) diff --git a/modules/svg/labels.js b/modules/svg/labels.js index cb05159b8..ab3865223 100644 --- a/modules/svg/labels.js +++ b/modules/svg/labels.js @@ -244,9 +244,9 @@ export function svgLabels(projection, context) { function drawLabels(selection, graph, entities, filter, dimensions, fullRedraw) { - var hidePoints = !selection.selectAll('.node.point').node(); + var lowZoom = context.surface().classed('low-zoom'); - var labelable = [], i, j, k, entity; + var labelable = [], i, j, k, entity, geometry; for (i = 0; i < labelStack.length; i++) { labelable.push([]); } @@ -272,12 +272,8 @@ export function svgLabels(projection, context) { // Split entities into groups specified by labelStack for (i = 0; i < entities.length; i++) { entity = entities[i]; - var geometry = entity.geometry(graph); - - if (geometry === 'vertex') - continue; - if (hidePoints && geometry === 'point') - continue; + geometry = entity.geometry(graph); + if (geometry === 'vertex') { geometry = 'point'; } // treat vertex like point var preset = geometry === 'area' && context.presets().match(entity, graph), icon = preset && !blacklisted(preset) && preset.icon; @@ -315,29 +311,37 @@ export function svgLabels(projection, context) { var fontSize = labelStack[k][3]; for (i = 0; i < labelable[k].length; i++) { entity = labelable[k][i]; + geometry = entity.geometry(graph); + var name = utilDisplayName(entity), width = name && textWidth(name, fontSize), p; - if (entity.geometry(graph) === 'point') { - p = getPointLabel(entity, width, fontSize); - } else if (entity.geometry(graph) === 'line') { + if (geometry === 'point') { + p = getPointLabel(entity, width, fontSize, geometry); + } else if (geometry === 'vertex' && !lowZoom) { + // don't label vertices at low zoom because they don't have icons + p = getPointLabel(entity, width, fontSize, geometry); + } else if (geometry === 'line') { p = getLineLabel(entity, width, fontSize); - } else if (entity.geometry(graph) === 'area') { + } else if (geometry === 'area') { p = getAreaLabel(entity, width, fontSize); } + if (p) { - p.classes = entity.geometry(graph) + ' tag-' + labelStack[k][1]; - positions[entity.geometry(graph)].push(p); - labelled[entity.geometry(graph)].push(entity); + if (geometry === 'vertex') { geometry = 'point'; } // treat vertex like point + p.classes = geometry + ' tag-' + labelStack[k][1]; + positions[geometry].push(p); + labelled[geometry].push(entity); } } } - function getPointLabel(entity, width, height) { - var pointOffsets = { - ltr: [15, -12, 'start'], - rtl: [-15, -12, 'end'] + function getPointLabel(entity, width, height, geometry) { + var y = (geometry === 'point' ? -12 : 0), + pointOffsets = { + ltr: [15, y, 'start'], + rtl: [-15, y, 'end'] }; var coord = projection(entity.loc), From a3de3534c3658bffef65263ccfd0e79e74308d9d Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Thu, 8 Dec 2016 11:08:21 -0500 Subject: [PATCH 109/119] Don't reuse click handler in enter selection, set on update (closes #3638) --- modules/ui/fields/check.js | 33 ++++++++++++++++++--------------- 1 file changed, 18 insertions(+), 15 deletions(-) diff --git a/modules/ui/fields/check.js b/modules/ui/fields/check.js index 618481627..887e5ce8e 100644 --- a/modules/ui/fields/check.js +++ b/modules/ui/fields/check.js @@ -11,7 +11,7 @@ export function uiFieldCheck(field) { options = field.strings && field.strings.options, values = [], texts = [], - box = d3.select(null), + input = d3.select(null), text = d3.select(null), label = d3.select(null), entity, value; @@ -52,25 +52,28 @@ export function uiFieldCheck(field) { .append('label') .attr('class', 'preset-input-wrap'); - enter.append('input') + enter + .append('input') .property('indeterminate', field.type === 'check') .attr('type', 'checkbox') - .attr('id', 'preset-input-' + field.id) + .attr('id', 'preset-input-' + field.id); + + enter + .append('span') + .text(texts[0]) + .attr('class', 'value'); + + label = label.merge(enter); + input = label.selectAll('input'); + text = label.selectAll('span.value'); + + input .on('click', function() { var t = {}; t[field.key] = values[(values.indexOf(value) + 1) % values.length]; dispatch.call('change', this, t); d3.event.stopPropagation(); }); - - enter.append('span') - .text(texts[0]) - .attr('class', 'value'); - - label = label.merge(enter); - - box = label.selectAll('input'); - text = label.selectAll('span.value'); }; @@ -83,15 +86,15 @@ export function uiFieldCheck(field) { check.tags = function(tags) { value = tags[field.key]; - box.property('indeterminate', field.type === 'check' && !value); - box.property('checked', value === 'yes'); + input.property('indeterminate', field.type === 'check' && !value); + input.property('checked', value === 'yes'); text.text(texts[values.indexOf(value)]); label.classed('set', !!value); }; check.focus = function() { - box.node().focus(); + input.node().focus(); }; return utilRebind(check, dispatch, 'on'); From b201cba513e8fc40ed8ffbe8ff995b761f554a2a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Miko=C5=82aj=20=22Natsuyasumi=22=20Kuranowski?= Date: Fri, 9 Dec 2016 13:17:36 +0100 Subject: [PATCH 110/119] Public bath scheme --- data/presets.yaml | 21 ++++++++++++++++ data/presets/fields.json | 22 +++++++++++++++++ data/presets/fields/bath/open_air.json | 5 ++++ data/presets/fields/bath/sand_bath.json | 5 ++++ data/presets/fields/bath/type.json | 12 ++++++++++ data/presets/presets.json | 24 +++++++++++++++++++ data/presets/presets/amenity/public_bath.json | 24 +++++++++++++++++++ data/taginfo.json | 4 ++++ dist/locales/en.json | 18 ++++++++++++++ 9 files changed, 135 insertions(+) create mode 100644 data/presets/fields/bath/open_air.json create mode 100644 data/presets/fields/bath/sand_bath.json create mode 100644 data/presets/fields/bath/type.json create mode 100644 data/presets/presets/amenity/public_bath.json diff --git a/data/presets.yaml b/data/presets.yaml index d536bc552..22b2b9a12 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -167,6 +167,22 @@ en: barrier: # barrier=* label: Type + bath/open_air: + # 'bath:open_air=*' + label: Open air bath + bath/sand_bath: + # 'bath:sand_bath=*' + label: Sand bath + bath/type: + # 'bath:type=*' + label: Bath amenity + options: + # 'bath:type=foot_bath' + foot_bath: Foot Bath + # 'bath:type=hot_spring' + hot_spring: Hot Spring + # 'bath:type=onsen' + onsen: Onsen beauty: # beauty=* label: Shop Type @@ -1640,6 +1656,11 @@ en: name: Pub # 'terms: alcohol,drink,dive,beer,bier,booze' terms: '' + amenity/public_bath: + # amenity=public_bath + name: Public bath + # 'terms: onsen,foot bath,hot springs' + terms: '' amenity/public_bookcase: # amenity=public_bookcase name: Public Bookcase diff --git a/data/presets/fields.json b/data/presets/fields.json index d7b964d76..e5d131e7c 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -223,6 +223,28 @@ "type": "typeCombo", "label": "Type" }, + "bath/open_air": { + "key": "bath:open_air", + "label": "Open air bath", + "type": "check" + }, + "bath/sand_bath": { + "key": "bath:sand_bath", + "label": "Sand bath", + "type": "check" + }, + "bath/type": { + "key": "bath:type", + "type": "combo", + "label": "Bath amenity", + "strings": { + "options": { + "onsen": "Onsen", + "foot_bath": "Foot Bath", + "hot_spring": "Hot Spring" + } + } + }, "beauty": { "key": "beauty", "type": "combo", diff --git a/data/presets/fields/bath/open_air.json b/data/presets/fields/bath/open_air.json new file mode 100644 index 000000000..fa399ef1e --- /dev/null +++ b/data/presets/fields/bath/open_air.json @@ -0,0 +1,5 @@ +{ + "key": "bath:open_air", + "label": "Open air bath", + "type": "check" +} diff --git a/data/presets/fields/bath/sand_bath.json b/data/presets/fields/bath/sand_bath.json new file mode 100644 index 000000000..a065baee2 --- /dev/null +++ b/data/presets/fields/bath/sand_bath.json @@ -0,0 +1,5 @@ +{ + "key": "bath:sand_bath", + "label": "Sand bath", + "type": "check" +} diff --git a/data/presets/fields/bath/type.json b/data/presets/fields/bath/type.json new file mode 100644 index 000000000..7bbe3d2cf --- /dev/null +++ b/data/presets/fields/bath/type.json @@ -0,0 +1,12 @@ +{ + "key": "bath:type", + "type": "combo", + "label": "Bath amenity", + "strings": { + "options": { + "onsen": "Onsen", + "foot_bath": "Foot Bath", + "hot_spring": "Hot Spring" + } + } +} diff --git a/data/presets/presets.json b/data/presets/presets.json index 62a2115df..3ee9a6d75 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -1872,6 +1872,30 @@ ], "name": "Pub" }, + "amenity/public_bath": { + "icon": "water", + "fields": [ + "bath/type", + "bath/open_air", + "bath/sand_bath", + "address", + "building_area", + "opening_hours" + ], + "geometry": [ + "point", + "area" + ], + "tags": { + "amenity": "public_bath" + }, + "terms": [ + "onsen", + "foot bath", + "hot springs" + ], + "name": "Public bath" + }, "amenity/public_bookcase": { "icon": "library", "fields": [ diff --git a/data/presets/presets/amenity/public_bath.json b/data/presets/presets/amenity/public_bath.json new file mode 100644 index 000000000..000d1cf49 --- /dev/null +++ b/data/presets/presets/amenity/public_bath.json @@ -0,0 +1,24 @@ +{ + "icon": "water", + "fields": [ + "bath/type", + "bath/open_air", + "bath/sand_bath", + "address", + "building_area", + "opening_hours" + ], + "geometry": [ + "point", + "area" + ], + "tags": { + "amenity": "public_bath" + }, + "terms": [ + "onsen", + "foot bath", + "hot springs" + ], + "name": "Public bath" +} diff --git a/data/taginfo.json b/data/taginfo.json index a9c663eb0..4d3c38595 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -387,6 +387,10 @@ "key": "amenity", "value": "pub" }, + { + "key": "amenity", + "value": "public_bath" + }, { "key": "amenity", "value": "public_bookcase" diff --git a/dist/locales/en.json b/dist/locales/en.json index 44949de8f..a00cde332 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -784,6 +784,20 @@ "barrier": { "label": "Type" }, + "bath/open_air": { + "label": "Open air bath" + }, + "bath/sand_bath": { + "label": "Sand bath" + }, + "bath/type": { + "label": "Bath amenity", + "options": { + "onsen": "Onsen", + "foot_bath": "Foot Bath", + "hot_spring": "Hot Spring" + } + }, "beauty": { "label": "Shop Type" }, @@ -2060,6 +2074,10 @@ "name": "Pub", "terms": "alcohol,drink,dive,beer,bier,booze" }, + "amenity/public_bath": { + "name": "Public bath", + "terms": "onsen,foot bath,hot springs" + }, "amenity/public_bookcase": { "name": "Public Bookcase", "terms": "library,bookcrossing" From 8a66b3d892ca367264107dfd610f9a18000a8bae Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 9 Dec 2016 11:32:14 -0500 Subject: [PATCH 111/119] Don't enter iD.modeSelect without valid entities in selectedIDs --- modules/behavior/breathe.js | 4 +++- modules/modes/select.js | 28 ++++++++++++++++++++++++---- test/spec/behavior/select.js | 12 ++++++++++++ 3 files changed, 39 insertions(+), 5 deletions(-) diff --git a/modules/behavior/breathe.js b/modules/behavior/breathe.js index 85a494ea7..f95caa871 100644 --- a/modules/behavior/breathe.js +++ b/modules/behavior/breathe.js @@ -152,7 +152,9 @@ export function behaviorBreathe() { breathe.off = function() { done = true; - timer.stop(); + if (timer) { + timer.stop(); + } selected .interrupt() .call(reset); diff --git a/modules/modes/select.js b/modules/modes/select.js index fdfa54399..c7e9619f9 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -71,6 +71,23 @@ export function modeSelect(context, selectedIDs) { } + function checkSelectedIDs() { + var ids = []; + if (Array.isArray(selectedIDs)) { + ids = selectedIDs.filter(function(id) { + return context.hasEntity(id); + }); + } + + if (ids.length) { + selectedIDs = ids; + } else { + context.enter(modeBrowse(context)); + } + return !!ids.length; + } + + // find the common parent ways for nextVertex, previousVertex function commonParents() { var graph = context.graph(), @@ -171,6 +188,8 @@ export function modeSelect(context, selectedIDs) { mode.reselect = function() { + if (!checkSelectedIDs()) return; + var surfaceNode = context.surface().node(); if (surfaceNode.focus) { // FF doesn't support it surfaceNode.focus(); @@ -206,10 +225,7 @@ export function modeSelect(context, selectedIDs) { function update() { closeMenu(); - if (_.some(selectedIDs, function(id) { return !context.hasEntity(id); })) { - // Exit mode if selected entity gets undone - context.enter(modeBrowse(context)); - } + checkSelectedIDs(); } @@ -236,6 +252,8 @@ export function modeSelect(context, selectedIDs) { function selectElements(drawn) { + if (!checkSelectedIDs()) return; + var surface = context.surface(), entity = singular(); @@ -372,6 +390,8 @@ export function modeSelect(context, selectedIDs) { } + if (!checkSelectedIDs()) return; + behaviors.forEach(function(behavior) { context.install(behavior); }); diff --git a/test/spec/behavior/select.js b/test/spec/behavior/select.js index 3887c2773..5deddc548 100644 --- a/test/spec/behavior/select.js +++ b/test/spec/behavior/select.js @@ -31,6 +31,18 @@ describe('iD.behaviorSelect', function() { container.remove(); }); + specify('refuse to enter select mode with no ids', function() { + context.enter(iD.modeSelect(context, [])); + expect(context.mode().id, 'empty array').to.eql('browse'); + context.enter(iD.modeSelect(context, undefined)); + expect(context.mode().id, 'undefined').to.eql('browse'); + }); + + specify('refuse to enter select mode with nonexistent ids', function() { + context.enter(iD.modeSelect(context, ['w-1'])); + expect(context.mode().id).to.eql('browse'); + }); + specify('click on entity selects the entity', function() { happen.click(context.surface().selectAll('.' + a.id).node()); expect(context.selectedIDs()).to.eql([a.id]); From a55ab036aa0f0d9a70b6dc370369eb90ca0487a1 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 9 Dec 2016 11:46:22 -0500 Subject: [PATCH 112/119] Don't assume that all the ids in selectedIDs are valid (This is becuse they might have been deleted in a delete operation and we are immediately redrawing the results of that operation before reselecting something else) --- modules/operations/delete.js | 3 ++- modules/svg/labels.js | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/modules/operations/delete.js b/modules/operations/delete.js index 6b8042a22..f916aa88c 100644 --- a/modules/operations/delete.js +++ b/modules/operations/delete.js @@ -44,13 +44,14 @@ export function operationDelete(selectedIDs, context) { } } + context.perform(action, annotation); + if (nextSelectedID && context.hasEntity(nextSelectedID)) { context.enter(modeSelect(context, [nextSelectedID])); } else { context.enter(modeBrowse(context)); } - context.perform(action, annotation); }; diff --git a/modules/svg/labels.js b/modules/svg/labels.js index ab3865223..88adf4906 100644 --- a/modules/svg/labels.js +++ b/modules/svg/labels.js @@ -615,7 +615,8 @@ export function svgLabels(projection, context) { // hide labels along selected ways, or near selected vertices for (var i = 0; i < selectedIDs.length; i++) { - var entity = graph.entity(selectedIDs[i]); + var entity = graph.hasEntity(selectedIDs[i]); + if (!entity) continue; var geometry = entity.geometry(graph); if (geometry === 'line') { From 3abf1b5be87927ee9d48fec79014a099db355caa Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 9 Dec 2016 11:57:26 -0500 Subject: [PATCH 113/119] Allow reselection of next vertex even if vertex has multiple parents --- modules/operations/delete.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/modules/operations/delete.js b/modules/operations/delete.js index f916aa88c..d9008c85d 100644 --- a/modules/operations/delete.js +++ b/modules/operations/delete.js @@ -26,7 +26,7 @@ export function operationDelete(selectedIDs, context) { annotation = t('operations.delete.annotation.' + geometry); // Select the next closest node in the way. - if (geometry === 'vertex' && parents.length === 1 && parent.nodes.length > 2) { + if (geometry === 'vertex' && parent.nodes.length > 2) { var nodes = parent.nodes, i = nodes.indexOf(id); From dc5da7b480f83901fe92068da2e0e2edcd75fd0e Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Fri, 9 Dec 2016 12:11:24 -0500 Subject: [PATCH 114/119] Follow next vertex when deleting, add suppressMenu when vertex following --- modules/modes/select.js | 8 ++++---- modules/operations/delete.js | 4 +++- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/modules/modes/select.js b/modules/modes/select.js index c7e9619f9..72212850c 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -301,7 +301,7 @@ export function modeSelect(context, selectedIDs) { if (parent) { var way = context.entity(parent); context.enter( - modeSelect(context, [way.first()]).follow(true) + modeSelect(context, [way.first()]).follow(true).suppressMenu(true) ); } } @@ -313,7 +313,7 @@ export function modeSelect(context, selectedIDs) { if (parent) { var way = context.entity(parent); context.enter( - modeSelect(context, [way.last()]).follow(true) + modeSelect(context, [way.last()]).follow(true).suppressMenu(true) ); } } @@ -337,7 +337,7 @@ export function modeSelect(context, selectedIDs) { if (index !== -1) { context.enter( - modeSelect(context, [way.nodes[index]]).follow(true) + modeSelect(context, [way.nodes[index]]).follow(true).suppressMenu(true) ); } } @@ -361,7 +361,7 @@ export function modeSelect(context, selectedIDs) { if (index !== -1) { context.enter( - modeSelect(context, [way.nodes[index]]).follow(true) + modeSelect(context, [way.nodes[index]]).follow(true).suppressMenu(true) ); } } diff --git a/modules/operations/delete.js b/modules/operations/delete.js index d9008c85d..af046916f 100644 --- a/modules/operations/delete.js +++ b/modules/operations/delete.js @@ -47,7 +47,9 @@ export function operationDelete(selectedIDs, context) { context.perform(action, annotation); if (nextSelectedID && context.hasEntity(nextSelectedID)) { - context.enter(modeSelect(context, [nextSelectedID])); + context.enter( + modeSelect(context, [nextSelectedID]).follow(true).suppressMenu(true) + ); } else { context.enter(modeBrowse(context)); } From 6ca4b133047b64e1adb5df581cb4986f0fd2bbac Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sat, 10 Dec 2016 23:25:58 -0500 Subject: [PATCH 115/119] Store view transform and selectedIDs w/history, and undo/redo them (closes #2204) --- modules/core/history.js | 7 +++-- modules/renderer/map.js | 55 ++++++++++++++++++++++++++++++---- test/spec/behavior/hash.js | 10 +++---- test/spec/behavior/lasso.js | 11 ++----- test/spec/renderer/features.js | 6 ++-- 5 files changed, 66 insertions(+), 23 deletions(-) diff --git a/modules/core/history.js b/modules/core/history.js index a9ced8604..212f3349e 100644 --- a/modules/core/history.js +++ b/modules/core/history.js @@ -26,6 +26,9 @@ export function coreHistory(context) { annotation = actions.pop(); } + stack[index].transform = context.projection.transform(); + stack[index].selectedIDs = context.selectedIDs(); + var graph = stack[index].graph; for (var i = 0; i < actions.length; i++) { graph = actions[i](graph); @@ -129,7 +132,7 @@ export function coreHistory(context) { if (stack[index].annotation) break; } - dispatch.call('undone'); + dispatch.call('undone', this, stack[index]); return change(previous); }, @@ -142,7 +145,7 @@ export function coreHistory(context) { if (stack[index].annotation) break; } - dispatch.call('redone'); + dispatch.call('redone', this, stack[index]); return change(previous); }, diff --git a/modules/renderer/map.js b/modules/renderer/map.js index d78d495cc..fdc94c952 100644 --- a/modules/renderer/map.js +++ b/modules/renderer/map.js @@ -17,6 +17,7 @@ import { } from '../svg/index'; import { geoExtent } from '../geo/index'; +import { modeSelect } from '../modes/select'; import { utilFastMouse, @@ -44,9 +45,9 @@ export function rendererMap(context) { drawAreas = svgAreas(projection, context), drawMidpoints = svgMidpoints(projection, context), drawLabels = svgLabels(projection, context), - supersurface, - wrapper, - surface, + supersurface = d3.select(null), + wrapper = d3.select(null), + surface = d3.select(null), mouse, mousemove; @@ -65,14 +66,31 @@ export function rendererMap(context) { context .on('change.map', immediateRedraw); + context.connection() .on('change.map', immediateRedraw); + context.history() - .on('change.map', immediateRedraw); + .on('change.map', immediateRedraw) + .on('undone.context redone.context', function(stack) { + var followSelected = false; + if (Array.isArray(stack.selectedIDs)) { + followSelected = (stack.selectedIDs.length === 1 && stack.selectedIDs[0][0] === 'n'); + context.enter( + modeSelect(context, stack.selectedIDs).suppressMenu(true).follow(followSelected) + ); + } + if (!followSelected && stack.transform) { + map.transformEase(stack.transform); + } + }); + context.background() .on('change.map', immediateRedraw); + context.features() .on('redraw.map', immediateRedraw); + drawLayers .on('change.map', function() { context.background().updateImagery(); @@ -300,7 +318,7 @@ export function rendererMap(context) { function redraw(difference, extent) { - if (!surface || !redrawEnabled) return; + if (surface.empty() || !redrawEnabled) return; // If we are in the middle of a zoom/pan, we can't do differenced redraws. // It would result in artifacts where differenced entities are redrawn with @@ -389,6 +407,26 @@ export function rendererMap(context) { }; + function setTransform(t2, duration, force) { + var t = projection.transform(); + if (!force && t2.k === t.k && t2.x === t.x && t2.y === t.y) { + return false; + } + + if (duration) { + _selection + .transition() + .duration(duration) + .on('start', function() { map.startEase(); }) + .call(zoom.transform, d3.zoomIdentity.translate(t2.x, t2.y).scale(t2.k)); + } else { + projection.transform(t2); + transformStart = t2; + _selection.call(zoom.transform, transformStart); + } + } + + function setZoom(z2, force, duration) { if (z2 === map.zoom() && !force) { return false; @@ -582,6 +620,13 @@ export function rendererMap(context) { }; + map.transformEase = function(t2, duration) { + duration = duration || 250; + setTransform(t2, duration, false); + return map; + }; + + map.startEase = function() { utilBindOnce(surface, 'mousedown.ease', function() { map.cancelEase(); diff --git a/test/spec/behavior/hash.js b/test/spec/behavior/hash.js index 8c129860c..2c7e6e68a 100644 --- a/test/spec/behavior/hash.js +++ b/test/spec/behavior/hash.js @@ -5,14 +5,12 @@ describe('iD.behaviorHash', function () { beforeEach(function () { context = iD.Context(); - context.container(d3.select(document.createElement('div'))); - - // Neuter connection - context.connection().loadTiles = function () {}; + context.connection().loadTiles = function () {}; // Neuter connection + var container = d3.select(document.createElement('div')); + context.container(container); + container.call(context.map()); hash = iD.behaviorHash(context); - d3.select(document.createElement('div')) - .call(context.map()); }); afterEach(function () { diff --git a/test/spec/behavior/lasso.js b/test/spec/behavior/lasso.js index d330b0623..a4331efb7 100644 --- a/test/spec/behavior/lasso.js +++ b/test/spec/behavior/lasso.js @@ -1,17 +1,12 @@ describe('iD.behaviorLasso', function () { - var lasso, context; + var context, lasso; beforeEach(function () { context = iD.Context(); - context.container(d3.select(document.createElement('div'))); - - // Neuter connection - context.connection().loadTiles = function () {}; - - lasso = iD.behaviorLasso(context); - d3.select(document.createElement('div')) + .attr('id', 'map') .call(context.map()); + lasso = iD.behaviorLasso(context); }); afterEach(function () { diff --git a/test/spec/renderer/features.js b/test/spec/renderer/features.js index 2c09ce658..c27979efa 100644 --- a/test/spec/renderer/features.js +++ b/test/spec/renderer/features.js @@ -1,10 +1,12 @@ describe('iD.Features', function() { var dimensions = [1000, 1000], - context, - features; + context, features; beforeEach(function() { context = iD.Context(); + d3.select(document.createElement('div')) + .attr('id', 'map') + .call(context.map()); context.map().zoom(16); features = iD.Features(context); }); From 3a01b88a4e7591ca9bcee0cd43a6036e66cd62d7 Mon Sep 17 00:00:00 2001 From: greenkeeperio-bot Date: Fri, 9 Dec 2016 12:18:42 -0500 Subject: [PATCH 116/119] chore(package): update eslint to version 3.12.0 https://greenkeeper.io/ --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 4ea7eddfa..4467bc6ed 100644 --- a/package.json +++ b/package.json @@ -44,7 +44,7 @@ "ecstatic": "~2.1.0", "editor-layer-index": "osmlab/editor-layer-index.git#gh-pages", "gaze": "~1.1.1", - "eslint": "~3.11.0", + "eslint": "~3.12.0", "glob": "~7.1.0", "happen": "~0.3.1", "js-yaml": "~3.7.0", From 0f05df86e3d7cbd048858787f0468f49dd1d3a58 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Sun, 11 Dec 2016 17:35:51 -0500 Subject: [PATCH 117/119] Proper Case labels --- data/presets.yaml | 12 ++++++------ data/presets/fields.json | 8 ++++---- data/presets/fields/bath/open_air.json | 2 +- data/presets/fields/bath/sand_bath.json | 2 +- data/presets/fields/bath/type.json | 4 ++-- data/presets/presets.json | 2 +- data/presets/presets/amenity/public_bath.json | 2 +- dist/locales/en.json | 10 +++++----- 8 files changed, 21 insertions(+), 21 deletions(-) diff --git a/data/presets.yaml b/data/presets.yaml index 22b2b9a12..c2f467244 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -169,20 +169,20 @@ en: label: Type bath/open_air: # 'bath:open_air=*' - label: Open air bath + label: Open Air bath/sand_bath: # 'bath:sand_bath=*' - label: Sand bath + label: Sand Bath bath/type: # 'bath:type=*' - label: Bath amenity + label: Specialty options: # 'bath:type=foot_bath' foot_bath: Foot Bath # 'bath:type=hot_spring' hot_spring: Hot Spring # 'bath:type=onsen' - onsen: Onsen + onsen: Japanese Onsen beauty: # beauty=* label: Shop Type @@ -1658,9 +1658,9 @@ en: terms: '' amenity/public_bath: # amenity=public_bath - name: Public bath + name: Public Bath # 'terms: onsen,foot bath,hot springs' - terms: '' + terms: '' amenity/public_bookcase: # amenity=public_bookcase name: Public Bookcase diff --git a/data/presets/fields.json b/data/presets/fields.json index e5d131e7c..b14cbb81f 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -225,21 +225,21 @@ }, "bath/open_air": { "key": "bath:open_air", - "label": "Open air bath", + "label": "Open Air", "type": "check" }, "bath/sand_bath": { "key": "bath:sand_bath", - "label": "Sand bath", + "label": "Sand Bath", "type": "check" }, "bath/type": { "key": "bath:type", "type": "combo", - "label": "Bath amenity", + "label": "Specialty", "strings": { "options": { - "onsen": "Onsen", + "onsen": "Japanese Onsen", "foot_bath": "Foot Bath", "hot_spring": "Hot Spring" } diff --git a/data/presets/fields/bath/open_air.json b/data/presets/fields/bath/open_air.json index fa399ef1e..60e09c205 100644 --- a/data/presets/fields/bath/open_air.json +++ b/data/presets/fields/bath/open_air.json @@ -1,5 +1,5 @@ { "key": "bath:open_air", - "label": "Open air bath", + "label": "Open Air", "type": "check" } diff --git a/data/presets/fields/bath/sand_bath.json b/data/presets/fields/bath/sand_bath.json index a065baee2..8242b1649 100644 --- a/data/presets/fields/bath/sand_bath.json +++ b/data/presets/fields/bath/sand_bath.json @@ -1,5 +1,5 @@ { "key": "bath:sand_bath", - "label": "Sand bath", + "label": "Sand Bath", "type": "check" } diff --git a/data/presets/fields/bath/type.json b/data/presets/fields/bath/type.json index 7bbe3d2cf..48907ad8c 100644 --- a/data/presets/fields/bath/type.json +++ b/data/presets/fields/bath/type.json @@ -1,10 +1,10 @@ { "key": "bath:type", "type": "combo", - "label": "Bath amenity", + "label": "Specialty", "strings": { "options": { - "onsen": "Onsen", + "onsen": "Japanese Onsen", "foot_bath": "Foot Bath", "hot_spring": "Hot Spring" } diff --git a/data/presets/presets.json b/data/presets/presets.json index 3ee9a6d75..4b897a68d 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -1894,7 +1894,7 @@ "foot bath", "hot springs" ], - "name": "Public bath" + "name": "Public Bath" }, "amenity/public_bookcase": { "icon": "library", diff --git a/data/presets/presets/amenity/public_bath.json b/data/presets/presets/amenity/public_bath.json index 000d1cf49..8fd83ea2d 100644 --- a/data/presets/presets/amenity/public_bath.json +++ b/data/presets/presets/amenity/public_bath.json @@ -20,5 +20,5 @@ "foot bath", "hot springs" ], - "name": "Public bath" + "name": "Public Bath" } diff --git a/dist/locales/en.json b/dist/locales/en.json index a00cde332..59e4cf749 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -785,15 +785,15 @@ "label": "Type" }, "bath/open_air": { - "label": "Open air bath" + "label": "Open Air" }, "bath/sand_bath": { - "label": "Sand bath" + "label": "Sand Bath" }, "bath/type": { - "label": "Bath amenity", + "label": "Specialty", "options": { - "onsen": "Onsen", + "onsen": "Japanese Onsen", "foot_bath": "Foot Bath", "hot_spring": "Hot Spring" } @@ -2075,7 +2075,7 @@ "terms": "alcohol,drink,dive,beer,bier,booze" }, "amenity/public_bath": { - "name": "Public bath", + "name": "Public Bath", "terms": "onsen,foot bath,hot springs" }, "amenity/public_bookcase": { From 4fa754e71705a67b52b4322a8502e5750dd549ea Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Mon, 12 Dec 2016 22:33:53 -0500 Subject: [PATCH 118/119] Adjust matchScores so features match types other than barrier (closes #3647) e.g. `office=* + barrier=wall` should match as an office not a wall --- data/presets/presets.json | 17 +++++++++++------ data/presets/presets/barrier.json | 3 ++- data/presets/presets/barrier/ditch.json | 3 ++- data/presets/presets/barrier/fence.json | 3 ++- data/presets/presets/barrier/hedge.json | 3 ++- data/presets/presets/barrier/wall.json | 3 ++- data/presets/presets/building.json | 2 +- 7 files changed, 22 insertions(+), 12 deletions(-) diff --git a/data/presets/presets.json b/data/presets/presets.json index 4b897a68d..ba4310008 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -2684,7 +2684,8 @@ "fields": [ "barrier" ], - "name": "Barrier" + "name": "Barrier", + "matchScore": 0.4 }, "barrier/entrance": { "icon": "entrance", @@ -2772,7 +2773,8 @@ "tags": { "barrier": "ditch" }, - "name": "Trench" + "name": "Trench", + "matchScore": 0.25 }, "barrier/fence": { "icon": "prison", @@ -2786,7 +2788,8 @@ "tags": { "barrier": "fence" }, - "name": "Fence" + "name": "Fence", + "matchScore": 0.25 }, "barrier/gate": { "icon": "prison", @@ -2814,7 +2817,8 @@ "tags": { "barrier": "hedge" }, - "name": "Hedge" + "name": "Hedge", + "matchScore": 0.25 }, "barrier/kissing_gate": { "icon": "prison", @@ -2893,7 +2897,8 @@ "tags": { "barrier": "wall" }, - "name": "Wall" + "name": "Wall", + "matchScore": 0.25 }, "boundary/administrative": { "name": "Administrative Boundary", @@ -2921,7 +2926,7 @@ "tags": { "building": "*" }, - "matchScore": 0.4, + "matchScore": 0.6, "terms": [], "name": "Building" }, diff --git a/data/presets/presets/barrier.json b/data/presets/presets/barrier.json index cb71097de..4799b105a 100644 --- a/data/presets/presets/barrier.json +++ b/data/presets/presets/barrier.json @@ -12,5 +12,6 @@ "fields": [ "barrier" ], - "name": "Barrier" + "name": "Barrier", + "matchScore": 0.4 } diff --git a/data/presets/presets/barrier/ditch.json b/data/presets/presets/barrier/ditch.json index 54443b5c5..7e32a0cab 100644 --- a/data/presets/presets/barrier/ditch.json +++ b/data/presets/presets/barrier/ditch.json @@ -7,5 +7,6 @@ "tags": { "barrier": "ditch" }, - "name": "Trench" + "name": "Trench", + "matchScore": 0.25 } diff --git a/data/presets/presets/barrier/fence.json b/data/presets/presets/barrier/fence.json index 0497a4aba..0da24b3a2 100644 --- a/data/presets/presets/barrier/fence.json +++ b/data/presets/presets/barrier/fence.json @@ -10,5 +10,6 @@ "tags": { "barrier": "fence" }, - "name": "Fence" + "name": "Fence", + "matchScore": 0.25 } diff --git a/data/presets/presets/barrier/hedge.json b/data/presets/presets/barrier/hedge.json index 97991c874..f9d66d50b 100644 --- a/data/presets/presets/barrier/hedge.json +++ b/data/presets/presets/barrier/hedge.json @@ -9,5 +9,6 @@ "tags": { "barrier": "hedge" }, - "name": "Hedge" + "name": "Hedge", + "matchScore": 0.25 } diff --git a/data/presets/presets/barrier/wall.json b/data/presets/presets/barrier/wall.json index 3fa7171cb..4b1bb4518 100644 --- a/data/presets/presets/barrier/wall.json +++ b/data/presets/presets/barrier/wall.json @@ -11,5 +11,6 @@ "tags": { "barrier": "wall" }, - "name": "Wall" + "name": "Wall", + "matchScore": 0.25 } diff --git a/data/presets/presets/building.json b/data/presets/presets/building.json index 983515746..b1c2957cd 100644 --- a/data/presets/presets/building.json +++ b/data/presets/presets/building.json @@ -12,7 +12,7 @@ "tags": { "building": "*" }, - "matchScore": 0.4, + "matchScore": 0.6, "terms": [], "name": "Building" } From 6bfef30ecdfcd39bdd6aa4000547a56a7b8a28b3 Mon Sep 17 00:00:00 2001 From: Bryan Housel Date: Tue, 13 Dec 2016 23:22:27 -0500 Subject: [PATCH 119/119] Add waterfall preset (closes #3608) --- data/presets.yaml | 7 ++++++- data/presets/fields.json | 2 +- data/presets/fields/height.json | 2 +- data/presets/presets.json | 17 +++++++++++++++++ data/presets/presets/waterway/waterfall.json | 17 +++++++++++++++++ data/taginfo.json | 4 ++++ dist/locales/en.json | 6 +++++- 7 files changed, 51 insertions(+), 4 deletions(-) create mode 100644 data/presets/presets/waterway/waterfall.json diff --git a/data/presets.yaml b/data/presets.yaml index c2f467244..24ed753d6 100644 --- a/data/presets.yaml +++ b/data/presets.yaml @@ -488,7 +488,7 @@ en: label: Handrail height: # height=* - label: Height (meters) + label: Height (Meters) highway: # highway=* label: Type @@ -4258,6 +4258,11 @@ en: # waterway=water_point name: Marine Drinking Water terms: '' + waterway/waterfall: + # waterway=waterfall + name: Waterfall + # 'terms: fall' + terms: '' waterway/weir: # waterway=weir name: Weir diff --git a/data/presets/fields.json b/data/presets/fields.json index b14cbb81f..36f39c0be 100644 --- a/data/presets/fields.json +++ b/data/presets/fields.json @@ -680,7 +680,7 @@ "height": { "key": "height", "type": "number", - "label": "Height (meters)" + "label": "Height (Meters)" }, "highway": { "key": "highway", diff --git a/data/presets/fields/height.json b/data/presets/fields/height.json index 2640c1982..8a113efe8 100644 --- a/data/presets/fields/height.json +++ b/data/presets/fields/height.json @@ -1,5 +1,5 @@ { "key": "height", "type": "number", - "label": "Height (meters)" + "label": "Height (Meters)" } diff --git a/data/presets/presets.json b/data/presets/presets.json index ba4310008..c5e3549e7 100644 --- a/data/presets/presets.json +++ b/data/presets/presets.json @@ -12207,6 +12207,23 @@ }, "name": "Marine Drinking Water" }, + "waterway/waterfall": { + "icon": "water", + "fields": [ + "height", + "width" + ], + "geometry": [ + "vertex" + ], + "terms": [ + "fall" + ], + "tags": { + "waterway": "waterfall" + }, + "name": "Waterfall" + }, "waterway/weir": { "icon": "dam", "geometry": [ diff --git a/data/presets/presets/waterway/waterfall.json b/data/presets/presets/waterway/waterfall.json new file mode 100644 index 000000000..657c3e85c --- /dev/null +++ b/data/presets/presets/waterway/waterfall.json @@ -0,0 +1,17 @@ +{ + "icon": "water", + "fields": [ + "height", + "width" + ], + "geometry": [ + "vertex" + ], + "terms": [ + "fall" + ], + "tags": { + "waterway": "waterfall" + }, + "name": "Waterfall" +} diff --git a/data/taginfo.json b/data/taginfo.json index 4d3c38595..f99b5ed14 100644 --- a/data/taginfo.json +++ b/data/taginfo.json @@ -2736,6 +2736,10 @@ "key": "waterway", "value": "water_point" }, + { + "key": "waterway", + "value": "waterfall" + }, { "key": "waterway", "value": "weir" diff --git a/dist/locales/en.json b/dist/locales/en.json index 59e4cf749..159eb5613 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -1066,7 +1066,7 @@ "label": "Handrail" }, "height": { - "label": "Height (meters)" + "label": "Height (Meters)" }, "highway": { "label": "Type" @@ -4454,6 +4454,10 @@ "name": "Marine Drinking Water", "terms": "" }, + "waterway/waterfall": { + "name": "Waterfall", + "terms": "fall" + }, "waterway/weir": { "name": "Weir", "terms": ""