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/.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 diff --git a/API.md b/API.md index 7d7b6b44a..0ed7f2705 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 @@ -138,37 +137,137 @@ 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 live 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 or modified prior to creating the iD context. + +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 -iD can use external presets exclusively or along with the default OpenStreetMap presets. This is configured using the `context.presets` accessor. To use external presets alone, initialize the iD context with a custom `Presets` object: +iD's preset database is stored in the `iD.data.presets` object and can be overridden +or modified prior to creating the iD context. +The format of the `presets` object is +[documented here](https://github.com/openstreetmap/iD/tree/master/data/presets#custom-presets). + +To add a new preset to iD's existing preset database. ```js - -var id = iD.Context(window) - .presets(customPresets) - .imagery(iD.dataImagery); - +iD.data.presets.presets["aerialway/zipline"] = { + geometry: ["line"], + fields: ["incline"], + tags: { "aerialway": "zip_line" }, + name: "Zipline" +}; ``` -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: - +To completely replace iD's default presets with your own: ```js - -var id = iD.Context(window) - .presets(customPresets) - .imagery(customImagery); - +iD.data.presets = myPresets; ``` -The Imagery object should follow the structure defined by [editor-layer-index](https://github.com/osmlab/editor-layer-index/blob/gh-pages/schema.json) +To run iD with the minimal set of presets that only match basic geometry types: +```js +iD.data.presets = { + presets: { + "area": { + "name": "Area", + "tags": {}, + "geometry": ["area"] + }, + "line": { + "name": "Line", + "tags": {}, + "geometry": ["line"] + }, + "point": { + "name": "Point", + "tags": {}, + "geometry": ["point"] + }, + "vertex": { + "name": "Vertex", + "tags": {}, + "geometry": ["vertex"] + }, + "relation": { + "name": "Relation", + "tags": {}, + "geometry": ["relation"] + } + } +}; +``` ### Minimum Editable Zoom @@ -177,7 +276,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/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 diff --git a/CHANGELOG.md b/CHANGELOG.md index 884b4119a..b551932cd 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,18 +1,37 @@ :warning: = Breaking change, may affect downstream projects or sites that embed iD. +## 2.0.1 +##### Nov 17, 2016 +* Bugfixes: + * 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 -##### (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) * e.g. `iD.actions.Move` -> `iD.actionMove`, `iD.geo.Extent` -> `iD.geoExtent` * Many deprecated names are still exported as symbols, e.g. `iD.Context` - we will remove these eventually +* :warning: Customized iD deployments can manipulate live objects, rather than iD.Context accessors + * No longer need to call things like `presets()`, `imagery()`, `taginfo()` when creating `iD.Context` + * See [API.md](https://github.com/openstreetmap/iD/blob/master/API.md#customized-deployments) for details on customized deployments * :warning: iD has upgraded to the latest released versions of d3, lodash, rbush, etc. * d3 no longer adds itself to the global namespace, but can now be accessed via `iD.d3` * :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) +* :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) + * Add Internet Cafe preset (#3559) + * Improve styling of Farmyards (#3556, thanks @Thue) + * Add Guest Apartment / Condo preset (#3548) * Add Waste Transfer preset (#3387) * Add Billboard preset (#3386) * Improve traffic calming presets (#3218) @@ -45,6 +64,14 @@ * 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 + * `⌘[` 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) * Support Right to Left interface for some languages 'ar', 'fa', 'iw', 'dv' (#3007, #3087, thanks @mapmeld) @@ -53,6 +80,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/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. diff --git a/README.md b/README.md index e035487cb..cec40f7b4 100644 --- a/README.md +++ b/README.md @@ -41,13 +41,15 @@ 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 -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/RELEASING.md b/RELEASING.md index 449a112a1..b19c4ccef 100644 --- a/RELEASING.md +++ b/RELEASING.md @@ -1,51 +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' -- [ ] npm run imagery -- [ ] 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/locales/*.json -- [ ] 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 +``` diff --git a/build.js b/build.js index d50523bc5..2c925ea6f 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 (var 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/app.css b/css/app.css index 4d291387b..bb473e00f 100644 --- a/css/app.css +++ b/css/app.css @@ -2601,12 +2601,20 @@ 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; +} +.api-status-login:hover { + color: #ccf; } /* Modals 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/css/map.css b/css/map.css index 250f23aed..8e3f3290b 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; } @@ -408,6 +412,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); @@ -1600,6 +1616,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/data/core.yaml b/data/core.yaml index 0700d2479..360e4dbd7 100644 --- a/data/core.yaml +++ b/data/core.yaml @@ -187,6 +187,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 @@ -198,6 +199,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) @@ -285,7 +287,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 diff --git a/data/imagery.json b/data/imagery.json index 56aa273b5..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": [ [ [ @@ -1080,17 +1084,21 @@ [ 16.527684, 47.0588402 + ], + [ + 16.5073284, + 46.9929304 ] ] ], - "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": [ [ [ @@ -1852,14 +1860,1228 @@ [ 16.527684, 47.0588402 + ], + [ + 16.5073284, + 46.9929304 ] ] ], "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/{zoom}/{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 + ] + ] + ] + }, + { + "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}", @@ -2167,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", @@ -3203,6 +4991,10 @@ [ -123.3179861, 49.3254065 + ], + [ + -123.3176032, + 49.3272567 ] ] ], @@ -3210,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": [ @@ -3220,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 ] ] ], @@ -3245,6 +5162,1618 @@ "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", + "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 + ], + "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 + }, + { + "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", @@ -3885,18 +7414,23 @@ [ 14.9864195, 48.7652539 + ], + [ + 15.0063684, + 49.0177392 ] ] ], "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": [ [ @@ -4534,9 +8068,657 @@ ] ] ], - "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", @@ -4588,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 @@ -6896,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 @@ -9204,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 @@ -9527,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 @@ -9854,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", @@ -10056,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", @@ -10254,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", @@ -10452,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", @@ -10650,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", @@ -11154,6 +15445,10 @@ [ 8.531432, 54.95516 + ], + [ + 8.3743941, + 54.9551655 ] ], [ @@ -11172,6 +15467,10 @@ [ 11.4459621, 56.6401087 + ], + [ + 11.4577738, + 56.819554 ] ], [ @@ -11198,6 +15497,10 @@ [ 10.8290599, 57.3695272 + ], + [ + 11.3274736, + 57.3612962 ] ], [ @@ -11216,6 +15519,10 @@ [ 11.7456428, 56.2743186 + ], + [ + 11.5843266, + 56.2777928 ] ], [ @@ -11266,6 +15573,10 @@ [ 14.6317464, 55.0062496 + ], + [ + 14.6825922, + 55.3639405 ] ] ], @@ -11274,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}", @@ -11666,6 +15978,10 @@ [ 14.2220497, 53.9958517 + ], + [ + 15.9751041, + 54.3709213 ] ] ], @@ -11673,6 +15989,43 @@ "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", + "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 + }, + { + "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", @@ -12310,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", @@ -12947,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}", @@ -13127,6 +17482,10 @@ [ -72.1545814, 19.6877982 + ], + [ + -72.1547401, + 19.6878969 ] ], [ @@ -13181,6 +17540,10 @@ [ -72.1315621, 19.671 + ], + [ + -72.1310601, + 19.6718929 ] ], [ @@ -13627,6 +17990,10 @@ [ -71.8456942, 19.6696203 + ], + [ + -71.845795, + 19.6709758 ] ], [ @@ -13793,6 +18160,10 @@ [ -72.09907, 18.5483799 + ], + [ + -72.098878, + 18.54843 ] ], [ @@ -13843,6 +18214,10 @@ [ -72.2519232, 18.5650839 + ], + [ + -72.2542503, + 18.568262 ] ], [ @@ -14013,6 +18388,10 @@ [ -72.3042595, 18.5336346 + ], + [ + -72.303145, + 18.5332749 ] ], [ @@ -14199,6 +18578,10 @@ [ -72.2973911, 18.476843 + ], + [ + -72.2981405, + 18.477502 ] ], [ @@ -14293,6 +18676,10 @@ [ -72.3496778, 18.5220392 + ], + [ + -72.3466657, + 18.5222375 ] ], [ @@ -14383,6 +18770,10 @@ [ -72.329979, 18.5489548 + ], + [ + -72.3303078, + 18.5486462 ] ], [ @@ -14421,6 +18812,10 @@ [ -72.3232359, 18.5264804 + ], + [ + -72.3231383, + 18.5269828 ] ], [ @@ -14491,6 +18886,10 @@ [ -72.2158909, 18.6450301 + ], + [ + -72.2160832, + 18.6457752 ] ], [ @@ -15237,6 +19636,10 @@ [ -72.2858703, 18.6469651 + ], + [ + -72.2867654, + 18.6482017 ] ], [ @@ -15271,6 +19674,10 @@ [ -72.555133, 18.5301218 + ], + [ + -72.5557247, + 18.5305893 ] ], [ @@ -15313,15 +19720,20 @@ [ -72.6228305, 18.506996 + ], + [ + -72.6235278, + 18.5079877 ] ] ] }, { + "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 @@ -15351,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 @@ -15388,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 @@ -15425,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 @@ -15463,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 @@ -15500,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 @@ -15537,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 @@ -15574,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 @@ -15611,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 @@ -15648,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 @@ -15685,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 @@ -15722,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 @@ -16311,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 @@ -16348,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 @@ -16385,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 @@ -16422,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 @@ -16459,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 @@ -16496,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 @@ -16533,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 @@ -16570,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 @@ -16607,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 @@ -16644,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 @@ -16681,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 @@ -16718,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 @@ -16755,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 @@ -16792,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 @@ -16829,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 @@ -16866,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 @@ -16903,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 @@ -16940,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 @@ -16977,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 @@ -17014,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 @@ -17051,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 @@ -17088,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 @@ -17125,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 @@ -17162,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 @@ -17199,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 @@ -17236,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 @@ -17273,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 @@ -17310,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 @@ -18003,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", @@ -18163,6 +22576,10 @@ [ -8.8151208, 54.7145436 + ], + [ + -8.8312773, + 55.3963337 ] ] ], @@ -18170,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", @@ -18202,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", @@ -18430,14 +22848,18 @@ [ -9.3672933, 51.4254613 + ], + [ + -10.0847426, + 51.4147902 ] ] ], "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", @@ -18598,6 +23020,10 @@ [ -5.2572284, 54.1582424 + ], + [ + -5.842956, + 53.8627976 ] ] ], @@ -18605,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", @@ -18825,6 +23252,10 @@ [ -9.2601152, 52.7616711 + ], + [ + -9.2759602, + 52.7993666 ] ], [ @@ -20120,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 @@ -20221,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", @@ -20255,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 @@ -20906,9 +25340,45 @@ "best": true }, { - "name": "Kanton Solothurn 25cm (SOGIS 2011-2014)", + "id": "KTBASELSTADT2015", + "name": "Kanton Basel-Stadt 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/KTBASELSTADT2015/EPSG900913/{zoom}/{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" + }, + { + "id": "Solothurn-sogis2014-tms", + "name": "Kanton Solothurn 25cm (SOGIS 2014-2015)", + "type": "tms", + "template": "http://mapproxy.osm.ch:8080/tiles/sogis2014/EPSG900913/{zoom}/{x}/{y}.png?origin=nw", "scaleExtent": [ 12, 19 @@ -20916,33 +25386,629 @@ "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 }, { + "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 @@ -21387,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 @@ -22166,12 +26843,16 @@ [ -119.5864365, 49.7843863 + ], + [ + -119.5867318, + 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", @@ -22560,17 +27241,21 @@ [ -119.5864365, 49.7843863 + ], + [ + -119.5867318, + 49.7928087 ] ] ], - "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 @@ -22592,16 +27277,20 @@ [ -62.5322549, 6.5375488 + ], + [ + -60.8550011, + 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 @@ -22655,176 +27344,432 @@ [ -122.553553, 47.8982299 + ], + [ + -121.9355512, + 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 + ], + [ + 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 ] ] ], @@ -22832,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 @@ -22847,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}", @@ -22962,10 +27909,11 @@ ] ] ], - "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", "name": "LPI NSW Imagery", "type": "tms", "template": "http://maps.six.nsw.gov.au/arcgis/rest/services/public/NSW_Imagery/MapServer/tile/{zoom}/{y}/{x}", @@ -23317,10 +28265,12 @@ ] ] ], - "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", + "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}", @@ -23908,10 +28858,11 @@ ] ] ], - "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": "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", @@ -24828,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", @@ -25748,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", @@ -26669,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", @@ -27590,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", @@ -28510,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 @@ -28728,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 @@ -29009,6 +34158,10 @@ [ -123.2275233, 48.1849927 + ], + [ + -124.7617886, + 48.4130148 ] ], [ @@ -29051,6 +34204,10 @@ [ -159.0093692, 22.5070181 + ], + [ + -160.5787616, + 22.5062947 ] ], [ @@ -29197,16 +34354,21 @@ [ -164.9717003, 68.994689 + ], + [ + -167.1571546, + 68.721974 ] ] ], "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 @@ -29691,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 @@ -30179,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", @@ -30214,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", @@ -30242,6 +35407,10 @@ [ -6.4551164, 49.8591793 + ], + [ + -6.4585407, + 49.9044128 ] ], [ @@ -30332,6 +35501,10 @@ [ -1.453168, 60.5934321 + ], + [ + -1.4495137, + 60.8634056 ] ], [ @@ -30350,6 +35523,10 @@ [ -4.8766366, 54.0221831 + ], + [ + -4.9089213, + 54.4242078 ] ], [ @@ -30368,6 +35545,10 @@ [ -5.8621751, 59.0990605 + ], + [ + -5.8667408, + 59.1444603 ] ], [ @@ -30386,6 +35567,10 @@ [ -1.7054472, 59.4975834 + ], + [ + -1.7065887, + 59.5703599 ] ], [ @@ -30404,6 +35589,10 @@ [ -7.6797341, 58.2577853 + ], + [ + -7.6865827, + 58.2940975 ] ], [ @@ -30422,6 +35611,10 @@ [ -4.5332574, 59.0180707 + ], + [ + -4.5338281, + 59.0359871 ] ], [ @@ -30440,6 +35633,10 @@ [ -8.6510947, 57.7779213 + ], + [ + -8.6710698, + 57.8769896 ] ], [ @@ -31194,6 +36391,10 @@ [ -5.2618345, 50.7082694 + ], + [ + -5.2395519, + 50.3530581 ] ], [ @@ -31212,6 +36413,10 @@ [ -2.148555, 60.1011247 + ], + [ + -2.1502671, + 60.171318 ] ], [ @@ -31230,6 +36435,10 @@ [ -6.2097426, 59.0714985 + ], + [ + -6.2086011, + 59.1163488 ] ], [ @@ -31248,6 +36457,10 @@ [ -4.3913388, 59.0897328 + ], + [ + -4.4159559, + 59.0889036 ] ] ], @@ -31255,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", @@ -31279,6 +36493,10 @@ [ -4.7148782, 54.6615818 + ], + [ + -4.7157244, + 54.6796556 ] ], [ @@ -31361,6 +36579,10 @@ [ -3.7158389, 58.4270836 + ], + [ + -3.7085748, + 58.3371151 ] ], [ @@ -31387,6 +36609,10 @@ [ -6.4504159, 49.8159968 + ], + [ + -6.46676, + 49.9943621 ] ], [ @@ -33089,6 +38315,10 @@ [ -5.6468717, 50.2209953 + ], + [ + -5.6453263, + 50.2029809 ] ], [ @@ -33107,6 +38337,10 @@ [ -5.1322161, 55.2446343 + ], + [ + -5.1336607, + 55.2630226 ] ], [ @@ -33125,6 +38359,10 @@ [ -5.6277517, 55.3302345 + ], + [ + -5.6431878, + 55.5095745 ] ], [ @@ -33143,6 +38381,10 @@ [ -4.7174993, 51.1280545 + ], + [ + -4.7213517, + 51.2180246 ] ], [ @@ -33161,6 +38403,10 @@ [ -5.1755648, 55.6138137 + ], + [ + -5.1608796, + 55.4153626 ] ] ], @@ -33168,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", @@ -33203,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", @@ -33238,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", @@ -34386,6 +39635,10 @@ [ -5.2152946, 55.0341891 + ], + [ + -5.2112173, + 54.8018593 ] ], [ @@ -34404,6 +39657,10 @@ [ -2.1663122, 60.104743 + ], + [ + -2.1646559, + 60.1622059 ] ], [ @@ -34562,6 +39819,10 @@ [ -1.528659, 60.1459283 + ], + [ + -1.5360658, + 59.8570831 ] ], [ @@ -34580,6 +39841,10 @@ [ -0.8065683, 60.8934578 + ], + [ + -0.9847667, + 60.8943762 ] ], [ @@ -34842,6 +40107,10 @@ [ -7.603783, 56.8792358 + ], + [ + -7.7696901, + 56.8788231 ] ], [ @@ -34860,6 +40129,10 @@ [ -1.7112191, 59.5041365 + ], + [ + -1.7106618, + 59.5626284 ] ] ], @@ -34867,45 +40140,36 @@ "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" - }, - { + "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 ], "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 }, { + "id": "OS-historic-25k-OSM_Limited", "name": "OS 1:25k historic (OSM)", "type": "tms", "template": "http://ooc.openstreetmap.org/os1/{zoom}/{x}/{y}.jpg", @@ -34939,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", @@ -34968,6 +40233,7 @@ ] }, { + "id": "OS-OpenData_Locator", "name": "OS OpenData Locator", "type": "tms", "template": "http://tiles.itoworld.com/os_locator/{zoom}/{x}/{y}.png", @@ -34998,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", @@ -35814,6 +41081,10 @@ [ -5.2839506, 50.0229734 + ], + [ + -5.8292886, + 50.0229734 ] ], [ @@ -35848,6 +41119,10 @@ [ -6.2540201, 49.8673563 + ], + [ + -6.4580707, + 49.8673563 ] ], [ @@ -35866,6 +41141,10 @@ [ -5.7683254, 49.932156 + ], + [ + -5.8343165, + 49.932156 ] ], [ @@ -35924,6 +41203,10 @@ [ -1.3506319, 60.6885737 + ], + [ + -1.9483797, + 60.6885737 ] ], [ @@ -35942,6 +41225,10 @@ [ -1.9864011, 60.1968568 + ], + [ + -2.203381, + 60.1968568 ] ], [ @@ -35960,6 +41247,10 @@ [ -1.5373349, 59.5698289 + ], + [ + -1.7543149, + 59.5698289 ] ], [ @@ -35978,6 +41269,10 @@ [ -4.2867004, 59.1370518 + ], + [ + -4.5585981, + 59.1370518 ] ], [ @@ -35996,6 +41291,10 @@ [ -5.6650612, 59.2025744 + ], + [ + -6.2787732, + 59.2025744 ] ], [ @@ -36014,6 +41313,10 @@ [ -8.3592926, 57.9440556 + ], + [ + -8.7163482, + 57.9440556 ] ], [ @@ -36032,6 +41335,10 @@ [ -7.3907205, 50.4021026 + ], + [ + -7.6077005, + 50.4021026 ] ], [ @@ -36050,11 +41357,16 @@ [ -7.5134503, 58.3579902 + ], + [ + -7.7304303, + 58.3579902 ] ] ] }, { + "id": "OS-Scottish_Popular-historic", "name": "OS Scottish Popular historic", "type": "tms", "template": "http://ooc.openstreetmap.org/npescotland/tiles/{zoom}/{x}/{y}.jpg", @@ -36088,6 +41400,7 @@ ] }, { + "id": "Pangasinan_Bulacan_HiRes", "name": "Pangasinán/Bulacan (Phillipines HiRes)", "type": "tms", "template": "http://gravitystorm.dev.openstreetmap.org/imagery/philippines/{zoom}/{x}/{y}.png", @@ -36154,401 +41467,2355 @@ [ 120.695, 14.8423 + ], + [ + 120.8268, + 15.3658 ] ] ] }, { - "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", @@ -36582,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", @@ -37770,16 +45038,21 @@ [ 17.8396817, -32.8507302 + ], + [ + 17.8396817, + -32.7983384 ] ] ], "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 @@ -39665,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 @@ -40817,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 @@ -42710,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", @@ -42744,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": [ [ [ @@ -42774,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", @@ -42804,357 +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 - ] - ] - ], "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", @@ -43283,12 +50588,17 @@ [ 12.1229489, 55.3483291 + ], + [ + 12.0913942, + 55.3491574 ] ] ], "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", @@ -43769,11 +51079,16 @@ [ -0.7296581, 51.0744919 + ], + [ + -0.752478, + 51.0821941 ] ] ] }, { + "id": "Szeged_2011", "name": "Szeged ortophoto 2011", "type": "tms", "template": "http://e.tile.openstreetmap.hu/szeged-2011-10cm/{zoom}/{x}/{y}.png", @@ -44001,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", @@ -44012,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}", @@ -44340,6 +51772,10 @@ [ 1.1924294, 43.6103695 + ], + [ + 1.1919978, + 43.6328791 ] ] ], @@ -44347,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}", @@ -44571,6 +52008,10 @@ [ 1.1149055, 43.6417629 + ], + [ + 1.1135067, + 43.6867566 ] ] ], @@ -44578,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}", @@ -44802,6 +52244,10 @@ [ 1.1149055, 43.6417629 + ], + [ + 1.1135067, + 43.6867566 ] ] ], @@ -44809,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}", @@ -45033,6 +52480,10 @@ [ 1.1149055, 43.6417629 + ], + [ + 1.1135067, + 43.6867566 ] ] ], @@ -45040,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}", @@ -45632,6 +53084,10 @@ [ 0.5721805, 47.4656513 + ], + [ + 0.5457462, + 47.465264 ] ] ], @@ -45639,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}", @@ -45674,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", @@ -45954,6 +53412,10 @@ [ -123.2275233, 48.1849927 + ], + [ + -124.7617886, + 48.4130148 ] ], [ @@ -45996,6 +53458,10 @@ [ -159.0093692, 22.5070181 + ], + [ + -160.5787616, + 22.5062947 ] ], [ @@ -46142,11 +53608,16 @@ [ -164.9717003, 68.994689 + ], + [ + -167.1571546, + 68.721974 ] ] ] }, { + "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", @@ -46181,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", @@ -50137,6 +57609,10 @@ [ -123.1838197, 48.7529029 + ], + [ + -123.2549305, + 48.7529029 ] ], [ @@ -50171,6 +57647,10 @@ [ -123.0595947, 37.7528143 + ], + [ + -122.9341743, + 37.7521547 ] ], [ @@ -50189,6 +57669,10 @@ [ -71.6298594, 41.1229149 + ], + [ + -71.6299464, + 41.2540893 ] ], [ @@ -50239,6 +57723,10 @@ [ -70.2462087, 41.3775467 + ], + [ + -70.3184265, + 41.3775196 ] ], [ @@ -50281,6 +57769,10 @@ [ -68.9402483, 43.8117599 + ], + [ + -68.9403374, + 43.9404062 ] ], [ @@ -50299,6 +57791,10 @@ [ -123.1291466, 48.9343243 + ], + [ + -123.1291466, + 49.0645144 ] ], [ @@ -50333,11 +57829,16 @@ [ -82.9407144, 24.5594908 + ], + [ + -82.9407144, + 24.7535913 ] ] ] }, { + "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", @@ -50678,6 +58179,10 @@ [ -96.0131199, 49.0060547 + ], + [ + -125.990173, + 48.9962416 ] ], [ @@ -50728,6 +58233,10 @@ [ -159.0093692, 22.5070181 + ], + [ + -160.5787616, + 22.5062947 ] ], [ @@ -51034,6 +58543,10 @@ [ -164.9717003, 68.994689 + ], + [ + -168.006102, + 68.9941463 ] ], [ @@ -51052,6 +58565,10 @@ [ -172.0191536, 62.8681608 + ], + [ + -168.5133204, + 62.8689586 ] ], [ @@ -51070,6 +58587,10 @@ [ -174.0035162, 59.9946581 + ], + [ + -170.9947111, + 59.9954089 ] ], [ @@ -51088,15 +58609,20 @@ [ -156.0709936, 18.9023432 + ], + [ + -156.0717261, + 20.2854602 ] ] ] }, { + "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 @@ -51152,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", @@ -51656,6 +59183,10 @@ [ 8.531432, 54.95516 + ], + [ + 8.3743941, + 54.9551655 ] ], [ @@ -51674,6 +59205,10 @@ [ 11.4459621, 56.6401087 + ], + [ + 11.4577738, + 56.819554 ] ], [ @@ -51700,6 +59235,10 @@ [ 10.8290599, 57.3695272 + ], + [ + 11.3274736, + 57.3612962 ] ], [ @@ -51718,6 +59257,10 @@ [ 11.7456428, 56.2743186 + ], + [ + 11.5843266, + 56.2777928 ] ], [ @@ -51768,6 +59311,10 @@ [ 14.6317464, 55.0062496 + ], + [ + 14.6825922, + 55.3639405 ] ] ], @@ -51775,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": [ @@ -51806,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": [ @@ -51841,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": [ @@ -51876,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/index.js b/data/index.js index 60e99a255..3387e7524 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'; @@ -13,14 +12,18 @@ export { default as dataImperial } from './imperial.json'; export { default as dataDriveLeft } from './drive-left.json'; export { en as dataEn } from '../dist/locales/en.json'; +import { dataImagery } from './imagery.json'; import { presets } from './presets/presets.json'; import { defaults } from './presets/defaults.json'; import { categories } from './presets/categories.json'; import { fields } from './presets/fields.json'; -export var dataPresets = { - presets: presets, - defaults: defaults, - categories: categories, - fields: fields +export var data = { + imagery: dataImagery, + presets: { + presets: presets, + defaults: defaults, + categories: categories, + fields: fields + } }; 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/presets.yaml b/data/presets.yaml index 1a6ae5bd2..24ed753d6 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/sand_bath: + # 'bath:sand_bath=*' + label: Sand Bath + bath/type: + # 'bath:type=*' + label: Specialty + options: + # 'bath:type=foot_bath' + foot_bath: Foot Bath + # 'bath:type=hot_spring' + hot_spring: Hot Spring + # 'bath:type=onsen' + onsen: Japanese Onsen beauty: # beauty=* label: Shop Type @@ -191,6 +207,9 @@ en: stemcells: stem cell samples # 'blood:=whole' whole: whole blood + board_type: + # board_type=* + label: Type boundary: # boundary=* label: Type @@ -203,6 +222,24 @@ en: building_area: # building=* label: Building + camera/direction: + # 'camera:direction=*' + label: Direction (Degrees Clockwise) + # camera/direction field placeholder + placeholder: '45, 90, 180, 270' + camera/mount: + # 'camera:mount=*' + label: Camera Mount + camera/type: + # '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 @@ -258,6 +295,11 @@ en: construction: # construction=* label: Type + contact/webcam: + # 'contact:webcam=*' + label: Webcam URL + # contact/webcam field placeholder + placeholder: 'http://example.com/' content: # content=* label: Contents @@ -383,6 +425,9 @@ en: fee: # fee=* label: Fee + fence_type: + # fence_type=* + label: Type fire_hydrant/type: # 'fire_hydrant:type=*' label: Type @@ -441,6 +486,9 @@ en: handrail: # handrail=* label: Handrail + height: + # height=* + label: Height (Meters) highway: # highway=* label: Type @@ -492,6 +540,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 @@ -580,6 +631,17 @@ en: man_made: # man_made=* label: Type + map_size: + # map_size=* + label: Coverage + 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 @@ -730,6 +792,9 @@ en: operator: # operator=* label: Operator + outdoor_seating: + # outdoor_seating=* + label: Outdoor Seating par: # par=* label: Par @@ -1044,6 +1109,22 @@ en: surface: # surface=* label: Surface + surveillance: + # surveillance=* + label: Surveillance Kind + surveillance/type: + # 'surveillance:type=*' + 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: Surveillance Zone tactile_paving: # tactile_paving=* label: Tactile Paving @@ -1074,9 +1155,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 @@ -1136,6 +1222,9 @@ en: house: Up to 5m (16ft) # visibility=street street: 5 to 20m (16 to 65ft) + wall: + # wall=* + label: Type water: # water=* label: Type @@ -1387,6 +1476,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 @@ -1424,6 +1518,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 @@ -1450,12 +1549,18 @@ en: amenity/hunting_stand: # amenity=hunting_stand name: Hunting Stand + # 'terms: game,lookout,shoot,wild,watch' terms: '' amenity/ice_cream: # amenity=ice_cream 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 @@ -1549,8 +1654,13 @@ en: amenity/pub: # amenity=pub name: Pub - # 'terms: dive,beer,bier,booze' + # '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 @@ -2429,6 +2539,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 @@ -2448,6 +2563,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 @@ -2615,6 +2735,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 @@ -2728,6 +2853,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 @@ -2853,8 +2982,13 @@ 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/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 @@ -3815,6 +3949,15 @@ en: # tourism=alpine_hut name: Alpine Hut terms: '' + tourism/apartment: + # tourism=apartment + name: Guest Apartment / Condo + terms: '' + tourism/aquarium: + # tourism=aquarium + name: Aquarium + # 'terms: fish,sea,water' + terms: '' tourism/artwork: # tourism=artwork name: Artwork @@ -3860,6 +4003,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 @@ -3885,6 +4044,7 @@ en: tourism/zoo: # tourism=zoo name: Zoo + # 'terms: animal' terms: '' traffic_calming: # traffic_calming=* @@ -4098,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/README.md b/data/presets/README.md index 83a582225..42114967c 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", @@ -235,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: { ... }, @@ -273,6 +274,12 @@ For example: "tags": {}, "geometry": ["vertex"], "matchScore": 0.1 +}, +"relation": { + "name": "Relation", + "tags": {}, + "geometry": ["relation"], + "matchScore": 0.1 } ``` 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" ] } diff --git a/data/presets/fields.json b/data/presets/fields.json index 07b14a6c0..36f39c0be 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", + "type": "check" + }, + "bath/sand_bath": { + "key": "bath:sand_bath", + "label": "Sand Bath", + "type": "check" + }, + "bath/type": { + "key": "bath:type", + "type": "combo", + "label": "Specialty", + "strings": { + "options": { + "onsen": "Japanese Onsen", + "foot_bath": "Foot Bath", + "hot_spring": "Hot Spring" + } + } + }, "beauty": { "key": "beauty", "type": "combo", @@ -256,6 +278,11 @@ } } }, + "board_type": { + "key": "board_type", + "type": "typeCombo", + "label": "Type" + }, "boundary": { "key": "boundary", "type": "combo", @@ -278,6 +305,29 @@ "type": "combo", "label": "Building" }, + "camera/direction": { + "key": "camera:direction", + "type": "number", + "label": "Direction (Degrees Clockwise)", + "placeholder": "45, 90, 180, 270" + }, + "camera/mount": { + "key": "camera:mount", + "type": "combo", + "label": "Camera Mount" + }, + "camera/type": { + "key": "camera:type", + "type": "combo", + "label": "Camera Type", + "strings": { + "options": { + "fixed": "Fixed", + "panning": "Panning", + "dome": "Dome" + } + } + }, "capacity": { "key": "capacity", "type": "number", @@ -330,6 +380,13 @@ "type": "combo", "label": "Type" }, + "contact/webcam": { + "key": "contact:webcam", + "type": "url", + "icon": "website", + "label": "Webcam URL", + "placeholder": "http://example.com/" + }, "content": { "key": "content", "type": "combo", @@ -532,6 +589,11 @@ "type": "check", "label": "Fee" }, + "fence_type": { + "key": "fence_type", + "type": "combo", + "label": "Type" + }, "fire_hydrant/type": { "key": "fire_hydrant:type", "type": "combo", @@ -615,6 +677,11 @@ "type": "check", "label": "Handrail" }, + "height": { + "key": "height", + "type": "number", + "label": "Height (Meters)" + }, "highway": { "key": "highway", "type": "typeCombo", @@ -686,6 +753,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", @@ -801,6 +873,23 @@ "type": "typeCombo", "label": "Type" }, + "map_size": { + "key": "map_size", + "type": "typeCombo", + "label": "Coverage" + }, + "map_type": { + "key": "map_type", + "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", @@ -983,6 +1072,11 @@ "type": "text", "label": "Operator" }, + "outdoor_seating": { + "key": "outdoor_seating", + "type": "combo", + "label": "Outdoor Seating" + }, "par": { "key": "par", "type": "number", @@ -1415,6 +1509,28 @@ "type": "combo", "label": "Surface" }, + "surveillance": { + "key": "surveillance", + "type": "combo", + "label": "Surveillance Kind" + }, + "surveillance/type": { + "key": "surveillance:type", + "type": "combo", + "label": "Surveillance Type", + "strings": { + "options": { + "camera": "Camera", + "guard": "Guard", + "ALPR": "Automatic License Plate Reader" + } + } + }, + "surveillance/zone": { + "key": "surveillance:zone", + "type": "combo", + "label": "Surveillance Zone" + }, "tactile_paving": { "key": "tactile_paving", "type": "check", @@ -1451,10 +1567,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", @@ -1525,6 +1647,11 @@ } } }, + "wall": { + "key": "wall", + "type": "combo", + "label": "Type" + }, "water_point": { "key": "water_point", "type": "check", diff --git a/data/presets/fields/bath/open_air.json b/data/presets/fields/bath/open_air.json new file mode 100644 index 000000000..60e09c205 --- /dev/null +++ b/data/presets/fields/bath/open_air.json @@ -0,0 +1,5 @@ +{ + "key": "bath:open_air", + "label": "Open Air", + "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..8242b1649 --- /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..48907ad8c --- /dev/null +++ b/data/presets/fields/bath/type.json @@ -0,0 +1,12 @@ +{ + "key": "bath:type", + "type": "combo", + "label": "Specialty", + "strings": { + "options": { + "onsen": "Japanese Onsen", + "foot_bath": "Foot Bath", + "hot_spring": "Hot Spring" + } + } +} 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/camera/direction.json b/data/presets/fields/camera/direction.json new file mode 100644 index 000000000..142376c77 --- /dev/null +++ b/data/presets/fields/camera/direction.json @@ -0,0 +1,6 @@ +{ + "key": "camera:direction", + "type": "number", + "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 new file mode 100644 index 000000000..8deea4021 --- /dev/null +++ b/data/presets/fields/camera/mount.json @@ -0,0 +1,5 @@ +{ + "key": "camera:mount", + "type": "combo", + "label": "Camera Mount" +} diff --git a/data/presets/fields/camera/type.json b/data/presets/fields/camera/type.json new file mode 100644 index 000000000..4f29b05a2 --- /dev/null +++ b/data/presets/fields/camera/type.json @@ -0,0 +1,12 @@ +{ + "key": "camera:type", + "type": "combo", + "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 new file mode 100644 index 000000000..54a6c878d --- /dev/null +++ b/data/presets/fields/contact/webcam.json @@ -0,0 +1,7 @@ +{ + "key": "contact:webcam", + "type": "url", + "icon": "website", + "label": "Webcam URL", + "placeholder": "http://example.com/" +} diff --git a/data/presets/fields/fence_type.json b/data/presets/fields/fence_type.json new file mode 100644 index 000000000..f0b0f90b6 --- /dev/null +++ b/data/presets/fields/fence_type.json @@ -0,0 +1,5 @@ +{ + "key": "fence_type", + "type": "combo", + "label": "Type" +} diff --git a/data/presets/fields/height.json b/data/presets/fields/height.json new file mode 100644 index 000000000..8a113efe8 --- /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/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)" +} 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/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/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" +} diff --git a/data/presets/fields/surveillance.json b/data/presets/fields/surveillance.json new file mode 100644 index 000000000..3f4365141 --- /dev/null +++ b/data/presets/fields/surveillance.json @@ -0,0 +1,5 @@ +{ + "key": "surveillance", + "type": "combo", + "label": "Surveillance Kind" +} diff --git a/data/presets/fields/surveillance/type.json b/data/presets/fields/surveillance/type.json new file mode 100644 index 000000000..1f5d7fa5a --- /dev/null +++ b/data/presets/fields/surveillance/type.json @@ -0,0 +1,12 @@ +{ + "key": "surveillance:type", + "type": "combo", + "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 new file mode 100644 index 000000000..492316151 --- /dev/null +++ b/data/presets/fields/surveillance/zone.json @@ -0,0 +1,5 @@ +{ + "key": "surveillance:zone", + "type": "combo", + "label": "Surveillance Zone" +} diff --git a/data/presets/fields/tower/construction.json b/data/presets/fields/tower/construction.json new file mode 100644 index 000000000..d6723507d --- /dev/null +++ b/data/presets/fields/tower/construction.json @@ -0,0 +1,6 @@ +{ + "key": "tower:construction", + "type": "combo", + "label": "Construction", + "placeholder": "Guyed, Lattice, Concealed, ..." +} diff --git a/data/presets/fields/towertype.json b/data/presets/fields/tower/type.json similarity index 65% rename from data/presets/fields/towertype.json rename to data/presets/fields/tower/type.json index 08bbc5e9f..f73bf9737 100644 --- a/data/presets/fields/towertype.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/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 154a123b5..c5e3549e7 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", @@ -1022,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": [ @@ -1123,7 +1160,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", @@ -1174,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", @@ -1280,7 +1342,13 @@ "vertex", "area" ], - "terms": [], + "terms": [ + "game", + "lookout", + "shoot", + "wild", + "watch" + ], "tags": { "amenity": "hunting_stand" }, @@ -1293,7 +1361,8 @@ "building_area", "opening_hours", "takeaway", - "delivery" + "delivery", + "outdoor_seating" ], "geometry": [ "point", @@ -1311,6 +1380,36 @@ }, "name": "Ice Cream Shop" }, + "amenity/internet_cafe": { + "fields": [ + "operator", + "address", + "building_area", + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "cybercafe", + "taxiphone", + "teleboutique", + "coffee", + "cafe", + "net", + "lanhouse" + ], + "tags": { + "amenity": "internet_cafe" + }, + "name": "Internet Cafe" + }, "amenity/kindergarten": { "icon": "school", "fields": [ @@ -1336,7 +1435,10 @@ "operator", "building_area", "address", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -1750,7 +1852,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", @@ -1760,6 +1863,8 @@ "amenity": "pub" }, "terms": [ + "alcohol", + "drink", "dive", "beer", "bier", @@ -1767,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": [ @@ -1877,7 +2006,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "geometry": [ "point", @@ -2042,7 +2172,10 @@ "building_area", "opening_hours", "wheelchair", - "social_facility_for" + "social_facility_for", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -2196,7 +2329,9 @@ "icon": "college", "fields": [ "operator", - "address" + "address", + "internet_access", + "internet_access/ssid" ], "geometry": [ "point", @@ -2549,7 +2684,8 @@ "fields": [ "barrier" ], - "name": "Barrier" + "name": "Barrier", + "matchScore": 0.4 }, "barrier/entrance": { "icon": "entrance", @@ -2603,6 +2739,9 @@ }, "barrier/city_wall": { "icon": "prison", + "fields": [ + "height" + ], "geometry": [ "line", "area" @@ -2634,17 +2773,23 @@ "tags": { "barrier": "ditch" }, - "name": "Trench" + "name": "Trench", + "matchScore": 0.25 }, "barrier/fence": { "icon": "prison", + "fields": [ + "fence_type", + "height" + ], "geometry": [ "line" ], "tags": { "barrier": "fence" }, - "name": "Fence" + "name": "Fence", + "matchScore": 0.25 }, "barrier/gate": { "icon": "prison", @@ -2662,6 +2807,9 @@ "name": "Gate" }, "barrier/hedge": { + "fields": [ + "height" + ], "geometry": [ "line", "area" @@ -2669,7 +2817,8 @@ "tags": { "barrier": "hedge" }, - "name": "Hedge" + "name": "Hedge", + "matchScore": 0.25 }, "barrier/kissing_gate": { "icon": "prison", @@ -2737,6 +2886,10 @@ }, "barrier/wall": { "icon": "prison", + "fields": [ + "wall", + "height" + ], "geometry": [ "line", "area" @@ -2744,7 +2897,8 @@ "tags": { "barrier": "wall" }, - "name": "Wall" + "name": "Wall", + "matchScore": 0.25 }, "boundary/administrative": { "name": "Administrative Boundary", @@ -2772,7 +2926,7 @@ "tags": { "building": "*" }, - "matchScore": 0.4, + "matchScore": 0.6, "terms": [], "name": "Building" }, @@ -3621,7 +3775,6 @@ "name": "Caterer" }, "craft/clockmaker": { - "icon": "circle-stroked", "fields": [ "operator", "address", @@ -4174,7 +4327,6 @@ "name": "Upholsterer" }, "craft/watchmaker": { - "icon": "circle-stroked", "fields": [ "operator", "address", @@ -4640,8 +4792,7 @@ "network", "operator", "bench", - "shelter", - "covered" + "shelter" ], "geometry": [ "point", @@ -4779,7 +4930,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "cycleway" ], "geometry": [ @@ -4791,6 +4944,7 @@ "name": "Living Street" }, "highway/mini_roundabout": { + "icon": "circle-stroked", "geometry": [ "vertex" ], @@ -4821,7 +4975,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref" ], "geometry": [ @@ -4854,6 +5010,7 @@ "access", "lanes", "surface", + "maxheight", "ref" ], "geometry": [ @@ -4922,7 +5079,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref", "cycleway" ], @@ -4948,6 +5107,7 @@ "access", "lanes", "surface", + "maxheight", "ref", "cycleway" ], @@ -4992,7 +5152,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "cycleway" ], "geometry": [ @@ -5025,7 +5187,9 @@ "maxspeed", "structure", "access", - "surface" + "lanes", + "surface", + "maxheight" ], "geometry": [ "line" @@ -5043,7 +5207,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref", "cycleway" ], @@ -5069,6 +5235,7 @@ "access", "lanes", "surface", + "maxheight", "ref", "cycleway" ], @@ -5090,7 +5257,7 @@ "structure", "access", "surface", - "cycleway" + "maxheight" ], "geometry": [ "line" @@ -5105,8 +5272,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -5121,8 +5291,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -5137,8 +5310,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -5153,8 +5329,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -5169,8 +5348,11 @@ "icon": "highway-service", "fields": [ "oneway", + "maxspeed", + "structure", "access", - "surface" + "surface", + "maxheight" ], "geometry": [ "line" @@ -5264,7 +5446,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref", "cycleway" ], @@ -5290,6 +5474,7 @@ "access", "lanes", "surface", + "maxheight", "ref", "cycleway" ], @@ -5346,6 +5531,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" @@ -5370,7 +5575,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "ref" ], "geometry": [ @@ -5395,6 +5602,7 @@ "access", "lanes", "surface", + "maxheight", "ref" ], "geometry": [ @@ -5407,7 +5615,7 @@ "name": "Trunk Road" }, "highway/turning_circle": { - "icon": "circle", + "icon": "circle-stroked", "geometry": [ "vertex" ], @@ -5419,6 +5627,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": [ @@ -5426,7 +5647,9 @@ "maxspeed", "structure", "access", + "lanes", "surface", + "maxheight", "cycleway" ], "geometry": [ @@ -5519,6 +5742,7 @@ "name": "Ruins" }, "historic/wayside_cross": { + "icon": "religious-christian", "geometry": [ "point", "vertex", @@ -5930,6 +6154,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": [ @@ -6087,7 +6334,9 @@ "fee", "sanitary_dump_station", "power_supply", - "internet_access" + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -6389,6 +6638,21 @@ }, "name": "Playground" }, + "leisure/resort": { + "fields": [ + "operator", + "address", + "opening_hours" + ], + "geometry": [ + "point", + "area" + ], + "tags": { + "leisure": "resort" + }, + "name": "Resort" + }, "leisure/running_track": { "icon": "pitch", "fields": [ @@ -6673,6 +6937,11 @@ "name": "Lighthouse" }, "man_made/mast": { + "fields": [ + "tower/type", + "tower/construction", + "height" + ], "geometry": [ "point" ], @@ -6803,13 +7072,63 @@ }, "name": "Storage Tank" }, + "man_made/surveillance_camera": { + "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" + }, "man_made/surveillance": { "icon": "camera", "geometry": [ "point" ], + "fields": [ + "surveillance", + "surveillance/type", + "surveillance/zone" + ], "terms": [ - "cctv" + "anpr", + "alpr", + "camera", + "car plate recognition", + "cctv", + "guard", + "license plate recognition", + "monitoring", + "number plate recognition", + "security", + "video", + "webcam" ], "tags": { "man_made": "surveillance" @@ -6832,7 +7151,9 @@ }, "man_made/tower": { "fields": [ - "towertype" + "tower/type", + "tower/construction", + "height" ], "geometry": [ "point", @@ -8282,7 +8603,10 @@ "network", "operator", "address", - "building_area" + "building_area", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -8724,7 +9048,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10618,7 +10945,10 @@ "fields": [ "operator", "address", - "building_area" + "building_area", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10629,6 +10959,49 @@ }, "name": "Alpine Hut" }, + "tourism/apartment": { + "icon": "lodging", + "fields": [ + "operator", + "address", + "building_area", + "smoking", + "rooms", + "internet_access", + "internet_access/fee", + "internet_access/ssid" + ], + "geometry": [ + "point", + "area" + ], + "tags": { + "tourism": "apartment" + }, + "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": [ @@ -10672,7 +11045,10 @@ "operator", "address", "capacity", - "fee" + "fee", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10697,7 +11073,9 @@ "fee", "sanitary_dump_station", "power_supply", - "internet_access" + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10719,7 +11097,10 @@ "operator", "address", "building_area", - "smoking" + "smoking", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10764,7 +11145,8 @@ "smoking", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10788,7 +11170,8 @@ "smoking", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10809,7 +11192,8 @@ "stars", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10837,6 +11221,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": [ @@ -10846,7 +11293,8 @@ "smoking", "rooms", "internet_access", - "internet_access/fee" + "internet_access/fee", + "internet_access/ssid" ], "geometry": [ "point", @@ -10941,6 +11389,9 @@ "point", "area" ], + "terms": [ + "animal" + ], "tags": { "tourism": "zoo" }, @@ -11078,6 +11529,7 @@ "name": "Speed Hump" }, "traffic_calming/island": { + "icon": "circle", "geometry": [ "vertex" ], @@ -11755,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": [ @@ -14993,7 +15462,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15012,7 +15482,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15031,7 +15502,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15050,7 +15522,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15069,7 +15542,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15088,7 +15562,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15107,7 +15582,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15126,7 +15602,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15145,7 +15622,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15164,7 +15642,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15183,7 +15662,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15202,7 +15682,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15221,7 +15702,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15240,7 +15722,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15259,7 +15742,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15278,7 +15762,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15297,7 +15782,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15316,7 +15802,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15335,7 +15822,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15354,7 +15842,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15373,7 +15862,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15392,7 +15882,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15411,7 +15902,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15430,7 +15922,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15449,7 +15942,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15468,7 +15962,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15487,7 +15982,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15506,7 +16002,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15525,7 +16022,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15544,7 +16042,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15563,7 +16062,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15582,7 +16082,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15601,7 +16102,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15620,7 +16122,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15639,7 +16142,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15658,7 +16162,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15677,7 +16182,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15696,7 +16202,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15715,7 +16222,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15734,7 +16242,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15753,7 +16262,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15772,7 +16282,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15791,7 +16302,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15810,7 +16322,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15829,7 +16342,8 @@ "address", "building_area", "opening_hours", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15853,7 +16367,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15878,7 +16393,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15903,7 +16419,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15928,7 +16445,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15952,7 +16470,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -15977,7 +16496,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16001,7 +16521,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16026,7 +16547,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16051,7 +16573,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16075,7 +16598,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16099,7 +16623,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16123,7 +16648,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16147,7 +16673,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16172,7 +16699,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16196,7 +16724,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16220,7 +16749,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16245,7 +16775,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16269,7 +16800,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16293,7 +16825,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16317,7 +16850,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16341,7 +16875,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16365,7 +16900,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16389,7 +16925,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16413,7 +16950,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16437,7 +16975,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16461,7 +17000,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16486,7 +17026,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16510,7 +17051,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16534,7 +17076,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16558,7 +17101,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16582,7 +17126,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16606,7 +17151,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16631,7 +17177,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16656,7 +17203,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16680,7 +17228,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16705,7 +17254,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16730,7 +17280,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16754,7 +17305,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16779,7 +17331,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16803,7 +17356,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16827,7 +17381,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16852,7 +17407,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16876,7 +17432,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16901,7 +17458,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16927,7 +17485,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16951,7 +17510,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16975,7 +17535,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -16999,7 +17560,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17023,7 +17585,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17047,7 +17610,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17073,7 +17637,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17097,7 +17662,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17121,7 +17687,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17146,7 +17713,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17170,7 +17738,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17194,7 +17763,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17218,7 +17788,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17242,7 +17813,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17266,7 +17838,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17291,7 +17864,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17316,7 +17890,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17340,7 +17915,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17364,7 +17940,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17388,7 +17965,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17412,7 +17990,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17436,7 +18015,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17460,7 +18040,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17485,7 +18066,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17509,7 +18091,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17533,7 +18116,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17557,7 +18141,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17582,7 +18167,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17607,7 +18193,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17631,7 +18218,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17655,7 +18243,8 @@ "takeaway", "delivery", "drive_through", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17679,7 +18268,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17702,7 +18292,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17725,7 +18316,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17748,7 +18340,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17771,7 +18364,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17794,7 +18388,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17817,7 +18412,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17840,7 +18436,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17863,7 +18460,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17886,7 +18484,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17909,7 +18508,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17932,7 +18532,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17955,7 +18556,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -17978,7 +18580,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18001,7 +18604,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18024,7 +18628,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18047,7 +18652,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18070,7 +18676,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18093,7 +18700,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18116,7 +18724,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18139,7 +18748,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18162,7 +18772,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18185,7 +18796,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18208,7 +18820,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18231,7 +18844,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18254,7 +18868,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18277,7 +18892,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18300,7 +18916,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18323,7 +18940,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18346,7 +18964,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18369,7 +18988,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18392,7 +19012,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18415,7 +19036,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18438,7 +19060,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18461,7 +19084,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18484,7 +19108,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18507,7 +19132,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18530,7 +19156,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18553,7 +19180,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18576,7 +19204,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18599,7 +19228,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18622,7 +19252,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18645,7 +19276,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18668,7 +19300,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18691,7 +19324,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18714,7 +19348,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18737,7 +19372,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18760,7 +19396,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18783,7 +19420,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18806,7 +19444,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18829,7 +19468,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18852,7 +19492,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18875,7 +19516,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18898,7 +19540,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18921,7 +19564,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18944,7 +19588,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18967,7 +19612,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -18990,7 +19636,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19013,7 +19660,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19036,7 +19684,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19059,7 +19708,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19082,7 +19732,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19105,7 +19756,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19128,7 +19780,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19151,7 +19804,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19174,7 +19828,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19197,7 +19852,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19220,7 +19876,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19243,7 +19900,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19266,7 +19924,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19289,7 +19948,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19312,7 +19972,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19335,7 +19996,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19358,7 +20020,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19381,7 +20044,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19404,7 +20068,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19427,7 +20092,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19450,7 +20116,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19473,7 +20140,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19496,7 +20164,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19519,7 +20188,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19542,7 +20212,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19565,7 +20236,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19588,7 +20260,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19611,7 +20284,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19634,7 +20308,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19657,7 +20332,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19680,7 +20356,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19703,7 +20380,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19726,7 +20404,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19749,7 +20428,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19772,7 +20452,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19795,7 +20476,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19818,7 +20500,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19841,7 +20524,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19864,7 +20548,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19887,7 +20572,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19910,7 +20596,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19933,7 +20620,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19956,7 +20644,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -19979,7 +20668,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20002,7 +20692,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20025,7 +20716,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20049,7 +20741,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20072,7 +20765,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20095,7 +20789,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20118,7 +20813,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20141,7 +20837,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20164,7 +20861,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20187,7 +20885,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20210,7 +20909,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20233,7 +20933,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20256,7 +20957,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20279,7 +20981,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20302,7 +21005,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20325,7 +21029,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20348,7 +21053,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20371,7 +21077,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20394,7 +21101,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20417,7 +21125,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20440,7 +21149,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20463,7 +21173,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20486,7 +21197,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20509,7 +21221,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -20532,7 +21245,8 @@ "capacity", "takeaway", "delivery", - "smoking" + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27441,11 +28155,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27462,11 +28179,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27483,11 +28203,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27504,11 +28227,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27525,11 +28251,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27546,11 +28275,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27567,11 +28299,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27589,11 +28324,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27610,11 +28348,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27631,11 +28372,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27652,11 +28396,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27673,11 +28420,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27694,11 +28444,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27716,11 +28469,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27737,11 +28493,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27758,11 +28517,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27779,11 +28541,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27801,11 +28566,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27822,11 +28590,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27843,11 +28614,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27864,11 +28638,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27885,11 +28662,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27906,11 +28686,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27927,11 +28710,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27948,11 +28734,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27970,11 +28759,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -27991,11 +28783,14 @@ ], "fields": [ "cuisine", - "internet_access", "address", "building_area", "opening_hours", - "smoking" + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" ], "suggestion": true }, @@ -37828,7 +38623,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, @@ -37847,7 +38645,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, @@ -37866,7 +38667,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, @@ -37885,7 +38689,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, @@ -37904,7 +38711,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, @@ -37923,7 +38733,10 @@ "operator", "address", "building_area", - "opening_hours" + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid" ], "suggestion": true }, @@ -37942,7 +38755,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/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/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/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/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" }, 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 new file mode 100644 index 000000000..8133fc505 --- /dev/null +++ b/data/presets/presets/amenity/internet_cafe.json @@ -0,0 +1,30 @@ +{ + "fields": [ + "operator", + "address", + "building_area", + "opening_hours", + "internet_access", + "internet_access/fee", + "internet_access/ssid", + "smoking", + "outdoor_seating" + ], + "geometry": [ + "point", + "area" + ], + "terms": [ + "cybercafe", + "taxiphone", + "teleboutique", + "coffee", + "cafe", + "net", + "lanhouse" + ], + "tags": { + "amenity": "internet_cafe" + }, + "name": "Internet Cafe" +} 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 90af85b79..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", @@ -14,6 +15,8 @@ "amenity": "pub" }, "terms": [ + "alcohol", + "drink", "dive", "beer", "bier", diff --git a/data/presets/presets/amenity/public_bath.json b/data/presets/presets/amenity/public_bath.json new file mode 100644 index 000000000..8fd83ea2d --- /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/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/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/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/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 169cfd46f..0da24b3a2 100644 --- a/data/presets/presets/barrier/fence.json +++ b/data/presets/presets/barrier/fence.json @@ -1,10 +1,15 @@ { "icon": "prison", + "fields": [ + "fence_type", + "height" + ], "geometry": [ "line" ], "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 69c4ec9da..f9d66d50b 100644 --- a/data/presets/presets/barrier/hedge.json +++ b/data/presets/presets/barrier/hedge.json @@ -1,4 +1,7 @@ { + "fields": [ + "height" + ], "geometry": [ "line", "area" @@ -6,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 f102102d9..4b1bb4518 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" @@ -7,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" } 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/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 +} 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/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/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/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" +} 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/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/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/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 +} 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/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/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/man_made/mast.json b/data/presets/presets/man_made/mast.json index 9ce0c49f7..eb118bdfb 100644 --- a/data/presets/presets/man_made/mast.json +++ b/data/presets/presets/man_made/mast.json @@ -1,4 +1,9 @@ { + "fields": [ + "tower/type", + "tower/construction", + "height" + ], "geometry": [ "point" ], diff --git a/data/presets/presets/man_made/surveillance.json b/data/presets/presets/man_made/surveillance.json index 3d7a01d38..ee2a07e80 100644 --- a/data/presets/presets/man_made/surveillance.json +++ b/data/presets/presets/man_made/surveillance.json @@ -3,8 +3,24 @@ "geometry": [ "point" ], + "fields": [ + "surveillance", + "surveillance/type", + "surveillance/zone" + ], "terms": [ - "cctv" + "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_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/presets/presets/man_made/tower.json b/data/presets/presets/man_made/tower.json index e2285df23..2023409c1 100644 --- a/data/presets/presets/man_made/tower.json +++ b/data/presets/presets/man_made/tower.json @@ -1,6 +1,8 @@ { "fields": [ - "towertype" + "tower/type", + "tower/construction", + "height" ], "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 new file mode 100644 index 000000000..871a02172 --- /dev/null +++ b/data/presets/presets/tourism/apartment.json @@ -0,0 +1,21 @@ +{ + "icon": "lodging", + "fields": [ + "operator", + "address", + "building_area", + "smoking", + "rooms", + "internet_access", + "internet_access/fee", + "internet_access/ssid" + ], + "geometry": [ + "point", + "area" + ], + "tags": { + "tourism": "apartment" + }, + "name": "Guest Apartment / Condo" +} 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/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/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/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/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/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/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 0af97dfa4..f99b5ed14 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" @@ -295,6 +303,10 @@ "key": "amenity", "value": "ice_cream" }, + { + "key": "amenity", + "value": "internet_cafe" + }, { "key": "amenity", "value": "kindergarten" @@ -375,6 +387,10 @@ "key": "amenity", "value": "pub" }, + { + "key": "amenity", + "value": "public_bath" + }, { "key": "amenity", "value": "public_bookcase" @@ -1174,6 +1190,10 @@ "key": "highway", "value": "track" }, + { + "key": "highway", + "value": "traffic_mirror" + }, { "key": "highway", "value": "traffic_signals" @@ -1190,6 +1210,10 @@ "key": "highway", "value": "turning_circle" }, + { + "key": "highway", + "value": "turning_loop" + }, { "key": "highway", "value": "unclassified" @@ -1347,6 +1371,10 @@ "key": "leisure", "value": "common" }, + { + "key": "leisure", + "value": "dance" + }, { "key": "leisure", "value": "dog_park" @@ -1447,6 +1475,10 @@ "key": "leisure", "value": "playground" }, + { + "key": "leisure", + "value": "resort" + }, { "key": "sport", "value": "running" @@ -1554,6 +1586,10 @@ "key": "man_made", "value": "storage_tank" }, + { + "key": "surveillance:type", + "value": "camera" + }, { "key": "man_made", "value": "surveillance" @@ -2421,6 +2457,14 @@ "key": "tourism", "value": "alpine_hut" }, + { + "key": "tourism", + "value": "apartment" + }, + { + "key": "tourism", + "value": "aquarium" + }, { "key": "tourism", "value": "artwork" @@ -2461,6 +2505,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" @@ -2676,6 +2736,10 @@ "key": "waterway", "value": "water_point" }, + { + "key": "waterway", + "value": "waterfall" + }, { "key": "waterway", "value": "weir" 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/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/dist/index.html b/dist/index.html index 7e4cce361..7ea898aaf 100644 --- a/dist/index.html +++ b/dist/index.html @@ -37,10 +37,7 @@ 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(); id.ui()(document.getElementById('id-container')); } 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..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", @@ -334,7 +337,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", @@ -690,6 +692,9 @@ "barrier": { "label": "Tipu" }, + "beauty": { + "label": "Tipu de tienda" + }, "bench": { "label": "Bancu" }, @@ -699,6 +704,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 +787,9 @@ "currency_multi": { "label": "Tipos de divisa" }, + "cycle_network": { + "label": "Rede" + }, "cycleway": { "label": "Carriles bici", "options": { @@ -811,6 +828,9 @@ "cycleway:right": "Llau drechu" } }, + "date": { + "label": "Data" + }, "delivery": { "label": "Repartu" }, @@ -826,6 +846,9 @@ "diaper": { "label": "Con cambiador de pañales" }, + "display": { + "label": "Pantalla" + }, "dock": { "label": "Tipu" }, @@ -956,6 +979,9 @@ "internet_access/fee": { "label": "Accesu a Internet de pagu" }, + "kerb": { + "label": "Bordiellu rebaxáu" + }, "lamp_type": { "label": "Tipu" }, @@ -1080,6 +1106,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 +1256,13 @@ "recycling_accepts": { "label": "Aceuta" }, + "recycling_type": { + "label": "Tipu de reciclax", + "options": { + "centre": "Centru de reciclax", + "container": "Contenedor" + } + }, "ref": { "label": "Referencia" }, @@ -1240,6 +1306,7 @@ "label": "Estacional" }, "second_hand": { + "label": "Vende usao", "options": { "no": "Non", "only": "Sólo", @@ -1250,21 +1317,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 +1413,9 @@ "supervised": { "label": "Supervisáu" }, + "support": { + "label": "Sofitu" + }, "surface": { "label": "Superficie" }, @@ -1386,9 +1443,6 @@ "tourism": { "label": "Tipu" }, - "towertype": { - "label": "Tipu de torre" - }, "tracktype": { "label": "Tipu de caleya", "options": { @@ -1400,6 +1454,9 @@ }, "placeholder": "Sólidu, mayormente sólidu, dondu..." }, + "traffic_calming": { + "label": "Tipu" + }, "traffic_signals": { "label": "Tipu" }, @@ -1424,6 +1481,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 +1520,9 @@ "name": "Direición", "terms": "Señes,Allugamientu" }, + "advertising/billboard": { + "name": "Tableru d'anuncios" + }, "aerialway": { "name": "Tendíu aéreu" }, @@ -1547,6 +1615,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 +1681,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 +1820,9 @@ "name": "Reciclaxe", "terms": "Llimpieza,Reutilización,Escombru" }, + "amenity/recycling_centre": { + "name": "Centru de reciclax" + }, "amenity/register_office": { "name": "Oficina de rexistru" }, @@ -1849,6 +1926,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 +2270,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 +2327,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 +2583,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 +2599,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 +2646,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 +2678,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 +2747,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 +2778,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 +2792,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 +3196,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 +3233,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 +3265,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 +3292,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 +3324,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 +3340,9 @@ "name": "Mariscos", "terms": "Pescadería" }, + "shop/second_hand": { + "name": "Reventa d'empeños" + }, "shop/shoes": { "name": "Zapatería" }, @@ -3214,6 +3412,9 @@ "shop/weapons": { "name": "Armería" }, + "shop/window_blind": { + "name": "Venta de persianes" + }, "shop/wine": { "name": "Bodega" }, @@ -3230,7 +3431,7 @@ "name": "Atracción turística" }, "tourism/camp_site": { - "name": "Llugar d'acampada" + "name": "Campamentu" }, "tourism/caravan_site": { "name": "Aparcaderu d'autocaravanes" @@ -3273,6 +3474,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 +3517,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 +3561,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 +3578,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 +3587,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..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": "презареждане" }, @@ -814,18 +813,6 @@ "service": { "label": "Вид" }, - "service/bicycle/chain_tool": { - "options": { - "no": "Не", - "yes": "Да" - } - }, - "service/bicycle/pump": { - "options": { - "no": "Не", - "yes": "Да" - } - }, "shelter": { "label": "Навес" }, @@ -863,9 +850,6 @@ "tourism": { "label": "Вид" }, - "towertype": { - "label": "Вид кула" - }, "trail_visibility": { "label": "Видимост на туристическата пътека" }, @@ -1625,9 +1609,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..c73b8026b 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", @@ -334,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", @@ -625,7 +625,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 +781,9 @@ "barrier": { "label": "Tipus" }, + "beauty": { + "label": "Tipus de botiga" + }, "bench": { "label": "Banc per a asseure's" }, @@ -1342,6 +1345,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 +1406,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 +1532,6 @@ "tourism": { "label": "Tipus" }, - "towertype": { - "label": "Tipus de torre" - }, "tracktype": { "label": "Tipus de pista", "options": { @@ -1549,6 +1543,9 @@ }, "placeholder": "Sòlid, majoritàriament sòlid, tou..." }, + "traffic_calming": { + "label": "Tipus" + }, "traffic_signals": { "label": "Tipus" }, @@ -1612,6 +1609,9 @@ "name": "Adreça", "terms": "Adreça, Direcció, Domicili" }, + "advertising/billboard": { + "name": "Taulell" + }, "aerialway": { "name": "Transport per cable" }, @@ -1912,6 +1912,9 @@ "amenity/recycling": { "name": "Reciclatge" }, + "amenity/recycling_centre": { + "name": "Centre de Reciclatge" + }, "amenity/register_office": { "name": "Oficina de registre" }, @@ -2011,6 +2014,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 +2216,9 @@ "building/warehouse": { "name": "Magatzem" }, + "camp_site/camp_pitch": { + "name": "Àrea de campament" + }, "craft": { "name": "Artesà" }, @@ -2416,12 +2425,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 +2744,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 +2833,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 +3211,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 +3224,9 @@ "railway/halt": { "name": "Parada de Ferrocarril" }, + "railway/level_crossing": { + "name": "Pas a nivell (carretera)" + }, "railway/monorail": { "name": "Monocarril", "terms": "Monoraíl" @@ -3262,6 +3298,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 +3406,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 +3543,9 @@ "shop/paint": { "name": "Botiga de pintura" }, + "shop/pastry": { + "name": "Pastisseria" + }, "shop/pawnbroker": { "name": "Botiga d'empenyoraments" }, @@ -3605,6 +3653,9 @@ "tourism/alpine_hut": { "name": "Refugi de muntanya" }, + "tourism/apartment": { + "name": "Habitatge de convidats" + }, "tourism/artwork": { "name": "Obra d'art" }, @@ -3612,7 +3663,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 +3711,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..8741c5448 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", @@ -334,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", @@ -781,6 +783,9 @@ "barrier": { "label": "Typ" }, + "beauty": { + "label": "Druh obchodu" + }, "bench": { "label": "Lavička" }, @@ -799,6 +804,9 @@ "whole": "krev" } }, + "board_type": { + "label": "Typ" + }, "boundary": { "label": "Typ" }, @@ -1020,6 +1028,9 @@ "handrail": { "label": "Zábradlí" }, + "height": { + "label": "Výška (metry)" + }, "highway": { "label": "Typ" }, @@ -1139,6 +1150,12 @@ "man_made": { "label": "Typ" }, + "map_size": { + "label": "Pokrytí" + }, + "map_type": { + "label": "Typ" + }, "maxspeed": { "label": "Povolená rychlost", "placeholder": "40, 50, 60..." @@ -1342,6 +1359,13 @@ "recycling_accepts": { "label": "Určení" }, + "recycling_type": { + "label": "Druh recyklace", + "options": { + "centre": "Recyklační centrum", + "container": "Kontejner" + } + }, "ref": { "label": "Označení" }, @@ -1396,21 +1420,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 +1546,11 @@ "tourism": { "label": "Typ" }, - "towertype": { - "label": "Typ věže" + "tower/construction": { + "label": "Konstrukce" + }, + "tower/type": { + "label": "Typ" }, "tracktype": { "label": "Klasifikace povrchu", @@ -1549,6 +1563,9 @@ }, "placeholder": "Pevný, převážně pevný, měkký povrch" }, + "traffic_calming": { + "label": "Typ" + }, "traffic_signals": { "label": "Typ" }, @@ -1612,6 +1629,10 @@ "name": "Adresa", "terms": "adresa,PSČ,ulice" }, + "advertising/billboard": { + "name": "Reklamní poutač", + "terms": "reklama,billboard,plakát" + }, "aerialway": { "name": "Lanovka/vlek" }, @@ -1861,6 +1882,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 +1977,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 +2098,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 +2325,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 +2586,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 +2602,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 +2777,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 +3489,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 +3504,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 +3590,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 +4026,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" @@ -3993,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 9e9ab92ad..933bd0000 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", @@ -334,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", @@ -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" }, @@ -811,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..." @@ -849,6 +873,10 @@ "construction": { "label": "Type" }, + "contact/webcam": { + "label": "Webcam URL", + "placeholder": "http://example.com/" + }, "content": { "label": "Indhold" }, @@ -970,6 +998,9 @@ "fee": { "label": "Gebyr" }, + "fence_type": { + "label": "Type" + }, "fire_hydrant/type": { "label": "Type", "options": { @@ -1020,6 +1051,9 @@ "handrail": { "label": "Gelænder" }, + "height": { + "label": "Højde (meter)" + }, "highway": { "label": "Type" }, @@ -1065,6 +1099,9 @@ "internet_access/fee": { "label": "Internet gebyr" }, + "internet_access/ssid": { + "label": "SSID (Netværksnavn)" + }, "kerb": { "label": "Ramme" }, @@ -1139,6 +1176,16 @@ "man_made": { "label": "Type" }, + "map_size": { + "label": "Dækning" + }, + "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..." @@ -1253,6 +1300,9 @@ "operator": { "label": "Operatør" }, + "outdoor_seating": { + "label": "Udendørssidepladser" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." @@ -1342,6 +1392,13 @@ "recycling_accepts": { "label": "Accepterer" }, + "recycling_type": { + "label": "Genbrugstype", + "options": { + "centre": "Genbrugsplads", + "container": "Container" + } + }, "ref": { "label": "Reference" }, @@ -1396,21 +1453,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", @@ -1511,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" }, @@ -1535,8 +1593,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 +1611,9 @@ }, "placeholder": "Fast, overvejende fast, blød …" }, + "traffic_calming": { + "label": "Type" + }, "traffic_signals": { "label": "Type" }, @@ -1581,6 +1646,9 @@ "street": "5 til 20m (16 til 65ft)" } }, + "wall": { + "label": "Type" + }, "water": { "label": "Type" }, @@ -1612,6 +1680,10 @@ "name": "Adresse", "terms": "adresse, adresser" }, + "advertising/billboard": { + "name": "Billboard", + "terms": "Billboard, Gadeopslagstavle" + }, "aerialway": { "name": "Skiliftbane" }, @@ -1801,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" @@ -1833,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" @@ -1861,6 +1941,10 @@ "name": "Ishus", "terms": "Ishus, isbutik" }, + "amenity/internet_cafe": { + "name": "Internetcafe", + "terms": "Internetcafe" + }, "amenity/kindergarten": { "name": "Børnehavegrund", "terms": "Børnehavegrund" @@ -1953,6 +2037,10 @@ "name": "Genbrug", "terms": "Genbrug" }, + "amenity/recycling_centre": { + "name": "Genbrugsplads", + "terms": "Genbrugsplads" + }, "amenity/register_office": { "name": "Tinglysningskontor" }, @@ -2071,6 +2159,10 @@ "name": "Skraldespand", "terms": "Skraldespand" }, + "amenity/waste_transfer_station": { + "name": "Affaldsstation", + "terms": "Affaldsstation, Omlasteplads" + }, "amenity/water_point": { "name": "Genbrugsvand", "terms": "Genbrugsvand" @@ -2295,6 +2387,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 +2649,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 +2665,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" @@ -2712,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" @@ -2728,6 +2844,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" @@ -2887,6 +3007,10 @@ "name": "Hyppig", "terms": "Hyppig, Almindelig" }, + "leisure/dance": { + "name": "Dansehal", + "terms": "Dansehal, Dansested" + }, "leisure/dog_park": { "name": "Hundepark", "terms": "Hundepark" @@ -2987,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" @@ -3102,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" @@ -3552,6 +3684,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 +4118,14 @@ "name": "Bjerghytte", "terms": "Bjerghytte" }, + "tourism/apartment": { + "name": "Gæstelejlighed/Ejerlejlighed", + "terms": "Gæstelejlighed/Ejerlejlighed" + }, + "tourism/aquarium": { + "name": "Akvarium", + "terms": "Akvarium" + }, "tourism/artwork": { "name": "Kunstværk", "terms": "Kunstværk" @@ -3987,8 +4135,8 @@ "terms": "Turistattraktion, Seværdighed" }, "tourism/camp_site": { - "name": "Campingplads", - "terms": "Campingplads" + "name": "Campinggrund", + "terms": "Campinggrund" }, "tourism/caravan_site": { "name": "Autocamperplads", @@ -4018,6 +4166,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 +4206,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..e96ba8400 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", @@ -335,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", @@ -803,6 +805,9 @@ "whole": "Vollblut" } }, + "board_type": { + "label": "Typ" + }, "boundary": { "label": "Typ" }, @@ -815,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..." @@ -853,6 +873,10 @@ "construction": { "label": "Typ" }, + "contact/webcam": { + "label": "Webcam URL", + "placeholder": "http://example.com/" + }, "content": { "label": "Inhalte" }, @@ -943,7 +967,7 @@ "label": "Typ" }, "drive_through": { - "label": "Durchfahrtslokal" + "label": "Durchfahrts-Service" }, "electrified": { "label": "Elektrifizierung", @@ -974,6 +998,9 @@ "fee": { "label": "Gebühr" }, + "fence_type": { + "label": "Typ" + }, "fire_hydrant/type": { "label": "Typ", "options": { @@ -1024,6 +1051,9 @@ "handrail": { "label": "Geländer" }, + "height": { + "label": "Höhe (Meter)" + }, "highway": { "label": "Typ" }, @@ -1069,6 +1099,9 @@ "internet_access/fee": { "label": "Internetzugangsgebühr" }, + "internet_access/ssid": { + "label": "SSID (Netzwerk Name)" + }, "kerb": { "label": "Bordsteinabsenkung" }, @@ -1143,6 +1176,16 @@ "man_made": { "label": "Typ" }, + "map_size": { + "label": "Abdeckung" + }, + "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 …" @@ -1257,6 +1300,9 @@ "operator": { "label": "Betreiber" }, + "outdoor_seating": { + "label": "Außengastronomie" + }, "par": { "label": "Par", "placeholder": "3, 4, 5, 6" @@ -1346,6 +1392,13 @@ "recycling_accepts": { "label": "akzeptiert" }, + "recycling_type": { + "label": "Recycling Typ", + "options": { + "centre": "Wertstoffhof", + "container": "Container" + } + }, "ref": { "label": "Referenz" }, @@ -1400,21 +1453,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", @@ -1422,7 +1462,7 @@ "crossover": "Überleitgleis", "siding": "Überhol-/Ausweichgleis", "spur": "Anschluss-/Ladegleis", - "yard": "Rangier-/Abstellgleis" + "yard": "Nebengleich (Rangier-/Abstellgleis)" } }, "shelter": { @@ -1515,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" }, @@ -1539,8 +1593,12 @@ "tourism": { "label": "Typ" }, - "towertype": { - "label": "Turmart" + "tower/construction": { + "label": "Baustelle", + "placeholder": "Abgespannt, ummantelte oder Gittertrüme." + }, + "tower/type": { + "label": "Typ" }, "tracktype": { "label": "Wegzustand des Feld-/Waldweges", @@ -1553,6 +1611,9 @@ }, "placeholder": "Fest, Großenteils fest, Weich …" }, + "traffic_calming": { + "label": "Typ" + }, "traffic_signals": { "label": "Typ" }, @@ -1585,6 +1646,9 @@ "street": "5 bis 20 Meter (16 bis 65 Fuß)" } }, + "wall": { + "label": "Typ" + }, "water": { "label": "Typ" }, @@ -1616,6 +1680,10 @@ "name": "Adresse", "terms": "Adresse" }, + "advertising/billboard": { + "name": "Plakatwand", + "terms": "Werbetafel,Anschlagtafel,Reklametafel,Anschlagbrett" + }, "aerialway": { "name": "Seilbahn" }, @@ -1805,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" @@ -1837,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" @@ -1865,6 +1941,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 +2037,10 @@ "name": "Recycling", "terms": "Recyclingcontainer, Abfallwiederverwertung, Container, Abfall, Müll" }, + "amenity/recycling_centre": { + "name": "Wertstoffhof", + "terms": "Recycling Zentrum, Abfallwirtschaftszentrum, Abfallsammelstelle, Abfallwirtschaftshof" + }, "amenity/register_office": { "name": "Standesamt" }, @@ -2075,6 +2159,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 +2387,10 @@ "name": "Lagerhalle", "terms": "Lagerhaus, Lagergebäude" }, + "camp_site/camp_pitch": { + "name": "Camping Stellplatz", + "terms": "Campingplatz, Zeltplatz, Stellplatz" + }, "craft": { "name": "Handwerker", "terms": "Kunsthandwerk" @@ -2344,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", @@ -2732,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" @@ -2748,6 +2844,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" @@ -2907,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" @@ -3007,6 +3111,10 @@ "name": "Spielplatz", "terms": "Spielplatz, Kinderspielplatz" }, + "leisure/resort": { + "name": "Resort", + "terms": "Resort, touristische Hotelanlage" + }, "leisure/running_track": { "name": "Laufbahn", "terms": "Laufbahn, Tartanbahn" @@ -3122,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" @@ -4004,7 +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", + "terms": "Ferienwohnung, Gästewohnung, Gästeapartment" + }, + "tourism/aquarium": { + "name": "Aquarium", + "terms": "Aquarium, Aquarienhaus" }, "tourism/artwork": { "name": "Kunst", @@ -4015,8 +4135,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", @@ -4024,7 +4144,7 @@ }, "tourism/chalet": { "name": "Ferienhaus", - "terms": "Landhaus, Ferienhaus, Sennhütte, Chalet" + "terms": "Ferienhaus, Chalet" }, "tourism/gallery": { "name": "Kunstgallerie", @@ -4046,6 +4166,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 +4206,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..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", @@ -1315,22 +1314,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 +1538,7 @@ "name": "Shoe Shop" }, "tourism/camp_site": { - "terms": "camping" + "name": "Camp Site" }, "tourism/caravan_site": { "name": "Caravan Park" diff --git a/dist/locales/en.json b/dist/locales/en.json index b01ffdc6e..a0c77be0b 100644 --- a/dist/locales/en.json +++ b/dist/locales/en.json @@ -235,6 +235,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", @@ -246,7 +247,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", @@ -343,7 +345,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", @@ -790,6 +792,20 @@ "barrier": { "label": "Type" }, + "bath/open_air": { + "label": "Open Air" + }, + "bath/sand_bath": { + "label": "Sand Bath" + }, + "bath/type": { + "label": "Specialty", + "options": { + "onsen": "Japanese Onsen", + "foot_bath": "Foot Bath", + "hot_spring": "Hot Spring" + } + }, "beauty": { "label": "Shop Type" }, @@ -811,6 +827,9 @@ "stemcells": "stem cell samples" } }, + "board_type": { + "label": "Type" + }, "boundary": { "label": "Type" }, @@ -823,6 +842,21 @@ "building": { "label": "Building" }, + "camera/direction": { + "label": "Direction (Degrees Clockwise)", + "placeholder": "45, 90, 180, 270" + }, + "camera/mount": { + "label": "Camera Mount" + }, + "camera/type": { + "label": "Camera Type", + "options": { + "fixed": "Fixed", + "panning": "Panning", + "dome": "Dome" + } + }, "capacity": { "label": "Capacity", "placeholder": "50, 100, 200..." @@ -861,6 +895,10 @@ "construction": { "label": "Type" }, + "contact/webcam": { + "label": "Webcam URL", + "placeholder": "http://example.com/" + }, "content": { "label": "Contents" }, @@ -982,6 +1020,9 @@ "fee": { "label": "Fee" }, + "fence_type": { + "label": "Type" + }, "fire_hydrant/type": { "label": "Type", "options": { @@ -1032,6 +1073,9 @@ "handrail": { "label": "Handrail" }, + "height": { + "label": "Height (Meters)" + }, "highway": { "label": "Type" }, @@ -1077,6 +1121,9 @@ "internet_access/fee": { "label": "Internet Access Fee" }, + "internet_access/ssid": { + "label": "SSID (Network Name)" + }, "kerb": { "label": "Curb Ramp" }, @@ -1151,6 +1198,16 @@ "man_made": { "label": "Type" }, + "map_size": { + "label": "Coverage" + }, + "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..." @@ -1265,6 +1322,9 @@ "operator": { "label": "Operator" }, + "outdoor_seating": { + "label": "Outdoor Seating" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." @@ -1517,6 +1577,20 @@ "surface": { "label": "Surface" }, + "surveillance": { + "label": "Surveillance Kind" + }, + "surveillance/type": { + "label": "Surveillance Type", + "options": { + "camera": "Camera", + "guard": "Guard", + "ALPR": "Automatic License Plate Reader" + } + }, + "surveillance/zone": { + "label": "Surveillance Zone" + }, "tactile_paving": { "label": "Tactile Paving" }, @@ -1541,8 +1615,12 @@ "tourism": { "label": "Type" }, - "towertype": { - "label": "Tower type" + "tower/construction": { + "label": "Construction", + "placeholder": "Guyed, Lattice, Concealed, ..." + }, + "tower/type": { + "label": "Type" }, "tracktype": { "label": "Track Type", @@ -1590,6 +1668,9 @@ "area": "Over 20m (65ft)" } }, + "wall": { + "label": "Type" + }, "water_point": { "label": "Water Point" }, @@ -1849,6 +1930,10 @@ "name": "Coworking Space", "terms": "coworking,office" }, + "amenity/crematorium": { + "name": "Crematorium", + "terms": "cemetery,funeral" + }, "amenity/dentist": { "name": "Dentist", "terms": "tooth,teeth" @@ -1881,6 +1966,10 @@ "name": "Fire Station", "terms": "" }, + "amenity/food_court": { + "name": "Food Court", + "terms": "fast food,restaurant,food" + }, "amenity/fountain": { "name": "Fountain", "terms": "" @@ -1903,12 +1992,16 @@ }, "amenity/hunting_stand": { "name": "Hunting Stand", - "terms": "" + "terms": "game,lookout,shoot,wild,watch" }, "amenity/ice_cream": { "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" @@ -1987,7 +2080,11 @@ }, "amenity/pub": { "name": "Pub", - "terms": "dive,beer,bier,booze" + "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", @@ -2793,6 +2890,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" @@ -2809,6 +2910,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": "" @@ -2969,6 +3074,10 @@ "name": "Common", "terms": "open space" }, + "leisure/dance": { + "name": "Dance Hall", + "terms": "ballroom,jive,swing,tango,waltz" + }, "leisure/dog_park": { "name": "Dog Park", "terms": "" @@ -3069,6 +3178,10 @@ "name": "Playground", "terms": "jungle gym,play area" }, + "leisure/resort": { + "name": "Resort", + "terms": "" + }, "leisure/running_track": { "name": "Running Track", "terms": "" @@ -3181,9 +3294,13 @@ "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": "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", @@ -4061,6 +4178,14 @@ "name": "Alpine Hut", "terms": "" }, + "tourism/apartment": { + "name": "Guest Apartment / Condo", + "terms": "" + }, + "tourism/aquarium": { + "name": "Aquarium", + "terms": "fish,sea,water" + }, "tourism/artwork": { "name": "Artwork", "terms": "mural,sculpture,statue" @@ -4101,6 +4226,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": "" @@ -4123,7 +4264,7 @@ }, "tourism/zoo": { "name": "Zoo", - "terms": "" + "terms": "animal" }, "traffic_calming": { "name": "Traffic Calming", @@ -4321,6 +4462,10 @@ "name": "Marine Drinking Water", "terms": "" }, + "waterway/waterfall": { + "name": "Waterfall", + "terms": "fall" + }, "waterway/weir": { "name": "Weir", "terms": "" diff --git a/dist/locales/es.json b/dist/locales/es.json index 2a99e013b..e41b5372d 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", @@ -334,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", @@ -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" }, @@ -970,6 +979,9 @@ "fee": { "label": "Tarifado" }, + "fence_type": { + "label": "Tipo" + }, "fire_hydrant/type": { "label": "Tipo", "options": { @@ -1020,6 +1032,9 @@ "handrail": { "label": "Pasamanos" }, + "height": { + "label": "Altura (metros)" + }, "highway": { "label": "Tipo" }, @@ -1065,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" }, @@ -1139,6 +1157,16 @@ "man_made": { "label": "Tipo" }, + "map_size": { + "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..." @@ -1253,6 +1281,9 @@ "operator": { "label": "Operador" }, + "outdoor_seating": { + "label": "Asientos al aire libre" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." @@ -1342,6 +1373,13 @@ "recycling_accepts": { "label": "Acepta" }, + "recycling_type": { + "label": "Tipo de reciclaje", + "options": { + "centre": "Centro de reciclaje", + "container": "Contenedor" + } + }, "ref": { "label": "Referencia" }, @@ -1396,21 +1434,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 +1560,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 +1578,9 @@ }, "placeholder": "Sólido, Mayormente sólido, Suave..." }, + "traffic_calming": { + "label": "Tipo" + }, "traffic_signals": { "label": "Tipo" }, @@ -1581,6 +1613,9 @@ "street": "5 a 20 m (16 a 65 ft)" } }, + "wall": { + "label": "Tipo" + }, "water": { "label": "Tipo" }, @@ -1612,6 +1647,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 +1900,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 +1996,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 +2118,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 +2346,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" @@ -2728,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" @@ -2744,6 +2803,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" @@ -2903,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" @@ -3003,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" @@ -3568,6 +3639,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 +4073,14 @@ "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/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" @@ -4003,8 +4090,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 +4121,22 @@ "name": "Información turística", "terms": "información, información turística, oficina de información" }, + "tourism/information/board": { + "name": "Tablero de información", + "terms": "tabla, tablón, cuadro, cartel, información, informativo, información turística" + }, + "tourism/information/guidepost": { + "name": "Poste guía", + "terms": "poste indicador, cartel, información, dirección, indicación" + }, + "tourism/information/map": { + "name": "Mapa", + "terms": "plano, croquis, cartel, información, indicación" + }, + "tourism/information/office": { + "name": "Oficina de información turística", + "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", "terms": "motel, alojamiento" @@ -4058,14 +4161,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..82e861053 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\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", - "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": "# روابط\n\nرابطه نوع خاصی از ویژگی در نقشه شهری باز است که ویژگی های دیگر را با هم به شکل گروه در می آورد. به عنوان مثال، دو نوع رایج از روابط \"روابط مسیر\"که بخش های مختلف جاده، متعلق به یک آزادراه یا بزرگراه را به هم مرتبط می سازند و همچنین \"چند ضلعی های متعدد\" که گروهی از چند خط تعریف کننده یک منطقه پیچیده هستند (چند تکه یا سوراخ دار مانند شیرینی دونات).\nاین گروه از ویژگی های درون یک رابطه \"اعضا\" نامیده می شوند. در نوار کناری، می توانید ببینید یک ویژگی عضو کدام روابط است و با کلیک بر روی یک رابطه، آن را انتخاب نمایید. هنگامی که رابطه انتخاب شد، می توانید تمام اعضای آن را ببینید، فهرستی در نوار کناری و نقاط برجسته بر روی نقشه.\nدر اکثر موارد، هنگام ویرایش،iD روابط را به صورت خودکار حفظ می کند. نکته اصلی که باید به یاد داشته باشید این است که اگر بخشی از جاده را حذف نمودید تا دوباره ترسیم دقیق تری انجام دهید، باید مطمئن شوید که بخش جدید عضوی از همان روابط اصلی باشد.\n##ویرایش روابط\n\nاگر می خواهید روابط را ویرایش کنید، اصول اولیه از این قرارند.\nبرای افزودن یک ویژگی به یک رابطه، آن ویژگی را انتخاب کنید، دربخش \"تمام روابط\" پایین نوار کناری، روی \"+\" کلیک کنید و رابطه را انتخاب کنید یا نامش را وارد نمایید.\nبرای ایجاد یک رابطه جدید، اولین ویژگی که می بایست عضو باشد را انتخاب کنید، در بخش \"تمام روابط\" پایین نوار کناری، روی \"+\" کلیک کنید و گزینه \"رابطه جدید ...\" را انتخاب نمایید.\nبرای حذف یک ویژگی از یک رابطه، ویژگی را انتخاب کنید و روی دکمه سطل زباله کنار رابطه ای که می خواهید حذفش کنید، کلیک کنید.\nبرای ایجاد \"چندوجهی های متعدد و یا سوراخ دار\"، می توانید از ابزار \"ادغام\" استفاده کنید. دو منطقه (درونی و بیرونی) را رسم کنید، با نگه داشتن کلید Shift و کلیک بر روی هر یک از آنها، انتخابشان کنید و سپس با روی \"ادغام\" (+) کلیک کنید.\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,14 +1069,17 @@ "options": { "no": "خیر", "terminal": "پايانه", - "wired": "سيمي", - "wlan": "واي فاي", + "wired": "با سیم", + "wlan": "وای فای", "yes": "بلی" } }, "internet_access/fee": { "label": "هزینهٔ دسترسی به اینترنت" }, + "internet_access/ssid": { + "label": "SSID (نام شبکه)" + }, "kerb": { "label": "سطح شیبدار جدول" }, @@ -985,6 +1154,12 @@ "man_made": { "label": "نوع" }, + "map_size": { + "label": "پوشش" + }, + "map_type": { + "label": "نوع" + }, "maxspeed": { "label": "محدودیت سرعت", "placeholder": "40, 50, 60..." @@ -1001,11 +1176,12 @@ "3": "۳: سطوح سُر، اجسام بزرگ، پیچ‌های تند دشوار", "4": "سطوح یا تخته‌سنگ‌های سست، پیچ‌های تند خطرناک", "5": "۵: بیشترین دشواری، زمین‌های تخته‌سنگی، کوه‌ریزش‌ها", - "6": "۶: غیرقابل اطمینان جز بوسیلهٔ بهترین دوچرخه‌سواران کوهستان" + "6": "۶: غیرقابل رکاب‌زدن جز بوسیلهٔ بهترین دوچرخه‌سواران کوهستان" }, "placeholder": "0, 1, 2, 3..." }, "mtb/scale/imba": { + "label": "درجه سختی مسیر طبق معیار انجمن بین المللی دوچرخه سواری کوهستان", "options": { "0": "آسان‌ترین (دایره سفید)", "1": "آسان (دایره سبز)", @@ -1028,7 +1204,7 @@ "placeholder": "0, 1, 2, 3..." }, "name": { - "label": "اسم", + "label": "نام", "placeholder": "نام مشترک (در صورت وجود)" }, "natural": { @@ -1098,10 +1274,20 @@ "operator": { "label": "اپراتور" }, + "outdoor_seating": { + "label": "صندلی در فضای باز" + }, "par": { "label": "برابری", "placeholder": "3, 4, 5..." }, + "parallel_direction": { + "label": "جهت", + "options": { + "backward": "به عقب", + "forward": "به جلو" + } + }, "park_ride": { "label": "پارک و سوار شدن" }, @@ -1117,6 +1303,9 @@ "underground": "زیر زمین" } }, + "payment_multi": { + "label": "روش‌های پرداخت" + }, "phone": { "label": "تلفن", "placeholder": "+31 42 123 4567" @@ -1137,6 +1326,7 @@ "piste/grooming": { "label": "تیمار کردن", "options": { + "backcountry": "مکان کمپ بدون امکانات", "classic": "کلاسیک", "classic+skating": "کلاسیک و اسکیت", "mogul": "مغول", @@ -1152,6 +1342,7 @@ "ice_skate": "اسکی روی یخ", "nordic": "شمال اروپا", "playground": "زمین بازی", + "skitour": "مناسب برای Skitour", "sled": "با سورتمه حمل کردن", "sleigh": "سورتمه", "snow_park": "پارک برفی" @@ -1172,6 +1363,16 @@ "railway": { "label": "نوع" }, + "recycling_accepts": { + "label": "قبول" + }, + "recycling_type": { + "label": "نوع بازیافت", + "options": { + "centre": "مرکز بازیافت", + "container": "ظرف بازیافت" + } + }, "ref": { "label": "مراجعتی" }, @@ -1187,6 +1388,9 @@ "restrictions": { "label": "محدودیت‌های گردش" }, + "rooms": { + "label": "اتاق‌ها" + }, "route": { "label": "نوع" }, @@ -1197,6 +1401,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 +1415,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 +1448,14 @@ "shop": { "label": "نوع" }, + "site": { + "label": "نوع" + }, "smoking": { "label": "کشیدن مواد افیونی", "options": { "dedicated": "اختصاص داده شده به استعمال کنندگان مواد افیونی (عنوان مثال باشگاه افراد سیگاری)", + "isolated": "در مناطق سیگار کشیدن، از لحاظ فیزیکی جدا شده", "no": "در همه جا سیگارکشیدن ممنوع", "outside": "مجاز فقط در خارج از محدوده", "separated": "در مناطق مصرف سیگار، از نظر فیزیکی جدا نشده", @@ -1260,14 +1467,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 +1493,16 @@ "sport_racing": { "label": "ورزشي" }, + "stars": { + "label": "ستاره ها" + }, + "stop": { + "label": "نوع فروشگاه", + "options": { + "all": "همه‌ی راه‌ها", + "minor": "جاده‌ی جزئی" + } + }, "structure": { "label": "ساختاری", "options": { @@ -1293,12 +1514,18 @@ }, "placeholder": "ناشناخته" }, + "studio": { + "label": "نوع" + }, "substation": { "label": "نوع" }, "supervised": { "label": "نظارت" }, + "support": { + "label": "پشتیبانی" + }, "surface": { "label": "سطح" }, @@ -1306,26 +1533,35 @@ "label": "سنگفرش لمسی -برای نابینایان" }, "takeaway": { + "label": "بیرون بر", "options": { "no": "خیر", + "only": "فقط بیرون بر", "yes": "بلی" - } + }, + "placeholder": "بله، خیر، فقط بیرون بر..." }, "toilets/disposal": { "label": "در اختیار", "options": { "bucket": "سطل", "chemical": "شیمیایی", - "flush": "فلش" + "flush": "فلش", + "pitlatrine": "گودال مستراح" } }, "tourism": { "label": "نوع" }, - "towertype": { - "label": "نوع برج" + "tower/construction": { + "label": "ساخت و ساز", + "placeholder": "دکل مهاری، مشبک، مخفی..." + }, + "tower/type": { + "label": "نوع" }, "tracktype": { + "label": "نوع مسیر:", "options": { "grade1": "سخت: سنگفرش و یا سطح سخت به شدت فشرده", "grade2": "عمدتا سخت: ماسه / سنگ مخلوط شده با بعضی از مواد نرم", @@ -1335,6 +1571,9 @@ }, "placeholder": "سخت، عمدتا سخت، نرم ..." }, + "traffic_calming": { + "label": "نوع" + }, "traffic_signals": { "label": "نوع" }, @@ -1359,9 +1598,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 +1635,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 +1750,14 @@ "name": "اجاره دوچرخه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اجاره دوچرخه'، با کاما جدا می‌شوند>" }, + "amenity/bicycle_repair_station": { + "name": "ایستگاه تعمیر دوچرخه", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه تعمیر دوچرخه'، با کاما جدا می‌شوند>" + }, + "amenity/biergarten": { + "name": "باغ آبجو", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'باغ آبجو'، با کاما جدا می‌شوند>" + }, "amenity/boat_rental": { "name": "کرایه قایق", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کرایه قایق'، با کاما جدا می‌شوند>" @@ -1524,6 +1786,10 @@ "name": "کارواش", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کارواش'، با کاما جدا می‌شوند>" }, + "amenity/casino": { + "name": "کازینو", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کازینو'، با کاما جدا می‌شوند>" + }, "amenity/charging_station": { "name": "ایستگاه شارژ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه شارژ'، با کاما جدا می‌شوند>" @@ -1549,7 +1815,8 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'محیط کالج'، با کاما جدا می‌شوند>" }, "amenity/community_centre": { - "name": "مرکز اجتماع" + "name": "مرکز اجتماع", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرکز اجتماع'، با کاما جدا می‌شوند>" }, "amenity/compressed_air": { "name": "هوای فشرده", @@ -1559,6 +1826,10 @@ "name": "دادگاه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دادگاه'، با کاما جدا می‌شوند>" }, + "amenity/coworking_space": { + "name": "فضای همکاری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای'فضای همکاری'، با کاما جدا می‌شوند>" + }, "amenity/dentist": { "name": "دندانپزشک", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دندانپزشک'، با کاما جدا می‌شوند>" @@ -1583,6 +1854,10 @@ "name": "غذای آماده", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'غذای آماده'، با کاما جدا می‌شوند>" }, + "amenity/ferry_terminal": { + "name": "پایانه کشتی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پایانه کشتی'، با کاما جدا می‌شوند>" + }, "amenity/fire_station": { "name": "ایستگاه آتش نشانی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه آتش نشانی'، با کاما جدا می‌شوند>" @@ -1607,6 +1882,18 @@ "name": "محیط بیمارستان", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'محیط بیمارستان'، با کاما جدا می‌شوند>" }, + "amenity/hunting_stand": { + "name": "ایستگاه شکار", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه شکار'، با کاما جدا می‌شوند>" + }, + "amenity/ice_cream": { + "name": "بستنی فروشی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بستنی فروشی'، با کاما جدا می‌شوند>" + }, + "amenity/internet_cafe": { + "name": "کافی‌نت", + "terms": "کافه‌ی اینترنت" + }, "amenity/kindergarten": { "name": "پیش دبستانی / محیط کودکستان", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیش دبستانی / محیط کودکستان'، با کاما جدا می‌شوند>" @@ -1663,6 +1950,10 @@ "name": "مسجد", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسجد'، با کاما جدا می‌شوند>" }, + "amenity/planetarium": { + "name": "آسمان نما", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آسمان نما'، با کاما جدا میشوند>" + }, "amenity/police": { "name": "پليس", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پلیس'، با کاما جدا می‌شوند>" @@ -1675,6 +1966,10 @@ "name": "اداره پست", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اداره پست'، با کاما جدا می‌شوند>" }, + "amenity/prison": { + "name": "محوطه زندان", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'محوطه زندان'، با کاما جدا می‌شوند>" + }, "amenity/pub": { "name": "میخانه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'میخانه'، با کاما جدا می‌شوند>" @@ -1684,12 +1979,17 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'قفسه کتاب عمومی'، با کاما جدا می‌شوند>" }, "amenity/ranger_station": { - "name": "ایستگاه جنگل بانی" + "name": "ایستگاه جنگلبانی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه جنگلبانی'، با کاما جدا می‌شوند>" }, "amenity/recycling": { "name": "بازیافت مواد", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بازیافت'، با کاما جدا می‌شوند>" }, + "amenity/recycling_centre": { + "name": "مرکز بازیافت", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرکز بازیافت'، با کاما جدا می‌شوند>" + }, "amenity/register_office": { "name": "اداره ثبت" }, @@ -1756,6 +2056,14 @@ "name": "محیط دانشگاهی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'محیط دانشگاه'، با کاما جدا می‌شوند>" }, + "amenity/vending_machine/cigarettes": { + "name": "دستگاه فروش سیگار", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه فروش سیگار'، با کاما جدا می‌شوند>" + }, + "amenity/vending_machine/condoms": { + "name": "دستگاه فروش کاندوم", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه فروش کاندوم'، با کاما جدا می‌شوند>" + }, "amenity/vending_machine/drinks": { "name": "دستگاه خودفروش آب آشامیدنی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه خودفروش آب آشامیدنی'، با کاما جدا می‌شوند>" @@ -1768,6 +2076,10 @@ "name": "دستگاه خود فروش روزنامه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه خود فروش روزنامه'، با کاما جدا می‌شوند>" }, + "amenity/vending_machine/parcel_pickup_dropoff": { + "name": "سرویس دریافت مرسولات پستی، دستگاه دریافت مرسولات پستی", + "terms": "سرویس دریافت امانات پستی، دستگاه دریافت کننده مرسولات پستی " + }, "amenity/vending_machine/parking_tickets": { "name": "دستگاه فروش خودکار کارت پارکینگ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دستگاه فروش خودکار کارت پارکینگ'، با کاما جدا می‌شوند>" @@ -1792,6 +2104,14 @@ "name": "سطل زباله", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سطل زباله'، با کاما جدا می‌شوند>" }, + "amenity/waste_disposal": { + "name": "زباله‌دان", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'زباله‌دان'، با کاما جدا می‌شوند>" + }, + "amenity/waste_transfer_station": { + "name": "ایستگاه انتقال زباله", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه انتقال زباله'، با کاما جدا می‌شوند>" + }, "amenity/water_point": { "name": "آب قابل شرب RV", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای'آب قابل شرب RV'، با کاما جدا می‌شوند>" @@ -1828,6 +2148,10 @@ "name": "مانع مستطیلی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مانع مستطیلی'، با کاما جدا می‌شوند>" }, + "barrier/ditch": { + "name": "خندق", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خندق'، با کاما جدا می‌شوند>" + }, "barrier/entrance": { "name": "ورودی" }, @@ -1876,12 +2200,12 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان'، با کاما جدا می‌شوند>" }, "building/apartments": { - "name": "آپارتمان ها", + "name": "آپارتمان", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آپارتمان'، با کاما جدا می‌شوند>" }, "building/barn": { "name": "انبار غله", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'انبار غله'، با کاما جدا می‌شوند>" + "terms": "انبار کاه" }, "building/bunker": { "name": "انباربزرگ" @@ -1903,16 +2227,16 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان کلیسا'، با کاما جدا می‌شوند>" }, "building/college": { - "name": "ساختمان کالج", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان کالج'، با کاما جدا می‌شوند>" + "name": "ساختمان دانشکده", + "terms": "ساختمان کالج" }, "building/commercial": { - "name": "ساختمان ارتباطی", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان ارتباطی'، با کاما جدا می‌شوند>" + "name": "ساختمان تجاری", + "terms": "تجاری, بازرگانی,مجتمع تجاری" }, "building/construction": { "name": "ساختمان در دست ساخت", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان در دست ساخت'، با کاما جدا می‌شوند>" + "terms": "سازه, در حال ساخت, ساخت و ساز" }, "building/detached": { "name": "خانه ویلایی", @@ -1920,7 +2244,7 @@ }, "building/dormitory": { "name": "خوابگاه", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خوابگاه'، با کاما جدا می‌شوند>" + "terms": "خواب گاه," }, "building/entrance": { "name": "ورود/خروج" @@ -2012,6 +2336,10 @@ "name": "انبار", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'انبار'، با کاما جدا می‌شوند>" }, + "camp_site/camp_pitch": { + "name": "مکان برقراری چادر", + "terms": "مکان برقراری چادر، مکان قرار دادن خودرو کاروان" + }, "craft": { "name": "پیشه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیشه'، با کاما جدا می‌شوند>" @@ -2192,6 +2520,10 @@ "name": "ساخت و ساز پنجره", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پنجره‌ساز'، با کاما جدا می‌شوند>" }, + "craft/winery": { + "name": "شراب خانه", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'شراب خانه'، با کاما جدا می‌شوند>" + }, "embankment": { "name": "خاک ریز", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'Embankment'، با کاما جدا می‌شوند>" @@ -2200,14 +2532,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 +2579,8 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیاده‌رو'، با کاما جدا می‌شوند>" }, "ford": { - "name": "معبر" + "name": "معبر", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'معبر'، با کاما جدا می‌شوند>" }, "golf/bunker": { "name": "تله شن و ماسه", @@ -2243,6 +2598,14 @@ "name": "سوراخ گلف", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سوراخ گلف'، با کاما جدا می‌شوند>" }, + "golf/lateral_water_hazard_area": { + "name": "خطر آب های کناری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خطر آب های کناری'، با کاما جدا می‌شوند>" + }, + "golf/lateral_water_hazard_line": { + "name": "خطر آب های کناری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای خطر آب های کناری'، با کاما جدا می‌شوند>" + }, "golf/rough": { "name": "منطقه زمخت", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'زمین خشن گلف'، با کاما جدا می‌شوند>" @@ -2251,6 +2614,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 +2657,10 @@ "name": "مسیر پیاده روی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر پیاده'، با کاما جدا می‌شوند>" }, + "highway/give_way": { + "name": "تابلو حق تقدم با خودرو روبرو", + "terms": "علامت توقف" + }, "highway/living_street": { "name": "خیابان محدوده زندگی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خیابان محل زندگی'، با کاما جدا می‌شوند>" @@ -2390,6 +2769,14 @@ "name": "اتصال سومی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیوند سوم'، با کاما جدا می‌شوند>" }, + "highway/track": { + "name": "جاده خاکی رها شده", + "terms": "راه خاکی، راه جنگلی، راه روستایی، مسیر تراکتور" + }, + "highway/traffic_mirror": { + "name": "آینه ترافیکی", + "terms": "آینه‌ی رفت‌آمد" + }, "highway/traffic_signals": { "name": "چراغ راهنمایی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'چراغ راهنمایی'، با کاما جدا می‌شوند>" @@ -2406,6 +2793,14 @@ "name": "بنبست قابل دور زدن", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بنبست قابل دور زدن'، با کاما جدا می‌شوند>" }, + "highway/turning_loop": { + "name": "Turning Loop (Island)", + "terms": "حلقه برگردان (ایسلند)" + }, + "highway/unclassified": { + "name": "جاده طبقه‌بندی نشده/جزئی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'جاده طبقه‌بندی نشده/جزئی'، با کاما جدا می‌شوند>" + }, "historic": { "name": "مکان تاریخی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مکان تاریخی'، با کاما جدا می‌شوند>" @@ -2435,10 +2830,12 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ویرانه'، با کاما جدا می‌شوند>" }, "historic/wayside_cross": { - "name": "صلیب کنار جاده" + "name": "صلیب کنار جاده", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'صلیب کنار جاده'، با کاما جدا می‌شوند>" }, "historic/wayside_shrine": { - "name": "آرامگاه کنار جاده" + "name": "آرامگاه کنار جاده", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آرامگاه کنار جاده'، با کاما جدا می‌شوند>" }, "junction": { "name": "اتصال", @@ -2523,6 +2920,10 @@ "name": "معدن سنگ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'معدن'، با کاما جدا می‌شوند>" }, + "landuse/recreation_ground": { + "name": "محوطه تفریحی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'محوطه تفریحی'، با کاما جدا می‌شوند>" + }, "landuse/residential": { "name": "منطقه مسکونی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'منطقه مسکونی'، با کاما جدا می‌شوند>" @@ -2543,12 +2944,21 @@ "name": "مرکز بازی بزرگسالان", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرکز بازی بزرگسالان'، با کاما جدا می‌شوند>" }, + "leisure/bird_hide": { + "name": "مکان تماشای پرندگان", + "terms": "مخفیگاه تماشای پرندگان" + }, "leisure/bowling_alley": { "name": "سالن بولینگ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سالن بولینگ'، با کاما جدا می‌شوند>" }, "leisure/common": { - "name": "عمومی" + "name": "عمومی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'عمومی'، با کاما جدا میشوند>" + }, + "leisure/dance": { + "name": "سالن رقص", + "terms": "تالار رقص" }, "leisure/dog_park": { "name": "پارک سگ", @@ -2558,6 +2968,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 +2996,10 @@ "name": "تفرجگاه ساحلی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بندرگاه قایق'، با کاما جدا می‌شوند>" }, + "leisure/miniature_golf": { + "name": "گلف مینیاتوری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'گلف مینیاتوری'، با کاما جدا میشوند>" + }, "leisure/nature_reserve": { "name": "ذخیره‌گاه طبیعی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ذخیره‌گاه طبیعی'، با کاما جدا می‌شوند>" @@ -2602,6 +3028,10 @@ "name": "محوطه بسکتبال", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'زمین بسکتبال'، با کاما جدا می‌شوند>" }, + "leisure/pitch/bowls": { + "name": "چمن مخصوص بولینگ", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'چمن مخصوص بولینگ'، با کاما جدا می‌شوند>" + }, "leisure/pitch/rugby_league": { "name": "زمین راگبی ۱۳ نفره", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'زمین راگبی ۱۳ نفره'، با کاما جدا می‌شوند>" @@ -2630,6 +3060,10 @@ "name": "زمین بازی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'زمین بازی'، با کاما جدا می‌شوند>" }, + "leisure/resort": { + "name": "پر رفت‌آمد", + "terms": "مکان پررفت‌آمد, اماکن پر رفت آمد,مکان‌های مطرح" + }, "leisure/running_track": { "name": "پیست دو و میدانی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیست دو و میدانی'، با کاما جدا می‌شوند>" @@ -2638,6 +3072,14 @@ "name": "قایق ساکن", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر لغزشی کشتی'، با کاما جدا می‌شوند>" }, + "leisure/sports_centre": { + "name": "مجتمع/مرکز ورزشی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مرکز/سالن ورزشی'، با کاما جدا می‌شوند>" + }, + "leisure/sports_centre/swimming": { + "name": "تاسیسات استخر", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'امکانات استخر'، با کاما جدا می‌شوند>" + }, "leisure/stadium": { "name": "ورزشگاه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ورزشگاه'، با کاما جدا می‌شوند>" @@ -2650,6 +3092,10 @@ "name": "مسیر مسابقه (غیر ورزش‌های موتوری)", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر مسابقه (غیر ورزش‌های موتوری)'، با کاما جدا می‌شوند>" }, + "leisure/water_park": { + "name": "پارک آبی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پارک آبی'، با کاما جدا می‌شوند>" + }, "line": { "name": "خط", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خط'، با کاما جدا می‌شوند>" @@ -2666,6 +3112,14 @@ "name": "موج شکن", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'موج شکن'، با کاما جدا می‌شوند>" }, + "man_made/bridge": { + "name": "پل", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پل'، با کاما جدا می‌شوند>" + }, + "man_made/chimney": { + "name": "دودکش", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'دودکش'، با کاما جدا می‌شوند>" + }, "man_made/cutline": { "name": "خط برش", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر جنگلی'، با کاما جدا می‌شوند>" @@ -2677,6 +3131,14 @@ "name": "میله پرچم", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'میله پرچم'، با کاما جدا می‌شوند>" }, + "man_made/gasometer": { + "name": "کنتور گاز", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کنتور گاز'، با کاما جدا میشوند>" + }, + "man_made/groyne": { + "name": "آبشکن", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آبشکن'، با کاما جدا می‌شوند>" + }, "man_made/lighthouse": { "name": "فانوس دریایی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فانوس دریایی'، با کاما جدا می‌شوند>" @@ -2701,6 +3163,10 @@ "name": "خط لوله", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خط لوله'، با کاما جدا می‌شوند>" }, + "man_made/pumping_station": { + "name": "ایستگاه پمپاژ", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ایستگاه پمپاژ'، با کاما جدا می‌شوند>" + }, "man_made/silo": { "name": "سیلو", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سيلو'، با کاما جدا می‌شوند>" @@ -2709,8 +3175,13 @@ "name": "مخزن ذخیره", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مخزن ذخیره'، با کاما جدا می‌شوند>" }, + "man_made/surveillance": { + "name": "تجهیزات نظارتی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'تجهیزات نظارتی'، با کاما جدا میشوند>" + }, "man_made/survey_point": { - "name": "نقطه مطالعاتی" + "name": "نقطه مطالعاتی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'نقطه مطالعاتی'، با کاما جدا می‌شوند>" }, "man_made/tower": { "name": "دکل، برج", @@ -2732,6 +3203,10 @@ "name": "امور آب", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'تأسیسات آبرسانی'، با کاما جدا می‌شوند>" }, + "man_made/works": { + "name": "کارخانه", + "terms": "کارخانه، کارگاه" + }, "military/airfield": { "name": "پایگاه هوایی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فرودگاه'، با کاما جدا می‌شوند>" @@ -2904,6 +3379,10 @@ "name": "اداره دولتی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اداره دولتی'، با کاما جدا می‌شوند>" }, + "office/government/register_office": { + "name": "اداره ثبت", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اداره ثبت'، با کاما جدا می‌شوند>" + }, "office/insurance": { "name": "دفتر بیمه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اداره بیمه'، با کاما جدا می‌شوند>" @@ -3047,6 +3526,10 @@ "name": "راه آهن متروکه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'راه آهن متروکه'، با کاما جدا می‌شوند>" }, + "railway/crossing": { + "name": "مسیر گذرنده از راه‌آهن", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مسیر گذرنده از راه‌آهن'، با کاما جدا می‌شوند>" + }, "railway/disused": { "name": "راه آهن بلا استفاده", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'راه آهن منسوخ'، با کاما جدا می‌شوند>" @@ -3059,6 +3542,10 @@ "name": "توقف گاه راه آهن", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'توقفگاه راه آهن'، با کاما جدا می‌شوند>" }, + "railway/level_crossing": { + "name": "جاده گذرنده از راه‌آهن", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'جاده گذرنده از راه‌آهن'، با کاما جدا می‌شوند>" + }, "railway/monorail": { "name": "ترن هوایی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مونوریل'، با کاما جدا می‌شوند>" @@ -3088,8 +3575,8 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ورودی مترو'، با کاما جدا می‌شوند>" }, "railway/tram": { - "name": "واگن برقی", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'تراموا'، با کاما جدا می‌شوند>" + "name": "تراموا", + "terms": "تراموا, واگن برقی" }, "relation": { "name": "رابطه", @@ -3118,6 +3605,10 @@ "name": "فروشگاه عتیقه‌جات", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'عتیقه فروشی'، با کاما جدا می‌شوند>" }, + "shop/art": { + "name": "فروشگاه آثار هنری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه آثار هنری'، با کاما جدا می‌شوند>" + }, "shop/baby_goods": { "name": "فروشگاه محصولات کودکان", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه سیسمونی'، با کاما جدا می‌شوند>" @@ -3138,6 +3629,14 @@ "name": "فروشگاه زیبایی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سالن آرایش وزیبایی'، با کاما جدا می‌شوند>" }, + "shop/beauty/nails": { + "name": "سالن آرایش ناخن", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سالن کاشت ناخن'، با کاما جدا می‌شوند>" + }, + "shop/beauty/tanning": { + "name": "سالن برنزه", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سالن برنزه'، با کاما جدا می‌شوند>" + }, "shop/bed": { "name": "فروشگاه کالای خواب/ تشک", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه کالای خواب/ تشک'، با کاما جدا می‌شوند>" @@ -3186,10 +3685,18 @@ "name": "فرش فروشی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه فرش'، با کاما جدا می‌شوند>" }, + "shop/charity": { + "name": "فروشگاه خیریه", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه خیریه'، با کاما جدا می‌شوند>" + }, "shop/cheese": { "name": "پنیر فروشی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پنیر فروشی'، با کاما جدا می‌شوند>" }, + "shop/chemist": { + "name": "داروخانه", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'داروخانه'، با کاما جدا می‌شوند>" + }, "shop/chocolate": { "name": "فروشگاه شکلات", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه شکلات'، با کاما جدا می‌شوند>" @@ -3198,6 +3705,10 @@ "name": "فروشگاه لباس", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه پوشاک'، با کاما جدا می‌شوند>" }, + "shop/coffee": { + "name": "فروشگاه قهوه", + "terms": "کافی شاپ,کافیشاپ,قهوه خونه" + }, "shop/computer": { "name": "فروشگاه کامپیوتر", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه رایانه'، با کاما جدا می‌شوند>" @@ -3246,6 +3757,10 @@ "name": "خشکشویی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خشکشویی'، با کاما جدا می‌شوند>" }, + "shop/e-cigarette": { + "name": "فروشگاه سیگار الکترونیکی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه سیگار الکترونیکی'، با کاما جدا می‌شوند>" + }, "shop/electronics": { "name": "فروشگاه الکترونیک", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه لوازم الکترونیکی'، با کاما جدا می‌شوند>" @@ -3326,7 +3841,8 @@ "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه لوازم خانگی'، با کاما جدا می‌شوند>" }, "shop/interior_decoration": { - "name": "فروشگاه تزئینات داخلی" + "name": "فروشگاه تزئینات داخلی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه تزئینات داخلی'، با کاما جدا می‌شوند>" }, "shop/jewelry": { "name": "جواهر فروشی", @@ -3334,18 +3850,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 +3870,7 @@ }, "shop/lottery": { "name": "فروشگاه قرعه کشی", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه قرعه کشی'، با کاما جدا می‌شوند>" + "terms": "لاتاری" }, "shop/mall": { "name": "مرکز خرید", @@ -3391,6 +3908,10 @@ "name": "فروشگاه روزنامه/مجله", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه روزنامه/مجله'، با کاما جدا می‌شوند>" }, + "shop/nutrition_supplements": { + "name": "فروشگاه تغذیه مکمل", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه تغذیه مکمل'، با کاما جدا می‌شوند>" + }, "shop/optician": { "name": "عینک سازی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'عینک سازی'، با کاما جدا می‌شوند>" @@ -3407,6 +3928,10 @@ "name": "فروشگاه رنگ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه رنگ'، با کاما جدا می‌شوند>" }, + "shop/pastry": { + "name": "شیرینی فروشی", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'شیرینی فروشی'، با کاما جدا می‌شوند>" + }, "shop/pawnbroker": { "name": "سمساری", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سمساری'، با کاما جدا می‌شوند>" @@ -3455,6 +3980,10 @@ "name": "فروشگاه لوازم التحریر", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه لوازم التحریر'، با کاما جدا می‌شوند>" }, + "shop/storage_rental": { + "name": "کرایه انبار", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کرایه انبار'، با کاما جدا می‌شوند>" + }, "shop/supermarket": { "name": "سوپرمارکت", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'سوپرمارکت'، با کاما جدا میشوند>" @@ -3518,6 +4047,14 @@ "name": "فروشگاه سلاح", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه سلاح'، با کاما جدا می‌شوند>" }, + "shop/window_blind": { + "name": "فروشگاه پرده و کرکره", + "terms": "فروشگاه پرده، فروشگاه کرکره" + }, + "shop/wine": { + "name": "فروشگاه شراب", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فروشگاه شراب'، با کاما جدا می‌شوند>" + }, "tourism": { "name": "توریستی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'توریستی'، با کاما جدا می‌شوند>" @@ -3526,6 +4063,14 @@ "name": "کلبه آلپ", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کلبه آلپ'، با کاما جدا می‌شوند>" }, + "tourism/apartment": { + "name": "آپارتمان مهمان / کاندو", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آپارتمان مهمان / کاندو'، با کاما جدا می‌شوند>" + }, + "tourism/aquarium": { + "name": "آکواریوم", + "terms": "آکواریوم ماهی" + }, "tourism/artwork": { "name": "اثر هنری", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اثر هنری'، با کاما جدا می‌شوند>" @@ -3536,7 +4081,7 @@ }, "tourism/camp_site": { "name": "اردوگاه", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اردوگاه'، با کاما جدا می‌شوند>" + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'اردوگاه'، با کاما جدا میشوند>" }, "tourism/caravan_site": { "name": "پارکینگ ماشین کاروان", @@ -3546,6 +4091,10 @@ "name": "کلبه ییلاقی", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کلبه ییلاقی'، با کاما جدا می‌شوند>" }, + "tourism/gallery": { + "name": "گالری هنری", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'گالری هنری'، با کاما جدا می‌شوند>" + }, "tourism/guest_house": { "name": "مهمان خانه", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کلبه ییلاقی'، با کاما جدا می‌شوند>" @@ -3562,6 +4111,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": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'متل'، با کاما جدا می‌شوند>" @@ -3586,14 +4151,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 +4262,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 +4283,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 +4317,13 @@ "name": "جوی آب", "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'جوی آب'، با کاما جدا می‌شوند>" }, + "waterway/dock": { + "name": "بارانداز تر / بارانداز خشک", + "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بارانداز تر / بارانداز خشک'، با کاما جدا می‌شوند>" + }, "waterway/drain": { "name": "فاضلاب", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'فاضلاب'، با کاما جدا می‌شوند>" + "terms": "زهکش، آبگذر، ابگذر زهکش فاضلاب" }, "waterway/fuel": { "name": "جایگاه سوخت دریایی", @@ -3730,11 +4331,11 @@ }, "waterway/river": { "name": "رودخانه", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'رودخانه'، با کاما جدا می‌شوند>" + "terms": "رودخانه، رود, " }, "waterway/riverbank": { "name": "حاشیه رودخانه", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'حاشیه رودخانه'، با کاما جدا می‌شوند>" + "terms": "رودکنار, حاشیه رود" }, "waterway/sanitary_dump_station": { "name": "دفع توالت دریایی", @@ -3742,7 +4343,7 @@ }, "waterway/stream": { "name": "نهر", - "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'نهر'، با کاما جدا می‌شوند>" + "terms": "نهر, جریان, جوی" }, "waterway/water_point": { "name": "آب آشامیدنی دریایی", diff --git a/dist/locales/fi.json b/dist/locales/fi.json index bb4aff52a..3617743d5 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", @@ -774,6 +773,9 @@ "bin": { "label": "Jäteastia" }, + "board_type": { + "label": "Tyyppi" + }, "boundary": { "label": "Tyyppi" }, @@ -895,6 +897,9 @@ "description": { "label": "Kuvaus" }, + "dock": { + "label": "Tyyppi" + }, "drive_through": { "label": "Autokaista" }, @@ -1016,6 +1021,9 @@ "yes": "Kyllä" } }, + "internet_access/fee": { + "label": "Internet-yhteyden maksullisuus" + }, "lamp_type": { "label": "Tyyppi" }, @@ -1155,6 +1163,9 @@ "label": "Lyöntimääräsuositus", "placeholder": "3, 4, 5..." }, + "parallel_direction": { + "label": "Vaikuttaa kulkusuunnassa" + }, "park_ride": { "label": "Autoparkki" }, @@ -1170,6 +1181,9 @@ "underground": "Pysäköintiluola" } }, + "payment_multi": { + "label": "Maksutavat" + }, "phone": { "label": "Puhelinnumero", "placeholder": "+358 40 123 4567" @@ -1266,22 +1280,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": { @@ -1300,6 +1298,9 @@ "shop": { "label": "Tyyppi" }, + "site": { + "label": "Tyyppi" + }, "smoking": { "label": "Tupakointi", "options": { @@ -1340,6 +1341,9 @@ "sport_racing": { "label": "Urheilulaji" }, + "stop": { + "label": "Pysähtymissuunnat" + }, "structure": { "label": "Rakenne", "options": { @@ -1351,6 +1355,12 @@ }, "placeholder": "Tuntematon" }, + "studio": { + "label": "Tyyppi" + }, + "substation": { + "label": "Tyyppi" + }, "supervised": { "label": "Valvonta" }, @@ -1380,8 +1390,14 @@ "tourism": { "label": "Tyyppi" }, - "towertype": { - "label": "Tornin tyyppi" + "tower/type": { + "label": "Tyyppi" + }, + "traffic_calming": { + "label": "Tyyppi" + }, + "traffic_signals": { + "label": "Tyyppi" }, "trail_visibility": { "label": "Havaittavuus", @@ -2867,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" }, @@ -2878,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" }, @@ -3278,9 +3302,6 @@ "tourism/attraction": { "name": "Turistikohde" }, - "tourism/camp_site": { - "name": "Leirintäalue" - }, "tourism/caravan_site": { "name": "Asuntoautopysäköinti" }, @@ -3321,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 a2b47a859..c49e6ac1b 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", @@ -334,7 +337,7 @@ "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.", + "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", @@ -428,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": { @@ -567,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}.**" @@ -577,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.**", @@ -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" }, @@ -811,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..." @@ -849,6 +871,10 @@ "construction": { "label": "Type" }, + "contact/webcam": { + "label": "URL de la Webcam", + "placeholder": "http://example.com/" + }, "content": { "label": "Contenu" }, @@ -939,7 +965,7 @@ "label": "Type" }, "drive_through": { - "label": "Drive-in" + "label": "Service Drive" }, "electrified": { "label": "Électrification", @@ -949,7 +975,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" @@ -970,6 +996,9 @@ "fee": { "label": "Prix" }, + "fence_type": { + "label": "Type" + }, "fire_hydrant/type": { "label": "Type", "options": { @@ -1020,6 +1049,9 @@ "handrail": { "label": "Rampe - à main" }, + "height": { + "label": "Hauteur (mètres)" + }, "highway": { "label": "Type" }, @@ -1065,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" }, @@ -1084,17 +1119,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 +1138,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 +1174,16 @@ "man_made": { "label": "Type" }, + "map_size": { + "label": "Couverture" + }, + "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." @@ -1193,34 +1238,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" @@ -1253,6 +1298,9 @@ "operator": { "label": "Exploitant" }, + "outdoor_seating": { + "label": "Places en Terasse" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." @@ -1292,12 +1340,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 +1390,13 @@ "recycling_accepts": { "label": "Accepte" }, + "recycling_type": { + "label": "Type de recyclage", + "options": { + "centre": "Déchetterie", + "container": "Benne" + } + }, "ref": { "label": "Référence" }, @@ -1369,14 +1424,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 +1446,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 +1478,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 +1494,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", @@ -1511,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" }, @@ -1521,7 +1572,7 @@ "only": "À emporter seulement", "yes": "Oui" }, - "placeholder": "Oui, Non, À emporter seulement..." + "placeholder": "Oui, non, à emporter seulement…" }, "toilets/disposal": { "label": "Élimination", @@ -1535,8 +1586,12 @@ "tourism": { "label": "Type" }, - "towertype": { - "label": "Type de tour" + "tower/construction": { + "label": "Construction", + "placeholder": "Aubans, Treillis, Dissimulée, …" + }, + "tower/type": { + "label": "Type" }, "tracktype": { "label": "Type de voie", @@ -1547,7 +1602,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 +1620,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" @@ -1581,6 +1639,9 @@ "street": "5 à 20m (16 à 65ft)" } }, + "wall": { + "label": "Type" + }, "water": { "label": "Type" }, @@ -1612,6 +1673,10 @@ "name": "Adresse", "terms": "Adresse" }, + "advertising/billboard": { + "name": "Panneau publicitaire", + "terms": "publicité, 4x3, affiche" + }, "aerialway": { "name": "Remontée mécanique" }, @@ -1706,7 +1771,7 @@ "terms": "Bar" }, "amenity/bbq": { - "name": "Barbecue/Grill", + "name": "Barbecue, grill", "terms": "bbq, barbecue, grill, grillades, mechoui, méchoui, " }, "amenity/bench": { @@ -1766,7 +1831,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 +1851,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,9 +1863,12 @@ "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/crematorium": { + "name": "Crématorium" + }, "amenity/dentist": { "name": "Dentiste", "terms": "Dentiste, Cabinet dentaire" @@ -1833,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" @@ -1850,17 +1922,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 +1962,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 +2010,7 @@ "terms": "Bureau de poste" }, "amenity/prison": { - "name": "Terrains de prison", + "name": "Terrains carcéraux", "terms": "Enceinte de prison" }, "amenity/pub": { @@ -1953,6 +2029,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 +2045,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 +2061,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 +2092,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 +2128,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 +2151,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 +2345,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 +2361,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 +2379,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 +2428,7 @@ "terms": "Horloger, Horlogerie" }, "craft/confectionery": { - "name": "Confiserie", + "name": "Confiseur", "terms": "Confiserie" }, "craft/dressmaker": { @@ -2553,6 +2641,14 @@ "name": "Trou de golf", "terms": "Trou de golf" }, + "golf/lateral_water_hazard_area": { + "name": "Obstacle d'eau latéral", + "terms": "zone d'eau latéral" + }, + "golf/lateral_water_hazard_line": { + "name": "Obstacle d'eau latéral", + "terms": "ligne d'eau latéral" + }, "golf/rough": { "name": "Hautes herbes (golf)", "terms": "Hautes herbes (golf)" @@ -2561,6 +2657,14 @@ "name": "Départ", "terms": "Tertre de départ" }, + "golf/water_hazard_area": { + "name": "Obstacle d'eau", + "terms": "zone d'eau" + }, + "golf/water_hazard_line": { + "name": "Obstacle d'eau", + "terms": "ligne d'eau" + }, "healthcare/blood_donation": { "name": "Centre de don du sang", "terms": "Centre de don du sang, Banque du sang" @@ -2613,7 +2717,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": { @@ -2669,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": { @@ -2693,7 +2797,7 @@ "terms": "Escaliers" }, "highway/stop": { - "name": "Panneau Stop", + "name": "Panneau STOP", "terms": "Arrêt" }, "highway/street_lamp": { @@ -2709,9 +2813,13 @@ "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_mirror": { + "name": "Miroir routier", + "terms": "Miroir de sécurité" + }, "highway/traffic_signals": { "name": "Feux tricolores", "terms": "Feux de circulation, Feux tricolores, Feux rouges" @@ -2728,6 +2836,10 @@ "name": "Zone de manœuvre", "terms": "Point de retournement" }, + "highway/turning_loop": { + "name": "Boucle de retournement (Irlande)", + "terms": "Boucle de manœuvre (Irelande)" + }, "highway/unclassified": { "name": "Route mineure ou non classifiée", "terms": "route non classée;voie communale" @@ -2793,7 +2905,7 @@ "terms": "Cimetière" }, "landuse/commercial": { - "name": "Zone commerciale", + "name": "Zone d'activités", "terms": "Commerces" }, "landuse/construction": { @@ -2852,7 +2964,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 +2972,7 @@ "terms": "Zone d’habitation" }, "landuse/retail": { - "name": "Zone de vente au détail", + "name": "Zone commerciale", "terms": "Zone de magasins" }, "landuse/vineyard": { @@ -2887,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" @@ -2903,6 +3019,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" @@ -2983,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" @@ -3040,14 +3164,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": { @@ -3098,8 +3222,11 @@ "name": "Caméra de surveillance", "terms": "caméra, vidéo" }, + "man_made/surveillance_camera": { + "name": "Caméra de surveillance" + }, "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 +3282,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 +3322,7 @@ "terms": "Glacier" }, "natural/grassland": { - "name": "Prairie", + "name": "Prairie naturelle", "terms": "Prairie" }, "natural/heath": { @@ -3207,7 +3334,7 @@ "terms": "Pic, Mont" }, "natural/saddle": { - "name": "Col de montagne", + "name": "Col", "terms": "Passe" }, "natural/scree": { @@ -3215,8 +3342,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 +3531,7 @@ "terms": "Génératrice" }, "power/line": { - "name": "Câble aérien", + "name": "Ligne électrique majeure", "terms": "Ligne électrique" }, "power/minor_line": { @@ -3412,8 +3539,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 +3550,7 @@ "terms": "Sous-station électrique" }, "power/tower": { - "name": "Pylône haute-tension ", + "name": "Pylône électrique ", "terms": "Pylône haute-tension" }, "power/transformer": { @@ -3442,11 +3569,12 @@ "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": { - "name": "Passage à niveau (piétons)" + "name": "Passage à niveau (piétons)", + "terms": "Passage à niveau (chemin)" }, "railway/disused": { "name": "Voie ferrée désaffectée", @@ -3461,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", @@ -3547,10 +3676,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 +3764,7 @@ "terms": "Confiserie" }, "shop/convenience": { - "name": "Petite épicerie du coin", + "name": "Supérette", "terms": "Supérette, Petite épicerie du coin" }, "shop/copyshop": { @@ -3673,7 +3804,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 +3899,7 @@ "terms": "Kiosque à journaux" }, "shop/kitchen": { - "name": "Magasin de cuisines", + "name": "Cuisiniste", "terms": "Vente de mobilier et accessoires de cuisine" }, "shop/laundry": { @@ -3775,7 +3907,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 +4003,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 +4109,14 @@ "name": "Refuge de montagne", "terms": "Refuge de montagne, cabane" }, + "tourism/apartment": { + "name": "Location de vacances", + "terms": "appartement d'invité,condo,condominium" + }, + "tourism/aquarium": { + "name": "Aquarium", + "terms": "aquarium" + }, "tourism/artwork": { "name": "Œuvre d'art", "terms": "Œuvre d'art,Œuvre artistique,statue,peinture,sculpture,fresque,mosaïque" @@ -3987,14 +4127,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 +4157,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 +4197,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 +4281,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 +4313,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 +4368,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 +4396,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..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", @@ -1160,9 +1159,6 @@ "tourism": { "label": "Tipo" }, - "towertype": { - "label": "Tipo de torre" - }, "trail_visibility": { "label": "Visibilidade do sendeiro" }, @@ -1877,9 +1873,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..eb2467a3a 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", @@ -334,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", @@ -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..6af682212 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ő", @@ -334,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", @@ -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" }, @@ -811,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..." @@ -849,6 +873,10 @@ "construction": { "label": "Típus" }, + "contact/webcam": { + "label": "Webkamera URL", + "placeholder": "http://example.com/" + }, "content": { "label": "Tartalom" }, @@ -970,6 +998,9 @@ "fee": { "label": "Fizetős" }, + "fence_type": { + "label": "Típus" + }, "fire_hydrant/type": { "label": "Típus", "options": { @@ -1020,6 +1051,9 @@ "handrail": { "label": "Korlát" }, + "height": { + "label": "Magasság (méter)" + }, "highway": { "label": "Típus" }, @@ -1065,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" }, @@ -1139,6 +1176,16 @@ "man_made": { "label": "Típus" }, + "map_size": { + "label": "Lefedettség" + }, + "map_type": { + "label": "Típus" + }, + "maxheight": { + "label": "Max. magasság", + "placeholder": "4, 4.5, 5" + }, "maxspeed": { "label": "Sebességhatár", "placeholder": "30, 50, 70..." @@ -1342,6 +1389,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 +1450,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", @@ -1511,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" }, @@ -1535,8 +1590,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 +1607,9 @@ }, "placeholder": "Szilárd, vegyes, laza, ..." }, + "traffic_calming": { + "label": "Típus" + }, "traffic_signals": { "label": "Típus" }, @@ -1581,6 +1642,9 @@ "street": "5 és 20 m között" } }, + "wall": { + "label": "Típus" + }, "water": { "label": "Típus" }, @@ -1592,7 +1656,7 @@ }, "website": { "label": "Weboldal", - "placeholder": "http://peldaoldal.hu/" + "placeholder": "http://example.com/" }, "wetland": { "label": "Típus" @@ -1612,6 +1676,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" }, @@ -1801,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" @@ -1861,6 +1933,10 @@ "name": "Fagylaltbolt", "terms": "fagyibolt, fagyis, fagylaltos, fagylaltüzlet" }, + "amenity/internet_cafe": { + "name": "Internetkávézó", + "terms": "internetkávézó" + }, "amenity/kindergarten": { "name": "bölcsőde - óvoda", "terms": "iskolaelőkészítő" @@ -1953,6 +2029,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 +2151,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 +2379,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 +2641,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 +2657,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" @@ -2712,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" @@ -2887,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ó" @@ -2987,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" @@ -3102,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" @@ -3552,6 +3669,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,17 +4103,24 @@ "name": "Menedékház", "terms": "Menedékház" }, + "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": "Kemping", - "terms": "Kemping, camping" + "name": "Tábor", + "terms": "tábor, sátortábor, kemping" }, "tourism/caravan_site": { "name": "Lakóautó park", @@ -4018,6 +4150,22 @@ "name": "Információ", "terms": "Infomáció" }, + "tourism/information/board": { + "name": "Információs tábla", + "terms": "információs tábla" + }, + "tourism/information/guidepost": { + "name": "Irányjelző", + "terms": "irányjelző" + }, + "tourism/information/map": { + "name": "Térkép", + "terms": "térkép" + }, + "tourism/information/office": { + "name": "Turistainformációs iroda", + "terms": "turista információs iroda, turistairoda" + }, "tourism/motel": { "name": "Motel", "terms": "Motel, fogadó" @@ -4042,6 +4190,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 +4201,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..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": "Մինիքարտէզ", @@ -962,18 +961,6 @@ "service": { "label": "Տեսակ" }, - "service/bicycle/chain_tool": { - "options": { - "no": "Ոչ", - "yes": "Այո" - } - }, - "service/bicycle/pump": { - "options": { - "no": "Ոչ", - "yes": "Այո" - } - }, "service_rail": { "label": "Սպասարկման տեսակ" }, @@ -1001,9 +988,6 @@ "tourism": { "label": "Տեսակ" }, - "towertype": { - "label": "Աշտարակի տեսակ" - }, "tracktype": { "label": "Արահետի Տեսակ" }, diff --git a/dist/locales/id.json b/dist/locales/id.json index fe7aba1e1..e761fa44e 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,9 +328,9 @@ "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.", "fix_misalignment": "Setel offset citra", "imagery_source_faq": "Dari mana citra ini diperoleh?", "reset": "ulang", @@ -350,6 +353,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 +452,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 +511,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 +1057,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 +1127,6 @@ "tourism": { "label": "Tipe" }, - "towertype": { - "label": "Tipe Tower" - }, "tracktype": { "label": "Tipe Trek", "options": { @@ -2717,9 +2713,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..4ff2292f2 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", @@ -334,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", @@ -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" }, @@ -811,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..." @@ -849,6 +873,10 @@ "construction": { "label": "Tipo" }, + "contact/webcam": { + "label": "URL webcam", + "placeholder": "http://example.com/" + }, "content": { "label": "Contenuto" }, @@ -888,7 +916,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": { @@ -970,6 +998,9 @@ "fee": { "label": "Tariffa" }, + "fence_type": { + "label": "Tipo" + }, "fire_hydrant/type": { "label": "Tipo", "options": { @@ -1020,6 +1051,9 @@ "handrail": { "label": "Corrimano" }, + "height": { + "label": "Altezza (Metri)" + }, "highway": { "label": "Tipo" }, @@ -1065,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" }, @@ -1139,6 +1176,16 @@ "man_made": { "label": "Tipo" }, + "map_size": { + "label": "Copertura" + }, + "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..." @@ -1253,6 +1300,9 @@ "operator": { "label": "Operatore" }, + "outdoor_seating": { + "label": "Seduta all'aperto" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." @@ -1342,6 +1392,13 @@ "recycling_accepts": { "label": "Accetta" }, + "recycling_type": { + "label": "Tipologia di riciclaggio", + "options": { + "centre": "Centro di riciclaggio", + "container": "Contenitore" + } + }, "ref": { "label": "Riferimento" }, @@ -1396,21 +1453,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", @@ -1511,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" }, @@ -1535,8 +1593,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 +1611,9 @@ }, "placeholder": "Solido, Soprattutto Solido, Morbido..." }, + "traffic_calming": { + "label": "Tipo" + }, "traffic_signals": { "label": "Tipo" }, @@ -1581,6 +1646,9 @@ "street": "Da 5 a 20 m (da 16 a 65 ft)" } }, + "wall": { + "label": "Tipo" + }, "water": { "label": "Tipo" }, @@ -1612,6 +1680,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" }, @@ -1801,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" @@ -1861,6 +1937,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 +2033,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 +2155,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 +2365,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 +2383,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 +2420,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 +2452,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 +2493,8 @@ "terms": "laboratorio,foto,fotografia,stampe" }, "craft/plasterer": { - "name": "Intonacatore" + "name": "Intonacatore", + "terms": "Imbianchino,Decoratore" }, "craft/plumber": { "name": "Idraulico", @@ -2404,23 +2509,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 +2541,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 +2583,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 +2645,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", @@ -2670,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" @@ -2683,11 +2837,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 +2967,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 +2992,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", @@ -2839,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" @@ -2847,10 +3015,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 +3075,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", @@ -2925,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" @@ -2933,6 +3119,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" @@ -3036,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" @@ -3081,17 +3275,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 +3407,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 +3463,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 +3509,8 @@ "terms": "Località (luogo con nome, non popolato)" }, "place/neighbourhood": { - "name": "Vicinanze" + "name": "Vicinanze", + "terms": "Quartiere,Zona" }, "place/suburb": { "name": "Sobborgo", @@ -3350,7 +3551,8 @@ "name": "Sottostazione elettrica" }, "power/substation": { - "name": "Sottostazione" + "name": "Sottostazione", + "terms": "Sottostazione" }, "power/tower": { "name": "Traliccio ad alta tensione", @@ -3447,7 +3649,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 +3661,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 +3673,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 +3717,8 @@ "terms": "Macellaio" }, "shop/candles": { - "name": "Negozio di Candele" + "name": "Negozio di Candele", + "terms": "Negozio di candele" }, "shop/car": { "name": "Concessionario", @@ -3521,6 +3736,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 +3749,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 +3829,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 +3840,8 @@ "terms": "Fioraio" }, "shop/frame": { - "name": "Negozio di cornici" + "name": "Negozio di cornici", + "terms": "Corniceria" }, "shop/funeral_directors": { "name": "Casa funeraria", @@ -3649,7 +3876,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 +3932,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 +3956,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 +3976,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 +4099,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 +4114,14 @@ "name": "Rifugio", "terms": "rifugio,bivacco,dormitorio,malga" }, + "tourism/apartment": { + "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 " @@ -3888,8 +4131,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 +4162,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 +4202,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 +4369,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..79191bfee 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": "すべての項目", @@ -334,7 +337,6 @@ "switch": "背景に切り替え", "custom": "カスタム", "custom_button": "カスタム背景の編集", - "custom_prompt": "タイルURLのテンプレートを入力してください。有効なトークンは、Z/X/Y方式ならば{z}, {x} , {y}、quadtile方式ならば{u}です。", "fix_misalignment": "画像の位置を調整", "imagery_source_faq": "この写真の出典元", "reset": "設定リセット", @@ -471,7 +473,7 @@ }, "splash": { "welcome": "iD 起動中", - "text": "iDは、世界に例を見ない自由な地図を編集するにあたり、馴染みやすく、かつ使い勝手をそこなわないことを目的に開発されています。現在のバージョンは {version} です。詳細は {website} で公開中です。バグ報告は {github} で受け付けています。", + "text": "iDは、世界でもっとも優れた自由な世界地図を編集するためのツールで、馴染みやすく、かつ高機能です。現在のバージョンは {version} です。詳細は {website} で公開中です。バグ報告は {github} で受け付けています。", "walkthrough": "チュートリアルを開始", "start": "編集開始" }, @@ -646,7 +648,7 @@ "name": "水域" }, "category-water-line": { - "name": "流水" + "name": "水路関連" } }, "fields": { @@ -781,6 +783,9 @@ "barrier": { "label": "タイプ" }, + "beauty": { + "label": "店舗種類" + }, "bench": { "label": "ベンチ" }, @@ -791,12 +796,17 @@ "label": "ゴミ箱" }, "blood_components": { + "label": "献血種類", "options": { "plasma": "血しょう成分献血", "platelets": "血小板成分献血", + "stemcells": "骨髄サンプル", "whole": "全血献血" } }, + "board_type": { + "label": "タイプ" + }, "boundary": { "label": "タイプ" }, @@ -909,6 +919,9 @@ "cycleway:right": "右側" } }, + "date": { + "label": "日付" + }, "delivery": { "label": "配達" }, @@ -924,6 +937,9 @@ "diaper": { "label": "おむつ交換台の利用可否" }, + "display": { + "label": "表示盤の種類" + }, "dock": { "label": "タイプ" }, @@ -1009,6 +1025,9 @@ "handrail": { "label": "手すり" }, + "height": { + "label": "高さ (メートル)" + }, "highway": { "label": "道路区分" }, @@ -1035,6 +1054,9 @@ "up": "上" } }, + "indoor": { + "label": "室内" + }, "information": { "label": "タイプ" }, @@ -1125,6 +1147,12 @@ "man_made": { "label": "種類" }, + "map_size": { + "label": "地図の範囲" + }, + "map_type": { + "label": "タイプ" + }, "maxspeed": { "label": "最高速度", "placeholder": "40, 50, 60..." @@ -1327,6 +1355,13 @@ "recycling_accepts": { "label": "リサイクル可能な素材" }, + "recycling_type": { + "label": "リサイクル設備の種類", + "options": { + "centre": "リサイクルセンター", + "container": "コンテナ" + } + }, "ref": { "label": "管理番号" }, @@ -1381,21 +1416,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 +1444,10 @@ "label": "喫煙の可否", "options": { "dedicated": "喫煙者向け(例: スモーカーズクラブ)", - "isolated": "室内喫煙(分煙)", + "isolated": "完全分煙", "no": "禁煙", "outside": "屋外のみ喫煙可", - "separated": "室内喫煙(未分煙)", + "separated": "同室内分煙", "yes": "喫煙可" }, "placeholder": "いいえ、分けた、はい..." @@ -1460,6 +1482,9 @@ "sport_racing": { "label": "スポーツ" }, + "stars": { + "label": "星の数" + }, "stop": { "label": "一時停止の種類", "options": { @@ -1485,7 +1510,10 @@ "label": "タイプ" }, "supervised": { - "label": "管理" + "label": "監視" + }, + "support": { + "label": "設置場所・支持素材" }, "surface": { "label": "路面状態" @@ -1514,8 +1542,12 @@ "tourism": { "label": "種類" }, - "towertype": { - "label": "塔の用途" + "tower/construction": { + "label": "工事中", + "placeholder": "支線塔、格子塔、擬態させた塔、etc" + }, + "tower/type": { + "label": "タイプ" }, "tracktype": { "label": "トラック種別", @@ -1528,6 +1560,9 @@ }, "placeholder": "硬質, 大部分が硬質, 軟質…" }, + "traffic_calming": { + "label": "タイプ" + }, "traffic_signals": { "label": "タイプ" }, @@ -1553,6 +1588,7 @@ "label": "販売商品の種別" }, "visibility": { + "label": "見える範囲", "options": { "area": "20m(65フィート)超", "house": "5m(16フィート)以下", @@ -1590,6 +1626,9 @@ "name": "住所", "terms": "住所" }, + "advertising/billboard": { + "name": "広告用看板" + }, "aerialway": { "name": "索道" }, @@ -1828,7 +1867,7 @@ "terms": "砂箱, 氷結防止" }, "amenity/hospital": { - "name": "病院の敷地", + "name": "大規模病院の敷地", "terms": "病院の敷地" }, "amenity/hunting_stand": { @@ -1839,6 +1878,9 @@ "name": "アイスクリーム店", "terms": "アイスクリームパーラー" }, + "amenity/internet_cafe": { + "name": "インターネットカフェ" + }, "amenity/kindergarten": { "name": "保育園/幼稚園の敷地", "terms": "幼稚園の敷地, 保育園の敷地" @@ -1931,6 +1973,9 @@ "name": "リサイクルボックス", "terms": "リサイクルボックス, 回収箱, リサイクル" }, + "amenity/recycling_centre": { + "name": "リサイクルセンター" + }, "amenity/register_office": { "name": "登記所" }, @@ -2018,6 +2063,7 @@ "terms": "新聞, 自動販売機, 自販機" }, "amenity/vending_machine/parcel_pickup_dropoff": { + "name": "集荷・引取 自動販売機", "terms": "自動販売機, 自販機" }, "amenity/vending_machine/parking_tickets": { @@ -2048,6 +2094,10 @@ "name": "ゴミ収集ボックス", "terms": "ゴミステーション, ゴミ集積所, ゴミ捨て場, ゴミ置き場, ゴミ, ゴミ箱, ゴミコンテナ, ゴミ回収, ダストボックス" }, + "amenity/waste_transfer_station": { + "name": "ゴミ集積場", + "terms": "ゴミ集積場,ゴミ積替所" + }, "amenity/water_point": { "name": "キャンピングカー用の給水施設", "terms": "給水, 補給, 給水所, キャンピングカー, 給水塔, 飲料水, 飲水, 飲み水, キャンプ場, オートキャンプ場" @@ -2272,6 +2322,10 @@ "name": "倉庫", "terms": "倉庫, 蔵" }, + "camp_site/camp_pitch": { + "name": "キャンプサイト", + "terms": "キャンプサイト" + }, "craft": { "name": "工房", "terms": "工房" @@ -2476,6 +2530,9 @@ "name": "緊急電話", "terms": "緊急電話" }, + "emergency/yes": { + "name": "緊急時の利用可" + }, "entrance": { "name": "出入口", "terms": "出入口, 入口, 出口" @@ -2512,6 +2569,14 @@ "name": "ゴルフホール", "terms": "ホール" }, + "golf/lateral_water_hazard_area": { + "name": "ラテラルウォーターハザード", + "terms": "池ポチャ, ウォーターハザード" + }, + "golf/lateral_water_hazard_line": { + "name": "ラテラルウォーターハザード", + "terms": "池ポチャ, ウォーターハザード" + }, "golf/rough": { "name": "ラフ", "terms": "ラフ" @@ -2520,6 +2585,14 @@ "name": "ティー", "terms": "ティー" }, + "golf/water_hazard_area": { + "name": "ウォーターハザード", + "terms": "池ポチャ, ウォーターハザード" + }, + "golf/water_hazard_line": { + "name": "ウォーターハザード", + "terms": "池ポチャ, ウォーターハザード" + }, "healthcare/blood_donation": { "name": "献血ルーム", "terms": "血液センター" @@ -2687,6 +2760,9 @@ "name": "転回場", "terms": "転回場, 車回し" }, + "highway/turning_loop": { + "name": "転回所(交通島あり)" + }, "highway/unclassified": { "name": "一般道(2車線未満)" }, @@ -2859,6 +2935,9 @@ "leisure/fitness_centre/yoga": { "name": "ヨガスタジオ" }, + "leisure/fitness_station": { + "name": "屋外健康器具" + }, "leisure/garden": { "name": "庭園", "terms": "庭園" @@ -2907,6 +2986,9 @@ "name": "バスケットボール場", "terms": "バスケットボール場" }, + "leisure/pitch/bowls": { + "name": "ローンボウルズ" + }, "leisure/pitch/rugby_league": { "name": "ラグビーリーグ場", "terms": "ラグビー場, ラグビー, リーグ" @@ -2943,6 +3025,9 @@ "name": "進水路", "terms": "進水路, スリップウェイ" }, + "leisure/sports_centre": { + "name": "スポーツセンター/複合施設" + }, "leisure/sports_centre/swimming": { "name": "スイミングプール施設", "terms": "遊泳プール, プール, 水泳場" @@ -3246,6 +3331,9 @@ "name": "行政機関事務所", "terms": "行政機関事務所" }, + "office/government/register_office": { + "name": "イギリス等の出生、結婚、死亡などの登録所" + }, "office/insurance": { "name": "保険代理店", "terms": "保険代理店" @@ -3389,6 +3477,9 @@ "name": "線路跡", "terms": "鉄道跡, 線路跡, 廃線跡" }, + "railway/crossing": { + "name": "踏切(歩道)" + }, "railway/disused": { "name": "休止線路", "terms": "休止線路, 廃線" @@ -3401,6 +3492,9 @@ "name": "鉄道駅(停留場)", "terms": "停留所, 停留場, 駅, 鉄道駅" }, + "railway/level_crossing": { + "name": "踏切(車道)" + }, "railway/monorail": { "name": "モノレール", "terms": "モノレール" @@ -3484,6 +3578,12 @@ "name": "美容サービス", "terms": "美容サービス, エステサロン, ネイルサロン" }, + "shop/beauty/nails": { + "name": "ネイルサロン" + }, + "shop/beauty/tanning": { + "name": "日焼けサロン" + }, "shop/bed": { "name": "ベッド/マットレス専門店", "terms": "ベッド, マットレス, 寝具" @@ -3604,6 +3704,9 @@ "name": "クリーニング店", "terms": "クリーニング, ドライクリーニング店, 洗濯屋" }, + "shop/e-cigarette": { + "name": "電子タバコ店" + }, "shop/electronics": { "name": "家電販売店", "terms": "家電販売店, 家電量販店" @@ -3771,6 +3874,9 @@ "name": "塗料店", "terms": "塗料店" }, + "shop/pastry": { + "name": "焼菓子店" + }, "shop/pawnbroker": { "name": "質店", "terms": "質屋, 質店" @@ -3902,6 +4008,9 @@ "name": "山小屋", "terms": "山小屋" }, + "tourism/apartment": { + "name": "リゾートマンション" + }, "tourism/artwork": { "name": "芸術作品", "terms": "芸術作品" @@ -3911,8 +4020,7 @@ "terms": "観光名所, 見どころ" }, "tourism/camp_site": { - "name": "キャンプ場", - "terms": "キャンプ場" + "name": "キャンプ場" }, "tourism/caravan_site": { "name": "オートキャンプ場", @@ -3942,6 +4050,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 +4086,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 +4264,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..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": "ಸಹಾಯ" }, @@ -1105,18 +1119,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..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": "재설정", @@ -1280,22 +1279,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 +1377,6 @@ "tourism": { "label": "유형" }, - "towertype": { - "label": "탑 유형" - }, "tracktype": { "label": "트랙 유형", "options": { @@ -2880,9 +2860,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..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,10 +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 kaladėlių URL šabloną. Galimi ženklai yra {z}, {x}, {y} Z/X/Y schemai ir {u} quadtile schemai.", + "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ą." @@ -335,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." @@ -430,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", @@ -475,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" }, @@ -489,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į!**", @@ -521,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", @@ -554,7 +647,9 @@ "title": "Leidžiamas" } }, + "placeholder": "Nenurodyta", "types": { + "access": "Visi", "bicycle": "Dviračiai", "foot": "Pėstieji", "horse": "Arkliai", @@ -574,6 +669,7 @@ "conscriptionnumber": "123", "country": "Valstybė", "district": "Rajonas", + "floor": "Aukštas", "hamlet": "Viensėdis", "housename": "Namo pavadinimas", "housenumber": "123", @@ -650,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" }, @@ -727,6 +841,12 @@ "cuisine": { "label": "Virtuvė" }, + "currency_multi": { + "label": "Valiutų tipai" + }, + "cycle_network": { + "label": "Tinklas" + }, "cycleway": { "label": "Dviračių juostos", "options": { @@ -742,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" }, @@ -764,6 +900,12 @@ "description": { "label": "Aprašymas" }, + "diaper": { + "label": "Galimas vystyklų keitimas" + }, + "dock": { + "label": "Tipas" + }, "drive_through": { "label": "Pravažiavimas" }, @@ -796,6 +938,9 @@ "fee": { "label": "Mokestis" }, + "fence_type": { + "label": "Tipas" + }, "fire_hydrant/type": { "label": "Tipas", "options": { @@ -811,6 +956,9 @@ "fuel": { "label": "Degalai" }, + "fuel_multi": { + "label": "Kuro tipai" + }, "gauge": { "label": "Matuoklis" }, @@ -879,6 +1027,12 @@ "yes": "Taip" } }, + "internet_access/fee": { + "label": "Nemokama interneto prieiga" + }, + "internet_access/ssid": { + "label": "SSID (Tinklo pavadinimas)" + }, "lamp_type": { "label": "Tipas" }, @@ -903,6 +1057,7 @@ } }, "leaf_cycle_singular": { + "label": "Lapų ciklas", "options": { "deciduous": "Lapuočiai", "evergreen": "Visžaliai", @@ -949,6 +1104,9 @@ "man_made": { "label": "Tipas" }, + "map_type": { + "label": "Tipas" + }, "maxspeed": { "label": "Greičio limitas", "placeholder": "40, 50, 60..." @@ -999,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" }, @@ -1027,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" }, @@ -1046,6 +1247,9 @@ "underground": "Požeminis" } }, + "payment_multi": { + "label": "Mokėjimo tipai" + }, "phone": { "label": "Telefonas", "placeholder": "+31 42 123 4567" @@ -1090,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" }, @@ -1108,6 +1325,9 @@ "restrictions": { "label": "Posūkio apribojimai" }, + "rooms": { + "label": "Kambariai" + }, "route": { "label": "Tipas" }, @@ -1129,23 +1349,19 @@ "seasonal": { "label": "Sezoninis" }, + "second_hand": { + "options": { + "no": "Ne", + "only": "Tik", + "yes": "Taip" + }, + "placeholder": "Taip, ne, tik" + }, "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/bicycle": { + "label": "Paslaugos" }, "service_rail": { "label": "Tarnybos tipas", @@ -1164,6 +1380,9 @@ "shop": { "label": "Tipas" }, + "site": { + "label": "Tipas" + }, "smoking": { "label": "Rūkymas", "options": { @@ -1198,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": { @@ -1208,6 +1436,9 @@ }, "placeholder": "Nežinoma" }, + "studio": { + "label": "Tipas" + }, "substation": { "label": "Tipas" }, @@ -1229,16 +1460,24 @@ }, "placeholder": "Taip, ne, tik išsinešimui..." }, + "toilets/disposal": { + "options": { + "bucket": "Kibiras" + } + }, "tourism": { "label": "Tipas" }, - "towertype": { - "label": "Bokšto tipas" + "tower/type": { + "label": "Tipas" }, "tracktype": { "label": "Kelio tipas", "placeholder": "Tvirtas, daugiausia tvirtas, minkštas..." }, + "traffic_calming": { + "label": "Tipas" + }, "traffic_signals": { "label": "Tipas" }, @@ -1263,6 +1502,12 @@ "vending": { "label": "Prekių tipas" }, + "visibility": { + "label": "Matomumas" + }, + "wall": { + "label": "Tipas" + }, "water": { "label": "Tipas" }, @@ -2448,7 +2693,8 @@ "terms": "didmiestis" }, "place/farm": { - "name": "Ūkis" + "name": "Ūkis", + "terms": "ūkis,ūkio sodyba,ferma" }, "place/hamlet": { "name": "Viensėdis", @@ -2916,9 +3162,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/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 cd276e866..e8af90708 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", @@ -334,7 +337,7 @@ "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.", + "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", @@ -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" }, @@ -970,6 +979,9 @@ "fee": { "label": "Betalend" }, + "fence_type": { + "label": "Type" + }, "fire_hydrant/type": { "label": "TYpe", "options": { @@ -1020,6 +1032,9 @@ "handrail": { "label": "Trapleuning" }, + "height": { + "label": "Hoogte (in meter)" + }, "highway": { "label": "Type" }, @@ -1065,6 +1080,9 @@ "internet_access/fee": { "label": "Internettoegang is betalend" }, + "internet_access/ssid": { + "label": "SSID (netwerknaam)" + }, "kerb": { "label": "Stoeprand" }, @@ -1139,6 +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 …" @@ -1253,6 +1281,9 @@ "operator": { "label": "Uitbatende organisatie" }, + "outdoor_seating": { + "label": "Buitenzitjes" + }, "par": { "label": "Par", "placeholder": "3, 4, 5 …" @@ -1342,6 +1373,13 @@ "recycling_accepts": { "label": "Aanvaardt" }, + "recycling_type": { + "label": "Recyclage-infrastructuur", + "options": { + "centre": "Milieupark/Containerpark", + "container": "Container" + } + }, "ref": { "label": "Nummering" }, @@ -1396,21 +1434,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 +1560,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 +1578,9 @@ }, "placeholder": "Vast, Voornamelijk Vast, Los …" }, + "traffic_calming": { + "label": "Type" + }, "traffic_signals": { "label": "Type" }, @@ -1581,6 +1613,9 @@ "street": "5 tot 20 meter" } }, + "wall": { + "label": "Type" + }, "water": { "label": "Type" }, @@ -1612,6 +1647,10 @@ "name": "Adres", "terms": "contact,plaats,adresgegevens,straat,huisnummer" }, + "advertising/billboard": { + "name": "Reclamebord", + "terms": "billboard" + }, "aerialway": { "name": "Kabelbaan" }, @@ -1849,6 +1888,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 +1981,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 +2100,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" @@ -2265,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" @@ -2502,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" @@ -2510,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" @@ -2642,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" @@ -2656,7 +2730,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" @@ -2804,6 +2882,10 @@ "leisure/common": { "name": "Gemeenschappelijk" }, + "leisure/dance": { + "name": "Danszaal", + "terms": "ballroom,jive,swing,tango,wals" + }, "leisure/dog_park": { "name": "Hondenpark" }, @@ -2891,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" @@ -2899,6 +2985,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 +3485,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 +3868,13 @@ "tourism/alpine_hut": { "name": "Berghut" }, + "tourism/apartment": { + "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" @@ -3779,10 +3884,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 +3911,23 @@ }, "tourism/information": { "name": "Informatie", - "terms": "i,info,vvv" + "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" @@ -3819,22 +3941,42 @@ "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/dip": { + "name": "Verkeersremmende greppel" + }, "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..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", @@ -294,6 +296,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", @@ -334,7 +337,7 @@ "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.", + "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", @@ -781,6 +784,9 @@ "barrier": { "label": "Typ" }, + "beauty": { + "label": "Typ sklepu" + }, "bench": { "label": "Ławka" }, @@ -799,6 +805,9 @@ "whole": "krew" } }, + "board_type": { + "label": "Typ" + }, "boundary": { "label": "Typ" }, @@ -970,6 +979,9 @@ "fee": { "label": "Opłata" }, + "fence_type": { + "label": "Rodzaj" + }, "fire_hydrant/type": { "label": "Typ", "options": { @@ -1020,6 +1032,9 @@ "handrail": { "label": "Poręcz" }, + "height": { + "label": "Wysokość (m)" + }, "highway": { "label": "Typ" }, @@ -1065,6 +1080,9 @@ "internet_access/fee": { "label": "Płatny dostęp do Internetu" }, + "internet_access/ssid": { + "label": "SSID (Nazwa Sieci)" + }, "kerb": { "label": "Krawężnik" }, @@ -1139,6 +1157,16 @@ "man_made": { "label": "Typ" }, + "map_size": { + "label": "Zasięg mapy" + }, + "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..." @@ -1253,6 +1281,9 @@ "operator": { "label": "Operator" }, + "outdoor_seating": { + "label": "Ogródek Restauracyjny" + }, "par": { "label": "Par", "placeholder": "3, 4, 5..." @@ -1315,8 +1346,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 +1373,13 @@ "recycling_accepts": { "label": "Przyjmuje" }, + "recycling_type": { + "label": "Rodzaj recyklingu", + "options": { + "centre": "Miejsce recyklingu", + "container": "Kontener" + } + }, "ref": { "label": "Numer referencyjny" }, @@ -1365,7 +1405,16 @@ "label": "Typ" }, "sac_scale": { - "label": "Stopień trudności turystyki pieszej" + "label": "Stopień trudności turystyki pieszej", + "options": { + "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" @@ -1385,21 +1434,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,8 +1560,12 @@ "tourism": { "label": "Typ" }, - "towertype": { - "label": "Typ wieży" + "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)", @@ -1538,6 +1578,9 @@ }, "placeholder": "Utwardzona, nieubita..." }, + "traffic_calming": { + "label": "Typ" + }, "traffic_signals": { "label": "Typ" }, @@ -1570,6 +1613,9 @@ "street": "Od 5 do 20m" } }, + "wall": { + "label": "Typ" + }, "water": { "label": "Typ" }, @@ -1601,6 +1647,10 @@ "name": "Adres", "terms": "namiar, numer" }, + "advertising/billboard": { + "name": "Billboard", + "terms": "Reklama" + }, "aerialway": { "name": "Wyciąg narciarski" }, @@ -1850,6 +1900,10 @@ "name": "Lodziarnia", "terms": "sklep z lodami" }, + "amenity/internet_cafe": { + "name": "Kafejka Internetowa", + "terms": "Internet" + }, "amenity/kindergarten": { "name": "Teren przedszkola", "terms": "Teren żłobka" @@ -1942,6 +1996,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" }, @@ -2060,6 +2118,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)" @@ -2542,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" @@ -2550,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" @@ -2701,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" @@ -2717,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" @@ -2876,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" @@ -2884,6 +2968,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" @@ -2971,6 +3059,9 @@ "name": "Plac zabaw", "terms": "plac zabaw" }, + "leisure/resort": { + "name": "Resort" + }, "leisure/running_track": { "name": "Bieżnia", "terms": "biegi" @@ -2979,6 +3070,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 +3524,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 +3540,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 +3627,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" @@ -3644,6 +3755,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" @@ -3942,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" @@ -3950,10 +4069,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" @@ -3982,6 +4097,22 @@ "name": "Informacja", "terms": "informacja dla turystów" }, + "tourism/information/board": { + "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" @@ -4010,10 +4141,26 @@ "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" + }, + "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..9e681f0b3 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", @@ -334,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", @@ -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" }, @@ -1068,6 +1077,9 @@ "internet_access/fee": { "label": "Taxa para acesso à Internet" }, + "internet_access/ssid": { + "label": "SSID (Nome da Rede)" + }, "kerb": { "label": "Meio-fio" }, @@ -1142,6 +1154,12 @@ "man_made": { "label": "Tipo" }, + "map_size": { + "label": "Cobertura" + }, + "map_type": { + "label": "Tipo" + }, "maxspeed": { "label": "Limite de Velocidade", "placeholder": "40, 50, 60..." @@ -1345,6 +1363,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 +1424,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 +1550,12 @@ "tourism": { "label": "Tipo" }, - "towertype": { - "label": "Tipo de Torre" + "tower/construction": { + "label": "Construção", + "placeholder": "Içado, Malha, Camuflado, ..." + }, + "tower/type": { + "label": "Tipo" }, "tracktype": { "label": "Firmeza do Solo", @@ -1552,6 +1568,9 @@ }, "placeholder": "Rígida, Parcialmente Rígida, Macia..." }, + "traffic_calming": { + "label": "Tipo" + }, "traffic_signals": { "label": "Tipo" }, @@ -1615,6 +1634,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 +1887,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 +1983,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 +2105,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 +2333,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 +2595,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 +2611,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," @@ -2731,6 +2786,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" @@ -3556,7 +3615,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 +4048,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 +4062,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 +4092,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 +4132,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..3163e39a6 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.", @@ -334,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", @@ -781,6 +781,9 @@ "barrier": { "label": "Tipo" }, + "beauty": { + "label": "Tipo de loja" + }, "bench": { "label": "Banco de Sentar" }, @@ -799,6 +802,9 @@ "whole": "sangue todo" } }, + "board_type": { + "label": "Tipo" + }, "boundary": { "label": "Tipo" }, @@ -1020,6 +1026,9 @@ "handrail": { "label": "Corrimão" }, + "height": { + "label": "Altura (metros)" + }, "highway": { "label": "Tipo" }, @@ -1139,6 +1148,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 +1357,13 @@ "recycling_accepts": { "label": "Aceita" }, + "recycling_type": { + "label": "Tipo de Reciclagem", + "options": { + "centre": "Centro de Reciclagem", + "container": "Contentor" + } + }, "ref": { "label": "Referência" }, @@ -1396,21 +1418,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 +1544,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 +1562,9 @@ }, "placeholder": "Sólido, intermédio, macio..." }, + "traffic_calming": { + "label": "Tipo" + }, "traffic_signals": { "label": "Tipo" }, @@ -1612,6 +1628,10 @@ "name": "Morada", "terms": "Endereço, morada" }, + "advertising/billboard": { + "name": "Outdoor", + "terms": "Billboard, publicidade" + }, "aerialway": { "name": "Transporte aéreo por cabo" }, @@ -1861,6 +1881,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 +1977,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 +3577,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 +4022,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 +4050,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..845cd6f9b 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": "сброс", @@ -534,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": "Перемещение", @@ -579,7 +598,7 @@ "intersect": "Щёлкните, чтобы добавить ещё точки в линию. Во время рисования можно двигать карту. Дороги и множество других типов линий — часть большей системы. Для корректной работы приложений, прокладывающих маршруты, важно, чтобы эти линии были соединены с другими правильно. **Щёлкните по {name}, чтобы создать перекрёсток, соединяющий две линии.**", "finish": "Чтобы завершить рисование линии, нужно ещё раз щелкнуть на её последней точке. **Закончите рисование дороги.**", "road": "**Выберите из списка «Дорогу»**", - "residential": "Существует много различных типов дорог, наиболее распространённый — улица. **Выберите тип дороги «Улица»**", + "residential": "Существует много различных типов дорог, наиболее распространённый — улица. **Выберите тип дороги «Дорога вдоль жилых зон»**", "describe": "**Дайте название дороге, затем нажмите кнопку {button}, чтобы закрыть редактор объектов.**", "restart": "Эта дорога должна пересекаться с {name}.", "wrong_preset": "Вы не выбрали тип дороги. **Щёлкните здесь, чтобы выбрать заново**" @@ -588,7 +607,7 @@ "title": "Редактировать", "help": "Вы можете повторить это обучение или ознакомиться с более подробной документацией, нажав кнопку справки {button}.", "save": "Не забывайте регулярно сохранять свои изменения!", - "start": "Рисовать карту" + "start": "Рисовать карту!" } }, "presets": { @@ -777,6 +796,9 @@ "whole": "цельная кровь" } }, + "board_type": { + "label": "Тип" + }, "boundary": { "label": "Тип границы" }, @@ -851,6 +873,9 @@ "currency_multi": { "label": "Типы валюты" }, + "cycle_network": { + "label": "Сеть" + }, "cycleway": { "label": "Велосипедные дорожки", "options": { @@ -992,6 +1017,9 @@ "handrail": { "label": "Поручни" }, + "height": { + "label": "Высота (метры)" + }, "highway": { "label": "Тип дороги" }, @@ -1108,6 +1136,9 @@ "man_made": { "label": "Тип" }, + "map_type": { + "label": "Вид" + }, "maxspeed": { "label": "Ограничение скорости", "placeholder": "40, 50, 60…" @@ -1161,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": "Заметка для картографов" }, @@ -1278,6 +1341,13 @@ "recycling_accepts": { "label": "Принимает" }, + "recycling_type": { + "label": "Тип приёма отходов на переработку", + "options": { + "centre": "Пункт приёма отходов для переработки", + "container": "Контейнер для приема отходов на переработку" + } + }, "ref": { "label": "Номер / идентификатор" }, @@ -1331,22 +1401,6 @@ "service": { "label": "Тип проезда" }, - "service/bicycle/chain_tool": { - "label": "Имеется инструмент для починки велосипедной цепи", - "options": { - "no": "Нет", - "undefined": "Предполагается «нет»", - "yes": "Да" - } - }, - "service/bicycle/pump": { - "label": "Насос", - "options": { - "no": "Нет", - "undefined": "Предполагается «нет»", - "yes": "Да" - } - }, "service_rail": { "label": "Тип подъездной дороги", "options": { @@ -1413,6 +1467,9 @@ "stars": { "label": "Звёзды" }, + "stop": { + "label": "Тип магазина" + }, "structure": { "label": "Сооружение", "options": { @@ -1460,8 +1517,11 @@ "tourism": { "label": "Тип" }, - "towertype": { - "label": "Тип башни" + "tower/construction": { + "label": "Тип конструкции" + }, + "tower/type": { + "label": "Тип" }, "tracktype": { "label": "Тип просёлочных дорог", @@ -1474,6 +1534,9 @@ }, "placeholder": "Твердая, скорее твёрдая, мягкая" }, + "traffic_calming": { + "label": "Тип" + }, "traffic_signals": { "label": "Тип" }, @@ -1537,6 +1600,9 @@ "name": "Адрес", "terms": "адрес" }, + "advertising/billboard": { + "name": "Рекламный щит" + }, "aerialway": { "name": "Подъёмник" }, @@ -1781,6 +1847,9 @@ "name": "Кафе-мороженое", "terms": "мороженое, замороженный йогурт" }, + "amenity/internet_cafe": { + "name": "Интернет-кафе" + }, "amenity/kindergarten": { "name": "Территория детского сада / ясель", "terms": "детский сад, дошкольный сад, ясли" @@ -1873,6 +1942,9 @@ "name": "Приём на переработку мусора", "terms": "Переработка мусора, Мусоропереработка, Утилизация мусора, Переработка отходов, Утилизация отходов" }, + "amenity/recycling_centre": { + "name": "Пункт приёма отходов для переработки" + }, "amenity/register_office": { "name": "ЗАГС / регистраторы смерти и браков" }, @@ -2023,7 +2095,7 @@ "name": "Беспрепятственный проход / лаз" }, "barrier/fence": { - "name": "Прозрачный забор", + "name": "Забор", "terms": "Забор, Ограда, Изгородь" }, "barrier/gate": { @@ -2078,6 +2150,7 @@ "name": "Бункер" }, "building/cabin": { + "name": "Хижина", "terms": "хижина, халупа, лачуга, хибара" }, "building/cathedral": { @@ -2392,14 +2465,26 @@ "name": "Станция Скорой Помощи", "terms": "Пункт Скорой Помощи, Амбулатория, Пункт Первой Помощи" }, + "emergency/defibrillator": { + "name": "Дефибриллятор" + }, "emergency/fire_hydrant": { "name": "Пожарный гидрант", "terms": "Пожарный Гидрант, Пожарная Колонка" }, + "emergency/no": { + "name": "Доступ экстренных служб отсутствует" + }, "emergency/phone": { "name": "Экстренный телефон", "terms": "аварийный телефон, телефон спасения, 112, 911, 01, 02, 03, 04" }, + "emergency/private": { + "name": "Доступ экстренных служб по пропускам" + }, + "emergency/yes": { + "name": "Доступ экстренных служб разрешён" + }, "entrance": { "name": "Вход/выход", "terms": "вход, выход" @@ -2444,6 +2529,9 @@ "name": "Стартовая площадка", "terms": "Стартовая площадка, Стартовая зона" }, + "healthcare/blood_donation": { + "name": "Станция переливания крови" + }, "highway": { "name": "Дорога" }, @@ -2778,6 +2866,9 @@ "name": "Яхтклуб", "terms": "Марина, Стоянка для яхт" }, + "leisure/miniature_golf": { + "name": "Мини-гольф" + }, "leisure/nature_reserve": { "name": "Заповедник", "terms": "заказник" @@ -2842,6 +2933,9 @@ "name": "Стапель", "terms": "Стапель" }, + "leisure/sports_centre": { + "name": "Спортивный Комплекс" + }, "leisure/sports_centre/swimming": { "name": "Бассейн" }, @@ -2923,6 +3017,9 @@ "name": "Трубопровод", "terms": "трубопровод" }, + "man_made/pumping_station": { + "name": "Насосная станция" + }, "man_made/silo": { "name": "Силос (склад сыпучего)", "terms": "зерно, пшеница, мука" @@ -3278,6 +3375,9 @@ "name": "Разобранная железная дорога", "terms": "Разобранная железнодорожная ветка," }, + "railway/crossing": { + "name": "Железнодорожный переход" + }, "railway/disused": { "name": "Заброшенная железная дорога", "terms": "Неиспользуемая железнодорожная ветка" @@ -3290,6 +3390,9 @@ "name": "Железнодорожный остановочный пункт", "terms": "Железнодорожная станция, ЖД станция" }, + "railway/level_crossing": { + "name": "Железнодорожный переезд" + }, "railway/monorail": { "name": "Монорельс", "terms": "монорельсовая железная дорога, монорельс" @@ -3373,6 +3476,9 @@ "name": "Салон красоты", "terms": "салон красоты, маникюрный салон, солярий, массаж, спа" }, + "shop/beauty/nails": { + "name": "Маникюрный салон" + }, "shop/bed": { "name": "Магазин матрасов и постельных принадлежностей", "terms": "матрас, спальные принадлежности, постельное бельё" @@ -3781,10 +3887,6 @@ "name": "Достопримечательность", "terms": "Достопримечательность" }, - "tourism/camp_site": { - "name": "Кемпинг палаточный", - "terms": "лагерь, палаточный лагерь, турбаза, место для лагеря" - }, "tourism/caravan_site": { "name": "Стоянка автодомов", "terms": "караван-парк" @@ -3812,6 +3914,12 @@ "name": "Инфопункт", "terms": "Инфопункт, Инфостэнд, Информационный пункт, Справочная, Справочное, Информационное бюро" }, + "tourism/information/board": { + "name": "Информационный стенд" + }, + "tourism/information/map": { + "name": "Карта" + }, "tourism/motel": { "name": "Мотель", "terms": "мотель" @@ -3836,6 +3944,9 @@ "name": "Зоопарк", "terms": "зоопарк" }, + "traffic_calming": { + "name": "Дорожное препятствие" + }, "traffic_calming/bump": { "name": "Лежачий полицейский", "terms": "полицейский, лежачий" @@ -3844,6 +3955,9 @@ "name": "Широкий лежачий полицейский ", "terms": "широкий лежачий полицейский " }, + "traffic_calming/island": { + "name": "Островок безопасности" + }, "traffic_calming/rumble_strip": { "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..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ť", @@ -1282,22 +1281,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 +1401,6 @@ "tourism": { "label": "Typ" }, - "towertype": { - "label": "Typ veže" - }, "tracktype": { "label": "Typ lesnej cesty", "options": { @@ -3751,10 +3731,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..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,24 +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", - "custom_prompt": "Navedite naslov predloge URL. Dovoljeni znaki so {z}, {x}, {y} za shemo Z/X/Y in {u} za shemo quadtile.", - "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": { @@ -340,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" }, @@ -375,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": { @@ -443,7 +510,7 @@ "name": "Vrste poti" }, "category-rail": { - "name": "Tipi železnice" + "name": "Vrste železnice" }, "category-restriction": { "name": "Vrste prepovedi" @@ -592,6 +659,9 @@ "barrier": { "label": "Vrsta" }, + "beauty": { + "label": "Vrsta trgovine" + }, "bench": { "label": "Klop" }, @@ -606,6 +676,9 @@ "stemcells": "vzorci izvornih celic" } }, + "board_type": { + "label": "Vrsta" + }, "boundary": { "label": "Vrsta" }, @@ -618,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..." @@ -656,6 +737,10 @@ "construction": { "label": "Vrsta" }, + "contact/webcam": { + "label": "URL spletne kamere", + "placeholder": "http://example.com/" + }, "content": { "label": "Vsebina" }, @@ -821,6 +906,9 @@ "handrail": { "label": "Ograja" }, + "height": { + "label": "Višina (metri)" + }, "highway": { "label": "Vrsta" }, @@ -919,7 +1007,7 @@ "label": "Osvetljeno" }, "location": { - "label": "Položaj" + "label": "Lokacija" }, "man_made": { "label": "Vrsta" @@ -1089,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", @@ -1140,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" @@ -1153,20 +1241,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" }, @@ -1223,6 +1297,11 @@ "sport_racing": { "label": "Šport" }, + "stop": { + "options": { + "minor": "Manjša cesta" + } + }, "structure": { "label": "Premostitveni objekt", "options": { @@ -1270,8 +1349,8 @@ "tourism": { "label": "Vrsta" }, - "towertype": { - "label": "Vrsta stolpa" + "tower/construction": { + "label": "Gradbišče" }, "tracktype": { "label": "Tip kolovoza", @@ -1848,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", @@ -1875,7 +1954,7 @@ "terms": "topla greda" }, "building/hospital": { - "name": "Bolnišnična stavba", + "name": "Bolnišnična zgradba", "terms": "bolnišnica,bolnica" }, "building/hotel": { @@ -1895,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", @@ -2062,7 +2141,7 @@ }, "craft/roofer": { "name": "Krovstvo", - "terms": "krovec" + "terms": "Krovec" }, "craft/saddler": { "name": "Sedlarstvo", @@ -2227,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": { @@ -2367,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ž", @@ -2385,7 +2464,7 @@ "name": "Raba tal" }, "landuse/basin": { - "name": "Čistilni bazen", + "name": "Kotanja", "terms": "usedalnik" }, "landuse/cemetery": { @@ -2397,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", @@ -2408,7 +2488,7 @@ }, "landuse/farmland": { "name": "Obdelovalna zemlja", - "terms": "poljedeljstvo,paša" + "terms": "poljedeljstvo,paša,kmetijsko zemljišče" }, "landuse/farmyard": { "name": "Kmetija", @@ -2422,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", @@ -2447,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" @@ -2537,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" @@ -2679,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", @@ -2698,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", @@ -2714,8 +2801,8 @@ "terms": "grušč" }, "natural/scrub": { - "name": "Grmovje", - "terms": "grmičevje,makija" + "name": "Grmičevje", + "terms": "grmovje,makija" }, "natural/spring": { "name": "Izvir", @@ -2979,8 +3066,8 @@ "terms": "tramvaj" }, "relation": { - "name": "Povezava", - "terms": "relacija,zveza,odnos" + "name": "Zveza", + "terms": "relacija,povezava,odnos" }, "roundabout": { "name": "Krožišče" @@ -3328,10 +3415,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/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/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..babf1200f 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", @@ -334,7 +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 {z}, {x}, {y} för Z/X/Y-schema och {u} för quadtile-schema.", + "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", @@ -802,6 +805,9 @@ "whole": "helt blod" } }, + "board_type": { + "label": "Typ" + }, "boundary": { "label": "Typ" }, @@ -973,6 +979,9 @@ "fee": { "label": "Avgift" }, + "fence_type": { + "label": "Typ" + }, "fire_hydrant/type": { "label": "Typ", "options": { @@ -1023,6 +1032,9 @@ "handrail": { "label": "Ledstång" }, + "height": { + "label": "Höjd (meter)" + }, "highway": { "label": "Typ" }, @@ -1068,6 +1080,9 @@ "internet_access/fee": { "label": "Avgift för internetåtkomst" }, + "internet_access/ssid": { + "label": "SSID (Nätverksnamn)" + }, "kerb": { "label": "Trottoarkant" }, @@ -1142,6 +1157,12 @@ "man_made": { "label": "Typ" }, + "map_type": { + "label": "Typ" + }, + "maxheight": { + "label": "Maxhöjd" + }, "maxspeed": { "label": "Hastighetsbegränsning", "placeholder": "50, 70, 90..." @@ -1345,6 +1366,13 @@ "recycling_accepts": { "label": "Accepterar" }, + "recycling_type": { + "label": "Återvinningstyp", + "options": { + "centre": "Återvinningscentral", + "container": "Container" + } + }, "ref": { "label": "Referens" }, @@ -1399,21 +1427,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,8 +1553,8 @@ "tourism": { "label": "Typ" }, - "towertype": { - "label": "Typ av torn" + "tower/type": { + "label": "Typ" }, "tracktype": { "label": "Typ av bruksväg", @@ -1552,6 +1567,9 @@ }, "placeholder": "Fast, Mestadels fast, Mjuk ..." }, + "traffic_calming": { + "label": "Typ" + }, "traffic_signals": { "label": "Typ" }, @@ -1584,6 +1602,9 @@ "street": "5 till 20 m (16 till 65 ft)" } }, + "wall": { + "label": "Typ" + }, "water": { "label": "Typ" }, @@ -1615,6 +1636,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" }, @@ -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, " @@ -1956,6 +1985,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 +2107,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 +2335,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" @@ -2731,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" @@ -2914,6 +2959,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 +4026,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/ta.json b/dist/locales/ta.json index a1b37be5a..06078a10a 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,93 @@ "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": "புறநகர்" } }, + "admin_level": { + "label": "அட்மின் நிலை" + }, "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": { + "label": "அனுமதி (வெயில் காலம்)", + "options": { + "both": "இரண்டும்", + "entry": "நுழைவு", + "exit": "வெளியேறு" + } + }, "aeroway": { "label": "வகை" }, "amenity": { "label": "வகை" }, + "area/highway": { + "label": "வகை" + }, + "artist": { + "label": "கலைஞர்" + }, "artwork_type": { "label": "வகை" }, @@ -224,12 +432,34 @@ "barrier": { "label": "வகை" }, + "beauty": { + "label": "கடை வகை" + }, + "bench": { + "label": "விசுப்பலகை" + }, "bicycle_parking": { "label": "வகை" }, + "bin": { + "label": "குப்பைத்தொட்டி" + }, + "blood_components": { + "label": "இரத்த பாகங்கள் ", + "options": { + "plasma": "பிளாஸ்மா", + "platelets": "பிலேட்லெட்டுகள் " + } + }, + "board_type": { + "label": "வகை" + }, "boundary": { "label": "வகை" }, + "brand": { + "label": "வியாபாரக் குறி" + }, "building": { "label": "கட்டிடம்" }, @@ -241,20 +471,113 @@ "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": { + "label": "ஈருருளை சந்துகள்", + "options": { + "none": { + "description": "ஈருருளை இல்லா சந்துகள்", + "title": "எதுவுமில்லை" + }, + "shared_lane": { + "title": "பகிர்ந்த ஈருருளை சந்துகள்" + }, + "track": { + "title": "பைக் பாதை" + } + }, + "placeholder": "எதுவுமில்லை", + "types": { + "cycleway:left": "இடப்பக்கம்", + "cycleway:right": "வலது பக்கம்" + } + }, + "date": { + "label": "தேதி" + }, + "delivery": { + "label": "பட்டுவாடா" + }, + "denomination": { + "label": "மதிப்பு " + }, + "description": { + "label": "விளக்கம்" + }, + "display": { + "label": "காட்டு" + }, + "dock": { + "label": "வகை" + }, + "electrified": { + "label": "மின்மயமாக்கல்", + "options": { + "contact_line": "தொடர்பு வரி", + "no": "இல்லை", + "rail": "மின்மயமாக்கப்பட்ட இரயில் ", + "yes": "ஆம் (குறிப்பிடப்படவில்லை)" + } + }, + "elevation": { + "label": "உயரம்" + }, "emergency": { "label": "அவசரநிலை" }, @@ -265,32 +588,103 @@ "label": "தொலைநகல்", "placeholder": "+31 42 123 4567" }, - "fire_hydrant/type": { + "fee": { + "label": "Fee" + }, + "fence_type": { "label": "வகை" }, + "fire_hydrant/type": { + "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 +696,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 +733,38 @@ "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..." }, + "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 +772,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 +809,20 @@ "label": "வகை" }, "oneway": { - "label": "ஒரு வழி" + "label": "ஒரு வழி", + "options": { + "no": "இல்லை", + "undefined": "இல்லை என்றே கருதப்படுகிறது", + "yes": "ஆம்" + } }, "oneway_yes": { - "label": "ஒரு வழி" + "label": "ஒரு வழி", + "options": { + "no": "இல்லை", + "undefined": "ஆம் எனக் கருதப்படுகிறது", + "yes": "ஆம்" + } }, "opening_hours": { "label": "மணிநேரங்கள்" @@ -347,27 +831,60 @@ "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": "விடையாட்டு மைதானம்", + "snow_park": "பனி பூங்கா " + } }, "place": { "label": "வகை" }, + "population": { + "label": "மக்கள் தொகை" + }, "power": { "label": "வகை" }, + "power_supply": { + "label": "பவர் சப்ளை" + }, "railway": { "label": "வகை" }, + "ref": { + "label": "குறிப்பு" + }, "relation": { "label": "வகை" }, @@ -377,38 +894,118 @@ "restriction": { "label": "வகை" }, + "rooms": { + "label": "அறைகள்" + }, "route": { "label": "வகை" }, "route_master": { "label": "வகை" }, + "second_hand": { + "options": { + "no": "இல்லை", + "only": "மட்டும்", + "yes": "ஆம்" + }, + "placeholder": "ஆம். இல்லை. மட்டும் " + }, "service": { "label": "வகை" }, + "service/bicycle": { + "label": "சேவைகள்" + }, + "service_rail": { + "label": "சேவை வகை " + }, "shelter_type": { "label": "வகை" }, "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": "பார்க்கூடிய நிலை" + }, + "wall": { + "label": "வகை" + }, "water": { "label": "வகை" }, + "water_point": { + "label": "தண்ணீர் புள்ளி" + }, "waterway": { "label": "வகை" }, @@ -419,13 +1016,24 @@ "wetland": { "label": "வகை" }, + "width": { + "label": "அகலம் (மீட்டர்)" + }, "wikipedia": { "label": "விக்கிப்பீடியா" } }, "presets": { "address": { - "name": "முகவரி" + "name": "முகவரி", + "terms": "விலாசம்" + }, + "advertising/billboard": { + "name": "பில்போர்ட்", + "terms": "துண்டு விளம்பரங்கள் ஒட்டப்படும் பலகை" + }, + "aerialway/cable_car": { + "name": "கேபிள் கார் " }, "aeroway/aerodrome": { "name": "விமானநிலையம்" @@ -433,15 +1041,33 @@ "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": "டீக்கடை" }, @@ -451,6 +1077,15 @@ "amenity/clock": { "name": "கடிகாரம்" }, + "amenity/dentist": { + "name": "பல் மருத்துவர் " + }, + "amenity/doctors": { + "name": "மருத்துவர் " + }, + "amenity/drinking_water": { + "name": "குடிநீர் " + }, "amenity/fire_station": { "name": "தீயணைப்பு நிலையம்" }, @@ -475,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": "காவல்" }, @@ -487,6 +1128,9 @@ "amenity/post_office": { "name": "அஞ்சலகம்" }, + "amenity/pub": { + "name": "பப் " + }, "amenity/restaurant": { "name": "உணவகம்" }, @@ -565,6 +1209,12 @@ "landuse/grass": { "name": "புல்வெளி" }, + "leisure/common": { + "name": "பொதுவான" + }, + "leisure/golf_course": { + "name": "கோல்ஃப் கோர்ஸ்" + }, "leisure/marina": { "name": "மரினா" }, @@ -586,18 +1236,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 +1272,9 @@ "natural/glacier": { "name": "பனிப் பாறை" }, + "natural/grassland": { + "name": "புல்வெளிகள்" + }, "natural/peak": { "name": "மலை உச்சி" }, @@ -628,12 +1293,18 @@ "natural/water/reservoir": { "name": "நீர்த் தேக்கம்" }, + "natural/wetland": { + "name": "ஈரநிலம்" + }, "natural/wood": { "name": "மரம்" }, "office": { "name": "அலுவலகம்" }, + "office/accountant": { + "name": "கணக்காளர்" + }, "office/newspaper": { "name": "செய்தித்தாள்" }, @@ -646,6 +1317,9 @@ "place/island": { "name": "தீவு" }, + "place/neighbourhood": { + "name": "நகர்ப்பகுதி" + }, "place/town": { "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/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/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..940fefa58 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": "Тип" }, @@ -815,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…" @@ -853,6 +873,10 @@ "construction": { "label": "Тип" }, + "contact/webcam": { + "label": "URL веб-камери", + "placeholder": "http://example.com/" + }, "content": { "label": "Вміст" }, @@ -974,6 +998,9 @@ "fee": { "label": "Плата" }, + "fence_type": { + "label": "Тип" + }, "fire_hydrant/type": { "label": "Тип", "options": { @@ -1024,6 +1051,9 @@ "handrail": { "label": "Перила" }, + "height": { + "label": "Висота (метрів)" + }, "highway": { "label": "Тип" }, @@ -1069,6 +1099,9 @@ "internet_access/fee": { "label": "Плата за доступ до Інтеренету" }, + "internet_access/ssid": { + "label": "SSID (Назва мережі)" + }, "kerb": { "label": "Зʼїзд з бордюра" }, @@ -1143,6 +1176,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…" @@ -1157,7 +1200,7 @@ "1": "1: Деінде пухкі ділянки, невеликі перешкоди, плавні повороти", "2": "2: Багато пухких ділянок, великі перешкоди, легкі шпильки", "3": "3: Слизькі поверхні, великі перешкоди, круті шпильки", - "4": "4: Відсутність твердих ділянок чи валуни, небезпечні шпильки", + "4": "4: Відсутність твердих ділянок або наявність валунів, небезпечні шпильки", "5": "5: Максимальна складність, поля валунів, зсуви", "6": "6: Не придатне для проїзду, крім найкращих велосипедистів" }, @@ -1257,6 +1300,9 @@ "operator": { "label": "Оператор" }, + "outdoor_seating": { + "label": "Місця на зовні" + }, "par": { "label": "Пар", "placeholder": "3, 4, 5…" @@ -1346,6 +1392,13 @@ "recycling_accepts": { "label": "Приймається" }, + "recycling_type": { + "label": " Тип об'єкта", + "options": { + "centre": "Центру збору відходів для вторинної переробки", + "container": "Контейнер" + } + }, "ref": { "label": "Номер" }, @@ -1400,21 +1453,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": "Тип службового шляху", @@ -1515,6 +1555,20 @@ "surface": { "label": "Поверхня" }, + "surveillance": { + "label": "Спостереження " + }, + "surveillance/type": { + "label": "Тип спостереження", + "options": { + "ALPR": "Автоматичне розпізнавання номерних знаків", + "camera": "Камера", + "guard": "Охорона" + } + }, + "surveillance/zone": { + "label": "Зона спостереження" + }, "tactile_paving": { "label": "Тактильне покриття" }, @@ -1539,8 +1593,12 @@ "tourism": { "label": "Тип" }, - "towertype": { - "label": "Тип опори" + "tower/construction": { + "label": "Конструкція вежі", + "placeholder": "На розтяжках, Ґратчаста, Прихована, …" + }, + "tower/type": { + "label": "Тип" }, "tracktype": { "label": "Тип путівця", @@ -1553,6 +1611,9 @@ }, "placeholder": "Тверде, переважно тверде, м’яке" }, + "traffic_calming": { + "label": "Тип" + }, "traffic_signals": { "label": "Тип" }, @@ -1585,6 +1646,9 @@ "street": "5 м до 20 м (16-65 фт)" } }, + "wall": { + "label": "Тип" + }, "water": { "label": "Тип" }, @@ -1616,6 +1680,10 @@ "name": "Адреса", "terms": "address,адреса,місце,квартира,будинок,корпус,flhtcf,vscwt,rdfhnbhf,elbyjr,rjhgec" }, + "advertising/billboard": { + "name": "Рекламний щит", + "terms": "реклама,оголошення,щит,бігборд,борд,інформація" + }, "aerialway": { "name": "Канатна дорога" }, @@ -1805,6 +1873,10 @@ "name": "Коворкінг", "terms": "коворкінг,офіс,спільне,розташування,оренда,робота,конференція" }, + "amenity/crematorium": { + "name": "Крематорій", + "terms": "крематорій,поховання,послуги,церемонія,мрець,покійник,кладовище,цвинтар,обряд,служба" + }, "amenity/dentist": { "name": "Дантист", "terms": "Dentist, lfynbcn, стоматолог, зубний лікар, лікар" @@ -1837,6 +1909,10 @@ "name": "Пожежна станція", "terms": "Fire Station, gjtyf cnfywsz, пожежне депо, пожежна станція, пожежа" }, + "amenity/food_court": { + "name": "Ресторане подвірʼя", + "terms": "фудкорт,забігайлівка,кафе,швидко,їжа,центр,торговий,розважальний,кіно,відпочинок,дозвілля,ресторан,суші,піца,кава,напої,тістечка" + }, "amenity/fountain": { "name": "Фонтан", "terms": "Fountain, ajynfy,вода, фонтан" @@ -1865,6 +1941,10 @@ "name": "Морозиво", "terms": "морозиво,магазин,кафе,бар,крамниця,ласощі" }, + "amenity/internet_cafe": { + "name": "Інтернет кафе", + "terms": "інтренет,комп'ютер,wifi,internet,кафе,доступ,клуб,ігри,дозвілля" + }, "amenity/kindergarten": { "name": "Підготовча школа / Територія дитсадка", "terms": "дитсадок, дошкільна підготовка, ясла" @@ -1957,6 +2037,10 @@ "name": "Переробка вторсировини", "terms": "Recycling, Gththjrf dnjhcbhjdbyb, пункт прийому вторсировини, вторсировина" }, + "amenity/recycling_centre": { + "name": "Центру збору відходів для вторинної переробки", + "terms": "відходи,накопичення,сортування,воринна,сировина,пляшки,скло,бляшанки,ганчір'я,сміття,лом,поламані,речі" + }, "amenity/register_office": { "name": "РАГС (ЗАГС)" }, @@ -2075,6 +2159,10 @@ "name": "Контейнер для сміття", "terms": "контейнер,сміття,відходи,комунальні служби,вивіз сміття" }, + "amenity/waste_transfer_station": { + "name": "Сміттєперевантажувальна станція", + "terms": "сміття,відходи,накопичення,перевалка,передача,сміттєзавалище,перевантаження,станція" + }, "amenity/water_point": { "name": "Заправка питною водою", "terms": "вода,заправка,потяг,кемпінг,табір" @@ -2299,6 +2387,10 @@ "name": "Склад", "terms": "warehouse, crkfl, склад" }, + "camp_site/camp_pitch": { + "name": "Місце стоянки", + "terms": "платка,фургон,мотодім,автодім,караван,місце,ділянка" + }, "craft": { "name": "Майстерня", "terms": "майстерня, рукоділля, ручна робота" @@ -2534,7 +2626,7 @@ "terms": "Pedestrian Crosswalk,перехід,вулиця,дорога,перехід,зебра" }, "footway/sidewalk": { - "name": "Тротуар", + "name": "Тротуар вздовж дороги", "terms": "бокова доріжка, панель, тротуар, бровка" }, "ford": { @@ -2614,7 +2706,7 @@ }, "highway/footway": { "name": "Пішохідна доріжка", - "terms": "Foot Path, nhjnefh, стежка, маршрут, доріжка" + "terms": "стежка,маршрут,доріжка,тротуар,пішохідна,шлях" }, "highway/give_way": { "name": "Дати дорогу", @@ -2732,6 +2824,10 @@ "name": "Путівець", "terms": "путівець,грунтовка,польова дорога,трактор,вантажівка,шрунт,трава,шлак,відсів" }, + "highway/traffic_mirror": { + "name": "Дзеркало", + "terms": "дзеркало,дорога,безпека,рух,огляд,попередження" + }, "highway/traffic_signals": { "name": "Світлофор", "terms": "Traffic Signals, cdsnkjajh, світлофор" @@ -2748,6 +2844,10 @@ "name": "Місце для розвороту", "terms": "Turning Circle, vscwt lkz hjdjhjne, місце для розвороту" }, + "highway/turning_loop": { + "name": "Круг для розвороту (з острівцем)", + "terms": "розворот,тупик,місце,круг,газон,острівець,глухй кут" + }, "highway/unclassified": { "name": "Незначні дороги", "terms": "дорога,некласифікована,сільска,промислова,загальна" @@ -2907,6 +3007,10 @@ "name": "Громада", "terms": "громада, земля громади" }, + "leisure/dance": { + "name": "Зала для танців", + "terms": "танці,зала,бальні танці,розваги,дозвілля,клуб,інтереси,тренування" + }, "leisure/dog_park": { "name": "Парк для собак", "terms": "Dog Park, gfhr lkz cjfr, парк для собак" @@ -3007,6 +3111,10 @@ "name": "Ігровий майданчик", "terms": "Playground, suhjdbq vfqlfyxbr, дитячий ігровий майданчик,ігровий майданчик " }, + "leisure/resort": { + "name": "Курорт", + "terms": "курорт,відпочинок,пляж,процедури,оздоровлення,лікування,вода,дозвілля,розваги,готель,житло,туризм" + }, "leisure/running_track": { "name": "Бігова доріжка", "terms": "бігова доріжка, трек" @@ -3122,6 +3230,10 @@ "name": "Камера відео-спостереження", "terms": "камера,спостереження,швидкість" }, + "man_made/surveillance_camera": { + "name": "Камера відеоспостереження", + "terms": "камера,спостереження,безпека,нагляд,швидкість,реєстрація,порушення,злочин,запис,відео" + }, "man_made/survey_point": { "name": "Геодезичний пункт", "terms": "Survey Point, utjltpbxybq geyrn, місце спостереження" @@ -4006,6 +4118,14 @@ "name": "Гірський притулок", "terms": "Alpine Hut, ushcmrbq ghbnekjr, колиба, гірська хатинка" }, + "tourism/apartment": { + "name": "Мебльована квартира/Комплекс", + "terms": "готель,квартира,апартаменти,відпочинок,житло,готель,оренда,тур,кімната,хостел" + }, + "tourism/aquarium": { + "name": "Акваріум", + "terms": "акваріум,туризм,розваги,вода,риби,тварини,вистава" + }, "tourism/artwork": { "name": "Витвори мистецтв", "terms": "Artwork, dbndjhb vbcntwnd, витвори мистецтва" @@ -4015,8 +4135,8 @@ "terms": "Tourist Attraction, dbpyfxyt vscwt, визначні місця" }, "tourism/camp_site": { - "name": "Кемпінг", - "terms": "Camp Site, rtvgsyu, кеппінг" + "name": "Табір", + "terms": "табір,кемпіг,наметове,містечко" }, "tourism/caravan_site": { "name": "Караван-парк", @@ -4046,6 +4166,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, мотель" @@ -4070,14 +4206,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..6cb0c847f 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", @@ -294,6 +296,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", @@ -334,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", @@ -781,6 +784,9 @@ "barrier": { "label": "Kiểu" }, + "beauty": { + "label": "Loại Tiệm" + }, "bench": { "label": "Ghế" }, @@ -799,6 +805,9 @@ "whole": "máu toàn phần" } }, + "board_type": { + "label": "Kiểu" + }, "boundary": { "label": "Kiểu" }, @@ -811,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…" @@ -849,6 +873,10 @@ "construction": { "label": "Kiểu" }, + "contact/webcam": { + "label": "URL Webcam", + "placeholder": "http://example.com/" + }, "content": { "label": "Đồ Chứa đựng" }, @@ -970,6 +998,9 @@ "fee": { "label": "Phí" }, + "fence_type": { + "label": "Kiểu" + }, "fire_hydrant/type": { "label": "Kiểu", "options": { @@ -1020,6 +1051,9 @@ "handrail": { "label": "Lan can" }, + "height": { + "label": "Chiều cao (Mét)" + }, "highway": { "label": "Kiểu" }, @@ -1065,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" }, @@ -1139,6 +1176,16 @@ "man_made": { "label": "Loại" }, + "map_size": { + "label": "Phạm vi" + }, + "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…" @@ -1253,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…" @@ -1342,6 +1392,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 +1453,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ụ", @@ -1511,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ị" }, @@ -1535,8 +1593,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 +1611,9 @@ }, "placeholder": "Rất chắc, Khá Chắc, Mềm…" }, + "traffic_calming": { + "label": "Kiểu" + }, "traffic_signals": { "label": "Kiểu" }, @@ -1581,6 +1646,9 @@ "street": "5 đến 20 m (16 đến 65 ft)" } }, + "wall": { + "label": "Kiểu" + }, "water": { "label": "Loại" }, @@ -1612,6 +1680,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" }, @@ -1801,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" @@ -1833,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" @@ -1861,6 +1941,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 +2037,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 +2159,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 +2387,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" @@ -2622,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", @@ -2728,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" @@ -2741,8 +2841,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õ", @@ -2903,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" @@ -3003,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" @@ -3118,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" @@ -3568,6 +3684,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 +4118,14 @@ "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/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" @@ -4003,7 +4135,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": { @@ -4034,6 +4166,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" @@ -4058,14 +4206,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..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": "重設", @@ -1396,22 +1395,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 +1518,6 @@ "tourism": { "label": "類" }, - "towertype": { - "label": "塔類" - }, "tracktype": { "label": "道類", "options": { @@ -2890,10 +2870,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..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": "保存变更", @@ -294,6 +296,7 @@ "inspector": { "no_documentation_combination": "这个标签组合没有可用的说明", "no_documentation_key": "这个键值没有可用的说明", + "documentation_redirect": "这个文档被重定向到一个新的页面", "show_more": "显示更多", "view_on_osm": "在openstreetmap.org上查看", "all_fields": "所有字段", @@ -334,7 +337,6 @@ "switch": "切换回该底图", "custom": "自定义", "custom_button": "编辑自定义背景", - "custom_prompt": "输入瓦片模板。Z/X/Y方案的有效标记是{z},{x},{y},quadtile方案的有效标记是{u}。", "fix_misalignment": "调整影像偏移", "imagery_source_faq": "该影像的来源是?", "reset": "重置", @@ -781,6 +783,9 @@ "barrier": { "label": "类型" }, + "beauty": { + "label": "商店类型" + }, "bench": { "label": "长凳" }, @@ -799,6 +804,9 @@ "whole": "全血" } }, + "board_type": { + "label": "类型" + }, "boundary": { "label": "类型" }, @@ -1020,6 +1028,9 @@ "handrail": { "label": "扶手" }, + "height": { + "label": "高度(米)" + }, "highway": { "label": "类型" }, @@ -1139,6 +1150,12 @@ "man_made": { "label": "类型" }, + "map_size": { + "label": "范围" + }, + "map_type": { + "label": "类型" + }, "maxspeed": { "label": "速度限制", "placeholder": "40, 50, 60..." @@ -1342,6 +1359,12 @@ "recycling_accepts": { "label": "接受" }, + "recycling_type": { + "options": { + "centre": "回收站", + "container": "回收容器" + } + }, "ref": { "label": "参考" }, @@ -1396,22 +1419,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 +1542,8 @@ "tourism": { "label": "类型" }, - "towertype": { - "label": "塔型" + "tower/type": { + "label": "类型" }, "tracktype": { "label": "道路铺设种类", @@ -1549,6 +1556,9 @@ }, "placeholder": "坚硬地面,硬物铺面,软铺面" }, + "traffic_calming": { + "label": "类型" + }, "traffic_signals": { "label": "类型" }, @@ -1612,6 +1622,10 @@ "name": "地址", "terms": "地址,址" }, + "advertising/billboard": { + "name": "广告牌", + "terms": "广告牌,广告,牌" + }, "aerialway": { "name": "缆车线路" }, @@ -1782,8 +1796,8 @@ "terms": "时钟,钟表,钟" }, "amenity/college": { - "name": "大专院校校园", - "terms": "大专校园" + "name": "学院", + "terms": "学院,大专校园,大学,学校" }, "amenity/community_centre": { "name": "社区活动中心", @@ -1861,6 +1875,10 @@ "name": "冰淇淋店", "terms": "冰淇淋店,冷饮店" }, + "amenity/internet_cafe": { + "name": "网吧", + "terms": "网吧,上网咖啡馆,上网咖啡厅" + }, "amenity/kindergarten": { "name": "学前班/幼儿园用地", "terms": "学前班/幼儿园用地" @@ -1953,6 +1971,10 @@ "name": "资源回收设施", "terms": "回收,循环利用,再造" }, + "amenity/recycling_centre": { + "name": "回收站", + "terms": "回收站,回收中心,循环中心,资源回收中心" + }, "amenity/register_office": { "name": "民政登记处" }, @@ -2016,8 +2038,8 @@ "terms": "市政府,市政厅,大会堂" }, "amenity/university": { - "name": "大学校园", - "terms": "大学校园,大学场地" + "name": "大学", + "terms": "大学,学院,学校" }, "amenity/vending_machine/cigarettes": { "name": "香烟售货机", @@ -2071,6 +2093,10 @@ "name": "大型垃圾箱", "terms": "大型垃圾箱,垃圾箱" }, + "amenity/waste_transfer_station": { + "name": "垃圾中转站", + "terms": "垃圾中转站,垃圾,中转站" + }, "amenity/water_point": { "name": "直饮水", "terms": "直饮水" @@ -2186,8 +2212,8 @@ "terms": "教堂建筑" }, "building/college": { - "name": "大专院校建筑", - "terms": "大专院校建筑" + "name": "学院建筑", + "terms": "学院建筑,大专院校建筑,大学建筑,学校建筑" }, "building/commercial": { "name": "商业建筑物", @@ -2289,7 +2315,7 @@ }, "building/university": { "name": "大学建筑", - "terms": "大学建筑" + "terms": "大学建筑,学院建筑,学校建筑" }, "building/warehouse": { "name": "仓库", @@ -2744,6 +2770,10 @@ "name": "环岛", "terms": "环岛" }, + "highway/turning_loop": { + "name": "回车场 (O形)", + "terms": "回车场 (O形),回车场,路末环岛" + }, "highway/unclassified": { "name": "小型/未分级道路", "terms": "小型/未分级道路" @@ -3568,6 +3598,14 @@ "name": "美容店", "terms": "美容院" }, + "shop/beauty/nails": { + "name": "美甲店", + "terms": "美甲店,美甲沙龙" + }, + "shop/beauty/tanning": { + "name": "日光浴沙龙", + "terms": "日光浴沙龙,阳光浴房" + }, "shop/bed": { "name": "床上用品店", "terms": "床上用品店" @@ -4002,10 +4040,6 @@ "name": "旅游名胜", "terms": "旅游名胜" }, - "tourism/camp_site": { - "name": "宿营地", - "terms": "露营区" - }, "tourism/caravan_site": { "name": "房车营地", "terms": "房车营地" @@ -4034,6 +4068,18 @@ "name": "问询处", "terms": "问讯处,问询处,信息中心,游客中心" }, + "tourism/information/guidepost": { + "name": "路标", + "terms": "路标,路牌" + }, + "tourism/information/map": { + "name": "地图", + "terms": "地图" + }, + "tourism/information/office": { + "name": "旅游咨询处", + "terms": "旅游咨询处,旅游问询处,旅游问询中心,旅游咨询中心,旅游咨询服务中心,旅游信息咨询处" + }, "tourism/motel": { "name": "汽车旅馆", "terms": "汽车旅馆" @@ -4058,14 +4104,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..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,7 +337,7 @@ "switch": "切換回這個背景", "custom": "自訂", "custom_button": "編輯自訂背景", - "custom_prompt": "輪入區塊範本的網址。有效的標記是以 {z}, {x}, {y} 作為 Z/X/Y 標記系統 Z/X/Y scheme 和 {u} 作為四分位數標記系統 quadtile scheme。", + "custom_prompt": "輸入區塊範本的網址。有效的標記是以 {z}, {x}, {y} 作為 Z/X/Y 標記系統 Z/X/Y scheme 和 {u} 作為四分位數標記系統 quadtile scheme。", "fix_misalignment": "校正對位誤差", "imagery_source_faq": "這個背景影像來自何處?", "reset": "重設", @@ -758,10 +761,10 @@ } }, "aeroway": { - "label": "類" + "label": "種類" }, "amenity": { - "label": "類" + "label": "種類" }, "area/highway": { "label": "種類" @@ -770,7 +773,7 @@ "label": "藝人" }, "artwork_type": { - "label": "類" + "label": "種類" }, "atm": { "label": "提款機" @@ -779,13 +782,16 @@ "label": "長椅" }, "barrier": { - "label": "類" + "label": "種類" + }, + "beauty": { + "label": "商店種類" }, "bench": { "label": "長椅" }, "bicycle_parking": { - "label": "類" + "label": "種類" }, "bin": { "label": "垃圾筒" @@ -799,8 +805,11 @@ "whole": "全血" } }, + "board_type": { + "label": "種類" + }, "boundary": { - "label": "類" + "label": "種類" }, "brand": { "label": "品牌" @@ -847,7 +856,7 @@ "label": "收集時間" }, "construction": { - "label": "類" + "label": "種類" }, "content": { "label": "內容" @@ -865,7 +874,7 @@ "label": "裁剪" }, "crossing": { - "label": "類" + "label": "種類" }, "cuisine": { "label": "菜系" @@ -958,7 +967,7 @@ "label": "急症室" }, "entrance": { - "label": "類" + "label": "種類" }, "except": { "label": "例外" @@ -970,6 +979,9 @@ "fee": { "label": "費用" }, + "fence_type": { + "label": "種類" + }, "fire_hydrant/type": { "label": "類", "options": { @@ -1007,7 +1019,7 @@ "label": "來源" }, "generator/type": { - "label": "類" + "label": "種類" }, "golf_hole": { "label": "參攷", @@ -1020,11 +1032,14 @@ "handrail": { "label": "扶手" }, + "height": { + "label": "高度 (米)" + }, "highway": { - "label": "類別" + "label": "種類" }, "historic": { - "label": "類別" + "label": "種類" }, "hoops": { "label": "籃框數量", @@ -1050,7 +1065,7 @@ "label": "室內" }, "information": { - "label": "類" + "label": "種類" }, "internet_access": { "label": "用到互聯網", @@ -1065,6 +1080,9 @@ "internet_access/fee": { "label": "互聯網費用" }, + "internet_access/ssid": { + "label": "SSID (網絡名稱)" + }, "kerb": { "label": "下斜路緣" }, @@ -1139,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..." @@ -1253,6 +1281,9 @@ "operator": { "label": "營辦商" }, + "outdoor_seating": { + "label": "室外座位" + }, "par": { "label": "標準桿", "placeholder": "3, 4, 5..." @@ -1342,6 +1373,13 @@ "recycling_accepts": { "label": "接受" }, + "recycling_type": { + "label": "回收種類", + "options": { + "centre": "回收中心", + "container": "回收箱" + } + }, "ref": { "label": "參考" }, @@ -1396,22 +1434,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 +1557,8 @@ "tourism": { "label": "類" }, - "towertype": { - "label": "塔類" + "tower/type": { + "label": "種類" }, "tracktype": { "label": "路徑種類", @@ -1549,6 +1571,9 @@ }, "placeholder": "實心、接近實心、柔性..." }, + "traffic_calming": { + "label": "種類" + }, "traffic_signals": { "label": "訊號種類" }, @@ -1581,6 +1606,9 @@ "street": "5 至 20米 (16 至 65呎)" } }, + "wall": { + "label": "種類" + }, "water": { "label": "類" }, @@ -2728,6 +2756,10 @@ "name": "無保養道路", "terms": "未舖設路面的路" }, + "highway/traffic_mirror": { + "name": "廣角鏡", + "terms": "Traffic Mirror, 魚眼鏡" + }, "highway/traffic_signals": { "name": "交通燈", "terms": "Traffic Signals,交通燈,紅綠燈" @@ -2744,6 +2776,10 @@ "name": "迴車處", "terms": "Turning Circle,回轉圈,迴車場,迴車圓環,車輛迴轉處,車輛迴旋處" }, + "highway/turning_loop": { + "name": "迴車處 (島式)", + "terms": "Turning Loop, 迴車圈" + }, "highway/unclassified": { "name": "次級/未分類道路", "terms": "未分類的道路,小路,小規模道路" @@ -3994,6 +4030,10 @@ "name": "高山小屋", "terms": "Alpine Hut,高山小屋,高山屋仔" }, + "tourism/aquarium": { + "name": "水族館", + "terms": "Aquarium, 水族館" + }, "tourism/artwork": { "name": "藝術品", "terms": "Artwork,藝術品" @@ -4002,10 +4042,6 @@ "name": "觀光名勝", "terms": "Tourist Attraction,旅行名勝,旅遊名勝,觀光點,觀光景點" }, - "tourism/camp_site": { - "name": "營地", - "terms": "Camp Site,營地,露營區" - }, "tourism/caravan_site": { "name": "露營車營地", "terms": "RV Park,房車營地,露營車停車場,露營車營地" @@ -4034,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 28d392cd0..0954ea327 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": "全部欄位", @@ -334,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": "重設", @@ -781,6 +784,9 @@ "barrier": { "label": "種類" }, + "beauty": { + "label": "商店類型" + }, "bench": { "label": "長凳" }, @@ -799,6 +805,9 @@ "whole": "全血" } }, + "board_type": { + "label": "種類" + }, "boundary": { "label": "種類" }, @@ -811,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..." @@ -849,6 +873,10 @@ "construction": { "label": "種類" }, + "contact/webcam": { + "label": "網路攝影機 URL", + "placeholder": "http://example.com/" + }, "content": { "label": "內容" }, @@ -970,6 +998,9 @@ "fee": { "label": "費用" }, + "fence_type": { + "label": "種類" + }, "fire_hydrant/type": { "label": "種類", "options": { @@ -1020,6 +1051,9 @@ "handrail": { "label": "扶手" }, + "height": { + "label": "高度(公尺)" + }, "highway": { "label": "種類" }, @@ -1065,6 +1099,9 @@ "internet_access/fee": { "label": "網路存取費用" }, + "internet_access/ssid": { + "label": "SSID (網路名稱)" + }, "kerb": { "label": "路邊斜坡" }, @@ -1139,6 +1176,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..." @@ -1253,6 +1300,9 @@ "operator": { "label": "營運商" }, + "outdoor_seating": { + "label": "戶外座位" + }, "par": { "label": "標準桿數", "placeholder": "3,4,5..." @@ -1342,6 +1392,13 @@ "recycling_accepts": { "label": "接受" }, + "recycling_type": { + "label": "回收品項", + "options": { + "centre": "回收中心", + "container": "回收箱" + } + }, "ref": { "label": "編號" }, @@ -1396,21 +1453,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": "服務類型", @@ -1511,6 +1555,20 @@ "surface": { "label": "路面鋪設" }, + "surveillance": { + "label": "監視種類" + }, + "surveillance/type": { + "label": "監視類型", + "options": { + "ALPR": "自動牌照讀取器", + "camera": "相機", + "guard": "守衛" + } + }, + "surveillance/zone": { + "label": "監視區域" + }, "tactile_paving": { "label": "人行道視障引導設施" }, @@ -1535,8 +1593,12 @@ "tourism": { "label": "種類" }, - "towertype": { - "label": "塔的種類" + "tower/construction": { + "label": "建材", + "placeholder": "拉線、鋼格、偽裝、..." + }, + "tower/type": { + "label": "類型" }, "tracktype": { "label": "產業道路種類", @@ -1549,6 +1611,9 @@ }, "placeholder": "堅硬地面、硬物鋪面、軟鋪面" }, + "traffic_calming": { + "label": "種類" + }, "traffic_signals": { "label": "號誌種類" }, @@ -1581,6 +1646,9 @@ "street": "5 到 20 公尺(16 到 65 英呎)" } }, + "wall": { + "label": "種類" + }, "water": { "label": "種類" }, @@ -1612,6 +1680,10 @@ "name": "地址", "terms": "地址,位置,位址" }, + "advertising/billboard": { + "name": "廣告牌", + "terms": "廣告看板" + }, "aerialway": { "name": "纜車路線" }, @@ -1801,6 +1873,10 @@ "name": "共同工作空間", "terms": "共同工作空間,共用工作空間,coworking space" }, + "amenity/crematorium": { + "name": "火葬場", + "terms": "火葬場" + }, "amenity/dentist": { "name": "牙醫", "terms": "牙醫診所" @@ -1833,6 +1909,10 @@ "name": "消防局", "terms": "消防隊,救火隊" }, + "amenity/food_court": { + "name": "美食街", + "terms": "美食街,美食中心" + }, "amenity/fountain": { "name": "噴水池", "terms": "噴水泉" @@ -1861,6 +1941,10 @@ "name": "冰淇淋店", "terms": "冰淇淋店,冰淇淋" }, + "amenity/internet_cafe": { + "name": "網咖", + "terms": "網咖" + }, "amenity/kindergarten": { "name": "育幼院/幼稚園範圍", "terms": "育幼院/幼兒園,育幼院/幼稚園用地,育幼院,幼兒園,幼稚園" @@ -1953,6 +2037,10 @@ "name": "回收設施", "terms": "回收筒,回收箱" }, + "amenity/recycling_centre": { + "name": "回收中心", + "terms": "資源回收中心" + }, "amenity/register_office": { "name": "戶政事務所" }, @@ -2071,6 +2159,10 @@ "name": "垃圾場", "terms": "垃圾集中處,垃圾放置點" }, + "amenity/waste_transfer_station": { + "name": "垃圾清運站", + "terms": "垃圾轉運站" + }, "amenity/water_point": { "name": "RV 飲用水", "terms": "運水車" @@ -2295,6 +2387,10 @@ "name": "倉庫", "terms": "倉庫" }, + "camp_site/camp_pitch": { + "name": "露營營地", + "terms": "露營營地,露營場地,營地" + }, "craft": { "name": "工藝", "terms": "工藝" @@ -2553,6 +2649,14 @@ "name": "球洞", "terms": "球洞" }, + "golf/lateral_water_hazard_area": { + "name": "側面水障礙區", + "terms": "側面水障礙區" + }, + "golf/lateral_water_hazard_line": { + "name": "側面水障礙區", + "terms": "側面水障礙區" + }, "golf/rough": { "name": "深草區", "terms": "深草區" @@ -2561,6 +2665,14 @@ "name": "開球區", "terms": "開球區" }, + "golf/water_hazard_area": { + "name": "水障礙區", + "terms": "水障礙區" + }, + "golf/water_hazard_line": { + "name": "水障礙區", + "terms": "水障礙區" + }, "healthcare/blood_donation": { "name": "捐血中心", "terms": "捐血中心,捐血站,捐血車" @@ -2712,6 +2824,10 @@ "name": "未舖設路面的車徑", "terms": "未舖設路面的車徑" }, + "highway/traffic_mirror": { + "name": "道路反射鏡", + "terms": "反射鏡,交通反射鏡" + }, "highway/traffic_signals": { "name": "紅綠燈", "terms": "交通燈,交通號誌,交通信號燈" @@ -2728,6 +2844,10 @@ "name": "回轉圈", "terms": "回轉圈" }, + "highway/turning_loop": { + "name": "迴轉圓環", + "terms": "迴轉圓環,迴轉道" + }, "highway/unclassified": { "name": "小道路/未分類道路", "terms": "小道路/未分類道路" @@ -2887,6 +3007,10 @@ "name": "公共用地", "terms": "公有地" }, + "leisure/dance": { + "name": "舞廳", + "terms": "跳舞場所" + }, "leisure/dog_park": { "name": "狗公園", "terms": "寵物公園" @@ -2987,6 +3111,10 @@ "name": "遊樂場", "terms": "遊樂場" }, + "leisure/resort": { + "name": "度假勝地", + "terms": "度假村" + }, "leisure/running_track": { "name": "操場", "terms": "跑道,跑步跑道,賽跑跑道" @@ -3102,6 +3230,10 @@ "name": "監視器", "terms": "監視錄影器" }, + "man_made/surveillance_camera": { + "name": "監視器", + "terms": "監視器" + }, "man_made/survey_point": { "name": "測量點", "terms": "三角點,土地測量點,控制點" @@ -3552,6 +3684,14 @@ "name": "美容店", "terms": "理容院,美妝店,護膚中心,指甲美容" }, + "shop/beauty/nails": { + "name": "指甲美容店", + "terms": "修指甲店,修指甲" + }, + "shop/beauty/tanning": { + "name": "日曬沙龍", + "terms": "日光浴店,曬黑沙龍" + }, "shop/bed": { "name": "床具/寐具店", "terms": "床具店,寐具店,寢具店" @@ -3978,6 +4118,14 @@ "name": "高山小屋", "terms": "高山小屋" }, + "tourism/apartment": { + "name": "假日公寓", + "terms": "假日公寓,日租型套房" + }, + "tourism/aquarium": { + "name": "水族館(展覽館)", + "terms": "水族館,海洋世界,海洋公園" + }, "tourism/artwork": { "name": "公共藝術", "terms": "藝術品,街頭藝術" @@ -3987,8 +4135,8 @@ "terms": "觀光點" }, "tourism/camp_site": { - "name": "露營營地", - "terms": "露營地,營地" + "name": "露營地", + "terms": "營地" }, "tourism/caravan_site": { "name": "露營車停車場", @@ -4018,6 +4166,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 +4206,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": "房车营地" }, 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/index.html b/index.html index e8638d677..7168ff60b 100644 --- a/index.html +++ b/index.html @@ -17,29 +17,30 @@
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/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/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/modules/core/context.js b/modules/core/context.js index 5007e9569..e2f49a15f 100644 --- a/modules/core/context.js +++ b/modules/core/context.js @@ -1,11 +1,11 @@ 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'; import { modeSelect } from '../modes/select'; -import { presetInit } from '../presets/init'; +import { presetIndex } from '../presets/index'; import { rendererBackground } from '../renderer/background'; import { rendererFeatures } from '../renderer/features'; import { rendererMap } from '../renderer/map'; @@ -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'); @@ -217,6 +212,11 @@ export function coreContext(root) { }; + /* Presets */ + var presets; + context.presets = function() { return presets; }; + + /* Map */ var map; context.map = function() { return map; }; @@ -254,23 +254,6 @@ export function coreContext(root) { }; - /* Presets */ - var presets; - context.presets = function(_) { - if (!arguments.length) return presets; - presets.load(_); - areaKeys = presets.areaKeys(); - return context; - }; - - - /* Imagery */ - context.imagery = function(_) { - background.load(_); - return context; - }; - - /* Container */ var container, embed; context.container = function(_) { @@ -310,24 +293,40 @@ 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; }; - context.loadLocale = function(cb) { - if (locale && locale !== 'en' && dataLocales.indexOf(locale) !== -1) { + context.loadLocale = function(callback) { + if (locale && locale !== 'en' && dataLocales.hasOwnProperty(locale)) { 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); + utilDetect(true); + } + if (callback) { + callback(err); + } }); } else { - cb(); + if (locale) { + setLocale(locale); + utilDetect(true); + } + if (callback) { + callback(); + } } }; @@ -336,7 +335,7 @@ export function coreContext(root) { context.reset = context.flush = function() { context.debouncedSave.cancel(); _.each(services, function(service) { - if (typeof service.reset === 'function') { + if (service && typeof service.reset === 'function') { service.reset(context); } }); @@ -347,12 +346,12 @@ export function coreContext(root) { /* Init */ - context.version = '2.0.0-beta.1'; + context.version = '2.0.1'; context.projection = geoRawMercator(); locale = utilDetect().locale; - if (locale && dataLocales.indexOf(locale) === -1) { + if (locale && !dataLocales.hasOwnProperty(locale)) { locale = locale.split('-')[0]; } @@ -382,9 +381,9 @@ export function coreContext(root) { ui = uiInit(context); connection = services.osm; - background = rendererBackground(context); features = rendererFeatures(context); + presets = presetIndex(); map = rendererMap(context); context.mouse = map.mouse; @@ -396,14 +395,16 @@ export function coreContext(root) { context.zoomOutFurther = map.zoomOutFurther; context.redrawEnable = map.redrawEnable; - presets = presetInit(); - _.each(services, function(service) { - if (typeof service.init === 'function') { + 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/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/lib/d3.keybinding.js b/modules/lib/d3.keybinding.js index c152f6d97..7c9ec918a 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, @@ -164,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/modes/select.js b/modules/modes/select.js index 064f197df..72212850c 100644 --- a/modules/modes/select.js +++ b/modules/modes/select.js @@ -29,7 +29,11 @@ import { modeBrowse } from './browse'; import { modeDragNode } from './drag_node'; import * as Operations from '../operations/index'; import { uiRadialMenu, uiSelectionList } from '../ui/index'; -import { utilEntityOrMemberSelector } from '../util/index'; +import { uiCmd } from '../ui/cmd'; +import { utilEntityOrMemberSelector, utilEntitySelector } from '../util/index'; + + +var relatedParent; export function modeSelect(context, selectedIDs) { @@ -52,7 +56,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 +71,73 @@ 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(), + 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) { + relatedParent = null; + return null; + } + + // 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) { + relatedParent = parents[0]; // remember this parent for later + return relatedParent; + } + + if (parents.indexOf(relatedParent) !== -1) { + return relatedParent; // prefer the previously seen parent + } + + return parents[0]; + } + + function closeMenu() { if (radialMenu) { context.surface().call(radialMenu.close); @@ -115,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(); @@ -139,14 +214,18 @@ export function modeSelect(context, selectedIDs) { }; + mode.follow = function(_) { + if (!arguments.length) return follow; + follow = _; + return mode; + }; + + mode.enter = function() { function update() { closeMenu(); - if (_.some(selectedIDs, function(id) { return !context.hasEntity(id); })) { - // Exit mode if selected entity gets undone - context.enter(modeBrowse(context)); - } + checkSelectedIDs(); } @@ -173,17 +252,33 @@ export function modeSelect(context, selectedIDs) { function selectElements(drawn) { - var entity = singular(); + if (!checkSelectedIDs()) return; + + var surface = context.surface(), + entity = singular(); + if (entity && context.geometry(entity.id) === 'relation') { suppressMenu = true; return; } + surface.selectAll('.related') + .classed('related', false); + + singularParent(); + if (relatedParent) { + surface.selectAll(utilEntitySelector([relatedParent])) + .classed('related', true); + } + var selection = context.surface() - .selectAll(utilEntityOrMemberSelector(selectedIDs, context.graph())); + .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 { @@ -200,6 +295,103 @@ export function modeSelect(context, selectedIDs) { } + function firstVertex() { + d3.event.preventDefault(); + var parent = singularParent(); + if (parent) { + var way = context.entity(parent); + context.enter( + modeSelect(context, [way.first()]).follow(true).suppressMenu(true) + ); + } + } + + + function lastVertex() { + d3.event.preventDefault(); + var parent = singularParent(); + if (parent) { + var way = context.entity(parent); + context.enter( + modeSelect(context, [way.last()]).follow(true).suppressMenu(true) + ); + } + } + + + function previousVertex() { + 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).suppressMenu(true) + ); + } + } + + + function nextVertex() { + 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).suppressMenu(true) + ); + } + } + + + 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); + + if (relatedParent) { + surface.selectAll(utilEntitySelector([relatedParent])) + .classed('related', true); + } + } + + + if (!checkSelectedIDs()) return; + behaviors.forEach(function(behavior) { context.install(behavior); }); @@ -211,6 +403,11 @@ export function modeSelect(context, selectedIDs) { operations.unshift(Operations.operationDelete(selectedIDs, context)); keybinding + .on(['[','pgup'], previousVertex) + .on([']', 'pgdown'], nextVertex) + .on([uiCmd('⌘['), 'home'], firstVertex) + .on([uiCmd('⌘]'), 'end'], lastVertex) + .on(['\\', 'pause'], nextParent) .on('⎋', esc, true) .on('space', toggleMenu); @@ -248,6 +445,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(); @@ -281,11 +490,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(); }; diff --git a/modules/operations/delete.js b/modules/operations/delete.js index 6b8042a22..af046916f 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); @@ -44,13 +44,16 @@ 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)); } - context.perform(action, annotation); }; 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; } } diff --git a/modules/presets/index.js b/modules/presets/index.js index ba2c815f9..43fe473d6 100644 --- a/modules/presets/index.js +++ b/modules/presets/index.js @@ -1,5 +1,177 @@ -export { presetCategory } from './category.js'; -export { presetCollection } from './collection.js'; -export { presetField } from './field.js'; -export { presetInit } from './init.js'; -export { presetPreset } from './preset.js'; +import _ from 'lodash'; +import { data } from '../../data/index'; +import { presetCategory } from './category'; +import { presetCollection } from './collection'; +import { presetField } from './field'; +import { presetPreset } from './preset'; + +export { presetCategory }; +export { presetCollection }; +export { presetField }; +export { presetPreset }; + + +export function presetIndex() { + // a presetCollection with methods for + // loading new data and returning defaults + + var all = presetCollection([]), + defaults = { area: all, line: all, point: all, vertex: all, relation: all }, + fields = {}, + universal = [], + recent = presetCollection([]); + + // Index of presets by (geometry, tag key). + var index = { + point: {}, + vertex: {}, + line: {}, + area: {}, + relation: {} + }; + + all.match = function(entity, resolver) { + var geometry = entity.geometry(resolver); + + // Treat entities on addr:interpolation lines as points, not vertices (#3241) + if (geometry === 'vertex' && entity.isOnAddressLine(resolver)) { + geometry = 'point'; + } + + var geometryMatches = index[geometry], + best = -1, + match; + + for (var k in entity.tags) { + var keyMatches = geometryMatches[k]; + if (!keyMatches) continue; + + for (var i = 0; i < keyMatches.length; i++) { + var score = keyMatches[i].matchScore(entity); + if (score > best) { + best = score; + match = keyMatches[i]; + } + } + } + + return match || all.item(geometry); + }; + + + // Because of the open nature of tagging, iD will never have a complete + // list of tags used in OSM, so we want it to have logic like "assume + // that a closed way with an amenity tag is an area, unless the amenity + // is one of these specific types". This function computes a structure + // that allows testing of such conditions, based on the presets designated + // as as supporting (or not supporting) the area geometry. + // + // The returned object L is a whitelist/blacklist of tags. A closed way + // with a tag (k, v) is considered to be an area if `k in L && !(v in L[k])` + // (see `Way#isArea()`). In other words, the keys of L form the whitelist, + // and the subkeys form the blacklist. + all.areaKeys = function() { + var areaKeys = {}, + ignore = ['barrier', 'highway', 'footway', 'railway', 'type'], + presets = _.reject(all.collection, 'suggestion'); + + // whitelist + presets.forEach(function(d) { + for (var key in d.tags) break; + if (!key) return; + if (ignore.indexOf(key) !== -1) return; + + if (d.geometry.indexOf('area') !== -1) { + areaKeys[key] = areaKeys[key] || {}; + } + }); + + // blacklist + presets.forEach(function(d) { + for (var key in d.tags) break; + if (!key) return; + if (ignore.indexOf(key) !== -1) return; + + var value = d.tags[key]; + if (d.geometry.indexOf('area') === -1 && + d.geometry.indexOf('line') !== -1 && + key in areaKeys && value !== '*') { + areaKeys[key][value] = true; + } + }); + + return areaKeys; + }; + + + all.init = function() { + var d = data.presets; + + if (d.fields) { + _.forEach(d.fields, function(d, id) { + fields[id] = presetField(id, d); + if (d.universal) universal.push(fields[id]); + }); + } + + if (d.presets) { + _.forEach(d.presets, function(d, id) { + all.collection.push(presetPreset(id, d, fields)); + }); + } + + if (d.categories) { + _.forEach(d.categories, function(d, id) { + all.collection.push(presetCategory(id, d, all)); + }); + } + + if (d.defaults) { + var getItem = _.bind(all.item, all); + defaults = { + area: presetCollection(d.defaults.area.map(getItem)), + line: presetCollection(d.defaults.line.map(getItem)), + point: presetCollection(d.defaults.point.map(getItem)), + vertex: presetCollection(d.defaults.vertex.map(getItem)), + relation: presetCollection(d.defaults.relation.map(getItem)) + }; + } + + for (var i = 0; i < all.collection.length; i++) { + var preset = all.collection[i], + geometry = preset.geometry; + + for (var j = 0; j < geometry.length; j++) { + var g = index[geometry[j]]; + for (var k in preset.tags) { + (g[k] = g[k] || []).push(preset); + } + } + } + + return all; + }; + + all.field = function(id) { + return fields[id]; + }; + + all.universal = function() { + return universal; + }; + + all.defaults = function(geometry, n) { + var rec = recent.matchGeometry(geometry).collection.slice(0, 4), + def = _.uniq(rec.concat(defaults[geometry].collection)).slice(0, n - 1); + return presetCollection(_.uniq(rec.concat(def).concat(all.item(geometry)))); + }; + + all.choose = function(preset) { + if (!preset.isFallback()) { + recent = presetCollection(_.uniq([preset].concat(recent.collection))); + } + return all; + }; + + return all; +} diff --git a/modules/presets/init.js b/modules/presets/init.js deleted file mode 100644 index 1a244c2db..000000000 --- a/modules/presets/init.js +++ /dev/null @@ -1,168 +0,0 @@ -import _ from 'lodash'; -import { presetCategory } from './category'; -import { presetCollection } from './collection'; -import { presetField } from './field'; -import { presetPreset } from './preset'; - - -export function presetInit() { - // a presetCollection with methods for - // loading new data and returning defaults - - var all = presetCollection([]), - defaults = { area: all, line: all, point: all, vertex: all, relation: all }, - fields = {}, - universal = [], - recent = presetCollection([]); - - // Index of presets by (geometry, tag key). - var index = { - point: {}, - vertex: {}, - line: {}, - area: {}, - relation: {} - }; - - all.match = function(entity, resolver) { - var geometry = entity.geometry(resolver); - - // Treat entities on addr:interpolation lines as points, not vertices (#3241) - if (geometry === 'vertex' && entity.isOnAddressLine(resolver)) { - geometry = 'point'; - } - - var geometryMatches = index[geometry], - best = -1, - match; - - for (var k in entity.tags) { - var keyMatches = geometryMatches[k]; - if (!keyMatches) continue; - - for (var i = 0; i < keyMatches.length; i++) { - var score = keyMatches[i].matchScore(entity); - if (score > best) { - best = score; - match = keyMatches[i]; - } - } - } - - return match || all.item(geometry); - }; - - // Because of the open nature of tagging, iD will never have a complete - // list of tags used in OSM, so we want it to have logic like "assume - // that a closed way with an amenity tag is an area, unless the amenity - // is one of these specific types". This function computes a structure - // that allows testing of such conditions, based on the presets designated - // as as supporting (or not supporting) the area geometry. - // - // The returned object L is a whitelist/blacklist of tags. A closed way - // with a tag (k, v) is considered to be an area if `k in L && !(v in L[k])` - // (see `Way#isArea()`). In other words, the keys of L form the whitelist, - // and the subkeys form the blacklist. - all.areaKeys = function() { - var areaKeys = {}, - ignore = ['barrier', 'highway', 'footway', 'railway', 'type'], - presets = _.reject(all.collection, 'suggestion'); - - // whitelist - presets.forEach(function(d) { - for (var key in d.tags) break; - if (!key) return; - if (ignore.indexOf(key) !== -1) return; - - if (d.geometry.indexOf('area') !== -1) { - areaKeys[key] = areaKeys[key] || {}; - } - }); - - // blacklist - presets.forEach(function(d) { - for (var key in d.tags) break; - if (!key) return; - if (ignore.indexOf(key) !== -1) return; - - var value = d.tags[key]; - if (d.geometry.indexOf('area') === -1 && - d.geometry.indexOf('line') !== -1 && - key in areaKeys && value !== '*') { - areaKeys[key][value] = true; - } - }); - - return areaKeys; - }; - - all.load = function(d) { - - if (d.fields) { - _.forEach(d.fields, function(d, id) { - fields[id] = presetField(id, d); - if (d.universal) universal.push(fields[id]); - }); - } - - if (d.presets) { - _.forEach(d.presets, function(d, id) { - all.collection.push(presetPreset(id, d, fields)); - }); - } - - if (d.categories) { - _.forEach(d.categories, function(d, id) { - all.collection.push(presetCategory(id, d, all)); - }); - } - - if (d.defaults) { - var getItem = _.bind(all.item, all); - defaults = { - area: presetCollection(d.defaults.area.map(getItem)), - line: presetCollection(d.defaults.line.map(getItem)), - point: presetCollection(d.defaults.point.map(getItem)), - vertex: presetCollection(d.defaults.vertex.map(getItem)), - relation: presetCollection(d.defaults.relation.map(getItem)) - }; - } - - for (var i = 0; i < all.collection.length; i++) { - var preset = all.collection[i], - geometry = preset.geometry; - - for (var j = 0; j < geometry.length; j++) { - var g = index[geometry[j]]; - for (var k in preset.tags) { - (g[k] = g[k] || []).push(preset); - } - } - } - - return all; - }; - - all.field = function(id) { - return fields[id]; - }; - - all.universal = function() { - return universal; - }; - - all.defaults = function(geometry, n) { - var rec = recent.matchGeometry(geometry).collection.slice(0, 4), - def = _.uniq(rec.concat(defaults[geometry].collection)).slice(0, n - 1); - return presetCollection(_.uniq(rec.concat(def).concat(all.item(geometry)))); - }; - - all.choose = function(preset) { - if (!preset.isFallback()) { - recent = presetCollection(_.uniq([preset].concat(recent.collection))); - } - return all; - }; - - return all; -} diff --git a/modules/renderer/background.js b/modules/renderer/background.js index 49a94321e..0a37d6511 100644 --- a/modules/renderer/background.js +++ b/modules/renderer/background.js @@ -1,10 +1,11 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { utilRebind } from '../util/rebind'; +import { data } from '../../data/index'; import { geoExtent, geoMetersToOffset, geoOffsetToMeters} from '../geo/index'; -import { utilQsString, utilStringQs } from '../util/index'; import { rendererBackgroundSource } from './background_source'; import { rendererTileLayer } from './tile_layer'; +import { utilQsString, utilStringQs } from '../util/index'; +import { utilRebind } from '../util/rebind'; export function rendererBackground(context) { @@ -26,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') @@ -38,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), @@ -81,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()) { @@ -126,7 +127,32 @@ export function rendererBackground(context) { background.baseLayerSource = function(d) { if (!arguments.length) return baseLayer.source(); - baseLayer.source(d); + + // test source against OSM imagery blacklists.. + var blacklists = context.connection().imageryBlacklists(); + + 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('.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*'); + fail = regex.test(d.template); + } + + baseLayer.source(!fail ? d : rendererBackgroundSource.None()); dispatch.call('change'); background.updateImagery(); return background; @@ -139,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; }); }; @@ -191,20 +216,21 @@ export function rendererBackground(context) { }; - background.load = function(imagery) { + background.init = function() { function parseMap(qmap) { 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 q = utilStringQs(window.location.hash.substring(1)), + var dataImagery = data.imagery || [], + q = utilStringQs(window.location.hash.substring(1)), chosen = q.background || q.layer, extent = parseMap(q.map), best; - backgroundSources = imagery.map(function(source) { + backgroundSources = dataImagery.map(function(source) { if (source.type === 'bing') { return rendererBackgroundSource.Bing(source, dispatch); } else { 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'; }; diff --git a/modules/renderer/map.js b/modules/renderer/map.js index 3203713bc..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,16 +45,17 @@ 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; 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) + .filter(zoomEventFilter) + .on('zoom', zoomPan); var _selection = d3.select(null); @@ -64,12 +66,31 @@ export function rendererMap(context) { context .on('change.map', immediateRedraw); - context.history() + + context.connection() .on('change.map', immediateRedraw); + + context.history() + .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(); @@ -143,7 +164,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 } @@ -264,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 @@ -324,9 +378,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; }; @@ -349,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; @@ -542,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/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/services/osm.js b/modules/services/osm.js index b888f42d4..defbf6ec1 100644 --- a/modules/services/osm.js +++ b/modules/services/osm.js @@ -9,10 +9,11 @@ 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', + blacklists = ['.*\.google(apis)?\..*/(vt|kh)[\?/].*([xyz]=.*){3}.*'], inflight = {}, loadedTiles = {}, tileZoom = 16, @@ -20,25 +21,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 +133,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,12 +155,13 @@ function parse(dom) { export default { init: function() { - this.event = utilRebind(this, dispatch, 'on'); + utilRebind(this, dispatch, 'on'); }, reset: function() { userDetails = undefined; + rateLimitError = undefined; _.forEach(inflight, abortRequest); loadedTiles = {}; inflight = {}; @@ -189,9 +194,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 { @@ -401,16 +431,42 @@ export default { status: function(callback) { - function done(capabilities) { - var apiStatus = capabilities.getElementsByTagName('status'); - callback(undefined, apiStatus[0].getAttribute('api')); + function done(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 = xml.getElementsByTagName('status'), + val = apiStatus[0].getAttribute('api'); + + callback(undefined, val); + } } + d3.xml(urlroot + '/api/capabilities').get() .on('load', done) .on('error', callback); }, + imageryBlacklists: function() { + return blacklists; + }, + + tileZoom: function(_) { if (!arguments.length) return tileZoom; tileZoom = _; @@ -467,8 +523,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 +535,8 @@ export default { if (_.isEmpty(inflight)) { dispatch.call('loaded'); } - }); + } + ); }); }, @@ -487,10 +546,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 +571,7 @@ export default { logout: function() { userDetails = undefined; oauth.logout(); - dispatch.call('auth'); + dispatch.call('change'); return this; }, @@ -520,7 +579,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/svg/debug.js b/modules/svg/debug.js index 82130238d..9a4e53d38 100644 --- a/modules/svg/debug.js +++ b/modules/svg/debug.js @@ -1,9 +1,9 @@ import * as d3 from 'd3'; import { geoPolygonIntersectsPolygon } from '../geo/index'; import { + data, dataImperial, - dataDriveLeft, - dataImagery + dataDriveLeft } from '../../data/index'; @@ -83,6 +83,7 @@ export function svgDebug(projection, context) { var extent = context.map().extent(), + dataImagery = data.imagery || [], availableImagery = showsImagery && multipolygons(dataImagery.filter(function(source) { if (!source.polygon) return false; return source.polygon.some(function(polygon) { diff --git a/modules/svg/labels.js b/modules/svg/labels.js index 0abc70992..88adf4906 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), @@ -584,35 +588,66 @@ 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.hasEntity(selectedIDs[i]); + if (!entity) continue; + 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); }; 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; 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/background.js b/modules/ui/background.js index 2e956fb92..f3389a616 100644 --- a/modules/ui/background.js +++ b/modules/ui/background.js @@ -58,21 +58,23 @@ export function uiBackground(context) { function setTooltips(selection) { - selection.each(function(d) { - var item = d3.select(this); + selection.each(function(d, i, nodes) { + var item = d3.select(this).select('label'), + placement = (i < nodes.length / 2) ? 'bottom' : 'top'; + if (d === previous) { item.call(tooltip() + .placement(placement) .html(true) .title(function() { var tip = '
' + t('background.switch') + '
'; return uiTooltipHtml(tip, uiCmd('⌘B')); }) - .placement('top') ); } else if (d.description) { item.call(tooltip() + .placement(placement) .title(d.description) - .placement('top') ); } else { item.call(tooltip().destroy); @@ -96,8 +98,8 @@ export function uiBackground(context) { function clickSetSource(d) { - previous = context.background().baseLayerSource(); d3.event.preventDefault(); + previous = context.background().baseLayerSource(); context.background().baseLayerSource(d); selectLayer(); document.activeElement.blur(); @@ -107,21 +109,19 @@ 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); } function setCustom(template) { - context.background().baseLayerSource(rendererBackgroundSource.Custom(template)); - selectLayer(); context.storage('background-custom-template', template); + var d = rendererBackgroundSource.Custom(template); + content.selectAll('.custom_layer').datum(d); + clickSetSource(d); } @@ -141,6 +141,9 @@ export function uiBackground(context) { var layerLinks = layerList.selectAll('li.layer') .data(sources, function(d) { return d.name(); }); + layerLinks.exit() + .remove(); + var enter = layerLinks.enter() .insert('li', '.custom_layer') .attr('class', 'layer') @@ -155,20 +158,20 @@ export function uiBackground(context) { .append('span') .html('★'); - var label = enter.append('label'); + var label = enter + .append('label'); - label.append('input') + label + .append('input') .attr('type', type) .attr('name', 'layers') .on('change', change); - label.append('span') + label + .append('span') .text(function(d) { return d.name(); }); - layerLinks.exit() - .remove(); - layerList.selectAll('li.layer') .sort(sortSources) .style('display', layerList.selectAll('li.layer').data().length > 0 ? 'block' : 'none'); @@ -208,6 +211,7 @@ export function uiBackground(context) { function resetOffset() { + if (d3.event.button !== 0) return; context.background().offset([0, 0]); updateOffsetVal(); } @@ -220,22 +224,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 +269,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 +288,7 @@ export function uiBackground(context) { nudge(d); }) .on('mouseup.offset', function() { + if (d3.event.button !== 0) return; d3.selectAll('.nudge-surface') .remove(); @@ -313,15 +327,17 @@ export function uiBackground(context) { if (show) { selection.on('mousedown.background-inside', function() { - return d3.event.stopPropagation(); + d3.event.stopPropagation(); }); - content.style('display', 'block') + content + .style('display', 'block') .style('right', '-300px') .transition() .duration(200) .style('right', '0px'); } else { - content.style('display', 'block') + content + .style('display', 'block') .style('right', '0px') .transition() .duration(200) @@ -335,13 +351,15 @@ export function uiBackground(context) { } - var content = selection.append('div') + var content = selection + .append('div') .attr('class', 'fillL map-overlay col3 content hide'), tooltipBehavior = tooltip() .placement((textDirection === 'rtl') ? 'right' : 'left') .html(true) .title(uiTooltipHtml(t('background.description'), key)), - button = selection.append('button') + button = selection + .append('button') .attr('tabindex', -1) .on('click', toggle) .call(svgIcon('#icon-layers', 'light')) @@ -351,13 +369,16 @@ export function uiBackground(context) { /* opacity switcher */ - var opa = content.append('div') + var opawrap = content + .append('div') .attr('class', 'opacity-options-wrapper'); - opa.append('h4') + opawrap + .append('h4') .text(t('background.title')); - var opacityList = opa.append('ul') + var opacityList = opawrap + .append('ul') .attr('class', 'opacity-options'); opacityList.selectAll('div.opacity') @@ -378,15 +399,18 @@ export function uiBackground(context) { /* background switcher */ - var backgroundList = content.append('ul') + var backgroundList = content + .append('ul') .attr('class', 'layer-list') .attr('dir', 'auto'); - var custom = backgroundList.append('li') + var custom = backgroundList + .append('li') .attr('class', 'custom_layer') .datum(rendererBackgroundSource.Custom()); - custom.append('button') + custom + .append('button') .attr('class', 'layer-browse') .call(tooltip() .title(t('background.custom_button')) @@ -394,9 +418,11 @@ export function uiBackground(context) { .on('click', editCustom) .call(svgIcon('#icon-search')); - var label = custom.append('label'); + var label = custom + .append('label'); - label.append('input') + label + .append('input') .attr('type', 'radio') .attr('name', 'layers') .on('change', function () { @@ -407,10 +433,12 @@ export function uiBackground(context) { } }); - label.append('span') + label + .append('span') .text(t('background.custom')); - content.append('div') + content + .append('div') .attr('class', 'imagery-faq') .append('a') .attr('target', '_blank') @@ -420,10 +448,12 @@ export function uiBackground(context) { .append('span') .text(t('background.imagery_source_faq')); - var overlayList = content.append('ul') + var overlayList = content + .append('ul') .attr('class', 'layer-list'); - var controls = content.append('div') + var controls = content + .append('div') .attr('class', 'controls-list'); @@ -437,7 +467,8 @@ export function uiBackground(context) { .placement('top') ); - minimapLabel.classed('minimap-toggle', true) + minimapLabel + .classed('minimap-toggle', true) .append('input') .attr('type', 'checkbox') .on('change', function() { @@ -445,57 +476,69 @@ export function uiBackground(context) { d3.event.preventDefault(); }); - minimapLabel.append('span') + minimapLabel + .append('span') .text(t('background.minimap.description')); /* imagery offset controls */ - var adjustments = content.append('div') + var adjustments = content + .append('div') .attr('class', 'adjustments'); - adjustments.append('a') + adjustments + .append('a') .text(t('background.fix_misalignment')) .attr('href', '#') .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); d3.event.preventDefault(); }); - var nudgeContainer = adjustments.append('div') + var nudgeContainer = adjustments + .append('div') .attr('class', 'nudge-container cf') .style('display', 'none'); - nudgeContainer.append('div') + nudgeContainer + .append('div') .attr('class', 'nudge-instructions') .text(t('background.offset')); - var nudgeRect = nudgeContainer.append('div') + var nudgeRect = nudgeContainer + .append('div') .attr('class', 'nudge-outer-rect') .on('mousedown', dragOffset); - nudgeRect.append('div') + nudgeRect + .append('div') .attr('class', 'nudge-inner-rect') .append('input') .on('change', inputOffset) .on('mousedown', function() { + if (d3.event.button !== 0) return; d3.event.stopPropagation(); }); - nudgeContainer.append('div') + nudgeContainer + .append('div') .selectAll('button') .data(directions).enter() .append('button') .attr('class', function(d) { return d[0] + ' nudge'; }) .on('mousedown', function(d) { + if (d3.event.button !== 0) return; buttonOffset(d[1]); }); - nudgeContainer.append('button') + nudgeContainer + .append('button') .attr('title', t('background.reset')) .attr('class', 'nudge-reset disabled') .on('click', resetOffset) diff --git a/modules/ui/commit.js b/modules/ui/commit.js index 94a514a61..b6b7080fa 100644 --- a/modules/ui/commit.js +++ b/modules/ui/commit.js @@ -1,11 +1,15 @@ import * as d3 from 'd3'; import _ from 'lodash'; -import { d3combobox } from '../lib/d3.combobox.js'; import { t } from '../util/locale'; +import { d3combobox } from '../lib/d3.combobox.js'; import { modeSelect } from '../modes/index'; import { svgIcon } from '../svg/index'; import { tooltip } from '../util/tooltip'; -import { utilDisplayName, utilEntityOrMemberSelector } from '../util/index'; +import { + utilDisplayName, + utilDisplayType, + utilEntityOrMemberSelector +} from '../util/index'; import { utilRebind } from '../util/rebind'; import { utilTriggerEvent } from '../util/trigger_event'; @@ -229,7 +233,10 @@ export function uiCommit(context) { li.append('strong') .attr('class', 'entity-type') - .text(function(d) { return context.presets().match(d.entity, d.graph).name(); }); + .text(function(d) { + var matched = context.presets().match(d.entity, d.graph); + return (matched && matched.name()) || utilDisplayType(d.entity.id); + }); li.append('span') .attr('class', 'entity-name') diff --git a/modules/ui/feature_list.js b/modules/ui/feature_list.js index e9f37dd55..68d9dc616 100644 --- a/modules/ui/feature_list.js +++ b/modules/ui/feature_list.js @@ -5,7 +5,11 @@ import { geoExtent, geoChooseEdge } from '../geo/index'; import { modeSelect } from '../modes/index'; import { osmEntity } from '../osm/index'; import { svgIcon } from '../svg/index'; -import { utilDisplayName, utilEntityOrMemberSelector } from '../util/index'; +import { + utilDisplayName, + utilDisplayType, + utilEntityOrMemberSelector +} from '../util/index'; export function uiFeatureList(context) { @@ -111,11 +115,13 @@ export function uiFeatureList(context) { var name = utilDisplayName(entity) || ''; if (name.toLowerCase().indexOf(q) >= 0) { + var matched = context.presets().match(entity, graph), + type = (matched && matched.name()) || utilDisplayType(entity.id); result.push({ id: entity.id, entity: entity, geometry: context.geometry(entity.id), - type: context.presets().match(entity, graph).name(), + type: type, name: name }); } 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()) 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'); 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') + ': ' + diff --git a/modules/ui/init.js b/modules/ui/init.js index 801e0c461..1b5661b42 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); @@ -275,24 +271,30 @@ 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(); }); } - 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); + } }); } diff --git a/modules/ui/preset.js b/modules/ui/preset.js index 8bf2c1101..77c586626 100644 --- a/modules/ui/preset.js +++ b/modules/ui/preset.js @@ -95,9 +95,14 @@ export function uiPreset(context) { function content(selection) { if (!fieldsArr) { var entity = context.entity(id), - geometry = context.geometry(id); + geometry = context.geometry(id), + presets = context.presets(); - fieldsArr = [UIField(context.presets().field('name'), entity)]; + fieldsArr = []; + + if (presets.field('name')) { + fieldsArr.push(UIField(presets.field('name'), entity)); + } preset.fields.forEach(function(field) { if (field.matchGeometry(geometry)) { @@ -105,11 +110,11 @@ export function uiPreset(context) { } }); - if (entity.isHighwayIntersection(context.graph())) { - fieldsArr.push(UIField(context.presets().field('restrictions'), entity, true)); + if (entity.isHighwayIntersection(context.graph()) && presets.field('restrictions')) { + fieldsArr.push(UIField(presets.field('restrictions'), entity, true)); } - context.presets().universal().forEach(function(field) { + presets.universal().forEach(function(field) { if (preset.fields.indexOf(field) < 0) { fieldsArr.push(UIField(field, entity)); } diff --git a/modules/ui/raw_member_editor.js b/modules/ui/raw_member_editor.js index 6c24c2e34..1961a09ba 100644 --- a/modules/ui/raw_member_editor.js +++ b/modules/ui/raw_member_editor.js @@ -7,7 +7,7 @@ import { osmEntity } from '../osm/index'; import { svgIcon } from '../svg/index'; import { services } from '../services/index'; import { uiDisclosure } from './disclosure'; -import { utilDisplayName } from '../util/index'; +import { utilDisplayName, utilDisplayType } from '../util/index'; export function uiRawMemberEditor(context) { @@ -109,7 +109,10 @@ export function uiRawMemberEditor(context) { label.append('span') .attr('class', 'member-entity-type') - .text(function(d) { return context.presets().match(d.member, context.graph()).name(); }); + .text(function(d) { + var matched = context.presets().match(d.member, context.graph()); + return (matched && matched.name()) || utilDisplayType(d.member.id); + }); label.append('span') .attr('class', 'member-entity-name') diff --git a/modules/ui/raw_membership_editor.js b/modules/ui/raw_membership_editor.js index 9118ba77d..49ece9206 100644 --- a/modules/ui/raw_membership_editor.js +++ b/modules/ui/raw_membership_editor.js @@ -80,7 +80,8 @@ export function uiRawMembershipEditor(context) { if (entity.type !== 'relation' || entity.id === id) return; - var presetName = context.presets().match(entity, graph).name(), + var matched = context.presets().match(entity, graph), + presetName = (matched && matched.name()) || t('inspector.relation'), entityName = utilDisplayName(entity) || ''; var value = presetName + ' ' + entityName; @@ -175,7 +176,8 @@ export function uiRawMembershipEditor(context) { .append('span') .attr('class', 'member-entity-type') .text(function(d) { - return context.presets().match(d.relation, context.graph()).name(); + var matched = context.presets().match(d.relation, context.graph()); + return (matched && matched.name()) || t('inspector.relation'); }); label 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); } } 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/modules/ui/zoom.js b/modules/ui/zoom.js index ae0527693..e8065d581 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); + _.each(['-','ffminus','dash'], function(key) { + keybinding.on([key, '⇧' + key], zoomOut); + keybinding.on([uiCmd('⌘' + key), uiCmd('⌘⇧' + key)], zoomOutFurther); }); d3.select(document) diff --git a/modules/util/detect.js b/modules/util/detect.js index 5f3bff7b0..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', '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'; diff --git a/package.json b/package.json index b4d5239a4..4467bc6ed 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iD", - "version": "2.0.0-beta.1", + "version": "2.0.1", "description": "A friendly editor for OpenStreetMap", "main": "iD.js", "repository": "openstreetmap/iD", @@ -29,7 +29,7 @@ }, "dependencies": { "diacritics": "1.2.3", - "lodash": "4.16.6", + "lodash": "4.17.2", "marked": "0.3.6", "osm-auth": "1.0.1", "rbush": "2.0.1", @@ -40,29 +40,31 @@ "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", - "eslint": "~3.9.0", + "eslint": "~3.12.0", "glob": "~7.1.0", "happen": "~0.3.1", - "js-yaml": "~3.6.1", + "js-yaml": "~3.7.0", "jsonschema": "~1.1.0", + "json-stable-stringify": "~1.0.1", "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", + "mocha": "~3.2.0", + "mocha-phantomjs-core": "~2.1.0", "name-suggestion-index": "0.1.1", "npm-run-all": "~3.1.1", "phantomjs-prebuilt": "~2.1.11", - "request": "~2.78.0", - "rollup": "0.36.3", + "request": "~2.79.0", + "rollup": "0.36.4", "rollup-plugin-commonjs": "5.0.5", "rollup-plugin-json": "2.0.2", "rollup-plugin-node-resolve": "2.0.0", - "shx": "~0.1.4", + "shelljs": "~0.7.5", + "shx": "~0.2.1", "sinon": "~1.17.5", "sinon-chai": "~2.8.0", "smash": "0.0", 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/ 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 diff --git a/test/index.html b/test/index.html index 239cfe248..b6d8e324b 100644 --- a/test/index.html +++ b/test/index.html @@ -91,7 +91,7 @@ - + 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 35588f69c..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(window) - .presets(iD.dataPresets).presets().areaKeys(); + iD.areaKeys = iD.Context().presets().areaKeys(); }); describe('#disabled', function () { diff --git a/test/spec/behavior/hash.js b/test/spec/behavior/hash.js index 66f2159d3..2c7e6e68a 100644 --- a/test/spec/behavior/hash.js +++ b/test/spec/behavior/hash.js @@ -4,17 +4,13 @@ describe('iD.behaviorHash', function () { var hash, context; beforeEach(function () { - context = iD.Context(window) - .imagery(iD.dataImagery); - context.container(d3.select(document.createElement('div'))); - - // Neuter connection - context.connection().loadTiles = function () {}; + context = iD.Context(); + 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 () { @@ -22,18 +18,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 +33,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 +40,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(); }); }); diff --git a/test/spec/behavior/lasso.js b/test/spec/behavior/lasso.js index 3c93ea89d..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(window).imagery(iD.dataImagery); - context.container(d3.select(document.createElement('div'))); - - // Neuter connection - context.connection().loadTiles = function () {}; - - lasso = iD.behaviorLasso(context); - + context = iD.Context(); d3.select(document.createElement('div')) + .attr('id', 'map') .call(context.map()); + lasso = iD.behaviorLasso(context); }); afterEach(function () { diff --git a/test/spec/behavior/select.js b/test/spec/behavior/select.js index a75989bdc..5deddc548 100644 --- a/test/spec/behavior/select.js +++ b/test/spec/behavior/select.js @@ -3,7 +3,7 @@ describe('iD.behaviorSelect', function() { beforeEach(function() { container = d3.select('body').append('div'); - context = iD.Context(window).imagery(iD.dataImagery).container(container); + context = iD.Context().container(container); a = iD.Node({loc: [0, 0]}); b = iD.Node({loc: [0, 0]}); @@ -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]); diff --git a/test/spec/core/context.js b/test/spec/core/context.js index e5b7fb3a0..04f665400 100644 --- a/test/spec/core/context.js +++ b/test/spec/core/context.js @@ -5,7 +5,7 @@ describe('iD.Context', function() { describe('#assetPath', function() { it('sets and gets assetPath', function() { - var context = iD.Context(window); + var context = iD.Context(); expect(context.assetPath()).to.eql(''); context.assetPath('iD/'); @@ -15,7 +15,7 @@ describe('iD.Context', function() { describe('#assetMap', function() { it('sets and gets assetMap', function() { - var context = iD.Context(window); + var context = iD.Context(); expect(context.assetMap()).to.eql({}); context.assetMap(assets); @@ -26,7 +26,7 @@ describe('iD.Context', function() { describe('#asset', function() { var context; beforeEach(function() { - context = iD.Context(window).assetPath('iD/').assetMap(assets); + context = iD.Context().assetPath('iD/').assetMap(assets); }); it('looks first in assetMap', function() { @@ -40,7 +40,7 @@ describe('iD.Context', function() { describe('#imagePath', function() { var context; beforeEach(function() { - context = iD.Context(window).assetPath('iD/').assetMap(assets); + context = iD.Context().assetPath('iD/').assetMap(assets); }); it('looks first in assetMap', function() { @@ -51,57 +51,9 @@ 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(window).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(window), + var context = iD.Context(), flags = { tile: false, collision: false, diff --git a/test/spec/core/history.js b/test/spec/core/history.js index e89f5c799..723474153 100644 --- a/test/spec/core/history.js +++ b/test/spec/core/history.js @@ -3,7 +3,7 @@ describe('iD.History', function () { action = function() { return iD.Graph(); }; beforeEach(function () { - context = iD.Context(window); + context = iD.Context(); history = context.history(); spy = sinon.spy(); // clear lock 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)); diff --git a/test/spec/modes/add_point.js b/test/spec/modes/add_point.js index cfc717b42..66916c577 100644 --- a/test/spec/modes/add_point.js +++ b/test/spec/modes/add_point.js @@ -4,9 +4,7 @@ describe.skip('iD.modeAddPoint', function() { beforeEach(function() { var container = d3.select(document.createElement('div')); - context = iD.Context(window) - .presets(iD.dataPresets) - .imagery([]) + context = iD.Context() .container(container); context.loadTiles = function () {}; diff --git a/test/spec/osm/way.js b/test/spec/osm/way.js index 52aa73fac..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(window).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/renderer/features.js b/test/spec/renderer/features.js index 9b4c837f5..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(window); + context = iD.Context(); + d3.select(document.createElement('div')) + .attr('id', 'map') + .call(context.map()); context.map().zoom(16); features = iD.Features(context); }); diff --git a/test/spec/renderer/map.js b/test/spec/renderer/map.js index 48e81f881..84f4e5411 100644 --- a/test/spec/renderer/map.js +++ b/test/spec/renderer/map.js @@ -2,7 +2,7 @@ describe('iD.Map', function() { var context, map; beforeEach(function() { - context = iD.Context(window).imagery(iD.dataImagery); + context = iD.Context(); context.container(d3.select(document.createElement('div'))); map = context.map(); d3.select(document.createElement('div')) diff --git a/test/spec/renderer/tile_layer.js b/test/spec/renderer/tile_layer.js index 9b3fa2083..6d940a86a 100644 --- a/test/spec/renderer/tile_layer.js +++ b/test/spec/renderer/tile_layer.js @@ -2,7 +2,7 @@ describe('iD.TileLayer', function() { var context, d, c; beforeEach(function() { - context = iD.Context(window); + context = iD.Context(); d = d3.select(document.createElement('div')); c = iD.TileLayer(context).projection(d3.geoMercator()); }); diff --git a/test/spec/services/mapillary.js b/test/spec/services/mapillary.js index c9b1068d5..dca959baf 100644 --- a/test/spec/services/mapillary.js +++ b/test/spec/services/mapillary.js @@ -7,7 +7,7 @@ describe('iD.serviceMapillary', function() { beforeEach(function() { - context = iD.Context(window).assetPath('../dist/'); + context = iD.Context().assetPath('../dist/'); context.projection .scale(667544.214430109) // z14 .translate([-116508, 0]) // 10,0 diff --git a/test/spec/services/osm.js b/test/spec/services/osm.js index a16adb047..b75c23378 100644 --- a/test/spec/services/osm.js +++ b/test/spec/services/osm.js @@ -1,12 +1,31 @@ describe('iD.serviceOsm', function () { - var 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 () { - connection = iD.services.osm; - connection.switch({ urlroot: 'http://www.openstreetmap.org'}); + context = iD.Context(); + connection = context.connection(); + connection.switch({ urlroot: 'http://www.openstreetmap.org' }); connection.reset(); + spy = sinon.spy(); }); + it('is instantiated', function () { expect(connection).to.be.ok; }); @@ -44,46 +63,169 @@ 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); - 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 () { @@ -303,4 +445,61 @@ 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(); + }); + + 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('updates imagery blacklists', function(done) { + connection.status(function() { + var blacklists = connection.imageryBlacklists(); + expect(blacklists).to.deep.equal(['\.foo\.com','\.bar\.org']); + done(); + }); + + server.respondWith('GET', 'http://www.openstreetmap.org/api/capabilities', + [200, { 'Content-Type': 'text/xml' }, capabilitiesXML]); + server.respond(); + }); + }); + + }); + }); diff --git a/test/spec/spec_helpers.js b/test/spec/spec_helpers.js index 816232d37..0038d0cb7 100644 --- a/test/spec/spec_helpers.js +++ b/test/spec/spec_helpers.js @@ -1,6 +1,7 @@ /* globals chai:false */ iD.debug = true; +iD.data.imagery = []; mocha.setup({ ui: 'bdd', diff --git a/test/spec/svg/areas.js b/test/spec/svg/areas.js index f7899f53f..3015a4465 100644 --- a/test/spec/svg/areas.js +++ b/test/spec/svg/areas.js @@ -8,7 +8,7 @@ describe('iD.svgAreas', function () { none = function() { return false; }; beforeEach(function () { - context = iD.Context(window); + context = iD.Context(); d3.select(document.createElement('div')) .attr('id', 'map') .call(context.map()); diff --git a/test/spec/svg/layers.js b/test/spec/svg/layers.js index e95cc06ef..0997f6338 100644 --- a/test/spec/svg/layers.js +++ b/test/spec/svg/layers.js @@ -6,7 +6,7 @@ describe('iD.svgLayers', function () { .clipExtent([[0, 0], [Infinity, Infinity]]); beforeEach(function () { - context = iD.Context(window); + context = iD.Context(); container = d3.select(document.createElement('div')); }); diff --git a/test/spec/svg/lines.js b/test/spec/svg/lines.js index bd1ac97a7..001e12cc6 100644 --- a/test/spec/svg/lines.js +++ b/test/spec/svg/lines.js @@ -8,7 +8,7 @@ describe('iD.svgLines', function () { none = function() { return false; }; beforeEach(function () { - context = iD.Context(window); + context = iD.Context(); d3.select(document.createElement('div')) .attr('id', 'map') .call(context.map()); diff --git a/test/spec/svg/midpoints.js b/test/spec/svg/midpoints.js index bc98a2401..b844b8628 100644 --- a/test/spec/svg/midpoints.js +++ b/test/spec/svg/midpoints.js @@ -7,7 +7,7 @@ describe('iD.svgMidpoints', function () { filter = function() { return true; }; beforeEach(function () { - context = iD.Context(window); + context = iD.Context(); d3.select(document.createElement('div')) .attr('id', 'map') .call(context.map()); diff --git a/test/spec/svg/points.js b/test/spec/svg/points.js index 7a7594416..083ee63fe 100644 --- a/test/spec/svg/points.js +++ b/test/spec/svg/points.js @@ -6,7 +6,7 @@ describe('iD.svgPoints', function () { .clipExtent([[0, 0], [Infinity, Infinity]]); beforeEach(function () { - context = iD.Context(window); + context = iD.Context(); d3.select(document.createElement('div')) .attr('id', 'map') .call(context.map()); diff --git a/test/spec/svg/vertices.js b/test/spec/svg/vertices.js index 800190104..8c68b0075 100644 --- a/test/spec/svg/vertices.js +++ b/test/spec/svg/vertices.js @@ -6,7 +6,7 @@ describe('iD.svgVertices', function () { .clipExtent([[0, 0], [Infinity, Infinity]]); beforeEach(function () { - context = iD.Context(window); + context = iD.Context(); d3.select(document.createElement('div')) .attr('id', 'map') .call(context.map()); diff --git a/test/spec/ui/fields/access.js b/test/spec/ui/fields/access.js index 00974a177..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(window) - .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 96951929f..6ffc13a3a 100644 --- a/test/spec/ui/fields/wikipedia.js +++ b/test/spec/ui/fields/wikipedia.js @@ -11,10 +11,10 @@ describe('iD.uiFieldWikipedia', function() { beforeEach(function() { entity = iD.Node({id: 'n12345'}); selectedId = entity.id; - context = iD.Context(window); + 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); }); }); diff --git a/test/spec/ui/raw_tag_editor.js b/test/spec/ui/raw_tag_editor.js index 7d605f35b..e7f46999e 100644 --- a/test/spec/ui/raw_tag_editor.js +++ b/test/spec/ui/raw_tag_editor.js @@ -15,7 +15,7 @@ describe('iD.uiRawTagEditor', function() { beforeEach(function () { entity = iD.Node({id: 'n12345'}); - context = iD.Context(window); + context = iD.Context(); context.history().merge([entity]); render({highway: 'residential'}); });