]> git.openstreetmap.org Git - rails.git/commitdiff
Update to iD v1.4.0
authorJohn Firebaugh <john.firebaugh@gmail.com>
Thu, 29 May 2014 23:13:08 +0000 (16:13 -0700)
committerTom Hughes <tom@compton.nu>
Wed, 4 Jun 2014 09:48:14 +0000 (10:48 +0100)
47 files changed:
vendor/assets/iD/iD.css.erb
vendor/assets/iD/iD.js
vendor/assets/iD/iD/img/relation-presets.png
vendor/assets/iD/iD/img/sprite.svg
vendor/assets/iD/iD/locales/af.json
vendor/assets/iD/iD/locales/ar.json
vendor/assets/iD/iD/locales/ast.json
vendor/assets/iD/iD/locales/bg-BG.json
vendor/assets/iD/iD/locales/bs.json
vendor/assets/iD/iD/locales/ca.json
vendor/assets/iD/iD/locales/cs.json
vendor/assets/iD/iD/locales/da.json
vendor/assets/iD/iD/locales/de.json
vendor/assets/iD/iD/locales/el.json
vendor/assets/iD/iD/locales/en-GB.json
vendor/assets/iD/iD/locales/en.json
vendor/assets/iD/iD/locales/es.json
vendor/assets/iD/iD/locales/et.json
vendor/assets/iD/iD/locales/fa.json
vendor/assets/iD/iD/locales/fi.json
vendor/assets/iD/iD/locales/fr.json
vendor/assets/iD/iD/locales/gl.json
vendor/assets/iD/iD/locales/hr.json
vendor/assets/iD/iD/locales/hu.json
vendor/assets/iD/iD/locales/is.json
vendor/assets/iD/iD/locales/it.json
vendor/assets/iD/iD/locales/ja.json
vendor/assets/iD/iD/locales/ko.json
vendor/assets/iD/iD/locales/lt.json
vendor/assets/iD/iD/locales/nl.json
vendor/assets/iD/iD/locales/no.json
vendor/assets/iD/iD/locales/pl.json
vendor/assets/iD/iD/locales/pt-BR.json
vendor/assets/iD/iD/locales/pt.json
vendor/assets/iD/iD/locales/ru.json
vendor/assets/iD/iD/locales/sk.json
vendor/assets/iD/iD/locales/sl.json
vendor/assets/iD/iD/locales/sr.json
vendor/assets/iD/iD/locales/sv.json
vendor/assets/iD/iD/locales/ta.json
vendor/assets/iD/iD/locales/uk.json
vendor/assets/iD/iD/locales/vi.json
vendor/assets/iD/iD/locales/yue.json
vendor/assets/iD/iD/locales/zh-CN.json
vendor/assets/iD/iD/locales/zh-HK.json
vendor/assets/iD/iD/locales/zh-TW.json
vendor/assets/iD/iD/locales/zh.json

index 585276f1ea7253b80c8ec450719c443c87b1f91c..70b63377cd082a12cf57b4f01baf05ed4a7d5c0c 100644 (file)
@@ -1108,65 +1108,54 @@ text.point {
   font-size: 10px;
 }
 
+/* Turns */
+
+g.turn rect,
+g.turn circle {
+    fill: none;
+    pointer-events: all;
+}
+
+.form-field-restrictions .vertex {
+    pointer-events: none;
+    cursor: auto !important;
+}
+
 /* Cursors */
 
 #map {
     cursor: auto; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-grab.png") %>) 9 9, auto; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-grab.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-grab2x.png") %>) 2x
-        ) 9 9, auto;
 }
 
 .mode-browse .point,
 .mode-select .point {
     cursor: pointer; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-select-point.png") %>), pointer; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-select-point.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-select-point2x.png") %>) 2x
-        ), pointer;
 }
 
 .mode-select .vertex,
 .mode-browse .vertex {
     cursor: pointer; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-select-vertex.png") %>), pointer; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-select-vertex.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-select-vertex2x.png") %>) 2x
-        ), pointer;
 }
 
 .mode-browse .line,
 .mode-select .line {
     cursor: pointer; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-select-line.png") %>), pointer; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-select-line.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-select-line2x.png") %>) 2x
-        ), pointer;
 }
 
 .mode-select .area,
 .mode-browse .area {
     cursor: pointer; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-select-area.png") %>), pointer; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-select-area.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-select-area2x.png") %>) 2x
-        ), pointer;
 }
 
 .mode-select .midpoint,
 .mode-browse .midpoint {
     cursor: pointer; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-select-split.png") %>), pointer; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-select-split.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-select-split2x.png") %>) 2x
-        ), pointer;
 }
 
 .mode-select .behavior-multiselect .point,
@@ -1175,19 +1164,11 @@ text.point {
 .mode-select .behavior-multiselect .area {
     cursor: pointer; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-select-add.png") %>), pointer; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-select-add.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-select-add2x.png") %>) 2x
-        ), pointer;
 }
 
 .mode-select .behavior-multiselect .selected {
     cursor: pointer; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-select-remove.png") %>), pointer; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-select-remove.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-select-remove2x.png") %>) 2x
-        ), pointer;
 }
 
 #map .point:active,
@@ -1198,10 +1179,6 @@ text.point {
 #map .mode-select .selected {
     cursor: pointer; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-select-acting.png") %>), pointer; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-select-acting.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-select-acting2x.png") %>) 2x
-        ), pointer;
 }
 
 .mode-draw-line #map,
@@ -1211,10 +1188,6 @@ text.point {
 .mode-drag-node #map {
     cursor: crosshair; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-draw.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-draw2x.png") %>) 2x
-        ) 9 9, crosshair;
 }
 
 .mode-draw-line .way.hover,
@@ -1224,10 +1197,6 @@ text.point {
 .mode-drag-node .way.hover {
     cursor: crosshair; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-draw-connect-line.png") %>) 9 9, crosshair; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-draw-connect-line.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-draw-connect-line2x.png") %>) 2x
-        ) 9 9, crosshair;
 }
 
 .mode-draw-line .vertex.hover,
@@ -1237,10 +1206,6 @@ text.point {
 .mode-drag-node .vertex.hover {
     cursor: crosshair; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-draw-connect-vertex.png") %>) 9 9, crosshair; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-draw-connect-vertex.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-draw-connect-vertex2x.png") %>) 2x
-        ) 9 9, crosshair;
 }
 
 .mode-add-point #map,
@@ -1249,10 +1214,12 @@ text.point {
 .lasso .vertex {
     cursor: crosshair; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-draw.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-draw2x.png") %>) 2x
-        ) 9 9, crosshair;
+}
+
+.turn rect,
+.turn circle {
+    cursor: pointer; /* Opera */
+    cursor: url(<%= asset_path("iD/img/cursor-pointer.png") %>) 6 1, pointer; /* FF */
 }
 
 .lasso #map {
@@ -1336,6 +1303,13 @@ body {
     height: 100%;
 }
 
+#defs {
+    /* Can't be display: none or the clippaths are ignored. */
+    position: absolute;
+    width: 0;
+    height: 0;
+}
+
 .spacer {
     height: 40px;
     margin-right: 10px;
@@ -1379,10 +1353,6 @@ button,
 .radial-menu-item {
     cursor: pointer; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-pointer.png") %>) 6 1, pointer; /* FF */
-    cursor: -webkit-image-set(
-        url(<%= asset_path("iD/img/cursor-pointer.png") %>) 1x,
-        url(<%= asset_path("iD/img/cursor-pointer2x.png") %>) 2x
-        ) 6 1, pointer;
 }
 
 h2 {
@@ -2824,6 +2794,31 @@ input[type=number] {
     border-bottom: 0;
     border-radius: 0 0 4px 0;
 }
+
+/* Restrictions editor */
+
+.form-field-restrictions .preset-input-wrap {
+    position: relative;
+    height: 300px;
+}
+
+.form-field-restrictions svg {
+    width: 100%;
+    height: 100%;
+}
+
+.form-field-restrictions .restriction-help {
+    z-index: 1;
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    padding: 2px 6px;
+    background-color: rgba(255, 255, 255, .8);
+    color: #999;
+    text-align: center;
+}
+
 /* combobox dropdown */
 
 div.combobox {
@@ -4046,10 +4041,6 @@ img.wiki-image {
     fill: rgba(255,255,255,.5);
 }
 
-.radial-menu .icon {
-    pointer-events: none;
-}
-
 .lasso-box {
     fill-opacity:0.1;
     stroke: #fff;
@@ -4368,3 +4359,10 @@ img.wiki-image {
 .preset-icon-relation.feature-route-power{background-position:-800px -25px;}
 .preset-icon-relation.feature-route-pipeline{background-position:-860px -25px;}
 .preset-icon-relation.feature-route-master{background-position:-920px -25px;}
+.preset-icon-relation.feature-restriction-no-straight-on{background-position:-980px -25px;}
+.preset-icon-relation.feature-restriction-no-u-turn{background-position:-1040px -25px;}
+.preset-icon-relation.feature-restriction-no-left-turn{background-position:-1100px -25px;}
+.preset-icon-relation.feature-restriction-no-right-turn{background-position:-1160px -25px;}
+.preset-icon-relation.feature-restriction-only-straight-on{background-position:-1220px -25px;}
+.preset-icon-relation.feature-restriction-only-left-turn{background-position:-1280px -25px;}
+.preset-icon-relation.feature-restriction-only-right-turn{background-position:-1340px -25px;}
index e71d245835b0625f19eade0aaf4aaf9c7db91698..2ecfaf5255d49a26f4206910d7b50f3f84eeea81 100644 (file)
@@ -7050,7 +7050,7 @@ var JXON = new (function () {
 /**
  * @license
  * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>
- * Build: `lodash include="any,assign,bind,clone,compact,contains,debounce,difference,each,every,extend,filter,find,first,forEach,groupBy,indexOf,intersection,isEmpty,isEqual,isFunction,keys,last,map,omit,pairs,pluck,reject,some,throttle,union,uniq,unique,values,without,flatten,value,chain,cloneDeep,merge" exports="global,node"`
+ * Build: `lodash --debug --output js/lib/lodash.js include="any,assign,bind,clone,compact,contains,debounce,difference,each,every,extend,filter,find,first,forEach,groupBy,indexOf,intersection,isEmpty,isEqual,isFunction,keys,last,map,omit,pairs,pluck,reject,some,throttle,union,uniq,unique,values,without,flatten,value,chain,cloneDeep,merge,pick" exports="global,node"`
  * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
  * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
@@ -9353,6 +9353,57 @@ var JXON = new (function () {
     return result;
   }
 
+  /**
+   * Creates a shallow clone of `object` composed of the specified properties.
+   * Property names may be specified as individual arguments or as arrays of
+   * property names. If a callback is provided it will be executed for each
+   * property of `object` picking the properties the callback returns truey
+   * for. The callback is bound to `thisArg` and invoked with three arguments;
+   * (value, key, object).
+   *
+   * @static
+   * @memberOf _
+   * @category Objects
+   * @param {Object} object The source object.
+   * @param {Function|...string|string[]} [callback] The function called per
+   *  iteration or property names to pick, specified as individual property
+   *  names or arrays of property names.
+   * @param {*} [thisArg] The `this` binding of `callback`.
+   * @returns {Object} Returns an object composed of the picked properties.
+   * @example
+   *
+   * _.pick({ 'name': 'fred', '_userid': 'fred1' }, 'name');
+   * // => { 'name': 'fred' }
+   *
+   * _.pick({ 'name': 'fred', '_userid': 'fred1' }, function(value, key) {
+   *   return key.charAt(0) != '_';
+   * });
+   * // => { 'name': 'fred' }
+   */
+  function pick(object, callback, thisArg) {
+    var result = {};
+    if (typeof callback != 'function') {
+      var index = -1,
+          props = baseFlatten(arguments, true, false, 1),
+          length = isObject(object) ? props.length : 0;
+
+      while (++index < length) {
+        var key = props[index];
+        if (key in object) {
+          result[key] = object[key];
+        }
+      }
+    } else {
+      callback = lodash.createCallback(callback, thisArg, 3);
+      forIn(object, function(value, key, object) {
+        if (callback(value, key, object)) {
+          result[key] = value;
+        }
+      });
+    }
+    return result;
+  }
+
   /**
    * Creates an array composed of the own enumerable property values of `object`.
    *
@@ -10879,6 +10930,7 @@ var JXON = new (function () {
   lodash.merge = merge;
   lodash.omit = omit;
   lodash.pairs = pairs;
+  lodash.pick = pick;
   lodash.pluck = pluck;
   lodash.reject = reject;
   lodash.throttle = throttle;
@@ -16158,52 +16210,7 @@ window.iD = function () {
     };
 
     /* Projection */
-    function rawMercator() {
-        var project = d3.geo.mercator.raw,
-            k = 512 / Math.PI, // scale
-            x = 0, y = 0, // translate
-            clipExtent = [[0, 0], [0, 0]];
-
-        function projection(point) {
-            point = project(point[0] * Math.PI / 180, point[1] * Math.PI / 180);
-            return [point[0] * k + x, y - point[1] * k];
-        }
-
-        projection.invert = function(point) {
-            point = project.invert((point[0] - x) / k, (y - point[1]) / k);
-            return point && [point[0] * 180 / Math.PI, point[1] * 180 / Math.PI];
-        };
-
-        projection.scale = function(_) {
-            if (!arguments.length) return k;
-            k = +_;
-            return projection;
-        };
-
-        projection.translate = function(_) {
-            if (!arguments.length) return [x, y];
-            x = +_[0];
-            y = +_[1];
-            return projection;
-        };
-
-        projection.clipExtent = function(_) {
-            if (!arguments.length) return clipExtent;
-            clipExtent = _;
-            return projection;
-        };
-
-        projection.stream = d3.geo.transform({
-            point: function(x, y) {
-                x = projection([x, y]);
-                this.stream.point(x[0], x[1]);
-            }
-        }).stream;
-
-        return projection;
-    }
-
-    context.projection = rawMercator();
+    context.projection = iD.geo.RawMercator();
 
     /* Background */
     var background = iD.Background(context);
@@ -16271,7 +16278,7 @@ window.iD = function () {
     return d3.rebind(context, dispatch, 'on');
 };
 
-iD.version = '1.3.10';
+iD.version = '1.4.0';
 
 (function() {
     var detected = {};
@@ -16766,6 +16773,14 @@ iD.geo.edgeEqual = function(a, b) {
         (a[0] === b[1] && a[1] === b[0]);
 };
 
+// Return the counterclockwise angle in the range (-pi, pi)
+// between the positive X axis and the line intersecting a and b.
+iD.geo.angle = function(a, b, projection) {
+    a = projection(a.loc);
+    b = projection(b.loc);
+    return Math.atan2(b[1] - a[1], b[0] - a[0]);
+};
+
 // Choose the edge with the minimal distance from `point` to its orthogonal
 // projection onto that edge, if such a projection exists, or the distance to
 // the closest vertex on that edge. Returns an object with the `index` of the
@@ -16931,6 +16946,146 @@ _.extend(iD.geo.Extent.prototype, {
         return [this[0][0], this[0][1], this[1][0], this[1][1]].join(',');
     }
 });
+iD.geo.Turn = function(turn) {
+    if (!(this instanceof iD.geo.Turn))
+        return new iD.geo.Turn(turn);
+    _.extend(this, turn);
+};
+
+iD.geo.Intersection = function(graph, vertexId) {
+    var vertex = graph.entity(vertexId),
+        highways = [];
+
+    // Pre-split ways that would need to be split in
+    // order to add a restriction. The real split will
+    // happen when the restriction is added.
+    graph.parentWays(vertex).forEach(function(way) {
+        if (!way.tags.highway || way.isArea() || way.isDegenerate())
+            return;
+
+        if (way.affix(vertexId)) {
+            highways.push(way);
+        } else {
+            var idx = _.indexOf(way.nodes, vertex.id, 1),
+                wayA = iD.Way({id: way.id + '-a', tags: way.tags, nodes: way.nodes.slice(0, idx + 1)}),
+                wayB = iD.Way({id: way.id + '-b', tags: way.tags, nodes: way.nodes.slice(idx)});
+
+            graph = graph.replace(wayA);
+            graph = graph.replace(wayB);
+
+            highways.push(wayA);
+            highways.push(wayB);
+        }
+    });
+
+    var intersection = {
+        highways: highways,
+        graph: graph
+    };
+
+    intersection.turns = function(fromNodeID) {
+        if (!fromNodeID)
+            return [];
+
+        var way = _.find(highways, function(way) { return way.contains(fromNodeID); });
+        if (way.first() === vertex.id && way.tags.oneway === 'yes')
+            return [];
+        if (way.last() === vertex.id && way.tags.oneway === '-1')
+            return [];
+
+        function withRestriction(turn) {
+            graph.parentRelations(graph.entity(turn.from.way)).forEach(function(relation) {
+                if (relation.tags.type !== 'restriction')
+                    return;
+
+                var f = relation.memberByRole('from'),
+                    t = relation.memberByRole('to'),
+                    v = relation.memberByRole('via');
+
+                if (f && f.id === turn.from.way &&
+                    v && v.id === turn.via.node &&
+                    t && t.id === turn.to.way) {
+                    turn.restriction = relation.id;
+                } else if (/^only_/.test(relation.tags.restriction) &&
+                    f && f.id === turn.from.way &&
+                    v && v.id === turn.via.node &&
+                    t && t.id !== turn.to.way) {
+                    turn.restriction = relation.id;
+                    turn.indirect_restriction = true;
+                }
+            });
+
+            return iD.geo.Turn(turn);
+        }
+
+        var from = {
+                node: way.nodes[way.first() === vertex.id ? 1 : way.nodes.length - 2],
+                way: way.id.split(/-(a|b)/)[0]
+            },
+            via = {node: vertex.id},
+            turns = [];
+
+        highways.forEach(function(parent) {
+            if (parent === way)
+                return;
+
+            var index = parent.nodes.indexOf(vertex.id);
+
+            // backward
+            if (parent.first() !== vertex.id && parent.tags.oneway !== 'yes') {
+                turns.push(withRestriction({
+                    from: from,
+                    via: via,
+                    to: {node: parent.nodes[index - 1], way: parent.id.split(/-(a|b)/)[0]}
+                }));
+            }
+
+            // forward
+            if (parent.last() !== vertex.id && parent.tags.oneway !== '-1') {
+                turns.push(withRestriction({
+                    from: from,
+                    via: via,
+                    to: {node: parent.nodes[index + 1], way: parent.id.split(/-(a|b)/)[0]}
+                }));
+            }
+        });
+
+        // U-turn
+        if (way.tags.oneway !== 'yes' && way.tags.oneway !== '-1') {
+            turns.push(withRestriction({
+                from: from,
+                via: via,
+                to: from,
+                u: true
+            }));
+        }
+
+        return turns;
+    };
+
+    return intersection;
+};
+
+iD.geo.inferRestriction = function(from, via, to, projection) {
+    var angle = iD.geo.angle(via, from, projection) -
+                iD.geo.angle(via, to, projection);
+
+    angle = angle * 180 / Math.PI;
+
+    while (angle < 0)
+        angle += 360;
+
+    if (angle < 23)
+        return 'no_u_turn';
+    if (angle < 158)
+        return 'no_right_turn';
+    if (angle < 202)
+        return 'no_straight_on';
+    if (angle < 336)
+        return 'no_left_turn';
+
+    return 'no_u_turn';
+};
 // For fixing up rendering of multipolygons with tags on the outer member.
 // https://github.com/openstreetmap/iD/issues/613
 iD.geo.isSimpleMultipolygonOuterMember = function(entity, graph) {
@@ -17066,67 +17221,55 @@ iD.geo.joinWays = function(array, graph) {
 
     return joined;
 };
-iD.geo.turns = function(graph, entityID) {
-    var way = graph.entity(entityID);
-    if (way.type !== 'way' || !way.tags.highway || way.isArea())
-        return [];
-
-    function withRestriction(turn) {
-        graph.parentRelations(turn.from).forEach(function(relation) {
-            if (relation.tags.type !== 'restriction')
-                return;
-
-            var f = relation.memberByRole('from'),
-                t = relation.memberByRole('to'),
-                v = relation.memberByRole('via');
-
-            if (f && f.id === turn.from.id &&
-                t && t.id === turn.to.id &&
-                v && v.id === turn.via.id) {
-                turn.restriction = relation;
-            }
-        });
+/*
+    Bypasses features of D3's default projection stream pipeline that are unnecessary:
+    * Antimeridian clipping
+    * Spherical rotation
+    * Resampling
+*/
+iD.geo.RawMercator = function () {
+    var project = d3.geo.mercator.raw,
+        k = 512 / Math.PI, // scale
+        x = 0, y = 0, // translate
+        clipExtent = [[0, 0], [0, 0]];
 
-        return turn;
+    function projection(point) {
+        point = project(point[0] * Math.PI / 180, point[1] * Math.PI / 180);
+        return [point[0] * k + x, y - point[1] * k];
     }
 
-    var turns = [];
+    projection.invert = function(point) {
+        point = project.invert((point[0] - x) / k, (y - point[1]) / k);
+        return point && [point[0] * 180 / Math.PI, point[1] * 180 / Math.PI];
+    };
 
-    [way.first(), way.last()].forEach(function(nodeID) {
-        var node = graph.entity(nodeID);
-        graph.parentWays(node).forEach(function(parent) {
-            if (parent === way || parent.isDegenerate() || !parent.tags.highway)
-                return;
-            if (way.first() === node.id && way.tags.oneway === 'yes')
-                return;
-            if (way.last() === node.id && way.tags.oneway === '-1')
-                return;
+    projection.scale = function(_) {
+        if (!arguments.length) return k;
+        k = +_;
+        return projection;
+    };
 
-            var index = parent.nodes.indexOf(node.id);
+    projection.translate = function(_) {
+        if (!arguments.length) return [x, y];
+        x = +_[0];
+        y = +_[1];
+        return projection;
+    };
 
-            // backward
-            if (parent.first() !== node.id && parent.tags.oneway !== 'yes') {
-                turns.push(withRestriction({
-                    from: way,
-                    to: parent,
-                    via: node,
-                    toward: graph.entity(parent.nodes[index - 1])
-                }));
-            }
+    projection.clipExtent = function(_) {
+        if (!arguments.length) return clipExtent;
+        clipExtent = _;
+        return projection;
+    };
 
-            // forward
-            if (parent.last() !== node.id && parent.tags.oneway !== '-1') {
-                turns.push(withRestriction({
-                    from: way,
-                    to: parent,
-                    via: node,
-                    toward: graph.entity(parent.nodes[index + 1])
-                }));
-            }
-       });
-    });
+    projection.stream = d3.geo.transform({
+        point: function(x, y) {
+            x = projection([x, y]);
+            this.stream.point(x[0], x[1]);
+        }
+    }).stream;
 
-    return turns;
+    return projection;
 };
 iD.actions = {};
 iD.actions.AddEntity = function(way) {
@@ -18172,6 +18315,95 @@ iD.actions.Orthogonalize = function(wayId, projection) {
 
     return action;
 };
+// Create a restriction relation for `turn`, which must have the following structure:
+//
+//     {
+//         from: { node: <node ID>, way: <way ID> },
+//         via:  { node: <node ID> },
+//         to:   { node: <node ID>, way: <way ID> },
+//         restriction: <'no_right_turn', 'no_left_turn', etc.>
+//     }
+//
+// This specifies a restriction of type `restriction` when traveling from
+// `from.node` in `from.way` toward `to.node` in `to.way` via `via.node`.
+// (The action does not check that these entities form a valid intersection.)
+//
+// If `restriction` is not provided, it is automatically determined by the
+// angle of the turn:
+//
+//    0-23  degrees: no_u_turn
+//   23-158 degrees: no_right_turn
+//  158-202 degrees: no_straight_on
+//  202-326 degrees: no_left_turn
+//  336-360 degrees: no_u_turn
+//
+// If necessary, the `from` and `to` ways are split. In these cases, `from.node`
+// and `to.node` are used to determine which portion of the split ways become
+// members of the restriction.
+//
+// For testing convenience, accepts an ID to assign to the new relation.
+// Normally, this will be undefined and the relation will automatically
+// be assigned a new ID.
+//
+iD.actions.RestrictTurn = function(turn, projection, restrictionId) {
+    return function(graph) {
+        var from = graph.entity(turn.from.way),
+            via  = graph.entity(turn.via.node),
+            to   = graph.entity(turn.to.way);
+
+        function split(toOrFrom) {
+            var newID = toOrFrom.newID || iD.Way().id;
+            graph = iD.actions.Split(via.id, [newID])
+                .limitWays([toOrFrom.way])(graph);
+
+            var a = graph.entity(newID),
+                b = graph.entity(toOrFrom.way);
+
+            if (a.nodes.indexOf(toOrFrom.node) !== -1) {
+                return [a, b];
+            } else {
+                return [b, a];
+            }
+        }
+
+        if (!from.affix(via.id)) {
+            if (turn.from.node === turn.to.node) {
+                // U-turn
+                from = to = split(turn.from)[0];
+            } else if (turn.from.way === turn.to.way) {
+                // Straight-on
+                var s = split(turn.from);
+                from = s[0];
+                to   = s[1];
+            } else {
+                // Other
+                from = split(turn.from)[0];
+            }
+        }
+
+        if (!to.affix(via.id)) {
+            to = split(turn.to)[0];
+        }
+
+        return graph.replace(iD.Relation({
+            id: restrictionId,
+            tags: {
+                type: 'restriction',
+                restriction: turn.restriction ||
+                    iD.geo.inferRestriction(
+                        graph.entity(turn.from.node),
+                        via,
+                        graph.entity(turn.to.node),
+                        projection)
+            },
+            members: [
+                {id: from.id, type: 'way',  role: 'from'},
+                {id: via.id,  type: 'node', role: 'via'},
+                {id: to.id,   type: 'way',  role: 'to'}
+            ]
+        }));
+    };
+};
 /*
   Order the nodes of a way in reverse order and reverse any direction dependent tags
   other than `oneway`. (We assume that correcting a backwards oneway is the primary
@@ -18546,6 +18778,29 @@ iD.actions.Straighten = function(wayId, projection) {
 
     return action;
 };
+// Remove the effects of `turn.restriction` on `turn`, which must have the
+// following structure:
+//
+//     {
+//         from: { node: <node ID>, way: <way ID> },
+//         via:  { node: <node ID> },
+//         to:   { node: <node ID>, way: <way ID> },
+//         restriction: <relation ID>
+//     }
+//
+// In the simple case, `restriction` is a reference to a `no_*` restriction
+// on the turn itself. In this case, it is simply deleted.
+//
+// The more complex case is where `restriction` references an `only_*`
+// restriction on a different turn in the same intersection. In that case,
+// that restriction is also deleted, but at the same time restrictions on
+// the turns other than the first two are created.
+//
+iD.actions.UnrestrictTurn = function(turn) {
+    return function(graph) {
+        return iD.actions.DeleteRelation(turn.restriction)(graph);
+    };
+};
 iD.behavior = {};
 iD.behavior.AddWay = function(context) {
     var event = d3.dispatch('start', 'startFromWay', 'startFromNode'),
@@ -19349,8 +19604,6 @@ iD.behavior.Lasso = function(context) {
                     .on('mouseup.lasso', mouseup);
 
                 d3.event.stopPropagation();
-                d3.event.preventDefault();
-
             }
         }
 
@@ -20692,15 +20945,15 @@ iD.operations.Delete = function(selectedIDs, context) {
             }
         }
 
-        context.perform(
-            action,
-            annotation);
-
         if (nextSelectedID && context.hasEntity(nextSelectedID)) {
             context.enter(iD.modes.Select(context, [nextSelectedID]));
         } else {
             context.enter(iD.modes.Browse(context));
         }
+
+        context.perform(
+            action,
+            annotation);
     };
 
     operation.available = function() {
@@ -21339,7 +21592,7 @@ iD.areaKeys = {
 
     connection.changesetTags = function(comment, imageryUsed) {
         var tags = {
-            imagery_used: imageryUsed.join(';'),
+            imagery_used: imageryUsed.join(';').substr(0, 255),
             created_by: 'iD ' + iD.version
         };
 
@@ -21821,6 +22074,10 @@ iD.Entity.prototype = {
         });
     },
 
+    isHighwayIntersection: function() {
+        return false;
+    },
+
     deprecatedTags: function() {
         var tags = _.pairs(this.tags);
         var deprecated = {};
@@ -22469,6 +22726,14 @@ _.extend(iD.Node.prototype, {
         });
     },
 
+    isHighwayIntersection: function(resolver) {
+        return resolver.transient(this, 'isHighwayIntersection', function() {
+            return resolver.parentWays(this).filter(function(parent) {
+                return parent.tags.highway && parent.geometry(resolver) === 'line';
+            }).length > 1;
+        });
+    },
+
     asJXON: function(changeset_id) {
         var r = {
             node: {
@@ -22492,6 +22757,38 @@ _.extend(iD.Node.prototype, {
         };
     }
 });
+iD.oneWayTags = {
+    'aerialway': {
+        'chair_lift': true,
+        'mixed_lift': true,
+        't-bar': true,
+        'j-bar': true,
+        'platter': true,
+        'rope_tow': true,
+        'magic_carpet': true,
+        'yes': true
+    },
+    'highway': {
+        'motorway': true,
+        'motorway_link': true
+    },
+    'junction': {
+        'roundabout': true
+    },
+    'man_made': {
+        'piste:halfpipe': true,
+        'pipeline': true
+    },
+    'piste:type': {
+        'downhill': true,
+        'sled': true,
+        'yes': true
+    },
+    'waterway': {
+        'river': true,
+        'stream': true
+    }
+};
 iD.Relation = iD.Entity.relation = function iD_Relation() {
     if (!(this instanceof iD_Relation)) {
         return (new iD_Relation()).initialize(arguments);
@@ -22886,11 +23183,11 @@ _.extend(iD.Way.prototype, {
         if (['no', '0'].indexOf(this.tags.oneway) !== -1) { return false; }
 
         // implied oneway tag..
-        return this.tags.waterway === 'river' ||
-            this.tags.waterway === 'stream' ||
-            this.tags.highway === 'motorway' ||
-            this.tags.highway === 'motorway_link' ||
-            this.tags.junction === 'roundabout';
+        for (var key in this.tags) {
+            if (key in iD.oneWayTags && (this.tags[key] in iD.oneWayTags[key]))
+                return true;
+        }
+        return false;
     },
 
     isClosed: function() {
@@ -23641,30 +23938,7 @@ iD.Map = function(context) {
         if (difference) {
             var complete = difference.complete(map.extent());
             all = _.compact(_.values(complete));
-            filter = function(d) {
-                if (d.type === 'midpoint') {
-
-                    var a = d.edge[0],
-                        b = d.edge[1];
-
-                    // redraw a midpoint if it needs to be
-                    // - moved (either edge node moved)
-                    // - deleted (edge nodes not consecutive in any parent way)
-                    if (a in complete || b in complete) return true;
-
-                    var parentsWays = graph.parentWays({ id: a });
-                    for (var i = 0; i < parentsWays.length; i++) {
-                        var nodes = parentsWays[i].nodes;
-                        for (var n = 0; n < nodes.length; n++) {
-                            if (nodes[n] === a && (nodes[n - 1] === b || nodes[n + 1] === b)) return false;
-                        }
-                    }
-                    return true;
-
-                } else {
-                    return d.id in complete;
-                }
-            };
+            filter = function(d) { return d.id in complete; };
 
         } else if (extent) {
             all = context.intersects(map.extent().intersection(extent));
@@ -24337,6 +24611,135 @@ iD.svg.Areas = function(projection) {
             .attr('d', path);
     };
 };
+/*
+    A standalone SVG element that contains only a `defs` sub-element. To be
+    used once globally, since defs IDs must be unique within a document.
+*/
+iD.svg.Defs = function(context) {
+    function autosize(image) {
+        var img = document.createElement('img');
+        img.src = image.attr('xlink:href');
+        img.onload = function() {
+            image.attr({
+                width: img.width,
+                height: img.height
+            });
+        };
+    }
+
+    function SpriteDefinition(id, href, data) {
+        return function(defs) {
+            defs.append('image')
+                .attr('id', id)
+                .attr('xlink:href', href)
+                .call(autosize);
+
+            defs.selectAll()
+                .data(data)
+                .enter().append('use')
+                .attr('id', function(d) { return d.key; })
+                .attr('transform', function(d) { return 'translate(-' + d.value[0] + ',-' + d.value[1] + ')'; })
+                .attr('xlink:href', '#' + id);
+        };
+    }
+
+    return function (selection) {
+        var defs = selection.append('defs');
+
+        defs.append('marker')
+            .attr({
+                id: 'oneway-marker',
+                viewBox: '0 0 10 10',
+                refY: 2.5,
+                refX: 5,
+                markerWidth: 2,
+                markerHeight: 2,
+                orient: 'auto'
+            })
+            .append('path')
+            .attr('d', 'M 5 3 L 0 3 L 0 2 L 5 2 L 5 0 L 10 2.5 L 5 5 z');
+
+        var patterns = defs.selectAll('pattern')
+            .data([
+                // pattern name, pattern image name
+                ['wetland', 'wetland'],
+                ['construction', 'construction'],
+                ['cemetery', 'cemetery'],
+                ['orchard', 'orchard'],
+                ['farmland', 'farmland'],
+                ['beach', 'dots'],
+                ['scrub', 'dots'],
+                ['meadow', 'dots']
+            ])
+            .enter()
+            .append('pattern')
+            .attr({
+                id: function (d) {
+                    return 'pattern-' + d[0];
+                },
+                width: 32,
+                height: 32,
+                patternUnits: 'userSpaceOnUse'
+            });
+
+        patterns.append('rect')
+            .attr({
+                x: 0,
+                y: 0,
+                width: 32,
+                height: 32,
+                'class': function (d) {
+                    return 'pattern-color-' + d[0];
+                }
+            });
+
+        patterns.append('image')
+            .attr({
+                x: 0,
+                y: 0,
+                width: 32,
+                height: 32
+            })
+            .attr('xlink:href', function (d) {
+                return context.imagePath('pattern/' + d[1] + '.png');
+            });
+
+        defs.selectAll()
+            .data([12, 18, 20, 32, 45])
+            .enter().append('clipPath')
+            .attr('id', function (d) {
+                return 'clip-square-' + d;
+            })
+            .append('rect')
+            .attr('x', 0)
+            .attr('y', 0)
+            .attr('width', function (d) {
+                return d;
+            })
+            .attr('height', function (d) {
+                return d;
+            });
+
+        var maki = [];
+        _.forEach(iD.data.featureIcons, function (dimensions, name) {
+            if (dimensions['12'] && dimensions['18'] && dimensions['24']) {
+                maki.push({key: 'maki-' + name + '-12', value: dimensions['12']});
+                maki.push({key: 'maki-' + name + '-18', value: dimensions['18']});
+                maki.push({key: 'maki-' + name + '-24', value: dimensions['24']});
+            }
+        });
+
+        defs.call(SpriteDefinition(
+            'sprite',
+            context.imagePath('sprite.svg'),
+            d3.entries(iD.data.operations)));
+
+        defs.call(SpriteDefinition(
+            'maki-sprite',
+            context.imagePath('maki-sprite.png'),
+            maki));
+    };
+};
 iD.svg.Labels = function(projection, context) {
     var path = d3.geo.path().projection(projection);
 
@@ -24891,39 +25294,50 @@ iD.svg.Midpoints = function(projection, context) {
         for (var i = 0; i < entities.length; i++) {
             var entity = entities[i];
 
-            if (entity.type !== 'way') continue;
-            if (context.selectedIDs().indexOf(entity.id) < 0) continue;
+            if (entity.type !== 'way')
+                continue;
+            if (!filter(entity))
+                continue;
+            if (context.selectedIDs().indexOf(entity.id) < 0)
+                continue;
 
             var nodes = graph.childNodes(entity);
-
-            // skip the last node because it is always repeated
             for (var j = 0; j < nodes.length - 1; j++) {
 
                 var a = nodes[j],
                     b = nodes[j + 1],
                     id = [a.id, b.id].sort().join('-');
 
-                // Redraw midpoints in two cases:
-                //   1. One of the two endpoint nodes changed (e.g. was moved).
-                //   2. A node was deleted. The midpoint between the two new
-                //      endpoints needs to be redrawn. In this case only the
-                //      way will be in the diff.
-                if (!midpoints[id] && (filter(a) || filter(b) || filter(entity))) {
+                if (midpoints[id]) {
+                    midpoints[id].parents.push(entity);
+                } else {
                     var loc = iD.geo.interp(a.loc, b.loc, 0.5);
                     if (extent.intersects(loc) && iD.geo.euclideanDistance(projection(a.loc), projection(b.loc)) > 40) {
                         midpoints[id] = {
                             type: 'midpoint',
                             id: id,
                             loc: loc,
-                            edge: [a.id, b.id]
+                            edge: [a.id, b.id],
+                            parents: [entity]
                         };
                     }
                 }
             }
         }
 
+        function midpointFilter(d) {
+            if (midpoints[d.id])
+                return true;
+
+            for (var i = 0; i < d.parents.length; i++)
+                if (filter(d.parents[i]))
+                    return true;
+
+            return false;
+        }
+
         var groups = surface.select('.layer-hit').selectAll('g.midpoint')
-            .filter(filter)
+            .filter(midpointFilter)
             .data(_.values(midpoints), function(d) { return d.id; });
 
         var group = groups.enter()
@@ -25017,192 +25431,8 @@ iD.svg.Points = function(projection, context) {
 
     return drawPoints;
 };
-iD.svg.Restrictions = function(context) {
-    var projection = context.projection;
-
-    function drawRestrictions(surface) {
-        var turns = drawRestrictions.turns(context.graph(), context.selectedIDs());
-
-        var groups = surface.select('.layer-hit').selectAll('g.restriction')
-            .data(turns, iD.Entity.key);
-
-        var enter = groups.enter().append('g')
-            .attr('class', 'restriction');
-
-        enter.append('circle')
-            .attr('class', 'restriction')
-            .attr('r', 4);
-
-        groups
-            .attr('transform', function(restriction) {
-                var via = context.entity(restriction.memberByRole('via').id);
-                return iD.svg.PointTransform(projection)(via);
-            });
-
-        groups.exit()
-            .remove();
-
-        return this;
-    }
-
-    drawRestrictions.turns = function (graph, selectedIDs) {
-        if (selectedIDs.length !== 1)
-            return [];
-
-        var from = graph.entity(selectedIDs[0]);
-        if (from.type !== 'way')
-            return [];
-
-        return graph.parentRelations(from).filter(function(relation) {
-            var f = relation.memberById(from.id),
-                t = relation.memberByRole('to'),
-                v = relation.memberByRole('via');
-
-            return relation.tags.type === 'restriction' && f.role === 'from' &&
-                t && t.type === 'way' && graph.hasEntity(t.id) &&
-                v && v.type === 'node' && graph.hasEntity(v.id) &&
-                !graph.entity(t.id).isDegenerate() &&
-                !graph.entity(f.id).isDegenerate() &&
-                graph.entity(t.id).affix(v.id) &&
-                graph.entity(f.id).affix(v.id);
-        });
-    };
-
-    drawRestrictions.datum = function(graph, from, restriction, projection) {
-        var to = graph.entity(restriction.memberByRole('to').id),
-            a = graph.entity(restriction.memberByRole('via').id),
-            b;
-
-        if (to.first() === a.id) {
-            b = graph.entity(to.nodes[1]);
-        } else {
-            b = graph.entity(to.nodes[to.nodes.length - 2]);
-        }
-
-        a = projection(a.loc);
-        b = projection(b.loc);
-
-        return {
-            from: from,
-            to: to,
-            restriction: restriction,
-            angle: Math.atan2(b[1] - a[1], b[0] - a[0])
-        };
-    };
-
-    return drawRestrictions;
-};
-iD.svg.Surface = function(context) {
-    function autosize(image) {
-        var img = document.createElement('img');
-        img.src = image.attr('xlink:href');
-        img.onload = function() {
-            image.attr({
-                width: img.width,
-                height: img.height
-            });
-        };
-    }
-
-    function SpriteDefinition(id, href, data) {
-        return function(defs) {
-            defs.append('image')
-                .attr('id', id)
-                .attr('xlink:href', href)
-                .call(autosize);
-
-            defs.selectAll()
-                .data(data)
-                .enter().append('use')
-                .attr('id', function(d) { return d.key; })
-                .attr('transform', function(d) { return 'translate(-' + d.value[0] + ',-' + d.value[1] + ')'; })
-                .attr('xlink:href', '#' + id);
-        };
-    }
-
-    return function drawSurface(selection) {
-        var defs = selection.append('defs');
-
-        defs.append('marker')
-            .attr({
-                id: 'oneway-marker',
-                viewBox: '0 0 10 10',
-                refY: 2.5,
-                refX: 5,
-                markerWidth: 2,
-                markerHeight: 2,
-                orient: 'auto'
-            })
-            .append('path')
-            .attr('d', 'M 5 3 L 0 3 L 0 2 L 5 2 L 5 0 L 10 2.5 L 5 5 z');
-
-        var patterns = defs.selectAll('pattern')
-            .data([
-                // pattern name, pattern image name
-                ['wetland', 'wetland'],
-                ['construction', 'construction'],
-                ['cemetery', 'cemetery'],
-                ['orchard', 'orchard'],
-                ['farmland', 'farmland'],
-                ['beach', 'dots'],
-                ['scrub', 'dots'],
-                ['meadow', 'dots']])
-            .enter()
-            .append('pattern')
-                .attr({
-                    id: function(d) { return 'pattern-' + d[0]; },
-                    width: 32,
-                    height: 32,
-                    patternUnits: 'userSpaceOnUse'
-                });
-
-        patterns.append('rect')
-            .attr({
-                x: 0,
-                y: 0,
-                width: 32,
-                height: 32,
-                'class': function(d) { return 'pattern-color-' + d[0]; }
-            });
-
-        patterns.append('image')
-            .attr({
-                x: 0,
-                y: 0,
-                width: 32,
-                height: 32
-            })
-            .attr('xlink:href', function(d) { return context.imagePath('pattern/' + d[1] + '.png'); });
-
-        defs.selectAll()
-            .data([12, 18, 20])
-            .enter().append('clipPath')
-            .attr('id', function(d) { return 'clip-square-' + d; })
-            .append('rect')
-            .attr('x', 0)
-            .attr('y', 0)
-            .attr('width', function(d) { return d; })
-            .attr('height', function(d) { return d; });
-
-        var maki = [];
-        _.forEach(iD.data.featureIcons, function(dimensions, name) {
-            if (dimensions['12'] && dimensions['18'] && dimensions['24']) {
-                maki.push({key: 'maki-' + name + '-12', value: dimensions['12']});
-                maki.push({key: 'maki-' + name + '-18', value: dimensions['18']});
-                maki.push({key: 'maki-' + name + '-24', value: dimensions['24']});
-            }
-        });
-
-        defs.call(SpriteDefinition(
-            'sprite',
-            context.imagePath('sprite.svg'),
-            d3.entries(iD.data.operations)));
-
-        defs.call(SpriteDefinition(
-            'maki-sprite',
-            context.imagePath('maki-sprite.png'),
-            maki));
-
+iD.svg.Surface = function() {
+    return function (selection) {
         var layers = selection.selectAll('.layer')
             .data(['fill', 'shadow', 'casing', 'stroke', 'oneway', 'hit', 'halo', 'label']);
 
@@ -25265,6 +25495,77 @@ iD.svg.TagClasses = function() {
 
     return tagClasses;
 };
+iD.svg.Turns = function(projection) {
+    return function(surface, graph, turns) {
+        function key(turn) {
+            return [turn.from.node + turn.via.node + turn.to.node].join('-');
+        }
+
+        function icon(turn) {
+            var u = turn.u ? '-u' : '';
+            if (!turn.restriction)
+                return '#icon-restriction-yes' + u;
+            var restriction = graph.entity(turn.restriction).tags.restriction;
+            return '#icon-restriction-' +
+                (!turn.indirect_restriction && /^only_/.test(restriction) ? 'only' : 'no') + u;
+        }
+
+        var groups = surface.select('.layer-hit').selectAll('g.turn')
+            .data(turns, key);
+
+        // Enter
+
+        var enter = groups.enter().append('g')
+            .attr('class', 'turn');
+
+        var nEnter = enter.filter(function (turn) { return !turn.u; });
+
+        nEnter.append('rect')
+            .attr('transform', 'translate(-12, -12)')
+            .attr('width', '45')
+            .attr('height', '25');
+
+        nEnter.append('use')
+            .attr('transform', 'translate(-12, -12)')
+            .attr('clip-path', 'url(#clip-square-45)');
+
+        var uEnter = enter.filter(function (turn) { return turn.u; });
+
+        uEnter.append('circle')
+            .attr('r', '16');
+
+        uEnter.append('use')
+            .attr('transform', 'translate(-16, -16)')
+            .attr('clip-path', 'url(#clip-square-32)');
+
+        // Update
+
+        groups
+            .attr('transform', function (turn) {
+                var v = graph.entity(turn.via.node),
+                    t = graph.entity(turn.to.node),
+                    a = iD.geo.angle(v, t, projection),
+                    p = projection(v.loc),
+                    r = turn.u ? 0 : 60;
+
+                return 'translate(' + (r * Math.cos(a) + p[0]) + ',' + (r * Math.sin(a) + p[1]) + ')' +
+                    'rotate(' + a * 180 / Math.PI + ')';
+            });
+
+        groups.select('use')
+            .attr('xlink:href', icon);
+
+        groups.select('rect');
+        groups.select('circle');
+
+        // Exit
+
+        groups.exit()
+            .remove();
+
+        return this;
+    };
+};
 iD.svg.Vertices = function(projection, context) {
     var radiuses = {
         //       z16-, z17, z18+, tagged
@@ -25429,6 +25730,10 @@ iD.ui = function(context) {
             map.centerZoom([-77.02271, 38.90085], 20);
         }
 
+        container.append('svg')
+            .attr('id', 'defs')
+            .call(iD.svg.Defs(context));
+
         container.append('div')
             .attr('id', 'sidebar')
             .attr('class', 'col4')
@@ -26491,6 +26796,8 @@ iD.ui.EntityEditor = function(context) {
         preset,
         reference;
 
+    var presetEditor = iD.ui.preset(context)
+        .on('change', changeTags);
     var rawTagEditor = iD.ui.RawTagEditor(context)
         .on('change', changeTags);
 
@@ -26577,12 +26884,11 @@ iD.ui.EntityEditor = function(context) {
             .text(preset.name());
 
         $body.select('.inspector-preset')
-            .call(iD.ui.preset(context)
+            .call(presetEditor
                 .preset(preset)
                 .entityID(id)
                 .tags(tags)
-                .state(state)
-                .on('change', changeTags));
+                .state(state));
 
         $body.select('.raw-tag-editor')
             .call(rawTagEditor
@@ -26619,11 +26925,13 @@ iD.ui.EntityEditor = function(context) {
 
     function clean(o) {
         var out = {}, k, v;
+        /*jshint -W083 */
         for (k in o) {
             if (k && (v = o[k]) !== undefined) {
-                out[k] = v.trim();
+                out[k] = v.split(';').map(function(s) { return s.trim(); }).join(';');
             }
         }
+        /*jshint +W083 */
         return out;
     }
 
@@ -27141,7 +27449,12 @@ iD.ui.Inspector = function(context) {
         var $presetPane = $wrap.select('.preset-list-pane');
         var $editorPane = $wrap.select('.entity-editor-pane');
 
-        var showEditor = state === 'hover' || context.entity(entityID).isUsed(context.graph());
+        var graph = context.graph(),
+            entity = context.entity(entityID),
+            showEditor = state === 'hover' ||
+                entity.isUsed(graph) ||
+                entity.isHighwayIntersection(graph);
+
         if (showEditor) {
             $wrap.style('right', '0%');
             $editorPane.call(entityEditor);
@@ -27669,6 +27982,10 @@ iD.ui.preset = function(context) {
                 }
             });
 
+            if (entity.isHighwayIntersection(context.graph())) {
+                fields.push(UIField(context.presets().field('restrictions'), entity, true));
+            }
+
             context.presets().universal().forEach(function(field) {
                 if (preset.fields.indexOf(field) < 0) {
                     fields.push(UIField(field, entity));
@@ -27774,7 +28091,7 @@ iD.ui.preset = function(context) {
 
         function show(field) {
             field.show = true;
-            presets(selection);
+            context.presets()(selection);
             field.input.focus();
         }
 
@@ -27793,6 +28110,7 @@ iD.ui.preset = function(context) {
 
     presets.preset = function(_) {
         if (!arguments.length) return preset;
+        if (preset && preset.id === _.id) return presets;
         preset = _;
         fields = null;
         return presets;
@@ -27813,6 +28131,7 @@ iD.ui.preset = function(context) {
 
     presets.entityID = function(_) {
         if (!arguments.length) return id;
+        if (id === _) return presets;
         id = _;
         fields = null;
         return presets;
@@ -29054,6 +29373,7 @@ iD.ui.Sidebar = function(context) {
 
         sidebar.hide = function() {
             featureListWrap.classed('inspector-hidden', false);
+            inspectorWrap.classed('inspector-hidden', true);
             if (current) current.remove();
             current = null;
         };
@@ -29883,10 +30203,6 @@ iD.ui.preset.address = function(field, context) {
         city = wrap.select('.addr-city');
         postcode = wrap.select('.addr-postcode');
 
-        wrap.selectAll('input')
-            .on('blur', change)
-            .on('change', change);
-
         street
             .call(d3.combobox()
                 .fetcher(function(value, callback) {
@@ -29904,6 +30220,10 @@ iD.ui.preset.address = function(field, context) {
                 .fetcher(function(value, callback) {
                     callback(getPostCodes());
                 }));
+
+        wrap.selectAll('input')
+            .on('blur', change)
+            .on('change', change);
     }
 
     function change() {
@@ -29937,15 +30257,38 @@ iD.ui.preset.address = function(field, context) {
 iD.ui.preset.check =
 iD.ui.preset.defaultcheck = function(field) {
     var event = d3.dispatch('change'),
-        values = field.type === 'check' ?
-            [undefined, 'yes', 'no'] :
-            [undefined, 'yes'],
-        value,
-        box,
-        text,
-        label;
+        options = field.strings && field.strings.options,
+        values = [],
+        texts = [],
+        entity, value, box, text, label;
+
+    if (options) {
+        for (var k in options) {
+            values.push(k === 'undefined' ? undefined : k);
+            texts.push(field.t('check.' + k, { 'default': options[k] }));
+        }
+    } else {
+        values = [undefined, 'yes'];
+        texts = [t('inspector.unknown'), t('inspector.check.yes')];
+        if (field.type === 'check') {
+            values.push('no');
+            texts.push(t('inspector.check.no'));
+        }
+    }
 
     var check = function(selection) {
+        // hack: pretend oneway field is a oneway_yes field
+        // where implied oneway tag exists (e.g. `junction=roundabout`) #2220, #1841
+        if (field.id === 'oneway') {
+            for (var key in entity.tags) {
+                if (key in iD.oneWayTags && (entity.tags[key] in iD.oneWayTags[key])) {
+                    texts.shift();
+                    texts.unshift(t('presets.fields.oneway_yes.check.undefined', { 'default': 'Assumed to be Yes' }));
+                    break;
+                }
+            }
+        }
+
         selection.classed('checkselect', 'true');
 
         label = selection.selectAll('.preset-input-wrap')
@@ -29960,7 +30303,7 @@ iD.ui.preset.defaultcheck = function(field) {
             .attr('id', 'preset-input-' + field.id);
 
         enter.append('span')
-            .text(t('inspector.unknown'))
+            .text(texts[0])
             .attr('class', 'value');
 
         box = label.select('input')
@@ -29974,12 +30317,17 @@ iD.ui.preset.defaultcheck = function(field) {
         text = label.select('span.value');
     };
 
+    check.entity = function(_) {
+        if (!arguments.length) return entity;
+        entity = _;
+        return check;
+    };
+
     check.tags = function(tags) {
         value = tags[field.key];
         box.property('indeterminate', field.type === 'check' && !value);
         box.property('checked', value === 'yes');
-        text.text(value ? t('inspector.check.' + value, {default: value}) :
-            field.type === 'check' ? t('inspector.unknown') : t('inspector.check.no'));
+        text.text(texts[values.indexOf(value)]);
         label.classed('set', !!value);
     };
 
@@ -30005,6 +30353,7 @@ iD.ui.preset.typeCombo = function(field) {
             .attr('id', 'preset-input-' + field.id);
 
         input
+            .call(combobox)
             .on('change', change)
             .on('blur', change)
             .each(function() {
@@ -30017,13 +30366,12 @@ iD.ui.preset.typeCombo = function(field) {
                         if (!err) options(_.pluck(data, 'value'));
                     });
                 }
-            })
-            .call(combobox);
+            });
 
         function options(opts) {
             combobox.data(opts.map(function(d) {
                 var o = {};
-                o.title = o.value = d.replace('_', ' ');
+                o.title = o.value = d.replace(/_+/g, ' ');
                 return o;
             }));
 
@@ -30035,7 +30383,12 @@ iD.ui.preset.typeCombo = function(field) {
     }
 
     function change() {
-        var value = input.value().replace(' ', '_');
+        var value = input.value()
+            .split(';')
+            .map(function(s) { return s.trim(); })
+            .join(';')
+            .replace(/\s+/g, '_');
+
         if (field.type === 'typeCombo' && !value) value = 'yes';
 
         var t = {};
@@ -30137,10 +30490,6 @@ iD.ui.preset.localized = function(field, context) {
             .attr('class', 'localized-main')
             .attr('placeholder', field.placeholder());
 
-        input
-            .on('blur', change)
-            .on('change', change);
-
         if (field.id === 'name') {
             var preset = context.presets().match(entity, context.graph());
             input.call(d3.combobox().fetcher(
@@ -30148,6 +30497,10 @@ iD.ui.preset.localized = function(field, context) {
             ));
         }
 
+        input
+            .on('blur', change)
+            .on('change', change);
+
         var translateButton = selection.selectAll('.localized-add')
             .data([0]);
 
@@ -30377,9 +30730,9 @@ iD.ui.preset.maxspeed = function(field, context) {
             .attr('placeholder', field.placeholder());
 
         input
+            .call(combobox)
             .on('change', change)
-            .on('blur', change)
-            .call(combobox);
+            .on('blur', change);
 
         var childNodes = context.graph().childNodes(context.entity(entity.id)),
             loc = childNodes[~~(childNodes.length/2)].loc;
@@ -30539,6 +30892,145 @@ iD.ui.preset.radio = function(field) {
 
     return d3.rebind(radio, event, 'on');
 };
+iD.ui.preset.restrictions = function(field, context) {
+    var event = d3.dispatch('change'),
+        vertexID,
+        fromNodeID;
+
+    function restrictions(selection) {
+        var wrap = selection.selectAll('.preset-input-wrap')
+            .data([0]);
+
+        var enter = wrap.enter().append('div')
+            .attr('class', 'preset-input-wrap');
+
+        enter.append('div')
+            .attr('class', 'restriction-help');
+
+        enter.append('svg')
+            .call(iD.svg.Surface(context))
+            .call(iD.behavior.Hover(context));
+
+        var intersection = iD.geo.Intersection(context.graph(), vertexID),
+            graph = intersection.graph,
+            vertex = graph.entity(vertexID),
+            surface = wrap.selectAll('svg'),
+            filter = function () { return true; },
+            extent = iD.geo.Extent(),
+            projection = iD.geo.RawMercator(),
+            lines = iD.svg.Lines(projection, context),
+            vertices = iD.svg.Vertices(projection, context),
+            turns = iD.svg.Turns(projection, context);
+
+        var d = wrap.dimensions(),
+            c = [d[0] / 2, d[1] / 2],
+            z = 21;
+
+        projection
+            .scale(256 * Math.pow(2, z) / (2 * Math.PI));
+
+        var s = projection(vertex.loc);
+
+        projection
+            .translate([c[0] - s[0], c[1] - s[1]])
+            .clipExtent([[0, 0], d]);
+
+        surface
+            .call(vertices, graph, [vertex], filter, extent, z)
+            .call(lines, graph, intersection.highways, filter)
+            .call(turns, graph, intersection.turns(fromNodeID));
+
+        surface
+            .on('click.restrictions', click)
+            .on('mouseover.restrictions', mouseover)
+            .on('mouseout.restrictions', mouseout);
+
+        surface
+            .selectAll('.selected')
+            .classed('selected', false);
+
+        if (fromNodeID) {
+            surface
+                .selectAll('.' + _.find(intersection.highways, function(way) { return way.contains(fromNodeID); }).id)
+                .classed('selected', true);
+        }
+
+        mouseout();
+
+        context.history()
+            .on('change.restrictions', render);
+
+        d3.select(window)
+            .on('resize.restrictions', render);
+
+        function click() {
+            var datum = d3.event.target.__data__;
+            if (datum instanceof iD.Entity) {
+                fromNodeID = datum.nodes[(datum.first() === vertexID) ? 1 : datum.nodes.length - 2];
+                render();
+            } else if (datum instanceof iD.geo.Turn) {
+                if (datum.restriction) {
+                    context.perform(
+                        iD.actions.UnrestrictTurn(datum, projection),
+                        t('operations.restriction.annotation.delete'));
+                } else {
+                    context.perform(
+                        iD.actions.RestrictTurn(datum, projection),
+                        t('operations.restriction.annotation.create'));
+                }
+            }
+        }
+
+        function mouseover() {
+            var datum = d3.event.target.__data__;
+            if (datum instanceof iD.geo.Turn) {
+                var graph = context.graph(),
+                    presets = context.presets(),
+                    preset;
+
+                if (datum.restriction) {
+                    preset = presets.match(graph.entity(datum.restriction), graph);
+                } else {
+                    preset = presets.item('type/restriction/' +
+                        iD.geo.inferRestriction(
+                            graph.entity(datum.from.node),
+                            graph.entity(datum.via.node),
+                            graph.entity(datum.to.node),
+                            projection));
+                }
+
+                wrap.selectAll('.restriction-help')
+                    .text(t('operations.restriction.help.' +
+                        (datum.restriction ? 'toggle_off' : 'toggle_on'),
+                        {restriction: preset.name()}));
+            }
+        }
+
+        function mouseout() {
+            wrap.selectAll('.restriction-help')
+                .text(t('operations.restriction.help.' +
+                    (fromNodeID ? 'toggle' : 'select')));
+        }
+
+        function render() {
+            if (context.hasEntity(vertexID)) {
+                restrictions(selection);
+            }
+        }
+    }
+
+    restrictions.entity = function(_) {
+        if (!vertexID || vertexID !== _.id) {
+            fromNodeID = null;
+            vertexID = _.id;
+        }
+    };
+
+    restrictions.tags = function() {};
+    restrictions.focus = function() {};
+
+    return d3.rebind(restrictions, event, 'on');
+};
 iD.ui.preset.textarea = function(field) {
 
     var event = d3.dispatch('change'),
@@ -30617,9 +31109,9 @@ iD.ui.preset.wikipedia = function(field, context) {
             .value('English');
 
         lang
+            .call(langcombo)
             .on('blur', changeLang)
-            .on('change', changeLang)
-            .call(langcombo);
+            .on('change', changeLang);
 
         title = selection.selectAll('input.wiki-title')
             .data([0]);
@@ -30630,9 +31122,9 @@ iD.ui.preset.wikipedia = function(field, context) {
             .attr('id', 'preset-input-' + field.id);
 
         title
+            .call(titlecombo)
             .on('blur', change)
-            .on('change', change)
-            .call(titlecombo);
+            .on('change', change);
 
         link = selection.selectAll('a.wiki-link')
             .data([0]);
@@ -31483,7 +31975,7 @@ iD.presets.Field = function(id, field) {
     field.id = id;
 
     field.matchGeometry = function(geometry) {
-        return !field.geometry || field.geometry.indexOf(geometry) >= 0;
+        return !field.geometry || field.geometry === geometry;
     };
 
     field.t = function(scope, options) {
@@ -63760,6 +64252,26 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "opening_hours"
                 ]
             },
+            "amenity/dojo": {
+                "icon": "pitch",
+                "geometry": [
+                    "point",
+                    "area"
+                ],
+                "terms": [
+                    "martial arts",
+                    "dojo",
+                    "dojang"
+                ],
+                "tags": {
+                    "amenity": "dojo"
+                },
+                "fields": [
+                    "address",
+                    "sport"
+                ],
+                "name": "Dojo / Martial Arts Academy"
+            },
             "amenity/drinking_water": {
                 "icon": "water",
                 "geometry": [
@@ -66504,7 +67016,9 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "fields": [
                     "crossing",
                     "access",
-                    "surface"
+                    "surface",
+                    "sloped_curb",
+                    "tactile_paving"
                 ],
                 "geometry": [
                     "line"
@@ -66513,11 +67027,30 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "highway": "footway",
                     "footway": "crossing"
                 },
+                "terms": [],
+                "name": "Crossing"
+            },
+            "footway/crosswalk": {
+                "fields": [
+                    "crossing",
+                    "access",
+                    "surface",
+                    "sloped_curb",
+                    "tactile_paving"
+                ],
+                "geometry": [
+                    "line"
+                ],
+                "tags": {
+                    "highway": "footway",
+                    "footway": "crossing",
+                    "crossing": "zebra"
+                },
                 "terms": [
                     "crosswalk",
                     "zebra crossing"
                 ],
-                "name": "Crossing"
+                "name": "Crosswalk"
             },
             "footway/sidewalk": {
                 "fields": [
@@ -66718,11 +67251,27 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "tags": {
                     "highway": "crossing"
                 },
+                "terms": [],
+                "name": "Crossing"
+            },
+            "highway/crosswalk": {
+                "fields": [
+                    "crossing",
+                    "sloped_curb",
+                    "tactile_paving"
+                ],
+                "geometry": [
+                    "vertex"
+                ],
+                "tags": {
+                    "highway": "crossing",
+                    "crossing": "zebra"
+                },
                 "terms": [
                     "crosswalk",
                     "zebra crossing"
                 ],
-                "name": "Crossing"
+                "name": "Crosswalk"
             },
             "highway/cycleway": {
                 "icon": "highway-cycleway",
@@ -66819,7 +67368,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
             "highway/motorway": {
                 "icon": "highway-motorway",
                 "fields": [
-                    "oneway",
+                    "oneway_yes",
                     "maxspeed",
                     "structure",
                     "access",
@@ -66846,7 +67395,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "fields": [
                     "ref"
                 ],
-                "name": "Motorway Junction"
+                "name": "Motorway Junction / Exit"
             },
             "highway/motorway_link": {
                 "icon": "highway-motorway-link",
@@ -68042,6 +68591,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "name": "Slipway"
             },
             "leisure/sports_center": {
+                "icon": "pitch",
                 "geometry": [
                     "point",
                     "area"
@@ -68052,10 +68602,13 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "terms": [
                     "gym"
                 ],
-                "icon": "sports",
-                "name": "Sports Center"
+                "fields": [
+                    "sport"
+                ],
+                "name": "Sports Center / Gym"
             },
             "leisure/stadium": {
+                "icon": "pitch",
                 "geometry": [
                     "point",
                     "area"
@@ -70984,9 +71537,108 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "name": "Restriction",
                 "icon": "restriction",
                 "fields": [
-                    "restriction"
+                    "restriction",
+                    "except"
                 ]
             },
+            "type/restriction/no_left_turn": {
+                "name": "No Left Turn",
+                "geometry": [
+                    "relation"
+                ],
+                "tags": {
+                    "type": "restriction",
+                    "restriction": "no_left_turn"
+                },
+                "fields": [
+                    "except"
+                ],
+                "icon": "restriction-no-left-turn"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "No Right Turn",
+                "geometry": [
+                    "relation"
+                ],
+                "tags": {
+                    "type": "restriction",
+                    "restriction": "no_right_turn"
+                },
+                "fields": [
+                    "except"
+                ],
+                "icon": "restriction-no-right-turn"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "No Straight On",
+                "geometry": [
+                    "relation"
+                ],
+                "tags": {
+                    "type": "restriction",
+                    "restriction": "no_straight_on"
+                },
+                "fields": [
+                    "except"
+                ],
+                "icon": "restriction-no-straight-on"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "No U-turn",
+                "geometry": [
+                    "relation"
+                ],
+                "tags": {
+                    "type": "restriction",
+                    "restriction": "no_u_turn"
+                },
+                "fields": [
+                    "except"
+                ],
+                "icon": "restriction-no-u-turn"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Left Turn Only",
+                "geometry": [
+                    "relation"
+                ],
+                "tags": {
+                    "type": "restriction",
+                    "restriction": "only_left_turn"
+                },
+                "fields": [
+                    "except"
+                ],
+                "icon": "restriction-only-left-turn"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Right Turn Only",
+                "geometry": [
+                    "relation"
+                ],
+                "tags": {
+                    "type": "restriction",
+                    "restriction": "only_right_turn"
+                },
+                "fields": [
+                    "except"
+                ],
+                "icon": "restriction-only-right-turn"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "No Turns",
+                "geometry": [
+                    "relation"
+                ],
+                "tags": {
+                    "type": "restriction",
+                    "restriction": "only_straight_on"
+                },
+                "fields": [
+                    "except"
+                ],
+                "icon": "restriction-only-straight-on"
+            },
             "type/route": {
                 "geometry": [
                     "relation"
@@ -71597,25 +72249,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/Sainsbury's": {
-                "tags": {
-                    "name": "Sainsbury's",
-                    "amenity": "fuel"
-                },
-                "name": "Sainsbury's",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/OMV": {
                 "tags": {
                     "name": "OMV",
@@ -71654,25 +72287,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/Tesco": {
-                "tags": {
-                    "name": "Tesco",
-                    "amenity": "fuel"
-                },
-                "name": "Tesco",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/JET": {
                 "tags": {
                     "name": "JET",
@@ -71692,25 +72306,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/Morrisons": {
-                "tags": {
-                    "name": "Morrisons",
-                    "amenity": "fuel"
-                },
-                "name": "Morrisons",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/United": {
                 "tags": {
                     "name": "United",
@@ -71730,25 +72325,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/Canadian Tire": {
-                "tags": {
-                    "name": "Canadian Tire",
-                    "amenity": "fuel"
-                },
-                "name": "Canadian Tire",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/Mobil": {
                 "tags": {
                     "name": "Mobil",
@@ -71825,25 +72401,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/ABC": {
-                "tags": {
-                    "name": "ABC",
-                    "amenity": "fuel"
-                },
-                "name": "ABC",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/ARAL": {
                 "tags": {
                     "name": "ARAL",
@@ -71920,25 +72477,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/Intermarché": {
-                "tags": {
-                    "name": "Intermarché",
-                    "amenity": "fuel"
-                },
-                "name": "Intermarché",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/Total Access": {
                 "tags": {
                     "name": "Total Access",
@@ -71958,44 +72496,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/Super U": {
-                "tags": {
-                    "name": "Super U",
-                    "amenity": "fuel"
-                },
-                "name": "Super U",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
-            "amenity/fuel/Auchan": {
-                "tags": {
-                    "name": "Auchan",
-                    "amenity": "fuel"
-                },
-                "name": "Auchan",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/Elf": {
                 "tags": {
                     "name": "Elf",
@@ -72015,25 +72515,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/Carrefour": {
-                "tags": {
-                    "name": "Carrefour",
-                    "amenity": "fuel"
-                },
-                "name": "Carrefour",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/Station Service E. Leclerc": {
                 "tags": {
                     "name": "Station Service E. Leclerc",
@@ -72376,25 +72857,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/Raiffeisenbank": {
-                "tags": {
-                    "name": "Raiffeisenbank",
-                    "amenity": "fuel"
-                },
-                "name": "Raiffeisenbank",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/Tamoil": {
                 "tags": {
                     "name": "Tamoil",
@@ -72490,25 +72952,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/Coop": {
-                "tags": {
-                    "name": "Coop",
-                    "amenity": "fuel"
-                },
-                "name": "Coop",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/Orlen": {
                 "tags": {
                     "name": "Orlen",
@@ -72718,25 +73161,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/7-Eleven": {
-                "tags": {
-                    "name": "7-Eleven",
-                    "amenity": "fuel"
-                },
-                "name": "7-Eleven",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/Agrola": {
                 "tags": {
                     "name": "Agrola",
@@ -73858,25 +74282,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/Wawa": {
-                "tags": {
-                    "name": "Wawa",
-                    "amenity": "fuel"
-                },
-                "name": "Wawa",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/Pertamina": {
                 "tags": {
                     "name": "Pertamina",
@@ -74372,25 +74777,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/Circle K": {
-                "tags": {
-                    "name": "Circle K",
-                    "amenity": "fuel"
-                },
-                "name": "Circle K",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/Posto Ipiranga": {
                 "tags": {
                     "name": "Posto Ipiranga",
@@ -74543,25 +74929,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/Stewart's": {
-                "tags": {
-                    "name": "Stewart's",
-                    "amenity": "fuel"
-                },
-                "name": "Stewart's",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/Posto BR": {
                 "tags": {
                     "name": "Posto BR",
@@ -74733,25 +75100,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/fuel/H-E-B": {
-                "tags": {
-                    "name": "H-E-B",
-                    "amenity": "fuel"
-                },
-                "name": "H-E-B",
-                "icon": "fuel",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "address",
-                    "building_area"
-                ],
-                "suggestion": true
-            },
             "amenity/fuel/Укрнафта": {
                 "tags": {
                     "name": "Укрнафта",
@@ -75828,6 +76176,28 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "amenity/fast_food/Subway": {
+                "tags": {
+                    "name": "Subway",
+                    "cuisine": "sandwich",
+                    "amenity": "fast_food"
+                },
+                "name": "Subway",
+                "icon": "fast-food",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "cuisine",
+                    "building_area",
+                    "address",
+                    "opening_hours",
+                    "smoking"
+                ],
+                "suggestion": true
+            },
             "amenity/fast_food/Burger King": {
                 "tags": {
                     "name": "Burger King",
@@ -80535,6 +80905,26 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "amenity/bank/Raiffeisenbank": {
+                "tags": {
+                    "name": "Raiffeisenbank",
+                    "amenity": "bank"
+                },
+                "name": "Raiffeisenbank",
+                "icon": "bank",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "atm",
+                    "building_area",
+                    "address",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "amenity/bank/Yorkshire Bank": {
                 "tags": {
                     "name": "Yorkshire Bank",
@@ -86254,26 +86644,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "amenity/pharmacy/Радуга": {
-                "tags": {
-                    "name": "Радуга",
-                    "amenity": "pharmacy"
-                },
-                "name": "Радуга",
-                "icon": "pharmacy",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
             "amenity/pharmacy/サンドラッグ": {
                 "tags": {
                     "name": "サンドラッグ",
@@ -87434,6 +87804,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/supermarket/Morrisons": {
+                "tags": {
+                    "name": "Morrisons",
+                    "shop": "supermarket"
+                },
+                "name": "Morrisons",
+                "icon": "grocery",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "operator",
+                    "building_area",
+                    "address"
+                ],
+                "suggestion": true
+            },
             "shop/supermarket/Interspar": {
                 "tags": {
                     "name": "Interspar",
@@ -87472,6 +87861,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/supermarket/Sainsbury's": {
+                "tags": {
+                    "name": "Sainsbury's",
+                    "shop": "supermarket"
+                },
+                "name": "Sainsbury's",
+                "icon": "grocery",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "operator",
+                    "building_area",
+                    "address"
+                ],
+                "suggestion": true
+            },
             "shop/supermarket/Lidl": {
                 "tags": {
                     "name": "Lidl",
@@ -87548,6 +87956,44 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/supermarket/Coop": {
+                "tags": {
+                    "name": "Coop",
+                    "shop": "supermarket"
+                },
+                "name": "Coop",
+                "icon": "grocery",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "operator",
+                    "building_area",
+                    "address"
+                ],
+                "suggestion": true
+            },
+            "shop/supermarket/Tesco": {
+                "tags": {
+                    "name": "Tesco",
+                    "shop": "supermarket"
+                },
+                "name": "Tesco",
+                "icon": "grocery",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "operator",
+                    "building_area",
+                    "address"
+                ],
+                "suggestion": true
+            },
             "shop/supermarket/Woolworths": {
                 "tags": {
                     "name": "Woolworths",
@@ -87890,25 +88336,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/Tesco Express": {
-                "tags": {
-                    "name": "Tesco Express",
-                    "shop": "supermarket"
-                },
-                "name": "Tesco Express",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
             "shop/supermarket/King Soopers": {
                 "tags": {
                     "name": "King Soopers",
@@ -88023,6 +88450,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/supermarket/Carrefour": {
+                "tags": {
+                    "name": "Carrefour",
+                    "shop": "supermarket"
+                },
+                "name": "Carrefour",
+                "icon": "grocery",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "operator",
+                    "building_area",
+                    "address"
+                ],
+                "suggestion": true
+            },
             "shop/supermarket/Waitrose": {
                 "tags": {
                     "name": "Waitrose",
@@ -88422,6 +88868,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/supermarket/Super U": {
+                "tags": {
+                    "name": "Super U",
+                    "shop": "supermarket"
+                },
+                "name": "Super U",
+                "icon": "grocery",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "operator",
+                    "building_area",
+                    "address"
+                ],
+                "suggestion": true
+            },
             "shop/supermarket/Metro": {
                 "tags": {
                     "name": "Metro",
@@ -88650,25 +89115,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/COOP Jednota": {
-                "tags": {
-                    "name": "COOP Jednota",
-                    "shop": "supermarket"
-                },
-                "name": "COOP Jednota",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
             "shop/supermarket/Rema 1000": {
                 "tags": {
                     "name": "Rema 1000",
@@ -89296,6 +89742,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/supermarket/Auchan": {
+                "tags": {
+                    "name": "Auchan",
+                    "shop": "supermarket"
+                },
+                "name": "Auchan",
+                "icon": "grocery",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "operator",
+                    "building_area",
+                    "address"
+                ],
+                "suggestion": true
+            },
             "shop/supermarket/Mercadona": {
                 "tags": {
                     "name": "Mercadona",
@@ -89448,25 +89913,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/Costcutter": {
-                "tags": {
-                    "name": "Costcutter",
-                    "shop": "supermarket"
-                },
-                "name": "Costcutter",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
             "shop/supermarket/Maxi": {
                 "tags": {
                     "name": "Maxi",
@@ -89524,6 +89970,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/supermarket/Intermarché": {
+                "tags": {
+                    "name": "Intermarché",
+                    "shop": "supermarket"
+                },
+                "name": "Intermarché",
+                "icon": "grocery",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "operator",
+                    "building_area",
+                    "address"
+                ],
+                "suggestion": true
+            },
             "shop/supermarket/Delhaize": {
                 "tags": {
                     "name": "Delhaize",
@@ -89695,25 +90160,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/dm": {
-                "tags": {
-                    "name": "dm",
-                    "shop": "supermarket"
-                },
-                "name": "dm",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
             "shop/supermarket/Kvickly": {
                 "tags": {
                     "name": "Kvickly",
@@ -89961,25 +90407,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/Petit Casino": {
-                "tags": {
-                    "name": "Petit Casino",
-                    "shop": "supermarket"
-                },
-                "name": "Petit Casino",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
             "shop/supermarket/Wasgau": {
                 "tags": {
                     "name": "Wasgau",
@@ -90569,25 +90996,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/Fressnapf": {
-                "tags": {
-                    "name": "Fressnapf",
-                    "shop": "supermarket"
-                },
-                "name": "Fressnapf",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
             "shop/supermarket/Coop Konsum": {
                 "tags": {
                     "name": "Coop Konsum",
@@ -90835,25 +91243,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/Centra": {
-                "tags": {
-                    "name": "Centra",
-                    "shop": "supermarket"
-                },
-                "name": "Centra",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
             "shop/supermarket/Квартал": {
                 "tags": {
                     "name": "Квартал",
@@ -91443,12 +91832,12 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/Атак": {
+            "shop/supermarket/H-E-B": {
                 "tags": {
-                    "name": "Атак",
+                    "name": "H-E-B",
                     "shop": "supermarket"
                 },
-                "name": "Атак",
+                "name": "H-E-B",
                 "icon": "grocery",
                 "geometry": [
                     "point",
@@ -91462,12 +91851,12 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/Ð\9fолÑ\83Ñ\88ка": {
+            "shop/supermarket/Ð\90Ñ\82ак": {
                 "tags": {
-                    "name": "Ð\9fолÑ\83Ñ\88ка",
+                    "name": "Ð\90Ñ\82ак",
                     "shop": "supermarket"
                 },
-                "name": "Ð\9fолÑ\83Ñ\88ка",
+                "name": "Ð\90Ñ\82ак",
                 "icon": "grocery",
                 "geometry": [
                     "point",
@@ -91481,12 +91870,12 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/Extra": {
+            "shop/supermarket/Полушка": {
                 "tags": {
-                    "name": "Extra",
+                    "name": "Полушка",
                     "shop": "supermarket"
                 },
-                "name": "Extra",
+                "name": "Полушка",
                 "icon": "grocery",
                 "geometry": [
                     "point",
@@ -91500,12 +91889,12 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/Lewiatan": {
+            "shop/supermarket/Extra": {
                 "tags": {
-                    "name": "Lewiatan",
+                    "name": "Extra",
                     "shop": "supermarket"
                 },
-                "name": "Lewiatan",
+                "name": "Extra",
                 "icon": "grocery",
                 "geometry": [
                     "point",
@@ -91557,25 +91946,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/Społem": {
-                "tags": {
-                    "name": "Społem",
-                    "shop": "supermarket"
-                },
-                "name": "Społem",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
             "shop/supermarket/Bodega Aurrera": {
                 "tags": {
                     "name": "Bodega Aurrera",
@@ -91652,25 +92022,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/supermarket/Магазин": {
-                "tags": {
-                    "name": "Магазин",
-                    "shop": "supermarket"
-                },
-                "name": "Магазин",
-                "icon": "grocery",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "operator",
-                    "building_area",
-                    "address"
-                ],
-                "suggestion": true
-            },
             "shop/supermarket/Монетка": {
                 "tags": {
                     "name": "Монетка",
@@ -92108,6 +92459,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Tesco Express": {
+                "tags": {
+                    "name": "Tesco Express",
+                    "shop": "convenience"
+                },
+                "name": "Tesco Express",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/One Stop": {
                 "tags": {
                     "name": "One Stop",
@@ -92146,6 +92516,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/7-Eleven": {
+                "tags": {
+                    "name": "7-Eleven",
+                    "shop": "convenience"
+                },
+                "name": "7-Eleven",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/Sale": {
                 "tags": {
                     "name": "Sale",
@@ -92184,6 +92573,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/COOP Jednota": {
+                "tags": {
+                    "name": "COOP Jednota",
+                    "shop": "convenience"
+                },
+                "name": "COOP Jednota",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/Mac's": {
                 "tags": {
                     "name": "Mac's",
@@ -92260,6 +92668,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Costcutter": {
+                "tags": {
+                    "name": "Costcutter",
+                    "shop": "convenience"
+                },
+                "name": "Costcutter",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/Valintatalo": {
                 "tags": {
                     "name": "Valintatalo",
@@ -92279,6 +92706,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Circle K": {
+                "tags": {
+                    "name": "Circle K",
+                    "shop": "convenience"
+                },
+                "name": "Circle K",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/セブンイレブン": {
                 "tags": {
                     "name": "セブンイレブン",
@@ -92319,6 +92765,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Petit Casino": {
+                "tags": {
+                    "name": "Petit Casino",
+                    "shop": "convenience"
+                },
+                "name": "Petit Casino",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/Mace": {
                 "tags": {
                     "name": "Mace",
@@ -92528,6 +92993,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/ABC": {
+                "tags": {
+                    "name": "ABC",
+                    "shop": "convenience"
+                },
+                "name": "ABC",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/ミニストップ": {
                 "tags": {
                     "name": "ミニストップ",
@@ -92759,6 +93243,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Магазин": {
+                "tags": {
+                    "name": "Магазин",
+                    "shop": "convenience"
+                },
+                "name": "Магазин",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/Гастроном": {
                 "tags": {
                     "name": "Гастроном",
@@ -92797,6 +93300,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Centra": {
+                "tags": {
+                    "name": "Centra",
+                    "shop": "convenience"
+                },
+                "name": "Centra",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/サークルK": {
                 "tags": {
                     "name": "サークルK",
@@ -92817,6 +93339,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Wawa": {
+                "tags": {
+                    "name": "Wawa",
+                    "shop": "convenience"
+                },
+                "name": "Wawa",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/Proxi": {
                 "tags": {
                     "name": "Proxi",
@@ -92988,6 +93529,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Społem": {
+                "tags": {
+                    "name": "Społem",
+                    "shop": "convenience"
+                },
+                "name": "Społem",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/Cumberland Farms": {
                 "tags": {
                     "name": "Cumberland Farms",
@@ -93026,6 +93586,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Kiosk": {
+                "tags": {
+                    "name": "Kiosk",
+                    "shop": "convenience"
+                },
+                "name": "Kiosk",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/24 часа": {
                 "tags": {
                     "name": "24 часа",
@@ -93121,6 +93700,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Stewart's": {
+                "tags": {
+                    "name": "Stewart's",
+                    "shop": "convenience"
+                },
+                "name": "Stewart's",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/Продукти": {
                 "tags": {
                     "name": "Продукти",
@@ -93159,6 +93757,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Радуга": {
+                "tags": {
+                    "name": "Радуга",
+                    "shop": "convenience"
+                },
+                "name": "Радуга",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/ローソンストア100": {
                 "tags": {
                     "name": "ローソンストア100",
@@ -93539,6 +94156,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Lewiatan": {
+                "tags": {
+                    "name": "Lewiatan",
+                    "shop": "convenience"
+                },
+                "name": "Lewiatan",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/Продуктовый магазин": {
                 "tags": {
                     "name": "Продуктовый магазин",
@@ -93767,6 +94403,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/convenience/Boutique": {
+                "tags": {
+                    "name": "Boutique",
+                    "shop": "convenience"
+                },
+                "name": "Boutique",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/convenience/მარკეტი (Market)": {
                 "tags": {
                     "name": "მარკეტი (Market)",
@@ -93805,6 +94460,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/chemist/dm": {
+                "tags": {
+                    "name": "dm",
+                    "shop": "chemist"
+                },
+                "name": "dm",
+                "icon": "chemist",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/chemist/Müller": {
                 "tags": {
                     "name": "Müller",
@@ -93976,25 +94650,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/car_repair/Peugeot": {
-                "tags": {
-                    "name": "Peugeot",
-                    "shop": "car_repair"
-                },
-                "name": "Peugeot",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
             "shop/car_repair/Kwik Fit": {
                 "tags": {
                     "name": "Kwik Fit",
@@ -94128,44 +94783,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/car_repair/Автозапчасти": {
-                "tags": {
-                    "name": "Автозапчасти",
-                    "shop": "car_repair"
-                },
-                "name": "Автозапчасти",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
-            "shop/car_repair/Renault": {
-                "tags": {
-                    "name": "Renault",
-                    "shop": "car_repair"
-                },
-                "name": "Renault",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
             "shop/car_repair/Pit Stop": {
                 "tags": {
                     "name": "Pit Stop",
@@ -94299,25 +94916,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/car_repair/Citroen": {
-                "tags": {
-                    "name": "Citroen",
-                    "shop": "car_repair"
-                },
-                "name": "Citroen",
-                "icon": "car",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
             "shop/car_repair/Euromaster": {
                 "tags": {
                     "name": "Euromaster",
@@ -94926,6 +95524,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/doityourself/Canadian Tire": {
+                "tags": {
+                    "name": "Canadian Tire",
+                    "shop": "doityourself"
+                },
+                "name": "Canadian Tire",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/doityourself/Leroy Merlin": {
                 "tags": {
                     "name": "Leroy Merlin",
@@ -95154,25 +95771,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/doityourself/Хозтовары": {
-                "tags": {
-                    "name": "Хозтовары",
-                    "shop": "doityourself"
-                },
-                "name": "Хозтовары",
-                "icon": "shop",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
             "shop/doityourself/Стройматериалы": {
                 "tags": {
                     "name": "Стройматериалы",
@@ -95342,6 +95940,42 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/car/Citroen": {
+                "tags": {
+                    "name": "Citroen",
+                    "shop": "car"
+                },
+                "name": "Citroen",
+                "icon": "car",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
+            "shop/car/Renault": {
+                "tags": {
+                    "name": "Renault",
+                    "shop": "car"
+                },
+                "name": "Renault",
+                "icon": "car",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/car/Mercedes-Benz": {
                 "tags": {
                     "name": "Mercedes-Benz",
@@ -95378,6 +96012,24 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/car/Ford": {
+                "tags": {
+                    "name": "Ford",
+                    "shop": "car"
+                },
+                "name": "Ford",
+                "icon": "car",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/car/Volkswagen": {
                 "tags": {
                     "name": "Volkswagen",
@@ -95450,6 +96102,24 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/car/Автозапчасти": {
+                "tags": {
+                    "name": "Автозапчасти",
+                    "shop": "car"
+                },
+                "name": "Автозапчасти",
+                "icon": "car",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/car/Opel": {
                 "tags": {
                     "name": "Opel",
@@ -95558,6 +96228,24 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/car/Peugeot": {
+                "tags": {
+                    "name": "Peugeot",
+                    "shop": "car"
+                },
+                "name": "Peugeot",
+                "icon": "car",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/car/Hyundai": {
                 "tags": {
                     "name": "Hyundai",
@@ -96105,25 +96793,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
-            "shop/clothes/Deichmann": {
-                "tags": {
-                    "name": "Deichmann",
-                    "shop": "clothes"
-                },
-                "name": "Deichmann",
-                "icon": "clothing-store",
-                "geometry": [
-                    "point",
-                    "vertex",
-                    "area"
-                ],
-                "fields": [
-                    "address",
-                    "building_area",
-                    "opening_hours"
-                ],
-                "suggestion": true
-            },
             "shop/clothes/Lindex": {
                 "tags": {
                     "name": "Lindex",
@@ -98404,6 +99073,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/pet/Fressnapf": {
+                "tags": {
+                    "name": "Fressnapf",
+                    "shop": "pet"
+                },
+                "name": "Fressnapf",
+                "icon": "dog-park",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/pet/PetSmart": {
                 "tags": {
                     "name": "PetSmart",
@@ -98499,6 +99187,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/shoes/Deichmann": {
+                "tags": {
+                    "name": "Deichmann",
+                    "shop": "shoes"
+                },
+                "name": "Deichmann",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/shoes/Reno": {
                 "tags": {
                     "name": "Reno",
@@ -99810,6 +100517,25 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "suggestion": true
             },
+            "shop/hardware/Хозтовары": {
+                "tags": {
+                    "name": "Хозтовары",
+                    "shop": "hardware"
+                },
+                "name": "Хозтовары",
+                "icon": "shop",
+                "geometry": [
+                    "point",
+                    "vertex",
+                    "area"
+                ],
+                "fields": [
+                    "address",
+                    "building_area",
+                    "opening_hours"
+                ],
+                "suggestion": true
+            },
             "shop/motorcycle/Yamaha": {
                 "tags": {
                     "name": "Yamaha",
@@ -99862,7 +100588,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "point"
             ],
             "vertex": [
-                "highway/crossing",
+                "highway/crosswalk",
                 "railway/level_crossing",
                 "highway/traffic_signals",
                 "highway/turning_circle",
@@ -99872,8 +100598,8 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
             ],
             "relation": [
                 "category-route",
+                "category-restriction",
                 "type/boundary",
-                "type/restriction",
                 "type/multipolygon",
                 "relation"
             ]
@@ -99948,6 +100674,21 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "railway/abandoned"
                 ]
             },
+            "category-restriction": {
+                "geometry": "relation",
+                "name": "Restriction",
+                "icon": "restriction",
+                "members": [
+                    "type/restriction/no_left_turn",
+                    "type/restriction/no_right_turn",
+                    "type/restriction/no_straight_on",
+                    "type/restriction/no_u_turn",
+                    "type/restriction/only_left_turn",
+                    "type/restriction/only_right_turn",
+                    "type/restriction/only_straight_on",
+                    "type/restriction"
+                ]
+            },
             "category-road": {
                 "geometry": "line",
                 "name": "Road",
@@ -100336,6 +101077,11 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "type": "typeCombo",
                 "label": "Type"
             },
+            "except": {
+                "key": "except",
+                "type": "combo",
+                "label": "Exceptions"
+            },
             "fax": {
                 "key": "fax",
                 "type": "tel",
@@ -100586,13 +101332,27 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
             "oneway": {
                 "key": "oneway",
                 "type": "check",
-                "label": "One Way"
+                "label": "One Way",
+                "strings": {
+                    "options": {
+                        "undefined": "Assumed to be No",
+                        "yes": "Yes",
+                        "no": "No"
+                    }
+                }
             },
             "oneway_yes": {
                 "key": "oneway",
                 "type": "check",
                 "default": "yes",
-                "label": "One Way"
+                "label": "One Way",
+                "strings": {
+                    "options": {
+                        "undefined": "Assumed to be Yes",
+                        "yes": "Yes",
+                        "no": "No"
+                    }
+                }
             },
             "opening_hours": {
                 "key": "opening_hours",
@@ -100732,6 +101492,15 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "type": "combo",
                 "label": "Type"
             },
+            "restrictions": {
+                "type": "restrictions",
+                "geometry": "vertex",
+                "icon": "restrictions",
+                "reference": {
+                    "rtype": "restriction"
+                },
+                "label": "Turn Restrictions"
+            },
             "route": {
                 "key": "route",
                 "type": "combo",
@@ -112794,6 +113563,48 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 920,
                 25
             ]
+        },
+        "restriction-no-straight-on": {
+            "relation": [
+                980,
+                25
+            ]
+        },
+        "restriction-no-u-turn": {
+            "relation": [
+                1040,
+                25
+            ]
+        },
+        "restriction-no-left-turn": {
+            "relation": [
+                1100,
+                25
+            ]
+        },
+        "restriction-no-right-turn": {
+            "relation": [
+                1160,
+                25
+            ]
+        },
+        "restriction-only-straight-on": {
+            "relation": [
+                1220,
+                25
+            ]
+        },
+        "restriction-only-left-turn": {
+            "relation": [
+                1280,
+                25
+            ]
+        },
+        "restriction-only-right-turn": {
+            "relation": [
+                1340,
+                25
+            ]
         }
     },
     "operations": {
@@ -112892,6 +113703,30 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
         "icon-operation-disabled-continue": [
             220,
             160
+        ],
+        "icon-restriction-yes": [
+            50,
+            80
+        ],
+        "icon-restriction-no": [
+            95,
+            80
+        ],
+        "icon-restriction-only": [
+            140,
+            80
+        ],
+        "icon-restriction-yes-u": [
+            185,
+            80
+        ],
+        "icon-restriction-no-u": [
+            230,
+            80
+        ],
+        "icon-restriction-only-u": [
+            275,
+            80
         ]
     },
     "locales": [
@@ -113140,6 +113975,18 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 },
                 "not_eligible": "Lines can't be split at their beginning or end.",
                 "multiple_ways": "There are too many lines here to split."
+            },
+            "restriction": {
+                "help": {
+                    "select": "Click to select a road segment.",
+                    "toggle": "Click to toggle turn restrictions.",
+                    "toggle_on": "Click to add a \"{restriction}\" restriction.",
+                    "toggle_off": "Click to remove the \"{restriction}\" restriction."
+                },
+                "annotation": {
+                    "create": "Added a turn restriction",
+                    "delete": "Deleted a turn restriction"
+                }
             }
         },
         "undo": {
@@ -113374,6 +114221,9 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "category-rail": {
                     "name": "Rail"
                 },
+                "category-restriction": {
+                    "name": "Restriction"
+                },
                 "category-road": {
                     "name": "Road"
                 },
@@ -113556,6 +114406,9 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "entrance": {
                     "label": "Type"
                 },
+                "except": {
+                    "label": "Exceptions"
+                },
                 "fax": {
                     "label": "Fax",
                     "placeholder": "+31 42 123 4567"
@@ -113701,10 +114554,20 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "label": "Type"
                 },
                 "oneway": {
-                    "label": "One Way"
+                    "label": "One Way",
+                    "options": {
+                        "undefined": "Assumed to be No",
+                        "yes": "Yes",
+                        "no": "No"
+                    }
                 },
                 "oneway_yes": {
-                    "label": "One Way"
+                    "label": "One Way",
+                    "options": {
+                        "undefined": "Assumed to be Yes",
+                        "yes": "Yes",
+                        "no": "No"
+                    }
                 },
                 "opening_hours": {
                     "label": "Hours"
@@ -113780,6 +114643,9 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "restriction": {
                     "label": "Type"
                 },
+                "restrictions": {
+                    "label": "Turn Restrictions"
+                },
                 "route": {
                     "label": "Type"
                 },
@@ -114076,6 +114942,10 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "name": "Doctor",
                     "terms": "doctor,doctor's office"
                 },
+                "amenity/dojo": {
+                    "name": "Dojo / Martial Arts Academy",
+                    "terms": "martial arts,dojo,dojang"
+                },
                 "amenity/drinking_water": {
                     "name": "Drinking Water",
                     "terms": "water fountain,potable water"
@@ -114662,6 +115532,10 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 },
                 "footway/crossing": {
                     "name": "Crossing",
+                    "terms": ""
+                },
+                "footway/crosswalk": {
+                    "name": "Crosswalk",
                     "terms": "crosswalk,zebra crossing"
                 },
                 "footway/sidewalk": {
@@ -114718,6 +115592,10 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 },
                 "highway/crossing": {
                     "name": "Crossing",
+                    "terms": ""
+                },
+                "highway/crosswalk": {
+                    "name": "Crosswalk",
                     "terms": "crosswalk,zebra crossing"
                 },
                 "highway/cycleway": {
@@ -114741,7 +115619,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "terms": ""
                 },
                 "highway/motorway_junction": {
-                    "name": "Motorway Junction",
+                    "name": "Motorway Junction / Exit",
                     "terms": ""
                 },
                 "highway/motorway_link": {
@@ -115053,7 +115931,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "terms": ""
                 },
                 "leisure/sports_center": {
-                    "name": "Sports Center",
+                    "name": "Sports Center / Gym",
                     "terms": "gym"
                 },
                 "leisure/stadium": {
@@ -115792,6 +116670,34 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "name": "Restriction",
                     "terms": ""
                 },
+                "type/restriction/no_left_turn": {
+                    "name": "No Left Turn",
+                    "terms": ""
+                },
+                "type/restriction/no_right_turn": {
+                    "name": "No Right Turn",
+                    "terms": ""
+                },
+                "type/restriction/no_straight_on": {
+                    "name": "No Straight On",
+                    "terms": ""
+                },
+                "type/restriction/no_u_turn": {
+                    "name": "No U-turn",
+                    "terms": ""
+                },
+                "type/restriction/only_left_turn": {
+                    "name": "Left Turn Only",
+                    "terms": ""
+                },
+                "type/restriction/only_right_turn": {
+                    "name": "Right Turn Only",
+                    "terms": ""
+                },
+                "type/restriction/only_straight_on": {
+                    "name": "No Turns",
+                    "terms": ""
+                },
                 "type/route": {
                     "name": "Route",
                     "terms": ""
index 00c922b757c8c414452ff2eeb09af1bdd5d0f42e..47f1d6e30c30e7dad2567653c9334cfcc2284a2d 100644 (file)
Binary files a/vendor/assets/iD/iD/img/relation-presets.png and b/vendor/assets/iD/iD/img/relation-presets.png differ
index f9394841434046d44207e6571dbc1af9a328806d..e6c15a29beb15d6853531db76bcc90ad15b7fcf6 100644 (file)
      inkscape:window-width="1440"
      inkscape:window-height="856"
      id="namedview392"
-     showgrid="false"
-     inkscape:zoom="11.313708"
-     inkscape:cx="19.712517"
-     inkscape:cy="454.54715"
-     inkscape:window-x="298"
-     inkscape:window-y="6"
+     showgrid="true"
+     inkscape:zoom="2.8284271"
+     inkscape:cx="186.53252"
+     inkscape:cy="447.46176"
+     inkscape:window-x="276"
+     inkscape:window-y="71"
      inkscape:window-maximized="0"
      inkscape:current-layer="svg12393"
-     showguides="false"
+     showguides="true"
      inkscape:guide-bbox="true"
      inkscape:snap-global="true"
      inkscape:snap-bbox="true"
      inkscape:snap-bbox-midpoints="true"
-     inkscape:snap-nodes="false">
+     inkscape:snap-nodes="true">
     <inkscape:grid
        type="xygrid"
        id="grid6326"
        visible="true"
        enabled="true"
        snapvisiblegridlinesonly="true" />
+    <sodipodi:guide
+       position="0,0"
+       orientation="0,800"
+       id="guide4211" />
+    <sodipodi:guide
+       position="800,0"
+       orientation="-560,0"
+       id="guide4213" />
+    <sodipodi:guide
+       position="800,560"
+       orientation="0,-800"
+       id="guide4215" />
+    <sodipodi:guide
+       position="0,560"
+       orientation="560,0"
+       id="guide4217" />
   </sodipodi:namedview>
   <defs
      id="defs12395">
      transform="matrix(0,1,-1,0,0,0)"
      rx="0.5"
      ry="0.5" />
+  <g
+     id="g3360"
+     transform="matrix(0,1,-1,0,45,203)">
+    <path
+       sodipodi:nodetypes="ssccccccsscccccss"
+       inkscape:connector-curvature="0"
+       id="path12182"
+       d="m -111,-49 c -2,0 -3.2899,1.14974 -4,2 l -7.03125,8.41907 c -1.27939,1.51205 -1.17862,4.00251 0.21875,5.40625 l 1,1 c 0.73414,0.74243 1.76843,1.17913 2.8125,1.1875 l 0,4.375 c -2.98748,2.1875 -4.99995,5.67161 -5,9.625 6e-5,6.58002 5.41995,11.98722 12,11.98718 6.58003,10e-6 12,-5.40714 12,-11.98718 -1e-5,-3.96861 -1.99295,-7.47078 -5,-9.65625 l 0,-4.34375 c 1.05451,-1.8e-4 2.10227,-0.43771 2.84375,-1.1875 l 1,-1 c 1.39737,-1.40374 1.49814,-3.8942 0.21875,-5.40625 L -107,-47 c -0.77221,-0.92054 -2,-2 -4,-2 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+    <path
+       sodipodi:nodetypes="ccccccssccccc"
+       inkscape:connector-curvature="0"
+       id="path12188"
+       d="m -111,-45 -8,9.01282 1,1 4,0 0,10.59375 c -2.92023,1.19221 -4.99998,4.05725 -5,7.40625 4e-5,4.41829 3.58172,7.98721 8,7.98718 4.41827,10e-6 8,-3.5689 8,-7.98718 2e-5,-3.36351 -2.05966,-6.25472 -5,-7.4375 l 0,-10.5625 4,0 1,-1 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#8cd05f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25000000000000000;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path12196"
+       d="m -110.98512,-19.99704 c 1.65685,0 3,1.34313 2.99999,3.00001 -1e-5,1.65687 -1.34312,3 -2.99999,3.00002 -1.65687,-3e-5 -2.99999,-1.34314 -2.99999,-3.00001 -10e-6,-1.6569 1.34312,-3 2.99999,-3.00002 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+  </g>
+  <g
+     id="g4219">
+    <path
+       sodipodi:nodetypes="ssccccccsscccccss"
+       inkscape:connector-curvature="0"
+       id="path12182-9"
+       d="m 139,92 c 0,-2 -1.14974,-3.2899 -2,-4 l -8.41907,-7.03125 c -1.51205,-1.27939 -4.00251,-1.17862 -5.40625,0.21875 l -1,1 c -0.74243,0.73414 -1.17913,1.76843 -1.1875,2.8125 l -4.375,0 c -2.1875,-2.98748 -5.67161,-4.99995 -9.625,-5 -6.58002,6e-5 -11.98722,5.41995 -11.98718,12 -1e-5,6.58003 5.40714,12 11.98718,12 3.96861,-1e-5 7.47078,-1.99295 9.65625,-5 l 4.34375,0 c 1.8e-4,1.05451 0.43771,2.10227 1.1875,2.84375 l 1,1 c 1.40374,1.39737 3.8942,1.49814 5.40625,0.21875 L 137,96 c 0.92054,-0.77221 2,-2 2,-4 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+    <path
+       sodipodi:nodetypes="ccccccssccccc"
+       inkscape:connector-curvature="0"
+       id="path12188-3"
+       d="m 135,92 -9.01282,-8 -1,1 0,4 -10.59375,0 c -1.19221,-2.92023 -4.05725,-4.99998 -7.40625,-5 -4.41829,4e-5 -7.98721,3.58172 -7.98718,8 -1e-5,4.41827 3.5689,8 7.98718,8 3.36351,2e-5 6.25472,-2.05966 7.4375,-5 l 10.5625,0 0,4 1,1 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#e06d5f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25000000000000000;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+    <path
+       sodipodi:nodetypes="ccccccccc"
+       inkscape:connector-curvature="0"
+       id="rect10944"
+       d="m 109,88 0,8 -1,1 -2,0 -1,-1 0,-8 1,-1 2,0 z"
+       style="opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  </g>
+  <g
+     id="g4190"
+     transform="matrix(0,1,1,0,116.9905,-80.00893)">
+    <path
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       d="m 156,80 c -8.78916,1e-5 -16,7.21083 -16,16 1e-5,8.78916 7.21083,16 16,16 8.78916,-1e-5 16,-7.21083 16,-16 -1e-5,-8.78916 -7.21083,-16 -16,-16 z"
+       id="path4163"
+       transform="matrix(0,1,1,0,80.00893,-71.9905)"
+       inkscape:connector-curvature="0" />
+    <path
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#8cd05f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       d="m 176.00893,72.0095 c -6.62739,0 -11.99999,5.37261 -12,12 0,6.62739 5.37261,11.99999 12,12 6.62739,0 11.99999,-5.37261 12,-12 0,-6.62739 -5.37261,-11.99999 -12,-12 z"
+       id="path11970"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="cccccccccccccccccccccc"
+       d="m 184.00894,85.00953 -2.99999,-4e-5 -3e-5,-2.99998 -0.99997,-2.00006 -1.00001,-0.99998 -2.00002,-0.99997 -3.00003,3e-5 -1.99994,0.99998 -1.00004,0.99999 -0.99998,2.00003 -1e-5,4.99996 1.00004,1.00001 0.99996,1e-5 1,-1 2e-5,-4.99996 0.99999,-1.00004 2.99997,0 1.00003,0.99999 -1e-5,3 -3.00003,-3e-5 4.50003,5.00003 z"
+       id="path2997-6-6"
+       style="opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       inkscape:connector-curvature="0" />
+  </g>
+  <g
+     id="g4206"
+     transform="matrix(0,1,1,0,167,-115)">
+    <path
+       sodipodi:nodetypes="sssss"
+       inkscape:connector-curvature="0"
+       id="path13862"
+       d="m 211,63 c -8.78917,0 -16.00001,7.21082 -16,16 0,8.78917 7.21082,16.00001 16,16 8.78917,0 16.00001,-7.21082 16,-16 0,-8.78917 -7.21082,-16.00001 -16,-16 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path12055"
+       d="m 211,67 c -6.62739,0 -12.00001,5.37261 -12,12 0,6.62739 5.37261,12.00001 12,12 6.62739,0 12.00001,-5.37261 12,-12 0,-6.62739 -5.37261,-12.00001 -12,-12 z"
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#e06d5f;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path12057"
+       d="m 215.5,72.13782 -5,5 -2,2 -4,4 0,1 1,1 1,0 4,-4 2,-2 5,-5 0,-1 -1,-1 -1,0 z m -6.5,0.875 -2,1 -1,1 -1,2 0,4.1875 2.78125,-2.78125 0.21875,-0.21875 0,-1.1875 1,-1 1.1875,0 2.59375,-2.59375 L 212,73.01282 l -3,0 z m 7,4.03125 -2.78125,2.78125 -0.21875,0.1875 -1.5625,1.59375 3.0625,3.40625 4.5,-5 -3,0 0,-2.96875 z"
+       style="opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate" />
+  </g>
+  <g
+     transform="matrix(0,1,-1,0,135,203)"
+     id="g3350">
+    <path
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       d="m -111,-49 c -2,0 -3.2899,1.14974 -4,2 l -7.03125,8.41907 c -1.27939,1.51205 -1.17862,4.00251 0.21875,5.40625 l 1,1 c 0.73414,0.74243 1.76843,1.17913 2.8125,1.1875 l 0,4.375 c -2.98748,2.1875 -4.99995,5.67161 -5,9.625 6e-5,6.58002 5.41995,11.98722 12,11.98718 6.58003,10e-6 12,-5.40714 12,-11.98718 -1e-5,-3.96861 -1.99295,-7.47078 -5,-9.65625 l 0,-4.34375 c 1.05451,-1.8e-4 2.10227,-0.43771 2.84375,-1.1875 l 1,-1 c 1.39737,-1.40374 1.49814,-3.8942 0.21875,-5.40625 L -107,-47 c -0.77221,-0.92054 -2,-2 -4,-2 z"
+       id="path3352"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ssccccccsscccccss" />
+    <path
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#7092ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       d="m -111,-45 -8,9.01282 1,1 4,0 0,10.59375 c -2.92023,1.19221 -4.99998,4.05725 -5,7.40625 4e-5,4.41829 3.58172,7.98721 8,7.98718 4.41827,10e-6 8,-3.5689 8,-7.98718 2e-5,-3.36351 -2.05966,-6.25472 -5,-7.4375 l 0,-10.5625 4,0 1,-1 z"
+       id="path3354"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccccssccccc" />
+    <path
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       d="m -110.98512,-19.99704 c 1.65685,0 3,1.34313 2.99999,3.00001 -1e-5,1.65687 -1.34312,3 -2.99999,3.00002 -1.65687,-3e-5 -2.99999,-1.34314 -2.99999,-3.00001 -10e-6,-1.6569 1.34312,-3 2.99999,-3.00002 z"
+       id="path3356"
+       inkscape:connector-curvature="0" />
+  </g>
+  <text
+     xml:space="preserve"
+     style="font-size:10px;font-style:normal;font-variant:normal;font-weight:bold;font-stretch:normal;text-indent:0;text-align:center;text-decoration:none;line-height:150%;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:middle;baseline-shift:baseline;opacity:0.50000000000000000;color:#000000;fill:#ffffff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Open Sans;-inkscape-font-specification:Open Sans Bold"
+     x="254.91199"
+     y="126.18999"
+     id="text3358"
+     sodipodi:linespacing="150%"><tspan
+       sodipodi:role="line"
+       id="tspan3360"
+       x="254.91199"
+       y="126.18999">ONLY</tspan></text>
+  <g
+     id="g4190-7"
+     transform="matrix(0,1,1,0,206.9905,-80.00893)">
+    <path
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:8;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       d="m 156,80 c -8.78916,1e-5 -16,7.21083 -16,16 1e-5,8.78916 7.21083,16 16,16 8.78916,-1e-5 16,-7.21083 16,-16 -1e-5,-8.78916 -7.21083,-16 -16,-16 z"
+       id="path4163-9"
+       transform="matrix(0,1,1,0,80.00893,-71.9905)"
+       inkscape:connector-curvature="0" />
+    <path
+       style="font-size:medium;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;text-indent:0;text-align:start;text-decoration:none;line-height:normal;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;text-anchor:start;baseline-shift:baseline;color:#000000;fill:#7092ff;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:1.25000000000000000;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate;font-family:Sans;-inkscape-font-specification:Sans"
+       d="m 176.00893,72.0095 c -6.62739,0 -11.99999,5.37261 -12,12 0,6.62739 5.37261,11.99999 12,12 6.62739,0 11.99999,-5.37261 12,-12 0,-6.62739 -5.37261,-11.99999 -12,-12 z"
+       id="path11970-3"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="cccccccccccccccccccccc"
+       d="m 184.00894,85.00953 -2.99999,-4e-5 -3e-5,-2.99998 -0.99997,-2.00006 -1.00001,-0.99998 -2.00002,-0.99997 -3.00003,3e-5 -1.99994,0.99998 -1.00004,0.99999 -0.99998,2.00003 -1e-5,4.99996 1.00004,1.00001 0.99996,1e-5 1,-1 2e-5,-4.99996 0.99999,-1.00004 2.99997,0 1.00003,0.99999 -1e-5,3 -3.00003,-3e-5 4.50003,5.00003 z"
+       id="path2997-6-6-8"
+       style="opacity:0.5;color:#000000;fill:#000000;fill-opacity:1;fill-rule:nonzero;stroke:none;stroke-width:0;marker:none;visibility:visible;display:inline;overflow:visible;enable-background:accumulate"
+       inkscape:connector-curvature="0" />
+  </g>
 </svg>
index bc998f146ade35b0bc55d9e33a641f485d0ee65f..30b0a651c87f8b1a6da9ea58cd6234a7a020be98 100644 (file)
             "highway/motorway": {
                 "name": "Snelweg"
             },
-            "highway/motorway_junction": {
-                "name": "Snelwegkruising"
-            },
             "highway/motorway_link": {
                 "name": "Snelwegaansluiting"
             },
index d033b5045bc5d3d239c46dabaa07c193b8e75436..3822b146df3df5479bf2ac8a83c9a26499b3dfa0 100644 (file)
                 "name": "طريق سريع",
                 "terms": "طريق سريع"
             },
-            "highway/motorway_junction": {
-                "name": "مفرق طريق سريع",
-                "terms": "مفرق طريق سريع"
-            },
             "highway/motorway_link": {
                 "name": "رابط لطريق سريع",
                 "terms": "رابط لطريق سريع"
                 "name": "مزلقة سفن",
                 "terms": "مزلقة سفن"
             },
-            "leisure/sports_center": {
-                "name": "مركز رياضة",
-                "terms": "مركز رياضي، مركز للتسلية والترفيه"
-            },
             "leisure/stadium": {
                 "name": "مدرج رياضي",
                 "terms": "مدرج, مدرج للألعاب الرياضية, أستاذ رياضي"
index 95d79368c79883b3ba0759c6a32e6ee67708ad36..0eb143cb734c53aa0fb0e209c82595ce1c1affb1 100644 (file)
             "highway/motorway": {
                 "name": "Autopista"
             },
-            "highway/motorway_junction": {
-                "name": "Xunión d'autopista"
-            },
             "highway/motorway_link": {
                 "name": "Enllaz d'autopista",
                 "terms": "Salida, accesu, enllaz, autopista"
             "leisure/slipway": {
                 "name": "Rampla de botadura"
             },
-            "leisure/sports_center": {
-                "name": "Centru deportivu",
-                "terms": "Polideportivu, Pabellón deportivu"
-            },
             "leisure/stadium": {
                 "name": "Estadiu"
             },
index 1a443427d494e01bbff40e31613eafa2a5f97c5a..ee31e69a0118983df534114c49ff3da7a1f68493 100644 (file)
             "highway/motorway": {
                 "name": "Автомагистрала"
             },
-            "highway/motorway_junction": {
-                "name": "Автомагистрален пътен възел"
-            },
             "highway/motorway_link": {
                 "name": "Автомагистрална връзка"
             },
index f8938d9e47294e9c1360f506e70737665e49b8ec..f3947e3dd18fa521a85e2f095c55462a5cab54cd 100644 (file)
                 "name": "Autoput",
                 "terms": "autoput,autocesta"
             },
-            "highway/motorway_junction": {
-                "name": "Čvorište autoputa",
-                "terms": "čvorište autoceste,čvorište autoputa"
-            },
             "highway/motorway_link": {
                 "name": "Poveznica na autoput",
                 "terms": "poveznica na autoput,poveznica na autocestu"
                 "name": "Navoz",
                 "terms": "navoz,navoz na šine"
             },
-            "leisure/sports_center": {
-                "name": "Sportski centar",
-                "terms": "sportski centar,centar za sport, centar za sportske aktivnosti"
-            },
             "leisure/stadium": {
                 "name": "Stadion",
                 "terms": "stadion,sportsko borilište"
index 5d279934dd01f0063d0e0df29030f7104a43b9ce..f91bc3b6f8930b3e22adf6867fa5b85eeedd91d7 100644 (file)
@@ -2,28 +2,28 @@
     "modes": {
         "add_area": {
             "title": "Àrea",
-            "description": "Afegeix parcs, edificis, llacs o altres tipus d'àrees sobre el mapa.",
-            "tail": "Feu clic sobre el mapa per començar a un tipus d'àrea com per exemple un parc, un llac o un edifici."
+            "description": "Afegiu parcs, edificis, llacs o altres tipus d'àrees sobre el mapa.",
+            "tail": "Féu clic sobre el mapa per començar a un tipus d'àrea com per exemple un parc, un llac o un edifici."
         },
         "add_line": {
             "title": "Línia",
-            "description": "Afegeix autopistes, carrers, camins per a vianants o d'altres tipus de línies sobre el mapa.",
-            "tail": "Feu clic sobre el mapa per a començar a dibuixar una carretera, un camí o una ruta."
+            "description": "Afegiu autopistes, carrers, camins per a vianants o d'altres tipus de línies sobre el mapa.",
+            "tail": "Féu clic sobre el mapa per a començar a dibuixar una carretera, un camí o una ruta."
         },
         "add_point": {
             "title": "Punt",
-            "description": "Afegeix restaurants, monuments, bústies de correus o altres punts al mapa.",
+            "description": "Afegiu restaurants, monuments, bústies de correus o altres punts al mapa.",
             "tail": "Cliqueu al mapa per afegir un punt."
         },
         "browse": {
             "title": "Navega",
-            "description": "Allunya o amplia el mapa"
+            "description": "Allunyeu o amplieu el mapa"
         },
         "draw_area": {
-            "tail": "Feu clic per afegir nodes a la vostra àrea. Feu clic al primer node per finalitzar l'àrea."
+            "tail": "Féu clic per afegir nodes a la vostra àrea. Féu clic al primer node per finalitzar l'àrea."
         },
         "draw_line": {
-            "tail": "Feu clic per afegir més nodes a la línia. Feu clic a altres línies per connectar amb elles, i feu doble clic per acabar la línia."
+            "tail": "Féu clic per afegir més nodes a la línia. Féu clic a altres línies per connectar amb elles, i feu doble clic per acabar la línia."
         }
     },
     "operations": {
@@ -61,7 +61,7 @@
             "annotation": "Heu canviat etiquetes."
         },
         "circularize": {
-            "title": "Fes-ho circular",
+            "title": "Féu-ho circular",
             "description": {
                 "line": "Fes aquesta línia circular",
                 "area": "Fes aquesta àrea circular"
@@ -96,8 +96,8 @@
             "too_bendy": "Això no es pot quadrar perquè és massa sinuós."
         },
         "delete": {
-            "title": "Suprimeix",
-            "description": "Elimina això del mapa.",
+            "title": "Eliminar",
+            "description": "Elimineu això del mapa.",
             "annotation": {
                 "point": "Heu eliminat un punt.",
                 "vertex": "Heu eliminat un node d'una via.",
             }
         },
         "disconnect": {
-            "title": "Desconnecta",
-            "description": "Desconnecta aquestes línies/àrees entre elles.",
+            "title": "Desconnectar",
+            "description": "Desconnecteu aquestes línies/àrees entre elles.",
             "key": "D",
             "annotation": "Heu desconnectat línies/àrees.",
             "not_connected": "Aquí no hi han suficients línies/àrees a desconnectar."
         },
         "merge": {
-            "title": "Fusiona",
-            "description": "Fusiona aquestes línies.",
+            "title": "Fusionar",
+            "description": "Fusioneu aquestes línies.",
             "key": "C",
             "annotation": "Heu fusionat {n} línies.",
             "not_eligible": "Aquestes característiques no poden ser fusionades.",
             "incomplete_relation": "Aquestes característiques no poden ser fusionades perquè com a mínim una no s'ha descarregat del tot."
         },
         "move": {
-            "title": "Mou",
-            "description": "Mou això a una ubicació diferent.",
+            "title": "Moure",
+            "description": "Moveu això a una ubicació diferent.",
             "key": "M",
             "annotation": {
                 "point": "Heu mogut un punt.",
         },
         "rotate": {
             "title": "Girar-ho",
-            "description": "Girar aquest objecte al voltant del seu centre",
+            "description": "Gireu aquest objecte al voltant del seu centre",
             "key": "R",
             "annotation": {
                 "line": "Heu girat una línia.",
             }
         },
         "reverse": {
-            "title": "Reverteix",
-            "description": "Fes que aquesta línia vagi en direcció contrària.",
+            "title": "Revertir",
+            "description": "Féu que aquesta línia vagi en direcció contrària.",
             "key": "V",
             "annotation": "Heu revertit una línia."
         },
         "split": {
-            "title": "Divideix",
+            "title": "Dividir",
             "description": {
                 "line": "Dividiu aquesta línia en dos en aquest node.",
                 "area": "Divideix el límit d'aquesta àrea en dues parts.",
             },
             "not_eligible": "Les línies no es poden dividir al seu inici o al seu final.",
             "multiple_ways": "Aquí hi ha masses línies a dividir."
+        },
+        "restriction": {
+            "help": {
+                "select": "Cliqueu per seleccionar un segment de carretera",
+                "toggle": "Féu clic per canviar les restriccions de gir",
+                "toggle_on": "Féu clic per afegir una restricció de \"{restriction}\"",
+                "toggle_off": "Féu clic per eliminar una restricció de \"{restriction}\""
+            },
+            "annotation": {
+                "create": "Heu afegit una restricció de gir",
+                "delete": "Heu eliminat una restricció de gir"
+            }
         }
     },
     "undo": {
         "nothing": "Res a refer."
     },
     "tooltip_keyhint": "Drecera:",
-    "browser_notice": "Aquest editor és compatible amb Firefox, Chrome, Safari, Opera i Internet Explorer 9 o superior.\nSiusplau actualitza el teu navegador o bé fes servir Potlach 2 per editar el mapa.",
+    "browser_notice": "Aquest editor és compatible amb Firefox, Chrome, Safari, Opera i Internet Explorer 9 o superior.\nSi us plau actualitzeu el vostre navegador o bé féu servir Potlach 2 per editar el mapa.",
     "translate": {
         "translate": "Traduïu",
         "localized_translation_label": "Nom multilingüe",
         "localized_translation_language": "Escull l'idioma",
         "localized_translation_name": "Nom"
     },
-    "zoom_in_edit": "Apropa't més per editar",
-    "logout": "Tanca la sessió",
+    "zoom_in_edit": "Apropeu-vos més per editar",
+    "logout": "Tancar la sessió",
     "loading_auth": "Connectant a OpenStreetMap...",
-    "report_a_bug": "Reporta un error",
+    "report_a_bug": "Reportar un error",
     "status": {
         "error": "No es pot connectar amb l'API.",
         "offline": "l'API està fora de línia. Siusplau proveu d'editar més tard.",
         "readonly": "L'API es troba en mode només lectura. Us haureu d'esperar per desar els vostres canvis."
     },
     "commit": {
-        "title": "Desa els canvis",
-        "description_placeholder": "Breu descripció de les teves contribucions",
-        "message_label": "Afegeix un comentari",
-        "upload_explanation": "Els canvis que desis seran visibles a tots els maps que utilitzin dades d'OpenStreetMap.",
+        "title": "Desar els canvis",
+        "description_placeholder": "Breu descripció de les vostres contribucions",
+        "message_label": "Afegiu un comentari",
+        "upload_explanation": "Els canvis que deseu seran visibles a tots els mapes que utilitzin dades d'OpenStreetMap.",
         "upload_explanation_with_user": "Els canvis que desis com a {user} seran visibles en tots els mapes que utilitzin dades d'OpenStreetMap.",
-        "save": "Desa",
-        "cancel": "Cancel·la",
+        "save": "Desar",
+        "cancel": "Cancel·lar",
         "warnings": "Avisos",
         "modified": "Modificat",
-        "deleted": "Suprimit",
+        "deleted": "Eliminat",
         "created": "Creat"
     },
     "contributors": {
         "no_results_worldwide": "No s'han trobat resultats"
     },
     "geolocate": {
-        "title": "Mostra la meva ubicació"
+        "title": "Mostrar la meva ubicació"
     },
     "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",
-        "show_more": "Mostra'n més",
-        "view_on_osm": "Mostra-ho a openstreetmap.org",
+        "show_more": "Mostrar-ne més",
+        "view_on_osm": "Mostrar-ho a openstreetmap.org",
         "all_tags": "Totes les etiquetes",
         "all_members": "Tots els membres",
         "all_relations": "Totes les relacions",
         "role": "Rol",
         "choose": "Seleccioneu un tipus de característica",
         "results": "{n} resultats per {search}",
-        "reference": "Mostra-ho al wiki de l'OpenStreetMap",
-        "back_tooltip": "Canvia la característica",
+        "reference": "Mostrar-ho al wiki de l'OpenStreetMap",
+        "back_tooltip": "Canviar la característica",
         "remove": "Elimina",
         "search": "Cerca",
         "multiselect": "Els ítems seleccionats",
         "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": "Corregir la alineació",
-        "reset": "reinicia"
+        "reset": "reiniciar"
     },
     "restore": {
-        "heading": "Tens canvis sense desar",
-        "description": "Vols restaurar els canvis no desats de la sessió anterior?",
-        "restore": "Restaura",
-        "reset": "Reinicia"
+        "heading": "Teniu canvis sense desar",
+        "description": "Voleu restaurar els canvis no desats de la sessió anterior?",
+        "restore": "Restaurar",
+        "reset": "Reiniciar"
     },
     "save": {
-        "title": "Desa",
-        "help": "Desa els canvis a OpenStreetMap, fent-los visibles per als altres usuaris.",
+        "title": "Desar",
+        "help": "Deseu els canvis a OpenStreetMap, fent-los visibles per als altres usuaris.",
         "no_changes": "No hi ha canvis a desar.",
-        "error": "Ha hagut un error en intentar desar",
+        "error": "Hi ha hagut un error en intentar desar",
         "uploading": "Pujant els canvis a l'OpenStreetMap.",
-        "unsaved_changes": "Tens canvis sense desar."
+        "unsaved_changes": "Teniu canvis sense desar."
     },
     "success": {
         "edited_osm": "Heu editat l'OSM!",
     "splash": {
         "welcome": "Benvinguts a l'editor iD per a l'OpenStreetMap",
         "text": "L'editor iD és una eina fàcil i potent per contribuir al millor mapa lliure del món. Aquesta és la versió {version}. Per obtenir més informació visiteu {website} i si voleu comunicar l'existència d'algun error feu-ho a {github}.",
-        "walkthrough": "Comença la visita guiada",
-        "start": "Edita'l ara"
+        "walkthrough": "Comenceu la visita guiada",
+        "start": "Editeu-lo ara"
     },
     "source_switch": {
         "live": "directe",
         "used_with": "utilitzat amb {type}"
     },
     "validations": {
-        "untagged_point": "Punt sense etiquetat",
+        "untagged_point": "Punt sense etiquetar",
         "untagged_line": "Línia sense etiquetar",
         "untagged_area": "Àrea sense etiquetar",
-        "many_deletions": "Esteu eliminant {n} objectes. Esteu segurs que voleu fer-ho? Això els eliminarà dels mapa que tothom veu a openstreetmap.org",
+        "many_deletions": "Esteu eliminant {n} objectes. Esteu segurs que voleu fer-ho? Això els eliminarà dels mapes que tothom veu a openstreetmap.org",
         "tag_suggests_area": "L'etiqueta {tag} suggereix que la línia hauria de ser una àrea, però no és una àrea",
         "untagged_tooltip": "Seleccioneu un tipus de característica que descrigui el que és aquesta {geometry}.",
         "deprecated_tags": "Etiquetes obsoletes : {tags}"
     },
     "zoom": {
-        "in": "Apropa't",
-        "out": "Allunya't"
+        "in": "Apropar-se",
+        "out": "Allunyar-se"
     },
     "cannot_zoom": "No es pot allunyar més la vista al mode actual.",
     "gpx": {
     "help": {
         "title": "Ajuda",
         "help": "# Ajuda\n\nAixò és un editor per al [OpenStreetMap](http://www.openstreetmap.org/), el mapa lliure i editable del món. Podeu utilitzar-lo per afegir i actualitzar\nles dades a la vostra àrea, contibuint així a fer un mapa de codi obert i amb dades lliures del món\nmillor per a tothom.\n\nLes edicions que feu en aquest mapa seran visibles per tothom que faci servir OpenStreetMap. per tal de començar a editar, necessitareu un\n[compte gratuït d'OpenStreetMap](https://www.openstreetmap.org/user/new).\n\n L'[Editor iD](http://ideditor.com/) iés un projecte cooperatiu que té el [codi font\ndisponible a GitHub](https://github.com/openstreetmap/iD).\n",
-        "editing_saving": "# Edició i desat\n\nAquest editor està dissenyat per treballar principalment en línia, i hi has accedit mitjançant una pàgina web.\n\n### Selecció de característiques\n\nPer selecionar una característica del mapa, com ara una carretera o un punt d'interès, clica-hi a sobre. Això ressaltarà la característica, obrirà un panell amb els detalls sobre aquesta, i un menú amb les coses que hi pots fer .\n\nPots seleccionar múltiples característiques, prement la tecla 'Shift' i clicant-les per separat, o bé clicant i arrossegant el cursor. Això seleccionarà totes les característiques que englobi el requadre que es dibuixarà i permetrà modificar totes les característiques seleccionades en un sol cop.\n\n### Desant les edicions\n\nQuan facis canvis com ara editar carreteres, edificis, o llocs, aquests canvis es guarden localment fins que els desis al servidor. No et preocupis si comets algun error- pots desfer els canvis clicant el botó de desfer, i pots refer els canvis clicant el botó de refer.\n\nClica 'Desa' per acabar un grup d'edicions - per exemple, si has acabat de delimitar l'àrea d'una ciutat i vols començar a fer-ne una altra. Tindràs la oportunitat de revisar la feina feta,\ni l'editor proporcionarà suggeriments que et podràn ajudar\ni també mostrarà alertes si alguna cosa no està del tot bé als teus canvis.\n\nSi tot sembla correcte, pots escriure un breu comentari explicant el canvis\nque has fet, i clicar desa un altre cop per publicar els canvis\na [OpenStreetMap.org](http://www.openstreetmap.org/), on seràn visibles\nper a tots els altres usuaris i disponibles per a altres editors per refer-los o bé millorar-los.\n\nSi no pots acabar les teves edicions en una sessió, pots sortir de la finestra d'edició i tornar més tard (al mateix navegador i ordinador), i l'aplicació d'edició\npreguntarà si vols restaurar els canvis anteriors.\n",
-        "roads": "# Carreteres\n\nPots crear, ajustar i eliminar carreteres amb aquest editor. Les carreteres poden ser\nde molts tipus: pistes, autovies, camins, carrils bici, i molts més - tots els segments\nmés comuns han de ser cartografiables.\n\n### Selecció\n\nClica a la carretera per seleccionar-la. Al fer això els seus contorns es faran visibles, \ncom també un petit menú d'eines i una barra lateral que mostrarà més informació\nsobre la carretera.\n\n### Modificació\n\nDe vegades veuràs carreteres que no estan alineades amb la imatge del darrere \no amb una traça de GPS. Podeu ajustar aquestes carreteres per tal que estiguin al lloc\ncorrecte.\n\nPrimer clica a la carretera que vols canviar. Això la ressaltarà i mostrarà els punts de control\nque pots arrossegar a les ubicacions desitjades. Si el que\nvols és afegir nous punts per obtenir un grau de detall més alt, fes doble clic en una part de la carretera sense cap punt, i se'n afegirà un.\n\nSi la carretera es connecta amb una altra, però no ho reflecteix al mapa, \npots arrossegar un dels punts de control cap a l'altre carretera \nper tal d'unir-les. Fer que les carreteres es connectin és molt important \nper al mapa i essencial per proveir direccions per a la conducció.\n\nTambé pots clicar l'eina «Moure» o prémer la tecla «M» per moure la carretera sencera, tota de cop, i llavors clicar altra vegada per guardar aquest moviment.\n\n### Eliminació\n\nSi una carretera està totalment malament -pots apreciar que no existeix a la imatge per satèl·lit\ni a més a més, els veïns ens han confirmat que no existeix - la pots eliminar, cosa que la treurà del mapa. Vés amb molt de compte a l'hora d'eliminar característiques -\ncom ara altres edicions; els resultats podran ser vistos per tothom i moltes vegades la imatgeria per satèl·lit no està actualitzada, per tant la carretera es pot haver estat construida recentment.\n\nPots eliminar una carretera clicant-la, i llavors clicant la icona de la paperera o bé prement la tecla «Suprimir».\n\n### Creació\n\nHas trobat que en algun lloc hi hauria d'haver una carretera però no hi és? Clica la icona «Línia»\nal marge superior esquerre de la zona del mapa o bé prem la tecla «2» per començar a dibuixar\nuna línia.\n\nClica a l'inici de la carretera al mapa per començar a dibuixar. Si la carretera comença amb una bifurcació en una carretera existent, cliqueu al lloc a on connecten.\n\nA continuació clica a diferents punts al llarg de la carretera per tal que segueixi el traçat correcte, d'acord  amb la imatge del satèl·lit o la traça del GPS. Si la carretera que estàs dibuixant s'encreua amb una altra carretera, connecta-les clicant al punt d'intersecció. Quan acabis el dibuix, fes doble clic o prem «Retorn» del teclat.\n",
-        "gps": "# GPS\n\nLes dades de GPS són la font més fiable de dades per a l'OpenStreetMap. Aquest editor és compatible amb les taces locals - fitxers`.gpx`al teu ordinador local. Pots recollir \naquest tipus de traça GPS amb algunes aplicacions per a smartphones com també \ndispositius personals de GPS.\n\nPer a més informació sobre com recollir dades amb GPS, llegeix\n[Recollir dades amb GPS](http://learnosm.org/en/beginner/using-gps/).\n\nper fer servir una traça GPX per editar el mapa, arrossega i deixa el fitxer GPX a l'editor. \nSi es detecta, s'afegirà el mapa com una línia verda llampant. \nClica a 'Paràmetres de configuració del fons'  al cantó esquerre per activar,\ndesactivar, o per ajustar la vista a aquesta capa GPX.\n\nLa traça GPX no és pujada directament a OpenStreetMap - la millor manera de \nfer-la servir és dibuixar tu el mapa, fent-la servir com a guia per a les noves característiques que afegiràs. també les pots [pujar a l'OpenStreetMap] \n(http://www.openstreetmap.org/trace/create)\nperquè d'altres persones les utilitzin.\n",
+        "editing_saving": "# Edició i desat\n\nAquest editor està dissenyat per treballar principalment en línia, i hi heu accedit mitjançant una pàgina web.\n\n### Selecció de característiques\n\nPer selecionar una característica del mapa, com ara una carretera o un punt d'interès, cliqueu-hi a sobre. Això ressaltarà la característica, obrirà un panell amb els detalls sobre aquesta, i un menú amb les coses que hi podeu fer .\n\nPodeu seleccionar múltiples característiques, prement la tecla 'Shift' i clicant-les per separat, o bé clicant i arrossegant el cursor. Això seleccionarà totes les característiques que englobi el requadre que es dibuixarà i permetrà modificar totes les característiques seleccionades en un sol cop.\n\n### Desant les edicions\n\nQuan féu canvis com ara editar carreteres, edificis, o llocs, aquests canvis es desen localment fins que els deseu al servidor. No us preocupeu si cometeu algun error- podeu desfer els canvis clicant el botó de desfer, i podeu refer els canvis clicant el botó de refer.\n\nCliqueu 'Desa' per acabar un grup d'edicions - per exemple, si heu acabat de delimitar l'àrea d'una ciutat i voleu començar a fer-ne una altra. Tindreu la oportunitat de revisar la feina feta,\ni l'editor proporcionarà suggeriments que us podran ajudar\ni també mostrarà alertes si alguna cosa no està del tot bé als vostres canvis.\n\nSi tot sembla correcte, podeu escriure un breu comentari explicant el canvis\nque heu fet, i clicar desa un altre cop per publicar els canvis\na [OpenStreetMap.org](http://www.openstreetmap.org/), on seran visibles\nper a tots els altres usuaris i disponibles per a altres editors per refer-los o bé millorar-los.\n\nSi no podeu acabar les vostres edicions en una sessió, podeu sortir de la finestra d'edició i tornar més tard (al mateix navegador i ordinador), i l'aplicació d'edició\npreguntarà si voleu restaurar els canvis anteriors.\n",
+        "roads": "# Carreteres\n\nPodeu crear, ajustar i eliminar carreteres amb aquest editor. Les carreteres poden ser\nde molts tipus: pistes, autovies, camins, carrils bici, i molts més - tots els segments\nmés comuns han de ser cartografiables.\n\n### Selecció\n\nCliqueu a la carretera per seleccionar-la. Al fer això els seus contorns es faran visibles, \ncom també un petit menú d'eines i una barra lateral que mostrarà més informació\nsobre la carretera.\n\n### Modificació\n\nDe vegades veureu carreteres que no estan alineades amb la imatge del darrere \no amb una traça de GPS. Podeu ajustar aquestes carreteres per tal que estiguin al lloc\ncorrecte.\n\nPrimer cliqueu a la carretera que voleu canviar. Això la ressaltarà i mostrarà els punts de control\nque podeu arrossegar a les ubicacions desitjades. Si el que\nvoleu és afegir nous punts per obtenir un grau de detall més alt, féu doble clic en una part de la carretera sense cap punt, i se'n afegirà un.\n\nSi la carretera es connecta amb una altra, però no es reflecteix al mapa, \npodeu arrossegar un dels punts de control cap a l'altre carretera \nper tal d'unir-les. Fer que les carreteres es connectin és molt important \nper al mapa i essencial per proveir direccions per a la conducció.\n\nTambé podeu clicar l'eina «Moure» o prémer la tecla «M» per moure la carretera sencera, tota de cop, i llavors clicar altra vegada per guardar aquest moviment.\n\n### Eliminació\n\nSi una carretera està totalment malament -podeu apreciar que no existeix a la imatge per satèl·lit\ni a més a més, els veïns ens han confirmat que no existeix - la podeu eliminar, cosa que la treurà del mapa. Aneu amb molt de compte a l'hora d'eliminar característiques -\ncom ara altres edicions; els resultats podran ser vistos per tothom i moltes vegades la imatgeria per satèl·lit no està actualitzada, per tant la carretera es pot haver estat construida recentment.\n\nPodeu eliminar una carretera clicant-la, i llavors clicant la icona de la paperera o bé prement la tecla «Suprimir».\n\n### Creació\n\nHeu trobat que en algun lloc hi hauria d'haver una carretera però no hi és? Cliqueu la icona «Línia»\nal marge superior esquerre de la zona del mapa o bé prem la tecla «2» per començar a dibuixar\nuna línia.\n\nCliqueu a l'inici de la carretera al mapa per començar a dibuixar. Si la carretera comença amb una bifurcació en una carretera existent, cliqueu al lloc a on connecten.\n\nA continuació cliqueu a diferents punts al llarg de la carretera per tal que segueixi el traçat correcte, d'acord  amb la imatge del satèl·lit o la traça del GPS. Si la carretera que esteu dibuixant s'encreua amb una altra carretera, connecteu-les clicant al punt d'intersecció. Quan acabis el dibuix, féu doble clic o premeu «Retorn» del teclat.\n",
+        "gps": "# GPS\n\nLes dades de GPS són la font més fiable de dades per a l'OpenStreetMap. Aquest editor és compatible amb les taces locals - fitxers`.gpx`al vostre ordinador local. Podeu recollir \naquest tipus de traça GPS amb algunes aplicacions per a smartphones com també \ndispositius personals de GPS.\n\nPer a més informació sobre com recollir dades amb GPS, llegiu\n[Recollir dades amb GPS](http://learnosm.org/en/beginner/using-gps/).\n\nper fer servir una traça GPX per editar el mapa, arrossegueu i deixeu el fitxer GPX a l'editor. \nSi es detecta, s'afegirà el mapa com una línia verda llampant. \nCliqueu a 'Paràmetres de configuració del fons'  al cantó esquerre per activar,\ndesactivar, o per ajustar la vista a aquesta capa GPX.\n\nLa traça GPX no és pujada directament a OpenStreetMap - la millor manera de \nfer-la servir és dibuixar vosaltres el mapa, fent-la servir com a guia per a les noves característiques que afegireu. També les podeu [pujar a l'OpenStreetMap] \n(http://www.openstreetmap.org/trace/create)\nperquè d'altres persones les utilitzin.\n",
         "imagery": "# Imatgeria\n\nLa imatgeria aèria és un recurs important per a l'edició de mapes. Una combinació de\nvols d'aeronaus, fotografies de satèl·lit, i d'altres fonts compilades gratuïtament \nestan disponibles a l'editor dins del menú de l'esquerra 'Paràmetres de configuració del fons'.\n\nPer defecte, l'editor mostra la capa de satèl·lit de [Bing Maps](http://www.bing.com/maps/), però a mesura que et mous i ajustes la vista del mapa a noves àrees geogràfiques, noves fonts estaran disponibles. En alguns països, com ara els Estats Units, França, i Dinamarca tenen\n una imatgeria d'alta qualitat disponible per a determinades àrees.\n\nLa imatgeria a vegades no es correspon amb les dades del mapa, això és degut a un error\nper part del proveïdor de la imatge. Si veus moltes carreteres mogudes del seu lloc a la imatge,\nno les moguis per tal que encaixin amb aquesta. Ja que pots ajustar la imatgeria per tal de que quadri amb les dades existents clicant a 'Corregeix la desalineació' al capdevall de la pestanya dels\n'Paràmetres de configuració del fons'.\n",
         "addresses": "# Adreçes\n\nLes adreçes són una de les informacions més útils per al mapa.\n\nTot i que les adreces sovint es representen com a part del carrer, a l'OpenStreetMap\nes desen com a atributs dels edificis i llocs al llarg dels carrers\n\nPodeu afegir la informació de l'adreça a llocs cartografiats com a edificis com també\na aquells llocs cartografiats com a simples punts. La forma òptima d'obtenir dades \nde les adreces és a partir d'un estudi al carrer o bé el coneixement propi - com a qualsevol altra característica, la còpia de fonts comercials com ara el Google Maps és estrictament prohibida.\n",
         "inspector": "# Utilitzant l'inspector\n\nL'Inspector és l'element de l'interfície d'usuari que es troba al cantó dret de la pàgina i que+\napareix quan una característica és seleccionada i permet editar-ne els detalls.\n\n### Selecció del tipus de característica\n\nDesprés d'afegir un punt, línia, o àrea, pots escollir quin tipus de característica és,\nTant si és una autopista com un carrer residencial, un supermercat o un cafè.\nL'inspector mostrarà botons per els tipus de característica més comuns, i en pots trobar d'altres escrivint el que estàs buscant al quadre de cerca.\n\nClica la 'i' al cantó inferior dret del botó  del tipus de característica per saber-ne més. Clica el botó per seleccionar-la.\n\n### Utilització dels camps i les etiquetes d'edició\n\nDesprés d'escollir la característica, o quan selecciones una característica que ja té\nun tipus assignat, l'inspector mostrarà uns camps amb detalls de la característica \ncom ara el seu nom o la seva adreça .\n\nA sota dels camps que veus, pots clicar algunes icones per afegir altres detalls,\ncom ara infrmació de la [Viquipèdia](http://www.wikipedia.org/), l'accés per a cadires de rodes,\ni alguna cosa més.\n\nAl capdavall de l'inspector, clica 'Etiquetes adicionals' per afegir altres etiquetes arbitràries a l'element. [Taginfo](http://taginfo.openstreetmap.org/) és una gran eina per aprendre'n més sobre les combinacions d'etiquetes més populars.\n\nEls canvis que facis a l'inspector s'aplicaran automàticament al mapa.\nEls pots desfer en qualsevol moment clicant al botó de 'Desfer' .\n\n",
             "category-rail": {
                 "name": "Rail"
             },
+            "category-restriction": {
+                "name": "Restricció"
+            },
             "category-road": {
                 "name": "Carretera"
             },
             "entrance": {
                 "label": "Tipus"
             },
+            "except": {
+                "label": "Excepcions"
+            },
             "fax": {
                 "label": "Fax",
                 "placeholder": "+31 42 123 4567"
                 "label": "Tipus"
             },
             "oneway": {
-                "label": "Sentit únic"
+                "label": "Sentit únic",
+                "options": {
+                    "undefined": "Sobreentès que és no"
+                }
             },
             "oneway_yes": {
-                "label": "Sentit únic"
+                "label": "Sentit únic",
+                "options": {
+                    "undefined": "Sobreentès que és sí"
+                }
             },
             "opening_hours": {
                 "label": "Horari"
             "restriction": {
                 "label": "Tipus"
             },
+            "restrictions": {
+                "label": "Restriccions de gir"
+            },
             "route": {
                 "label": "Tipus"
             },
             "amenity/doctor": {
                 "name": "Doctor"
             },
+            "amenity/dojo": {
+                "name": "Dojo / Acadèmia d'arts marcials"
+            },
             "amenity/drinking_water": {
                 "name": "Aigua apte per al consum",
                 "terms": "Aigua potable, Aigua apte per al consum humà, Aigua per beure"
                 "terms": "Hospital, centre hospitalari, policlínica, clínica. "
             },
             "amenity/kindergarten": {
-                "name": "Terrenys de Jardí d'infància"
+                "name": "Terrenys de Jardí d'infància",
+                "terms": "Parc infantil"
             },
             "amenity/library": {
                 "name": "Biblioteca",
                 "terms": "Porta giratòria, Porta sense retorn, Accés giratori, Porta de no retorn"
             },
             "barrier/lift_gate": {
-                "name": "Barrera per a vehicles"
+                "name": "Barrera per a vehicles",
+                "terms": "Porta d'ascensor"
             },
             "barrier/retaining_wall": {
                 "name": "Mur de contenció",
                 "terms": "Mur de contenció, Paret de contenció"
             },
             "barrier/stile": {
-                "name": "esgraons"
+                "name": "esgraons",
+                "terms": "Escala de tanca"
             },
             "barrier/toll_booth": {
                 "name": "Peatge",
                 "name": "Església"
             },
             "building/commercial": {
-                "name": "Edifici comercial"
+                "name": "Edifici comercial",
+                "terms": "Edifici comercial"
             },
             "building/construction": {
                 "name": "Edifici en construcció"
                 "name": "Edifici d'habitacions"
             },
             "building/entrance": {
-                "name": "Entrada/Sortida"
+                "name": "Entrada/Sortida",
+                "terms": "Entrada/Sortida"
             },
             "building/garage": {
-                "name": "garatge "
+                "name": "garatge ",
+                "terms": "Garatge"
             },
             "building/garages": {
                 "name": "Garatges"
                 "name": "Edifici hoteler"
             },
             "building/house": {
-                "name": "Casa"
+                "name": "Casa",
+                "terms": "Casa"
             },
             "building/hut": {
-                "name": "Cabana"
+                "name": "Cabana",
+                "terms": "Barraca"
             },
             "building/industrial": {
-                "name": "Edifici industrial"
+                "name": "Edifici industrial",
+                "terms": "Edifici industrial"
             },
             "building/public": {
                 "name": "Edifici públic"
             },
             "building/residential": {
-                "name": "Edifici residencial"
+                "name": "Edifici residencial",
+                "terms": "Edifici residencial"
             },
             "building/retail": {
                 "name": "Edifici de grans magatzems"
                 "terms": "Telèfon d'emergències, SOS, S.O.S"
             },
             "entrance": {
-                "name": "Entrada/Sortida"
+                "name": "Entrada/Sortida",
+                "terms": "Entrada/Sortida"
             },
             "footway/crossing": {
                 "name": "Pas de vianants",
                 "terms": "Travessera, Cruïlla, Pas de Vianants, Pas Zebra, Pas de peatons, pas de transeünts"
             },
+            "footway/crosswalk": {
+                "name": "Pas de vianants",
+                "terms": "Pas de peations, pas, de, peatons, vianants, persones, zebra"
+            },
             "footway/sidewalk": {
                 "name": "Vorera"
             },
                 "name": "Obstacle d'aigua"
             },
             "highway": {
-                "name": "Via"
+                "name": "Via",
+                "terms": "Via, Carretera"
             },
             "highway/bridleway": {
                 "name": "Camí de ferradura",
                 "name": "Pas de vianants",
                 "terms": "Travessera, Cruïlla, Pas de Vianants, Pas Zebra, Pas de peatons, pas de transeünts"
             },
+            "highway/crosswalk": {
+                "name": "Pas de vianants",
+                "terms": "Pas de peations, pas, de, peatons, vianants, persones, zebra"
+            },
             "highway/cycleway": {
-                "name": "Carril bici"
+                "name": "Carril bici",
+                "terms": "Carril bici, Via verda,Via ciclista"
             },
             "highway/footway": {
                 "name": "Camí per a vianants",
                 "terms": "Camí per a vianants, carrer peatonal, camí per a peatons, a peu, camí per caminar, vianant, vianants, peató, peatons, transeünt, transeünts, peatonal"
             },
             "highway/living_street": {
-                "name": "Carrer residencial"
+                "name": "Carrer residencial",
+                "terms": "Carrer residencial"
             },
             "highway/mini_roundabout": {
                 "name": "Mini-Rotonda",
                 "terms": "Minirotonda, Mini-rotonda, Rotonda petita"
             },
             "highway/motorway": {
-                "name": "Autopista"
+                "name": "Autopista",
+                "terms": "Autopista,Autovia"
             },
             "highway/motorway_junction": {
-                "name": "sortida d'autopista"
+                "name": "Intersecció d'autopista / Sortida"
             },
             "highway/motorway_link": {
                 "name": "Enllaç d'autopista",
                 "terms": "Rampa, entrada, incorporació, baixada, addició, autopista, autovia, eix"
             },
             "highway/path": {
-                "name": "Camí"
+                "name": "Camí",
+                "terms": "Sender,Corriol"
             },
             "highway/pedestrian": {
                 "name": "Via Peatonal",
                 "terms": "Carrer Peatonal, Àrea per a peatons, Trànsit tallat, Carrer tancat al trànsit, Carrer per a vianants, Àrea per a vianants, Carrer per a transeünts, Peatons, Peatonal, Carrer per a Transeünts, Àrea peatonal"
             },
             "highway/primary": {
-                "name": "Carretera primària"
+                "name": "Carretera primària",
+                "terms": "Carretera primària,Carretera de 1r ordre"
             },
             "highway/primary_link": {
-                "name": "Enllaç de carretera primària"
+                "name": "Enllaç de carretera primària",
+                "terms": "Enllaç amb primària"
             },
             "highway/residential": {
-                "name": "Carrer"
+                "name": "Carrer",
+                "terms": "Carrer"
             },
             "highway/rest_area": {
                 "name": "Àrea de descans"
             },
             "highway/road": {
-                "name": "Carretera sense classificació"
+                "name": "Carretera sense classificació",
+                "terms": "via desconeguda, via per arreglar,"
             },
             "highway/secondary": {
-                "name": "Carretera secundària"
+                "name": "Carretera secundària",
+                "terms": "Carretera secundària,Carretera de 2n ordre"
             },
             "highway/secondary_link": {
-                "name": "Enllaç de carretera secundària"
+                "name": "Enllaç de carretera secundària",
+                "terms": "Enllaç amb secundària"
             },
             "highway/service": {
-                "name": "Via de servei"
+                "name": "Via de servei",
+                "terms": "Via de servei, Lateral"
             },
             "highway/service/alley": {
-                "name": "Carreró"
+                "name": "Carreró",
+                "terms": "Carreró,Cul de sac"
             },
             "highway/service/drive-through": {
-                "name": "Via dins una propietat"
+                "name": "Via dins una propietat",
+                "terms": "Pas de vehicles"
             },
             "highway/service/driveway": {
-                "name": "Via d'accés a una propietat"
+                "name": "Via d'accés a una propietat",
+                "terms": "Entrada de vehicles"
             },
             "highway/service/emergency_access": {
                 "name": "Accés per a emergències",
                 "name": "Senyal de stop"
             },
             "highway/tertiary": {
-                "name": "Carretera terciària"
+                "name": "Carretera terciària",
+                "terms": "Carretera terciària,Carretera de 3r ordre,local"
             },
             "highway/tertiary_link": {
-                "name": "Enllaç de carretera terciària"
+                "name": "Enllaç de carretera terciària",
+                "terms": "Enllaç amb terciària"
             },
             "highway/track": {
                 "name": "Pista",
                 "terms": "Senyals de trànsit, Senyals de tràfic"
             },
             "highway/trunk": {
-                "name": "Carretera principal"
+                "name": "Carretera principal",
+                "terms": "Via ràpida,Variant"
             },
             "highway/trunk_link": {
-                "name": "Enllaç de via principal"
+                "name": "Enllaç de via principal",
+                "terms": "Enllaç amb via ràpida"
             },
             "highway/turning_circle": {
-                "name": "Cul de sac"
+                "name": "Cul de sac",
+                "terms": "Girar 180 graus, Canviar de sentit"
             },
             "highway/unclassified": {
-                "name": "Altres carreteres"
+                "name": "Altres carreteres",
+                "terms": "Carretera municipal"
             },
             "historic": {
                 "name": "Lloc històric",
                 "terms": "Lloc arqueològic"
             },
             "historic/boundary_stone": {
-                "name": "Fita de terme"
+                "name": "Fita de terme",
+                "terms": "Fita de frontera"
             },
             "historic/castle": {
                 "name": "Castell",
                 "terms": "Ruines"
             },
             "historic/wayside_cross": {
-                "name": "Creu Cristiana"
+                "name": "Creu Cristiana",
+                "terms": "Calvari,Encreuament del camí"
             },
             "historic/wayside_shrine": {
-                "name": "Capella"
+                "name": "Capella",
+                "terms": "Ermita"
             },
             "landuse": {
-                "name": "Aprofitament del terreny"
+                "name": "Aprofitament del terreny",
+                "terms": "Ús del terra, Ús del sòl"
             },
             "landuse/allotments": {
-                "name": "Horts"
+                "name": "Horts",
+                "terms": "Assignació"
             },
             "landuse/basin": {
-                "name": "Bassa"
+                "name": "Bassa",
+                "terms": "Conca"
             },
             "landuse/cemetery": {
                 "name": "Cementiri",
                 "name": "Terrenys d'església"
             },
             "landuse/commercial": {
-                "name": "Zona comercial"
+                "name": "Zona comercial",
+                "terms": "Comercial,Botiga"
             },
             "landuse/construction": {
-                "name": "Zona en construcció"
+                "name": "Zona en construcció",
+                "terms": "En construcció"
             },
             "landuse/farm": {
                 "name": "Terrenys de granja",
                 "name": "Terrenys de Granja"
             },
             "landuse/farmyard": {
-                "name": "Granja"
+                "name": "Granja",
+                "terms": "Pati,Jardí"
             },
             "landuse/forest": {
-                "name": "Bosc"
+                "name": "Bosc",
+                "terms": "Massa forestal,Bosc,Arbreda"
             },
             "landuse/grass": {
-                "name": "Herba"
+                "name": "Herba",
+                "terms": "Herba,Gespa"
             },
             "landuse/industrial": {
-                "name": "Zona Industrial"
+                "name": "Zona Industrial",
+                "terms": "Indústria, Industrial,Fàbrica"
             },
             "landuse/landfill": {
                 "name": "Abocador"
             },
             "landuse/meadow": {
-                "name": "Prat"
+                "name": "Prat",
+                "terms": "Prat,Prada,Natural"
             },
             "landuse/military": {
                 "name": "Militar"
             },
             "landuse/orchard": {
-                "name": "Verger"
+                "name": "Verger",
+                "terms": "Horta,Hort,Plantació"
             },
             "landuse/quarry": {
-                "name": "Mina a cel obert"
+                "name": "Mina a cel obert",
+                "terms": "Pedrera"
             },
             "landuse/residential": {
-                "name": "Zona residencial"
+                "name": "Zona residencial",
+                "terms": "Residencial,Cases"
             },
             "landuse/retail": {
-                "name": "Comerç minorista"
+                "name": "Comerç minorista",
+                "terms": "Venda al detall,Botiga,Minoristes"
             },
             "landuse/vineyard": {
                 "name": "Vinya",
                 "terms": "Vinyar, Vinyal, Vinyet, Vinya"
             },
             "leisure": {
-                "name": "Esbarjo"
+                "name": "Esbarjo",
+                "terms": "Lleure,Temps lliure"
             },
             "leisure/common": {
                 "name": "Àrea comuna"
             },
             "leisure/dog_park": {
-                "name": "Parc Caní"
+                "name": "Parc Caní",
+                "terms": "Pipi-can,Parc per gossos"
             },
             "leisure/firepit": {
                 "name": "Lloc per a fogueres"
             },
             "leisure/garden": {
-                "name": "Jardí"
+                "name": "Jardí",
+                "terms": "Jardí,Parc,Zona ajardinada"
             },
             "leisure/golf_course": {
-                "name": "Camp de golf"
+                "name": "Camp de golf",
+                "terms": "Camp de Golf"
             },
             "leisure/ice_rink": {
                 "name": "Pista de gel"
                 "name": "Taula de picnic"
             },
             "leisure/pitch": {
-                "name": "Camp d'esports"
+                "name": "Camp d'esports",
+                "terms": "Camp d'esports, Pista poliesportiva"
             },
             "leisure/pitch/american_football": {
-                "name": "Camp de futbol americà"
+                "name": "Camp de futbol americà",
+                "terms": "Estadi de futbol americà,Camp de futbol americà"
             },
             "leisure/pitch/baseball": {
-                "name": "Camp de beisbol"
+                "name": "Camp de beisbol",
+                "terms": "Camp de beisbol,Pista de beisbol"
             },
             "leisure/pitch/basketball": {
-                "name": "Pista de bàsquet"
+                "name": "Pista de bàsquet",
+                "terms": "Pista de bàsquet, Pavelló de bàsquet"
             },
             "leisure/pitch/skateboard": {
                 "name": "Parc per a skates"
             },
             "leisure/pitch/soccer": {
-                "name": "Camp de futbol"
+                "name": "Camp de futbol",
+                "terms": "Camp de futbol,Pista de futbol"
             },
             "leisure/pitch/tennis": {
-                "name": "Pista de tennis"
+                "name": "Pista de tennis",
+                "terms": "Camp de Tennis, Pista de tennis"
             },
             "leisure/pitch/volleyball": {
-                "name": "Camp de vòleibol"
+                "name": "Camp de vòleibol",
+                "terms": "Pista de voleibol,Camp de voleibol"
             },
             "leisure/playground": {
                 "name": "Zona de jocs infantils",
                 "terms": "Parc Infantil"
             },
             "leisure/slipway": {
-                "name": "Pendent per a embarcacions"
+                "name": "Pendent per a embarcacions",
+                "terms": "Varador"
             },
             "leisure/sports_center": {
-                "name": "Centre d'esports"
+                "name": "Centre d'esports / Gimnàs"
             },
             "leisure/stadium": {
-                "name": "Estadi"
+                "name": "Estadi",
+                "terms": "Estadi,Camp"
             },
             "leisure/swimming_pool": {
-                "name": "Piscina"
+                "name": "Piscina",
+                "terms": "Piscina"
             },
             "leisure/track": {
                 "name": "Circuit de carreres"
             },
             "line": {
-                "name": "Línia"
+                "name": "Línia",
+                "terms": "Línia"
             },
             "man_made": {
-                "name": "Fet per l'home"
+                "name": "Fet per l'home",
+                "terms": "Fet per la mà de l'home"
             },
             "man_made/breakwater": {
-                "name": "trencaonades"
+                "name": "trencaonades",
+                "terms": "Escullera,Espigó,Espatller"
             },
             "man_made/cutline": {
-                "name": "Línia de tall"
+                "name": "Línia de tall",
+                "terms": "Línia de tall"
             },
             "man_made/embankment": {
                 "name": "Terraplè "
                 "name": "Màstil"
             },
             "man_made/lighthouse": {
-                "name": "Far"
+                "name": "Far",
+                "terms": "Far"
             },
             "man_made/observation": {
                 "name": "Torre de vigilància"
             },
             "man_made/pier": {
-                "name": "Moll de pilons"
+                "name": "Moll de pilons",
+                "terms": "Moll,Dàrsena"
             },
             "man_made/pipeline": {
-                "name": "Canonada"
+                "name": "Canonada",
+                "terms": "Gàseoducte,Oleoducte,Canonades"
             },
             "man_made/survey_point": {
-                "name": "Punt referencial"
+                "name": "Punt referencial",
+                "terms": "Punt de salvació,Punt de salvament,Punt d'evacuació"
             },
             "man_made/tower": {
                 "name": "Torre",
                 "terms": "Torre, Torres"
             },
             "man_made/wastewater_plant": {
-                "name": "Depuradora d'aigües residuals"
+                "name": "Depuradora d'aigües residuals",
+                "terms": "Depuradora"
             },
             "man_made/water_tower": {
                 "name": "Torre d'aigua",
                 "terms": "Botiga d'electrònica, Botiga de components electrònics"
             },
             "shop/farm": {
-                "name": "Estand productiu"
+                "name": "Estand productiu",
+                "terms": "Grades"
             },
             "shop/fishmonger": {
                 "name": "Peixateria"
                 "name": "Restricció",
                 "terms": "Restricció"
             },
+            "type/restriction/no_left_turn": {
+                "name": "Prohibició del gir a l'esquerra"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "Prohibició del gir a la dreta"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "Prohibició de seguir recte"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Prohibició del gir total"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Només gir a l'esquerra"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Només gir a la dreta"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "Prohibició de tots els girs",
+                "terms": "Prohibit girar, no girs, cap gir, no girar, seguir recte"
+            },
             "type/route": {
                 "name": "Ruta",
                 "terms": "Ruta"
index 1e43feaf3957d55eb9e4e11a377d173de8c8fea1..c3b22567618f1c4d288f863eb14bf085a9de124f 100644 (file)
                 "name": "Dálnice",
                 "terms": "dálnice"
             },
-            "highway/motorway_junction": {
-                "name": "Dálniční sjezd",
-                "terms": "dálniční nájezd, dálniční výjezd, dálniční exit"
-            },
             "highway/motorway_link": {
                 "name": "Dálnice - nájezd",
                 "terms": "nájezd,sjezd,výjezd,příjezd,rampa,exit"
                 "name": "Vodní skluz",
                 "terms": "spouštění lodi,dok,loděnice,skluz v loděnici,skluzavka"
             },
-            "leisure/sports_center": {
-                "name": "Sportovní areál",
-                "terms": "sportovní areál,sportovní centrum"
-            },
             "leisure/stadium": {
                 "name": "Stadion",
                 "terms": "stadion,fotbal,fotbalový stadión,hřiště"
index 9f852a6cb45389986f8a874d92885b0bc44fb193..4de128c4381687c7f129043463e4121b6046843a 100644 (file)
             },
             "not_eligible": "Linje kan ikke deles op ved deres begyndelse eller ende.",
             "multiple_ways": "Der er for mange linjer her til at dele op."
+        },
+        "restriction": {
+            "help": {
+                "select": "Vælg et vejsegment.",
+                "toggle": "Klik for at slå dreje restriktioner til.",
+                "toggle_on": "Klik for tilføje \"{restriction}\" restriktion.",
+                "toggle_off": "Klik for at fjerne  \"{restriction}\" restriktionen."
+            },
+            "annotation": {
+                "create": "Tilføjede en dreje restriktion",
+                "delete": "Slettede en dreje restriktion"
+            }
         }
     },
     "undo": {
             "category-rail": {
                 "name": "Jernbane"
             },
+            "category-restriction": {
+                "name": "Restriktion"
+            },
             "category-road": {
                 "name": "Vej"
             },
             "entrance": {
                 "label": "Type"
             },
+            "except": {
+                "label": "Undtagelser"
+            },
             "fax": {
                 "label": "Fax",
                 "placeholder": "+31 42 123 4567"
                 "label": "Type"
             },
             "oneway": {
-                "label": "Ensrettet"
+                "label": "Ensrettet",
+                "options": {
+                    "undefined": "Forventet at være Nej"
+                }
             },
             "oneway_yes": {
-                "label": "Ensrettet"
+                "label": "Ensrettet",
+                "options": {
+                    "undefined": "Forventet at være Ja"
+                }
             },
             "opening_hours": {
                 "label": "Åbningstider"
             "restriction": {
                 "label": "Type"
             },
+            "restrictions": {
+                "label": "Sving restriktioner"
+            },
             "route": {
                 "label": "Type"
             },
                 "name": "Læge",
                 "terms": "Læge, Doktor"
             },
+            "amenity/dojo": {
+                "name": "Dojo/Kampsports akdemi",
+                "terms": "Dojo/Kampsports akdemi"
+            },
             "amenity/drinking_water": {
                 "name": "Drikkevand",
                 "terms": "<oversæt med synonymer eller beslægtet termer for 'Drikkevand', adskilt med kommaer>"
                 "name": "Kryds",
                 "terms": "Kryds"
             },
+            "footway/crosswalk": {
+                "name": "Fodgængerovergang",
+                "terms": "Fodgængerovergang"
+            },
             "footway/sidewalk": {
                 "name": "Fortov",
                 "terms": "Fortov"
                 "name": "Kryds",
                 "terms": "Kryds"
             },
+            "highway/crosswalk": {
+                "name": "Fodgængerovergang",
+                "terms": "Fodgængerovergang"
+            },
             "highway/cycleway": {
                 "name": "Cykelsti",
                 "terms": "Cykelsti"
                 "terms": "Motorvej"
             },
             "highway/motorway_junction": {
-                "name": "Motorvejskryds",
-                "terms": "Motorvejskryds"
+                "name": "Motorvejsafkørsel/ Udkørsel",
+                "terms": "Motorvejsafkørsel/ Udkørsel"
             },
             "highway/motorway_link": {
                 "name": "Motorvejsafkørsel",
                 "terms": "Bådrampe, Skibsrampe"
             },
             "leisure/sports_center": {
-                "name": "Sportscenter",
-                "terms": "Sportscenter"
+                "name": "Sportscenter/Gymnastik",
+                "terms": "Sportscenter/Gymnastik"
             },
             "leisure/stadium": {
                 "name": "Stadion",
                 "name": "Restriktion",
                 "terms": "Restriktion"
             },
+            "type/restriction/no_left_turn": {
+                "name": "Ingen venstresving",
+                "terms": "Ingen venstresving"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "Ingen højresving",
+                "terms": "Ingen højresving"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "Ingen lige ud kørsel",
+                "terms": "Ingen lige ud kørsel"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Ingen U-vending",
+                "terms": "Ingen U-vending"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Kun venstresving tilladt",
+                "terms": "Kun venstresving tilladt"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Kun højresving tilladt",
+                "terms": "Kun højresving tilladt"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "Ingen sving tilladt",
+                "terms": "Ingen sving tilladt"
+            },
             "type/route": {
                 "name": "Rute",
                 "terms": "Rute"
index bfc75032c5259abbdb4c8756c37be41e8cad19d7..e009dc8e60ef1bd42719e5955a57f49b0f76a859 100644 (file)
             },
             "not_eligible": "Linien können nicht am Anfang oder Ende geteilt werden.",
             "multiple_ways": "Es gibt hier zu viele Linien, um diese teilen zu können."
+        },
+        "restriction": {
+            "help": {
+                "select": "Klicke um ein Straßensegment zu selektieren.",
+                "toggle": "Klicke um das Abbiegeverbot umzudrehen.",
+                "toggle_on": "Klicke um ein \"{restriction}\" Verbot anzulegen.",
+                "toggle_off": "Klicke um das \"{restriction}\" Verbot zu löschen."
+            },
+            "annotation": {
+                "create": "Füge ein Abbiegeverbot ein",
+                "delete": "Lösche ein Abbiegeverbot"
+            }
         }
     },
     "undo": {
             "category-rail": {
                 "name": "Schiene"
             },
+            "category-restriction": {
+                "name": "Abbiegevorschrift"
+            },
             "category-road": {
                 "name": "Straße"
             },
             "entrance": {
                 "label": "Typ"
             },
+            "except": {
+                "label": "Ausnahmen"
+            },
             "fax": {
                 "label": "Fax",
                 "placeholder": "+31 42 123 4567"
                 "label": "Typ"
             },
             "oneway": {
-                "label": "Einbahnstraße"
+                "label": "Einbahnstraße",
+                "options": {
+                    "undefined": "Vermutlich Nein"
+                }
             },
             "oneway_yes": {
-                "label": "Einbahnstraße"
+                "label": "Einbahnstraße",
+                "options": {
+                    "undefined": "Vermutlich Ja"
+                }
             },
             "opening_hours": {
                 "label": "Öffnungszeiten"
             "restriction": {
                 "label": "Typ"
             },
+            "restrictions": {
+                "label": "Abbiegevorschriften"
+            },
             "route": {
                 "label": "Typ"
             },
                 "name": "Arzt",
                 "terms": "Arzt, Mediziner"
             },
+            "amenity/dojo": {
+                "name": "Kampfsportstudio",
+                "terms": "Kampfsportstudio, Kampfsportzentrum, Karatestudio"
+            },
             "amenity/drinking_water": {
                 "name": "Trinkwasserstelle",
                 "terms": "Brunnen,Trinkwasser,Trinkwasserbrunnen,Wasserhahn,Trinkbrunnen"
                 "name": "Fussgängerüberweg",
                 "terms": "Zebrastreifen"
             },
+            "footway/crosswalk": {
+                "name": "Zebrastreifen",
+                "terms": "Zebrastreifen, Fußgängerübergang, Fußgängerstreifen"
+            },
             "footway/sidewalk": {
                 "name": "Bürgersteig",
                 "terms": "Gehsteig, Fußgängerweg, Gehweg, Fußweg, Gangsteig, Trottoir"
                 "name": "Fußgängerüberweg",
                 "terms": "Zebrastreifen"
             },
+            "highway/crosswalk": {
+                "name": "Zebrastreifen",
+                "terms": "Zebrastreifen, Fußgängerübergang, Fußgängerstreifen"
+            },
             "highway/cycleway": {
                 "name": "Radweg",
                 "terms": "Radweg"
                 "terms": "Autobahn"
             },
             "highway/motorway_junction": {
-                "name": "Autobahnausfahrt",
-                "terms": "Autobahn-Anschlussstelle, Autobahn-Abfahrt"
+                "name": "Autobahnkreuz / Autobahnanschluss",
+                "terms": "Autobahnkreuz, Autobahnanschluss, Autobahndreieck, Autobahnknoten, Autobahnzubringer"
             },
             "highway/motorway_link": {
                 "name": "Autobahnanschluss",
                 "terms": "Gleitbahn, Rampe"
             },
             "leisure/sports_center": {
-                "name": "Sportzentrum",
-                "terms": "Fitnesscenter"
+                "name": "Fitnessstudio",
+                "terms": "Fitnessstudio, Sportstudio, Trainingszentrum"
             },
             "leisure/stadium": {
                 "name": "Stadion",
                 "terms": "Multipolygon"
             },
             "type/restriction": {
-                "name": "Beschränkung",
-                "terms": "Beschränkung, Einschränkung"
+                "name": "Sonstige Abbiegevorschrift",
+                "terms": "Abbiegebeschränkung, Beschränkung, Einschränkung"
+            },
+            "type/restriction/no_left_turn": {
+                "name": "Linksabbiegeverbot",
+                "terms": "Linksabbiegeverbot, Linksabbiegen verboten, kein Linksabbiegen, kein Abbiegen nach links"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "Rechtsabbiegeverbot",
+                "terms": "Rechtsabbiegeverbot, Rechtsabbiegen verboten, kein Rechtsabbiegen, kein Abbiegen nach rechts"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "Geradeausfahrverbot",
+                "terms": "Geradeausfahrverbot, Geradeausfahren verboten, geradeaus fahren nicht erlaubt"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Kehrtwendeverbot",
+                "terms": "Kehrtwendeverbot, Kehrtwende verboten, Umdrehen verboten"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Linksabbiegegebot",
+                "terms": "Linksabbiegegebot, Links abbiegen geboten, nur links abbiegen erlaubt"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Rechtsabbiegegebot",
+                "terms": "Rechtsabbiegegebot, Rechts abbiegen geboten, nur rechts abbiegen erlaubt"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "Kehrtwendeverbot",
+                "terms": "Kehrwendeverbot, keine Kehrtwende erlaubt, Umdrehverbot, Umdrehen verboten"
             },
             "type/route": {
                 "name": "Route",
index 541b40832eac11a8795ef04b23db0b621d224ac5..1ef09526c0833f7896204a5dd7ad55664b564129 100644 (file)
                 "name": "Αυτοκινητόδρομος",
                 "terms": "Αυτοκινητόδρομος"
             },
-            "highway/motorway_junction": {
-                "name": "Διασταύρωση Αυτοκινητόδρομου",
-                "terms": "Διασταύρωση αυτοκινητόδρομου"
-            },
             "highway/motorway_link": {
                 "name": "Σύνδεση Αυτοκινητόδρομου",
                 "terms": "Σύνδεσμος Αυτοκινητόδρομου "
                 "name": "Γλύστρα",
                 "terms": "Γλίστρα"
             },
-            "leisure/sports_center": {
-                "name": "Αθλητικό Κέντρο"
-            },
             "leisure/stadium": {
                 "name": "Στάδιο",
                 "terms": "Στάδιο"
index bab6c5df9a821d186356bf472099e41cd23502f5..771cb75f9ebb61814004cd55600fc76d701baff1 100644 (file)
@@ -84,9 +84,6 @@
             "building/terrace": {
                 "name": "Terraced houses"
             },
-            "leisure/sports_center": {
-                "name": "Sports Centre"
-            },
             "shop/garden_centre": {
                 "name": "Garden Centre"
             },
index 04b1b3571f11ed89213dfc413e7934faa87a21ed..61fe5ce3a174d4738001303de96d19c58fea83f4 100644 (file)
             },
             "not_eligible": "Lines can't be split at their beginning or end.",
             "multiple_ways": "There are too many lines here to split."
+        },
+        "restriction": {
+            "help": {
+                "select": "Click to select a road segment.",
+                "toggle": "Click to toggle turn restrictions.",
+                "toggle_on": "Click to add a \"{restriction}\" restriction.",
+                "toggle_off": "Click to remove the \"{restriction}\" restriction."
+            },
+            "annotation": {
+                "create": "Added a turn restriction",
+                "delete": "Deleted a turn restriction"
+            }
         }
     },
     "undo": {
             "category-rail": {
                 "name": "Rail"
             },
+            "category-restriction": {
+                "name": "Restriction"
+            },
             "category-road": {
                 "name": "Road"
             },
             "entrance": {
                 "label": "Type"
             },
+            "except": {
+                "label": "Exceptions"
+            },
             "fax": {
                 "label": "Fax",
                 "placeholder": "+31 42 123 4567"
                 "label": "Type"
             },
             "oneway": {
-                "label": "One Way"
+                "label": "One Way",
+                "options": {
+                    "undefined": "Assumed to be No",
+                    "yes": "Yes",
+                    "no": "No"
+                }
             },
             "oneway_yes": {
-                "label": "One Way"
+                "label": "One Way",
+                "options": {
+                    "undefined": "Assumed to be Yes",
+                    "yes": "Yes",
+                    "no": "No"
+                }
             },
             "opening_hours": {
                 "label": "Hours"
             "restriction": {
                 "label": "Type"
             },
+            "restrictions": {
+                "label": "Turn Restrictions"
+            },
             "route": {
                 "label": "Type"
             },
                 "name": "Doctor",
                 "terms": "doctor,doctor's office"
             },
+            "amenity/dojo": {
+                "name": "Dojo / Martial Arts Academy",
+                "terms": "martial arts,dojo,dojang"
+            },
             "amenity/drinking_water": {
                 "name": "Drinking Water",
                 "terms": "water fountain,potable water"
             },
             "footway/crossing": {
                 "name": "Crossing",
+                "terms": ""
+            },
+            "footway/crosswalk": {
+                "name": "Crosswalk",
                 "terms": "crosswalk,zebra crossing"
             },
             "footway/sidewalk": {
             },
             "highway/crossing": {
                 "name": "Crossing",
+                "terms": ""
+            },
+            "highway/crosswalk": {
+                "name": "Crosswalk",
                 "terms": "crosswalk,zebra crossing"
             },
             "highway/cycleway": {
                 "terms": ""
             },
             "highway/motorway_junction": {
-                "name": "Motorway Junction",
+                "name": "Motorway Junction / Exit",
                 "terms": ""
             },
             "highway/motorway_link": {
                 "terms": ""
             },
             "leisure/sports_center": {
-                "name": "Sports Center",
+                "name": "Sports Center / Gym",
                 "terms": "gym"
             },
             "leisure/stadium": {
                 "name": "Restriction",
                 "terms": ""
             },
+            "type/restriction/no_left_turn": {
+                "name": "No Left Turn",
+                "terms": ""
+            },
+            "type/restriction/no_right_turn": {
+                "name": "No Right Turn",
+                "terms": ""
+            },
+            "type/restriction/no_straight_on": {
+                "name": "No Straight On",
+                "terms": ""
+            },
+            "type/restriction/no_u_turn": {
+                "name": "No U-turn",
+                "terms": ""
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Left Turn Only",
+                "terms": ""
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Right Turn Only",
+                "terms": ""
+            },
+            "type/restriction/only_straight_on": {
+                "name": "No Turns",
+                "terms": ""
+            },
             "type/route": {
                 "name": "Route",
                 "terms": ""
index 6519a586b1dbb55422fdc407d203b56e727b5c2b..5687bc15f9c2a5f4140b42a4f8264b86ed8bfb1e 100644 (file)
             "category-rail": {
                 "name": "Ferrocarril"
             },
+            "category-restriction": {
+                "name": "Restricción"
+            },
             "category-road": {
                 "name": "Carretera"
             },
             "entrance": {
                 "label": "Tipo"
             },
+            "except": {
+                "label": "Excepciones"
+            },
             "fax": {
                 "label": "Fax",
                 "placeholder": "+31 42 123 4567"
                 "name": "Aparcamiento de automóviles",
                 "terms": "aparcamiento, parking, aparcadero, estacionamiento, garaje"
             },
+            "amenity/parking_entrance": {
+                "name": "Entrada/Salida del Estacionamiento"
+            },
             "amenity/pharmacy": {
                 "name": "Farmacia",
                 "terms": "farmacia,botica, laboratorio, apoteca, herbolario"
             "building/dormitory": {
                 "name": "Dormitorio"
             },
+            "building/entrance": {
+                "name": "Entrada/Salida",
+                "terms": "puerta, portal, vestíbulo, umbral, soportal, pórtico, abertura, acceso, boca, embocadura, agujero, hueco"
+            },
             "building/garage": {
                 "name": "Garaje",
                 "terms": "garaje,cochera"
                 "name": "Teléfono de emergencias",
                 "terms": "Teléfono de emergencia, SOS"
             },
+            "entrance": {
+                "name": "Entrada/Salida"
+            },
             "footway/crossing": {
                 "name": "Cruce peatonal",
                 "terms": "cruce, travesía, paso, cruzamiento, pasaje, vado, paseo, traviesa, paso de peatones, paso de cebra"
             },
+            "footway/crosswalk": {
+                "name": "Cruce peatonal",
+                "terms": "cruce, travesía, paso, cruzamiento, pasaje, vado, paseo, traviesa, paso de peatones"
+            },
             "footway/sidewalk": {
                 "name": "Acera",
                 "terms": "acera, paso, bordillo, anden, borde, peatonal, peatón"
                 "name": "Cruce peatonal",
                 "terms": "cruce peatonal, paso peatonal, paso de cebra, paso de peatones, paso semafórico"
             },
+            "highway/crosswalk": {
+                "name": "Cruce peatonal",
+                "terms": "cruce, travesía, paso, cruzamiento, pasaje, vado, paseo, traviesa, paso de peatones"
+            },
             "highway/cycleway": {
                 "name": "Sendero ciclista",
                 "terms": "Camino para bicicletas, senda ciclable, sendero ciclista, carril bici"
                 "terms": "autopista, autovía, vía rápida"
             },
             "highway/motorway_junction": {
-                "name": "Cruce de autopista",
+                "name": "Cruce / salida de autopista",
                 "terms": "enlace, acceso, autopista, autovía, salida"
             },
             "highway/motorway_link": {
                 "terms": "Grada"
             },
             "leisure/sports_center": {
-                "name": "Centro deportivo",
-                "terms": "Complejo deportivo"
+                "name": "Centro deportivo / Gimnasio",
+                "terms": "centro deportivo, club deportivo, club atlético, gimnasio"
             },
             "leisure/stadium": {
                 "name": "Estadio",
                 "name": "Restricción",
                 "terms": "restricción, limitación, prohibición"
             },
+            "type/restriction/no_left_turn": {
+                "name": "No girar a la izquierda",
+                "terms": "no girar a la izquierda, prohibido girar a la izquierda"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "No girar a la derecha",
+                "terms": "no girar a la derecha, prohibido girar a la derecha"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Sólo girar a la izquierda"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Sólo girar a la derecha"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "No girar",
+                "terms": "no girar, prohibido girar"
+            },
             "type/route": {
                 "name": "Ruta",
                 "terms": "ruta,recorrido,línea"
index e8ee8abfe2cf4573a5a21433bd554a06a93a91c1..052adee258903b2ad7c3ea0907b37e7eec7e3887 100644 (file)
             "highway/motorway": {
                 "name": "Kiirtee"
             },
-            "highway/motorway_junction": {
-                "name": "Kiirtee liiklussõlm"
-            },
             "highway/path": {
                 "name": "Rada"
             },
index 061a937ef088330cc4e8f3ecd560fc6a484a3c60..aea9e29eb4d384338667f16afea5bc70632081c2 100644 (file)
                 "name": "مسیر موتور سواری",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'راه وسایل موتوری'، با کاما جدا میشوند>"
             },
-            "highway/motorway_junction": {
-                "name": "محل اتصال جاده موتور سیکلت",
-                "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'Motorway Junction'، با کاما جدا میشوند>"
-            },
             "highway/motorway_link": {
                 "name": "اتصال جاده موتور سیکلت",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'پیوستن جاده موتور'، با کاما جدا میشوند>"
             "leisure/slipway": {
                 "name": "قایق ساکن"
             },
-            "leisure/sports_center": {
-                "name": "مرکز ورزشی"
-            },
             "leisure/stadium": {
                 "name": "ورزشگاه"
             },
index 6aba7e270f8192e6ee2128a158bffcfae08ee54b..2591f4275e15e8195ffd75d368eac6690599d0b3 100644 (file)
             },
             "not_eligible": "Viivoja ei voi jakaa alusta tai lopusta.",
             "multiple_ways": "Viivoja on liian monta jotta niitä voitaisiin jakaa osiin."
+        },
+        "restriction": {
+            "help": {
+                "select": "Valitse tienpätkä napsauttamalla.",
+                "toggle": "Muuta kääntymiskieltoja napsauttamalla.",
+                "toggle_on": "Lisää kääntymisrajoitus \"{restriction}\" napsauttamalla.",
+                "toggle_off": "Poista kääntymisrajoitus \"{restriction}\" napsauttamalla."
+            },
+            "annotation": {
+                "create": "Kääntymisrajoitus lisätty.",
+                "delete": "Kääntymisrajoitus poistettu."
+            }
         }
     },
     "undo": {
             "category-rail": {
                 "name": "Rautatie"
             },
+            "category-restriction": {
+                "name": "Rajoitus"
+            },
             "category-road": {
                 "name": "Tie"
             },
             },
             "capacity": {
                 "label": "Paikkamäärä",
-                "placeholder": "50, 100, 200..."
+                "placeholder": "5, 10, 20, 100..."
             },
             "cardinal_direction": {
                 "label": "Suunta"
             "description": {
                 "label": "Kuvaus"
             },
+            "electrified": {
+                "label": "Sähköistys"
+            },
             "elevation": {
                 "label": "Korkeus"
             },
             "entrance": {
                 "label": "Tyyppi"
             },
+            "except": {
+                "label": "Poikkeukset"
+            },
             "fax": {
                 "label": "Faksinumero",
                 "placeholder": "+358 40 123 4567"
             "place": {
                 "label": "Tyyppi"
             },
+            "population": {
+                "label": "Asukasmäärä"
+            },
             "power": {
                 "label": "Tyyppi"
             },
             "restriction": {
                 "label": "Tyyppi"
             },
+            "restrictions": {
+                "label": "Kääntymisrajoitukset"
+            },
             "route": {
                 "label": "Tyyppi"
             },
             "shop": {
                 "label": "Tyyppi"
             },
+            "sloped_curb": {
+                "label": "Viistetty reunakivi"
+            },
             "smoking": {
                 "label": "Tupakointi"
             },
             "surface": {
                 "label": "Päällyste"
             },
+            "tactile_paving": {
+                "label": "Huomioreuna näkövammaisille"
+            },
             "tourism": {
                 "label": "Tyyppi"
             },
                 "name": "Ilmarata"
             },
             "aerialway/cable_car": {
-                "name": "köysirata"
+                "name": "Köysirata"
             },
             "aerialway/chair_lift": {
                 "name": "Tuolihissi"
                 "terms": "Kahvila, Kahvitupa, Teehuone"
             },
             "amenity/car_rental": {
-                "name": "Auton vuokraus",
-                "terms": "autovuokraamo, autonvuokraus, auton vuokraus, auto, vuokra-auto"
+                "name": "Autonvuokraus",
+                "terms": "autovuokraamo, autonvuokraus, auton vuokraus, auto, vuokra-auto, auton vuokraaminen, vuokraaminen"
             },
             "amenity/car_sharing": {
                 "name": "Kimppakyyti"
                 "terms": "Sairaala-alue"
             },
             "amenity/kindergarten": {
-                "name": "Päiväkodin piha",
+                "name": "Päiväkotialue",
                 "terms": "päiväkoti, piha, ulkoilualue, lastentarha"
             },
             "amenity/library": {
                 "terms": "Ravintola, Ruokaravintola, Bistro, Krouvi, Pizzeria, Ruokala"
             },
             "amenity/school": {
-                "name": "Koulun piha",
-                "terms": "Koulun piha, Koulualue"
+                "name": "Koulualue",
+                "terms": "koulu, koulutus, ala-aste, koulualue, alue, koulupiha, piha, välitunti, välituntialue"
             },
             "amenity/shelter": {
                 "name": "Katos"
             "building/apartments": {
                 "name": "Kerrostalo"
             },
+            "building/barn": {
+                "name": "Lato"
+            },
             "building/church": {
                 "name": "Kirkko"
             },
                 "name": "Vaja",
                 "terms": "vaja, mökki, liiteri"
             },
+            "building/stable": {
+                "name": "Talli",
+                "terms": "hevonen, hevostalli, hevoset, ratsastus, ratsastaminen, hevoskoti"
+            },
             "building/terrace": {
                 "name": "Rivitalo"
             },
                 "name": "Mehiläistarha"
             },
             "craft/blacksmith": {
-                "name": "seppä"
+                "name": "Rautaseppä"
             },
             "craft/boatbuilder": {
                 "name": "veneentekijä"
             },
             "craft/bookbinder": {
-                "name": "Kirjansitomo"
+                "name": "Kirjasitomo"
             },
             "craft/brewery": {
                 "name": "panimo"
                 "terms": "eriste, eristeet, eristesuunnittelija, eristesuunnittelu, eristeliike"
             },
             "craft/jeweler": {
-                "name": "kultaseppä"
+                "name": "Kultaseppä"
             },
             "craft/key_cutter": {
                 "name": "Lukkoseppä",
                 "terms": "avain, lukko, avaimet, lukot, lukkoseppä, lukkoliike, avainliike, avainseppä"
             },
             "craft/locksmith": {
-                "name": "lukkoseppä"
+                "name": "Lukkoseppä"
             },
             "craft/metal_construction": {
                 "name": "metallirakennelma"
                 "name": "Kattoseppä"
             },
             "craft/saddler": {
-                "name": "satulaseppä"
+                "name": "Satulaseppä"
             },
             "craft/sailmaker": {
                 "name": "purjeentekijä"
                 "name": "Kuvanveistämö"
             },
             "craft/shoemaker": {
-                "name": "suutari"
+                "name": "Suutari"
             },
             "craft/stonemason": {
                 "name": "Kivenhakkaamo"
                 "name": "Moottoritie"
             },
             "highway/motorway_junction": {
-                "name": "Moottoritien liittymä"
+                "name": "Moottoritien liittymä",
+                "terms": "ramppi, eritasoliittymä, monitasoliittymä, moottoritie, poistumisliittymä, poistumisramppi"
             },
             "highway/motorway_link": {
                 "name": "Moottoritien ramppi"
                 "name": "Tienvarren risti"
             },
             "historic/wayside_shrine": {
-                "name": "Tienvarren alttari"
+                "name": "Tienvarsialttari",
+                "terms": "tienvarsi, kadunvarsi, varsi, tie, katu, rukoilupaikka, pyhättö, uskonnot, uskonto, kirkko, pyhä, uhripaikka, uhrauspaikka, uhrilahja"
             },
             "landuse": {
                 "name": "Maankäyttö"
                 "terms": "skeittipuisto, skeittaus, skeitti, rullalautailu, rullalauta, rullalautailupuisto, parkit, parkki, skeittiparkki, skeittiparkit"
             },
             "leisure/pitch/soccer": {
-                "name": "Jalkapallokenttä"
+                "name": "Jalkapallokenttä",
+                "terms": "jalkapallo, urheilu, liikunta, kenttä, areena, futis"
             },
             "leisure/pitch/tennis": {
                 "name": "Tenniskenttä"
                 "name": "Veneramppi",
                 "terms": "veneramppi, vesillelaskupaikka, veneenlaskupaikka, vene, järveenlaskupaikka, järviramppi"
             },
-            "leisure/sports_center": {
-                "name": "Urheilukeskus"
-            },
             "leisure/stadium": {
                 "name": "Stadion"
             },
                 "name": "Rannikko",
                 "terms": "Rantaviiva"
             },
+            "natural/fell": {
+                "name": "Tunturi"
+            },
             "natural/glacier": {
                 "name": "Jäätikkö"
             },
                 "name": "Tilintarkastustoimisto",
                 "terms": "tilintarkastus, tilintarkastaja, kirjanpito, kirjanpitäjä, kirjanpitotoimisto"
             },
+            "office/architect": {
+                "name": "Arkkitehtitoimisto"
+            },
             "office/company": {
                 "name": "Yritystoimisto"
             },
             "shop/alcohol": {
                 "name": "Alkoholimyymälä"
             },
+            "shop/art": {
+                "name": "Taideliike",
+                "terms": "maalaus, taide, yritys, kauppa, liike, putiikki, antiikki, veistos, maalaaminen"
+            },
             "shop/bakery": {
                 "name": "Leipomo"
             },
             "shop/laundry": {
                 "name": "Pesula"
             },
+            "shop/locksmith": {
+                "name": "Lukkoliike",
+                "terms": "lukkoseppä, lukko, lukot, hälytys, valvonta, hälytin, hälyttimet, lukonavaus"
+            },
             "shop/lottery": {
                 "name": "Veikkauspiste",
                 "terms": "lotto, veikkaus, vedonlyönti, lyödä vetoa, jokeri"
             "type/restriction": {
                 "name": "Rajoitus"
             },
+            "type/restriction/no_left_turn": {
+                "name": "Ei saa kääntyä vasemmalle"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "Ei saa kääntyä oikealle"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "Ei saa ajaa suoraan"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Ei saa tehdä U-käännöstä"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Saa kääntyä vain vasemmalle"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Saa kääntyä vain oikealle"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "Ei saa kääntyä lainkaan"
+            },
             "type/route": {
                 "name": "Reitti"
             },
             "type/route/foot": {
                 "name": "Kävelyreitti"
             },
+            "type/route/hiking": {
+                "name": "Vaellusreitti"
+            },
             "type/route/pipeline": {
                 "name": "Putkilinja"
             },
index 7c60ad3f31dacacf5ed0f32864a78996b360e11f..33c1759f863a2a11d5b829b03cc04699a8c96fc1 100644 (file)
                 "name": "Autoroute",
                 "terms": "Autoroute, Voie rapide"
             },
-            "highway/motorway_junction": {
-                "name": "Bretelle d'autoroute",
-                "terms": "Échangeur autoroutier"
-            },
             "highway/motorway_link": {
                 "name": "Bretelle d'autoroute",
                 "terms": "Bretelle d'autoroute"
                 "name": "Plan incliné",
                 "terms": "Cale de lancement"
             },
-            "leisure/sports_center": {
-                "name": "Centre sportif",
-                "terms": "Centre sportif"
-            },
             "leisure/stadium": {
                 "name": "Stade",
                 "terms": "Stade"
index 9f5707074c9f77b3ed121ad8d0f6eb47e6725923..08b6fd3eabfafa65ea56a7dbad0e4ffd3d988de9 100644 (file)
             },
             "not_eligible": "As liñas non se poden dividir no seu inicio ou fin.",
             "multiple_ways": "Aquí hai demasiadas liñas para dividir."
+        },
+        "restriction": {
+            "help": {
+                "select": "Fai clic para seleccionar un segmento de estrada.",
+                "toggle": "Fai clic para alternar as restricións de xiro.",
+                "toggle_on": "Fai clic para engadir unha restrición \"{restriction}\".",
+                "toggle_off": "Fai clic para eliminar a restrición \"{restriction}\"."
+            },
+            "annotation": {
+                "create": "Engadida unha restrición de xiro.",
+                "delete": "Eliminada unha restrición de xiro."
+            }
         }
     },
     "undo": {
index 0a756bffce9c9077d994c0893238a824c6b402db..b5a5fb8516b5dba6418989495614f1df49dc0316 100644 (file)
             },
             "not_eligible": "Linije ne mogu biti razdvojene na svom početku ili kraju.",
             "multiple_ways": "Previše linija za razdvajanje."
+        },
+        "restriction": {
+            "help": {
+                "select": "Klikni za selektiranje dijela ceste.",
+                "toggle": "Klikni za uključivanje zabrane skretanja.",
+                "toggle_on": "Klikni za dodavanje \"{restriction}\" zabrane.",
+                "toggle_off": "Klikni za uklanjanje \"{restriction}\" zabrane."
+            },
+            "annotation": {
+                "create": "Zabrana skretanja je dodana",
+                "delete": "Zabrana skretanja je uklonjena"
+            }
         }
     },
     "undo": {
             "highway/motorway": {
                 "name": "Autocesta"
             },
-            "highway/motorway_junction": {
-                "name": "Sjecište autoceste"
-            },
             "highway/motorway_link": {
                 "name": "Pristupna cesta autoceste"
             },
                 "name": "Navoz za brodove",
                 "terms": "istezalište"
             },
-            "leisure/sports_center": {
-                "name": "Sportski centar",
-                "terms": "sportski centar,sport,dvorana,sportska dvorana,stadion,igralište"
-            },
             "leisure/stadium": {
                 "name": "Stadion"
             },
index 920fe72985c398543614b87233584388a149a072..11e3f9ec39b3a54c5003258214aaaf3bd480f9b4 100644 (file)
             "highway/motorway": {
                 "name": "Autópálya"
             },
-            "highway/motorway_junction": {
-                "name": "Autópálya elágazás"
-            },
             "highway/motorway_link": {
                 "name": "Autópálya felhajtó"
             },
             "leisure/slipway": {
                 "name": "Sólya"
             },
-            "leisure/sports_center": {
-                "name": "Sportközpont"
-            },
             "leisure/stadium": {
                 "name": "Stadion"
             },
index 15c73a04d577c0860da35481522a2e558f9772cf..e2cca922cdf6c0e2eafa2623b887370edc6a9e60 100644 (file)
             "highway/motorway": {
                 "name": "Hraðbraut"
             },
-            "highway/motorway_junction": {
-                "name": "Hraðbrautarmót"
-            },
             "highway/motorway_link": {
                 "name": "Hraðbrautarrein"
             },
index e3866479c7b6b60eadc35dd62fc045de134bb237..2c1ba4c46d4c370e83794557b48938d5d3f1da53 100644 (file)
             },
             "not_eligible": "Le linee non possono essere divise al loro inizio o alla loro fine.",
             "multiple_ways": "Ci sono troppe linee da dividere."
+        },
+        "restriction": {
+            "help": {
+                "select": "Clicca per selezionare un segmento di strada.",
+                "toggle": "Clicca per attivare una limitazione.",
+                "toggle_on": "Clicca per aggiungere \"{restriction}\".",
+                "toggle_off": "Clicca per rimuovere \"{restriction}\"."
+            },
+            "annotation": {
+                "create": "Limitazione aggiunta",
+                "delete": "Limitazione rimossa"
+            }
         }
     },
     "undo": {
             "category-rail": {
                 "name": "Ferrovia"
             },
+            "category-restriction": {
+                "name": "Limitazione"
+            },
             "category-road": {
                 "name": "Strada"
             },
             "entrance": {
                 "label": "Tipo"
             },
+            "except": {
+                "label": "Eccezioni"
+            },
             "fax": {
                 "label": "Fax",
                 "placeholder": "+39 01 123 456"
                 "label": "Tipo"
             },
             "oneway": {
-                "label": "Senso unico"
+                "label": "Senso unico",
+                "options": {
+                    "undefined": "No (ipotesi)"
+                }
             },
             "oneway_yes": {
-                "label": "Senso unico"
+                "label": "Senso unico",
+                "options": {
+                    "undefined": "Si (ipotesi)"
+                }
             },
             "opening_hours": {
                 "label": "Orari"
             "restriction": {
                 "label": "Tipo"
             },
+            "restrictions": {
+                "label": "Obblighi di svolta"
+            },
             "route": {
                 "label": "Tipo"
             },
                 "name": "Medico di base",
                 "terms": "dottore,medico,studio medico"
             },
+            "amenity/dojo": {
+                "name": "Dojo/Accademia di arti marziali",
+                "terms": "dojo,karate,judo,arti marziali"
+            },
             "amenity/drinking_water": {
                 "name": "Fontanella",
                 "terms": "fontana,fontanella,acqua potabile,nasone"
                 "name": "Attraversamento",
                 "terms": "attraversamento pedonale,strisce pedonali,attraversamento,dosso"
             },
+            "footway/crosswalk": {
+                "name": "Attraversamento pedonale",
+                "terms": "strisce pedonali,attraversamento"
+            },
             "footway/sidewalk": {
                 "name": "Marciapiede",
                 "terms": "marciapiedi,passeggio,salvagente,banchina"
                 "name": "Attraversamento",
                 "terms": "attraversamento pedonale,strisce pedonali,attraversamento,dosso"
             },
+            "highway/crosswalk": {
+                "name": "Attraversamento pedonale",
+                "terms": "strisce pedonali,attraversamento"
+            },
             "highway/cycleway": {
                 "name": "Percorso ciclabile",
                 "terms": "Percorso ciclabile"
                 "terms": "Autostrada"
             },
             "highway/motorway_junction": {
-                "name": "Uscita autostradale",
+                "name": "Uscita/Svincolo da o verso Autostrada",
                 "terms": "Uscita autostradale"
             },
             "highway/motorway_link": {
                 "terms": "Rampa per la messa in acqua di imbarcazioni"
             },
             "leisure/sports_center": {
-                "name": "Centro sportivo",
+                "name": "Centro sportivo/Palestra",
                 "terms": "sport,centro sportivo,pista,polivalente,tennis,calcio,campi,campetti,pallavolo,volley,palestra"
             },
             "leisure/stadium": {
                 "name": "Limitazione",
                 "terms": "Restrizione"
             },
+            "type/restriction/no_left_turn": {
+                "name": "Divieto di svolta a sinistra",
+                "terms": "divieto,vietato,curva,sinistra"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "Divieto di svolta a destra",
+                "terms": "divieto,vietato,curva,destra"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "Divieto di proseguire dritto",
+                "terms": "divieto,vietato,dritto"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Divieto di inversione",
+                "terms": "divieto,vietato,inversione a u"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Obbligo di svolta a sinistra",
+                "terms": "obbligo,curva,sinistra"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Obbligo di svolta a destra",
+                "terms": "obbligo,curva,destra"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "Direzione obbligatoria dritto",
+                "terms": "obbligo,dritto,diritto,divieto di svolta"
+            },
             "type/route": {
                 "name": "Percorso",
                 "terms": "Itinerario"
index 61985762ce5ff3bf0a78fe6b0b5ac7b995cfb922..e6423f5c2943f92d0eaeffafe39f09bad916f1a8 100644 (file)
             },
             "not_eligible": "基点/終端を境としたライン分割はできません。",
             "multiple_ways": "複数のラインを分割します"
+        },
+        "restriction": {
+            "help": {
+                "select": "道路の区間を選択するにはクリックしてください。",
+                "toggle": "進行方向制限を切り替えるにはクリックしてください。",
+                "toggle_on": "「{restriction}」の制約を追加するにはクリックしてください。",
+                "toggle_off": "「{restriction}」の制約を削除するにはクリックしてください。"
+            },
+            "annotation": {
+                "create": "進行方向制限を追加しました",
+                "delete": "進行方向制限を削除しました"
+            }
         }
     },
     "undo": {
             "category-rail": {
                 "name": "線路"
             },
+            "category-restriction": {
+                "name": "制限"
+            },
             "category-road": {
                 "name": "道路"
             },
             "entrance": {
                 "label": "タイプ"
             },
+            "except": {
+                "label": "例外"
+            },
             "fax": {
                 "label": "FAX",
                 "placeholder": "+31 42 123 4567"
                 "label": "タイプ"
             },
             "oneway": {
-                "label": "一方通行"
+                "label": "一方通行",
+                "options": {
+                    "undefined": "おそらくいいえ"
+                }
             },
             "oneway_yes": {
-                "label": "一方通行"
+                "label": "一方通行",
+                "options": {
+                    "undefined": "おそらくはい"
+                }
             },
             "opening_hours": {
                 "label": "利用可能な時間帯"
             "restriction": {
                 "label": "タイプ"
             },
+            "restrictions": {
+                "label": "進行方向制限"
+            },
             "route": {
                 "label": "タイプ"
             },
                 "name": "医院",
                 "terms": "医者,医師"
             },
+            "amenity/dojo": {
+                "name": "道場",
+                "terms": "道場"
+            },
             "amenity/drinking_water": {
                 "name": "水飲み場",
                 "terms": "水飲み場"
                 "name": "横断歩道",
                 "terms": "横断歩道, 自転車横断帯"
             },
+            "footway/crosswalk": {
+                "name": "横断歩道",
+                "terms": "横断歩道, 歩行者踏切"
+            },
             "footway/sidewalk": {
                 "name": "歩道",
                 "terms": "歩道"
                 "name": "横断歩道",
                 "terms": "横断歩道, 自転車横断帯"
             },
+            "highway/crosswalk": {
+                "name": "横断歩道",
+                "terms": "横断歩道"
+            },
             "highway/cycleway": {
                 "name": "自転車道",
                 "terms": "自転車道, サイクリング道路"
                 "terms": "進水路, スリップウェイ"
             },
             "leisure/sports_center": {
-                "name": "スポーツセンター",
-                "terms": "スポーツセンター"
+                "name": "スポーツセンター/ジム",
+                "terms": "スポーツセンター, ジム, フィットネスクラブ"
             },
             "leisure/stadium": {
                 "name": "スタジアム",
                 "name": "進行方向制限",
                 "terms": "進行方向制限"
             },
+            "type/restriction/no_left_turn": {
+                "name": "左折禁止",
+                "terms": "左折禁止"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "右折禁止",
+                "terms": "右折禁止"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "直進禁止",
+                "terms": "直進禁止"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "転回禁止",
+                "terms": "転回禁止, Uターン禁止"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "左折のみ可",
+                "terms": "左折のみ可"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "右折のみ可",
+                "terms": "右折のみ可"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "直進のみ可",
+                "terms": "直進のみ可"
+            },
             "type/route": {
                 "name": "ルート",
                 "terms": "ルート"
index 7eaca38bc77b772370eaf754d6e512a0ff62f6a6..ee9c1dfc7be1ebbee9a36e9daa8715d63fe5792d 100644 (file)
             },
             "not_eligible": "선은 시작이나 끝에서 분할할 수 없습니다.",
             "multiple_ways": "분할하는 데 너무 많은 선이 있습니다."
+        },
+        "restriction": {
+            "help": {
+                "select": "도로 분절을 선택하려면 클릭하세요.",
+                "toggle": "회전 제한을 토글하려면 클릭하세요.",
+                "toggle_on": "\"{restriction}\" 제한을 추가하려면 클릭하세요.",
+                "toggle_off": "\"{restriction}\" 제한을 제거하려면 클릭하세요"
+            },
+            "annotation": {
+                "create": "회전 제한을 추가했습니다",
+                "delete": "회전 제한을 삭제했습니다"
+            }
         }
     },
     "undo": {
         "title": "도움말",
         "help": "# 도움말\n\n이 편집기는 세계의 자유롭고 편집할 수 있는 지도인,\n[OpenStreetMap](http://www.openstreetmap.org/)을 위한 편집기입니다.\n모두를 위한 더 나은 세계의 오픈 소스 및 오픈 데이터 지도를 만들고, 당신의\n지역에서 데이터를 추가하거나 업데이드하려면 이를 사용할 수 있습니다.\n\n이 지도에서 만든 편집은 OpenStreetMap을 사용하는 모두에게\n보여질 수 있습니다. 편집을 하기 위해, [무료 OpenStreetMap\n계정](https://www.openstreetmap.org/user/new)이 필요합니다.\n\n[iD 편집기](http://ideditor.com/)는 [GitHub에 사용할 수 있는 소스\n코드](https://github.com/openstreetmap/iD)로 된 협업 프로젝트입니다.\n",
         "editing_saving": "# 편집 및 저장\n\n이 편집기는 주로 온라인으로 작동하도록 설계되었고, 지금 웹사이트를 통해\n접근할 수 있습니다.\n\n### 기능 선택하기\n\n도로나 관심 있는 지점과 같은 지도 기능을 선택하려면, 지도에\n그것을 클릭하세요. 선택된 기능이 강조되고, 그것에 대한 세부 정보로\n된 패널을 열고, 기능을 수행할 수 있는 메뉴를 보여줍니다.\n\n여러 기능을 선택하려면 'Shift' 키를 누르고 있으세요. 다음 선택하려는\n기능을 클릭하거나, 사각형으로 그리기 위해 지도에 드래그하세요.\n상자가 그려지고 그 안에 있는 모든 지점이 선택됩니다.\n\n### 편집 저장하기\n\n도로, 건물과 장소 등을 편집하여 바꿀 때, 서버에 저장할 때까지는\n로컬에 저장됩니다. 실수를 걱정하지 마십시오 - 실행 취소\n버튼을 클릭해 바뀜을 실행 취소할 수 있고, 다시 실행 버튼을 클릭해\n바뀜을 다시 실행할 수 있습니다.\n\n편집의 그룹을 마치려면 '저장'을 클릭하세요 - 예를 들어, 마을의\n지역을 완료했고 새 지역에서 시작하고 싶으면 말입니다. 무엇을\n했는지 검토할 기회가 있을 것이며, 무언가 바꾸는 것에 대한 권한이\n없어 보이면 편집기가 유용한 제안과 경고를 제공합니다.\n\n모든 것이 좋아 보이면, 모든 다른 사용자에게 보여지고 구축하고 개선하기 위해 다른\n사용자가 사용할 수 있는 곳인, [OpenStreetMap.org](http://www.openstreetmap.org/)에\n바뀜을 게시하기 위해 바꾼 것을 설명할 짧은 요약을 입력하고 '저장'을\n다시 클릭할 수 있습니다.\n\n한 번에 앉아서 편집을 마칠 수 없으면, (같은 브라우저와 컴퓨터에서)\n편집기 창을 떠나고 나서 돌아올 수 있으며, 편집기 애플리케이션은\n작업을 되돌리도록 제공합니다.\n",
-        "roads": "# 도로\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눌러 도로를 삭제할 수 있습니다.\n\n### 만들기\n\n어딘가에 찾은 도로가 있어야 하지만 없습니까? 선 그리기를 시작하려면\n편집기의 위 왼쪽에 '선' 아이콘을 클릭하거나 `2` 바로가기 키를 누르세요.\n\n그리기를 시작하려면 지도에 도로의 시작 부분을 클릭하세요. 도로가\n기존 도로에서 분기되어 있다면, 연결할 장소를 클릭하여 시작하세요.\n\n다음 위성 영상이나 GPS에 따라, 올바른 경로를 따를 수 있도록 도로를 따라\n점을 클릭하세요. 그리는 도로가 다른 도로와 교차하면, 교차점을 클릭하여\n도로를 연결하세요. 그리기가 완료되면, 더블 클릭하거나\n키보드에 있는 'Return' 또는 'Enter'를 누르세요.\n",
+        "roads": "# 도로\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눌러 도로를 삭제할 수 있습니다.\n\n### 만들기\n\n어딘가에 찾은 도로가 있어야 하지만 없습니까? 선 그리기를 시작하려면\n편집기의 위 왼쪽에 '선' 아이콘을 클릭하거나 `2` 바로가기 키를 누르세요.\n\n그리기를 시작하려면 지도에 도로의 시작 부분을 클릭하세요. 도로가\n기존 도로에서 분기되어 있다면, 연결할 장소를 클릭하여 시작하세요.\n\n다음 위성 영상이나 GPS에 따라, 올바른 경로를 따를 수 있도록 도로를 따라\n점을 클릭하세요. 그리는 도로가 다른 도로와 교차하면, 교차점을 클릭하여\n도로를 연결하세요. 그리기가 완료되면, 더블 클릭하거나\n키보드에 있는 'Return' 또는 'Enter'를 누르세요.\n",
         "gps": "# GPS\n\nGPS 데이터는 OpenStreetMap에 대한 데이터의 가장 신뢰할 수 있는 자료입니다.\n이 편집기는 로컬 컴퓨터에 있는 `.gpx` 파일로 로컬 추적을 지원합니다. 스마트폰\n애플리케이션과 개인 GPS 하드웨어와 같은 것으로 GPS 추적을 모을 수 있습니다.\n\nGPS 측량을 수행하는 방법에 대한 자세한 정보는\n[GPS에 의한 측량](http://learnosm.org/en/beginner/using-gps/)을 읽으세요.\n\n매핑에 GPX 트랙을 사용하려면, 지도 편집기 위에 GPX 파일을 끌어 놓으세요.\n인식되면, 밝은 초록 선으로 지도에 추가됩니다. 활성화, 비활성화, 또는 새 GPX가\n배치된 레이어로 확대하려면 오른쪽에 있는 '배경 설정' 메뉴를 클릭하세요.\n\nGPX 트랙은 OpenStreetMap에 직접 올려지지 않습니다 - 그것을 사용하는 최상의\n방법은 새로운 기능을 추가하기 위한 가이드로 사용하여, 지도를 그리는 것이며,\n다른 사용자가 사용하기 위해 [OpenStreetMap에 그것을 올리는](http://www.openstreetmap.org/trace/create)\n것입니다.\n",
         "imagery": "# 영상\n\n항공 영상은 매핑에 있어서 중요한 자료입니다. 비행기 플라이오버, 위성 뷰와\n자유롭게 컴파일된 자료의 조합은 편집기에서 오른쪽에 있는 '배경 설정' 메뉴에서\n사용할 수 있습니다.\n\n기본적으로 [Bing 지도](http://www.bing.com/maps/) 위성 레이어가 편집기에\n표현되지만, 기존대로 새 지리적 지역으로 지도를 이동하고 확대할 수 있고, 새 자료는\n사용할 수 있게 될 것입니다. 미합중국, 프랑스와 덴마크와 같은 일부 국가는 일부 지역에서\n매우 높은 품질의 영상을 사용할 수 있습니다.\n\n영상은 때때로 영상 제공자 측이 실수하기 때문에 지도 데이터에 오프셋이 있습니다.\n만약 배경에서 도로가 옮겨진 것이 많이 보인다면, 즉시 배경에 맞게 그들 모두를 이동하지\n마십시오. 대신 영상을 조정할 수 있으며 배경 설정 UI의 아래에 있는 '정렬 고치기'를\n클릭하여 기존 데이터에 맞추면 됩니다.\n",
         "addresses": "# 주소\n\n주소는 지도를 위한 가장 유용한 정보의 일부입니다.\n\n주소가 주로 거리의 부분으로 표현되어 있더라도, OpenStreetMap에서 주소는\n거리를 따라 건물과 장소의 특성으로 기록하고 있습니다.\n\n건물 외곽선으로 매핑된 장소뿐만 아니라 단일 지점으로 매핑된 장소에 주소\n정보를 추가할 수 있습니다. 최적의 주소 데이터 자료는 지상에서의 측량이나\n개인 지식에서 있습니다 - 다른 기능과 마찬가지로, Google 지도와 같은 상용\n자료에서 복사하는 행위는 엄격히 금지됩니다.\n",
             "highway/motorway": {
                 "name": "고속도로"
             },
-            "highway/motorway_junction": {
-                "name": "고속도로 교차점"
-            },
             "highway/motorway_link": {
                 "name": "고속도로 연결도"
             },
             "leisure/slipway": {
                 "name": "슬립 웨이"
             },
-            "leisure/sports_center": {
-                "name": "스포츠 센터"
-            },
             "leisure/stadium": {
                 "name": "경기장"
             },
index 9fac89b5b17413d5d7e78ad2711e1dd74b4f9bf6..e0a6fe244438bc838bc9933f9aafb5a0a9b555c0 100644 (file)
             "leisure/playground": {
                 "name": "Žaidimų aikštelė"
             },
-            "leisure/sports_center": {
-                "name": "Sporto centras"
-            },
             "leisure/stadium": {
                 "name": "Stadionas"
             },
index 12effe1acae884da0c90ea57fea62cb6422d40a0..e25aedb10bec8dae3dd0c2f4c7efac756b7aed44 100644 (file)
             "highway/motorway": {
                 "name": "Snelweg"
             },
-            "highway/motorway_junction": {
-                "name": "Afslag op autosnelweg"
-            },
             "highway/motorway_link": {
                 "name": "Invoegstrook"
             },
             "leisure/slipway": {
                 "name": "Botenhelling"
             },
-            "leisure/sports_center": {
-                "name": "Sportcentrum"
-            },
             "leisure/stadium": {
                 "name": "Stadion"
             },
index 5a6c35edf7846076d0bc889a0f7c096120029ec7..656c049f524363c3361660aa8f53d7e59215f11b 100644 (file)
             "highway/motorway": {
                 "name": "Motorvei"
             },
-            "highway/motorway_junction": {
-                "name": "Motorveikrysning"
-            },
             "highway/motorway_link": {
                 "name": "Motorveirampe"
             },
index 3e159f58323cd2ac365666b023a68cbc7c9541ae..d9954fd1092c2c2fafdf4bd936f07ade262e6460 100644 (file)
             },
             "not_eligible": "Linie nie mogą zostać rozdzielone na ich początku lub końcu.",
             "multiple_ways": "Jest tu zbyt wiele linii do rozdzielenia."
+        },
+        "restriction": {
+            "annotation": {
+                "create": "Dodano zakaz/nakaz skrętu",
+                "delete": "Usunięto zakaz/nakaz skrętu"
+            }
         }
     },
     "undo": {
             "restriction": {
                 "label": "Typ"
             },
+            "restrictions": {
+                "label": "Zakazy skrętu"
+            },
             "route": {
                 "label": "Typ"
             },
                     "bridge": "Most",
                     "tunnel": "Tunel",
                     "embankment": "Nasyp",
-                    "cutting": "Wykop"
+                    "cutting": "Wykop",
+                    "ford": "Bród"
                 }
             },
             "studio_type": {
                 "name": "Myjnia samochodowa",
                 "terms": "myjnia"
             },
+            "amenity/charging_station": {
+                "name": "Stacja ładowania pojazdów"
+            },
             "amenity/childcare": {
                 "name": "Żłobek",
                 "terms": "opieka,przedszkole"
                 "terms": "budynek,budowla,dom"
             },
             "building/apartments": {
-                "name": "Apartamenty",
+                "name": "Budynek mieszkalny wielorodzinny",
                 "terms": "blok,kamienica"
             },
             "building/barn": {
                 "name": "Nieruchomość komercyjna",
                 "terms": "sklep,komercyjny,sprzedaż,handlowy"
             },
+            "building/detached": {
+                "name": "Dom wolnostojący"
+            },
             "building/dormitory": {
                 "name": "Akademik",
                 "terms": "Akademik, bursa, "
             "craft/handicraft": {
                 "name": "Rzemiosło"
             },
+            "craft/hvac": {
+                "name": "Klimatyzacja"
+            },
             "craft/jeweler": {
                 "name": "Jubiler"
             },
+            "craft/key_cutter": {
+                "name": "Dorabianie kluczy"
+            },
             "craft/locksmith": {
                 "name": "Ślusarz"
             },
                 "name": "Chodnik",
                 "terms": "chodnik"
             },
+            "ford": {
+                "name": "Bród"
+            },
             "golf/hole": {
                 "name": "dołek na polu golfowym "
             },
                 "name": "Autostrada",
                 "terms": "autostrada"
             },
-            "highway/motorway_junction": {
-                "name": "Węzeł autostradowy",
-                "terms": "węzeł, skrzyżowanie, autostrad"
-            },
             "highway/motorway_link": {
                 "name": "Autostrada - wjazd/zjazd",
                 "terms": "rampa,wjazd,wyjazd,zjazd"
             "landuse/industrial": {
                 "name": "Obszar przemysłowy"
             },
+            "landuse/landfill": {
+                "name": "Wysypisko",
+                "terms": "składowisko odpadów,śmieci"
+            },
             "landuse/meadow": {
                 "name": "Łąka",
                 "terms": "Łąka"
             "leisure/dog_park": {
                 "name": "Park dla psów"
             },
+            "leisure/firepit": {
+                "name": "Miejsce na ognisko"
+            },
             "leisure/garden": {
                 "name": "Ogród",
                 "terms": "ogród"
                 "name": "Pochylnia okrętowa",
                 "terms": "pochylnia"
             },
-            "leisure/sports_center": {
-                "name": "Centrum sportowe",
-                "terms": "centrum,sportowe,rekreacji,rekreacja,sport,boisko,stadion"
-            },
             "leisure/stadium": {
                 "name": "Stadion",
                 "terms": "stadion"
                 "name": "Kolej jednoszynowa",
                 "terms": "Kolej jednoszynowa"
             },
+            "railway/narrow_gauge": {
+                "name": "Linia kolejowa wąskotorowa"
+            },
             "railway/platform": {
                 "name": "Peron kolejowy"
             },
                 "name": "Kwiaciarnia",
                 "terms": "kwiaciarnia"
             },
+            "shop/funeral_directors": {
+                "name": "Zakład pogrzebowy",
+                "terms": "pochówek,pogrzeb"
+            },
             "shop/furniture": {
                 "name": "Sklep meblowy",
                 "terms": "sklep meblowy"
                 "name": "Ograniczenie",
                 "terms": "restrykcja"
             },
+            "type/restriction/no_left_turn": {
+                "name": "Zakaz skrętu w lewo"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "Zakaz skrętu w prawo"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "Zakaz jazdy prosto"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Zakaz zawracania"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Nakaz skrętu w lewo"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Nakaz skrętu w prawo"
+            },
             "type/route": {
                 "name": "Trasa",
                 "terms": "trasa"
index f05ab243fb505038fb02c77610cc9cab8c42bbef..1881c4e37c7359659e2213eef041fe9aa3ae8aa3 100644 (file)
                 "name": "Autoestrada",
                 "terms": "Autoestrada, Via Expressa"
             },
-            "highway/motorway_junction": {
-                "name": "Saída de Autoestrada",
-                "terms": "Saída de Autoestrada"
-            },
             "highway/motorway_link": {
                 "name": "Ligação de Autoestrada",
                 "terms": "Acesso a Autoestrada"
                 "name": "Rampa Náutica",
                 "terms": "Rampa Náutica"
             },
-            "leisure/sports_center": {
-                "name": "Centro/Clube Esportivo",
-                "terms": "Centro Esportivo, Clube Esportivo, Ginásio de Esportes, Ginásio Poliesportivo, Academia de Esportes, Academia de Ginástica"
-            },
             "leisure/stadium": {
                 "name": "Estádio",
                 "terms": "Estádio, Ginásio"
index e8b90b3bb2c15d13c61492fd86a6597a75f4da3b..a112450b075a45da1d61646e3c260b3538d77504 100644 (file)
             },
             "not_eligible": "As linhas não podem ser divididas no seu início ou fim.",
             "multiple_ways": "Existem aqui demasiadas linhas para dividir."
+        },
+        "restriction": {
+            "help": {
+                "select": "Clique para selecionar um segmento de estrada.",
+                "toggle": "Clique para inverter as restrições de viragem.",
+                "toggle_on": "Clique para adicionar uma \"{restriction}\" restrição.",
+                "toggle_off": "Clique para remover a \"{restriction}\" restrição."
+            },
+            "annotation": {
+                "create": "Restrição de viragem adicionada.",
+                "delete": "Restrição de viragem apagada."
+            }
         }
     },
     "undo": {
     "help": {
         "title": "Ajuda",
         "help": "# Ajuda\n\nEste é um editor do [OpenStreetMap](http://www.openstreetmap.org/), o mapa mundial livre e editável. Pode utilizá-lo para adicionar e atualizar dados do mapa na sua área, colaborando na construção de um mapa mundial melhor para todos. \n\nAs edições que fizer neste mapa serão visíveis a todas as pessoas que utilizem o OpenStreetMap. Para poder alterar o mapa é necessário ter uma [conta no OpenStreetMap](https://www.openstreetmap.org/user/new). O [editor iD](http://ideditor.com/) é um projeto colaborativo com [código-fonte disponível no site GitHub](https://github.com/openstreetmap/iD). \n",
+        "editing_saving": "# Editar e Gravar\n\nEste editor foi concebido para editar ligado à internet, e está a utilizá-lo\natravés de um site neste momento.\n\n### Selecionar elementos do mapa\n\nPara selecionar um elemento do mapa, como uma estrada ou uma loja,\nclique nesse elemento no mapa. Aparecerá de seguida um painel lateral\ncom informações sobre o elemento onde poderá eliminar, alterar ou\nacrescentar informações.\n\nPara selecionar vários elementos manter premida a tecla 'Shift' (maiúsculas),\nclicar e arrastar com o rato no mapa. Isto irá selecionar todos os elementos\ndentro do retângulo selecionado, permitindo fazer alterações em todos\nos elementos selecionados de uma só vez.\n\n### Gravar Edições\n\nQuando faz alterações como editar estradas, edifícios e locais, as alterações\nsão gravadas no seu computador até que clique no botão Gravar para enviar\nas alterações para o OpenStreetMap. Não se preocupe caso cometa algum\nerro - pode desfazer as alterações clicando no botão de Desfazer, assim\ncomo refazer as alterações desfeitas clicando no botão Refazer que se\nencontram no topo do ecrã.\n\nClique em 'Gravar' para terminar um conjunto de alterações - por exemplo,\nse terminou as alterações num local e quer fazer alterações noutro local.\nTerá oportunidade de rever as alterações que fez e o editor fornece\nsugestões úteis e avisos caso alguma alteração que não pareça correta.\n\nSe tudo estiver bem, pode introduzir uma breve descrição explicando\nas alterações que fez e clicar de seguida em 'Gravar' de novo para enviar\nas alterações para o [OpenStreetMap.org](http://www.openstreetmap.org/)\nonde estarão visíveis para todos e onde outros podem melhorar e completar.\n\nCaso não possa terminar as edições de uma só vez, pode deixar o editor,\nou inclusive fechar o navegador de internet e mais tarde regressar ao site\ndo OpenStreetMap, editando-o novamente . Será mostrado então um aviso\n(caso seja o mesmo computador e mesmo navegador de internet) que tem\nalterações por gravar e se quer recuperar essas alterações, para continuar.\n",
         "roads": "# Estradas\n\nPode criar, corrigir e eliminar estradas com o editor. As estradas podem ser\nde qualquer tipo: caminhos, autoestradas, carreiros florestais ou agrícolas,\nruas pedonais, ciclovias, entre outras. Qualquer local que seja frequentemente\natravessado por pessoas deve ser normalmente colocado no mapa.\n\n### Selecionar\n\nClique numa estrada para a selecionar. Aparece o painel lateral direito para\npoder editar as caraterísticas da estrada e botões em redor da estrada.\n\n### Alterar\n\nClique na estrada que quer alterar. Se quiser adicionar pontos à estrada entre\ndois pontos existentes basta clicar 2 vezes sobre o segmento da estrada.\nPode então deslocar esse ponto acabado de criar.\n\nSe existir uma estrada com ligação a outra no terreno mas que no mapa não\nestão ligadas, basta deslocar um ponto de uma das estradas até à outra estrada\npara ficarem ligadas. É muito importante as estradas estarem corretamente\nligadas umas às outras para que os programas de rotas possam fornecer\ninformações corretas aos utilizadores.\n\nPode também clicar no botão de 'Mover' ou premir a tecla 'M' para mover\na estrada toda de uma só vez. No entanto deve-se ter cuidado ao fazer isso\npois todos os pontos da estrada, incluindo os pontos partilhados com\noutras estradas, serão todos movidos.\n\nPara dividir uma estrada em duas, útil por exemplo quando existe uma estrada\nno mapa que na realidade são 2 estradas diferentes com referências diferentes,\nclique no ponto da estrada onde quer dividir e clique no botão da tesoura que\naparece ao lado do ponto. Esse botão aparece apenas se estiver o ponto\nselecionado e não a linha. Pode também combinar as 2 linhas numa só\nselecionando as duas estradas e clicando no botão + que aparece ao lado.\nSe existirem no mapa 2 estradas ligadas (nas extremidades ou num cruzamento)\nmas que na realidade não se ligam ou cruzam, basta selecionar o ponto comum\ne clicar no botão ao lado de desligar as linhas. Pode então deslocar o ponto\npara outro local.\n\n### Eliminar\n\nSe uma estrada estiver errada - pode-se confirmar pela imagem de satélite (ter em\nconta que a imagem de satélite pode ter alguns anos e a estrada pode ter sido\nconstruida posteriormente) e preferencialmente confirmar presencialmente  - pode\neliminar a estrada toda. É necessária precaução ao eliminar elementos do mapa.\nTal como qualquer outra alteração, os resultados serão visíveis a todos os outros.\n\nPode eliminar uma estrada clicando nela para a selecionar e de seguida\nclicar no ícone do caixote do lixo que aparece ao lado, ou simplesmente\npressionar na tecla 'Del' do teclado.\n\n### Criar\n\nEncontrou alguma estrada que não existe no mapa? Clique no botão 'Linha' que\nestá na parte superior ou pressione a tecla '2' para começar a desenhar a linha.\n\nClique no ponto inicial da estrada para começar a desenhá-la. Se Já existir\numa estrada no mapa, mas que está incompleta, pode continuá-la bastando\npara isso clicar no ponto da extremidade da estrada existente.\n\nAdicione então outros pontos de acordo com as imagens de satélite ou os trilhos\nGPS. Se a estrada que está a desenhar cruzar com outra estrada, crie um ponto\npor cima da outra estrada onde se cruzam. Quando terminar de desenhar\na estrada, clique duas vezes no último ponto da estrada ou pressione as teclas\nde mudança de linha ou 'Enter'.\n",
         "gps": "# GPS\n\nOs dados GPS são os de maior confiança para o OpenStreetMap. Este editor\npermite usar ficheiros `.gpx` como fundo para ajudar a editar mapas.\nPode obter dados GPS com vários telemóveis, assim como dispositivos GPS.\n\nPara mais informações sobre a obtenção de dados GPS ver a página [Gravando trilhos GPS] (http://wiki.openstreetmap.org/wiki/Recording_GPS_tracks).\n\nPara usar um ficheiro GPX como imagem de fundo, arraste o ficheiro do seu\ncomputador para o mapa. Se o ficheiro for reconhecido corretamente o trilho GPS\nserá mostrado a verde. Clique em  'Configuração da imagem de fundo' do lado\ndireito para mostrar ou esconder o trilho GPS, assim como enquadrar todo\no trilho GPS na janela.\n\nEste trilho GPS não é carregado para o OpenStreetMap para estar disponível\na outros editores, é apenas um ficheiro local GPS que pode utilizar para servir\nde referência e ajuda a editar o mapa. Também pode [carregar o ficheiro GPX para o OpenStreetMap](http://www.openstreetmap.org/trace/create)⏎\npara que outros o possam utilizar ao editar mapas.\n\n",
+        "imagery": "# Imagens de Satélite\n\nAs imagens de satélite são um recurso importante na criação e alteração\ndos mapas. Existe um grande leque de fontes de informações totalmente\ngratuitas no lado direito \ndo editor sob 'Configurações da Imagem de Fundo'.\n\nPor defeito são usado os mapas do [Bing](http://www.bing.com/maps/), que\npode variar no nível de qualidade. Em regra geral as capitais e os centros\npopulacionais têm as imagens de maior qualidade.\n\nExistem áreas do globo que contêm outros tipos de imagens de satélite,\ncomo por exemplo as zonas abrangidas pelo satélite de Mapnik.\n\nAs vezes a imagem pode encontrar-se desalinhada, se verificar que existe\numa grande quantidade de estradas fora do lugar mas geralmente sempre\npara o mesmo sentido, é recomendado mexer o mapa de maneira a alinhar.\nPara alinhar basta clicar onde diz 'Corrigir Alinhamento' no fim das \n'Configurações da Imagem de Fundo'.\n",
         "addresses": "# Endereços\n\nEndereços são das informações mais importantes para o mapa.\n\nApesar de endereços serem frequentemente representados em muitos mapas como parte de ruas, no OpenStreetMap eles são armazenados como atributos de edifícios e locais ao longo de ruas.\n\nDados de endereço podem ser adicionados tanto a locais representados como contornos de edifícios, como aos representados como um único ponto. A fonte ideal de dados de endereço é a recolha no local ou conhecimento pessoal — tal como com qualquer outro elemento, a cópia de fontes comerciais como o Google Maps é estritamente proibida.\n",
-        "buildings": "# Edifícios\n\nO OpenStreetMap é a maior base de dados de edifícios que existe sob licença\nlivre. Pode adicionar e  melhorar o mapa com edifícios.\n\n### Selecionar\n\nPode selecionar edifícios clicando nos contornos da área que delimita o edifício.\nSerá mostrado então o menu de botões e o painel lateral direito com informações\nsobre o edifício.\n\n### Alterar\n\nPor vezes os edifícios são desenhados incorretamente colocados fora do sítio\nou têm etiquetas incompletas ou erradas.\n\nPara mover um edifício, selecione-o e clique no botão 'Mover' que aparece\nà volta do edifício selecionado. De seguida desloque o rato para deslocar\no edifício. Para terminar o movimento clique de novo.\n\nPara corrigir os contornos do edifício clique e desloque os pontos que formam\na área do edifício. caso seja necessário adicionar pontos clique e desloque\num ponto central que aparece entre dois pontos já existentes. Para remover\num ponto, clique no ponto e de seguida no botão de Eliminar que aparece\nà volta do ponto.\n\n### Criar\n\nPodem-se criar edifícios como áreas ou pontos. Sempre que possível, e caso\nse conheça a área que um edifício ocupa, caso esteja ligado a outros, deve-se\ncriar uma área para cada edifício. Se uma loja ou serviço ocupar um edifício todo\npode-se acrescentar etiquetas sobre a loja ou serviço ao edifício (área) todo,\ncaso existam vários num só edifício, os serviços e lojas devem ser criados\ncom pontos dentro do edifício com as etiquetas correspondentes.\n\nPara criar um edifício como área, clique no botão superior 'Área' e comece\na clicar para criar os pontos que definem a área do edifício. Termine de criar\na área clicando no ponto inicial, ou na tecla de mudança de linha do teclado.\n\n\n### Eliminar\n\nSe um edifício estiver incorreto - pode-se confirmar pela imagem de satélite (ter em\nconta que a imagem de satélite pode ter alguns anos e o edifício pode ter sido\nedificado posteriormente) e preferencialmente confirmar presencialmente  - pode\neliminar o edifício. É necessária precaução ao eliminar elementos do mapa.\nTal como qualquer outra alteração, os resultados serão visíveis a todos os outros.\n\nPode eliminar um edifício clicando na área dele para o selecionar e de seguida\nclicar no ícone do caixote do lixo que aparece ao lado, ou simplesmente\npressionar na tecla 'Del' do teclado.\n"
+        "buildings": "# Edifícios\n\nO OpenStreetMap é a maior base de dados de edifícios que existe sob licença\nlivre. Pode adicionar e  melhorar o mapa com edifícios.\n\n### Selecionar\n\nPode selecionar edifícios clicando nos contornos da área que delimita o edifício.\nSerá mostrado então o menu de botões e o painel lateral direito com informações\nsobre o edifício.\n\n### Alterar\n\nPor vezes os edifícios são desenhados incorretamente colocados fora do sítio\nou têm etiquetas incompletas ou erradas.\n\nPara mover um edifício, selecione-o e clique no botão 'Mover' que aparece\nà volta do edifício selecionado. De seguida desloque o rato para deslocar\no edifício. Para terminar o movimento clique de novo.\n\nPara corrigir os contornos do edifício clique e desloque os pontos que formam\na área do edifício. caso seja necessário adicionar pontos clique e desloque\num ponto central que aparece entre dois pontos já existentes. Para remover\num ponto, clique no ponto e de seguida no botão de Eliminar que aparece\nà volta do ponto.\n\n### Criar\n\nPodem-se criar edifícios como áreas ou pontos. Sempre que possível, e caso\nse conheça a área que um edifício ocupa, caso esteja ligado a outros, deve-se\ncriar uma área para cada edifício. Se uma loja ou serviço ocupar um edifício todo\npode-se acrescentar etiquetas sobre a loja ou serviço ao edifício (área) todo,\ncaso existam vários num só edifício, os serviços e lojas devem ser criados\ncom pontos dentro do edifício com as etiquetas correspondentes.\n\nPara criar um edifício como área, clique no botão superior 'Área' e comece\na clicar para criar os pontos que definem a área do edifício. Termine de criar\na área clicando no ponto inicial, ou na tecla de mudança de linha do teclado.\n\n\n### Eliminar\n\nSe um edifício estiver incorreto - pode-se confirmar pela imagem de satélite (ter em\nconta que a imagem de satélite pode ter alguns anos e o edifício pode ter sido\nedificado posteriormente) e preferencialmente confirmar presencialmente  - pode\neliminar o edifício. É necessária precaução ao eliminar elementos do mapa.\nTal como qualquer outra alteração, os resultados serão visíveis a todos os outros.\n\nPode eliminar um edifício clicando na área dele para o selecionar e de seguida\nclicar no ícone do caixote do lixo que aparece ao lado, ou simplesmente\npressionar na tecla 'Del' do teclado.\n",
+        "relations": "# Relações\n\nNo OpenStreetMap Uma relação é um tipo especial de função pois é capaz\nde agrupar vários tipos de funções diferentes. Por exemplo, dois tipos\ncomuns de relações são: *rotas*, onde são agrupadas diferentes tipos de\nestradas que pertencem ao mesmo grupo, como por exemplo as\nautoestradas, e *multipolígonos*, que agrupa diferentes linhas de forma a\ncompor formas e áreas complexas (uma área com várias secções ou\nburacos como num donut.)\n\nO conjunto de funções que constituem uma relação são chamados de\n*membros*. Na barra lateral, podes ver quais relações uma determinada\nfunção pertence e clicando nela é possível seleccionar a relação. Quando\na relação é seleccionada, é possível ver todos os seus membros assim\ncomo ver-los iluminados no mapa.\n\nNa maior parte das vezes, o editor iD gere automaticamente as relações\nque são criadas, adicionando qualquer alteração que faças. O que\nnecessitas de ter em atenção é que se eliminares, por exemplo, uma\nsecção de estrada de maneira a mapear-la de forma diferente, tens de te\ncertificar que a nova secção pertence à mesma relação onde a antiga\nestrada estava inserida.\n\n## Editando Relações\n\nCaso queiras editar uma relação, aqui estão algumas ideias para\ncomeçares.\n\nPara adicionar uma nova função a uma relação, selecciona a função desejada, clica no botão \"+\" na parte onde diz \"Todas as Relações\" e\nescolhe \"Nova relação...\"\n\nPara remover uma função de uma relação, selecciona a função desejada\ne clica no ícone com o caixote de lixo que fica à direita da relação.\n\nÉ possível criar multipoligonos com buracos utilizando a ferramenta \"Unir\". Desenha primeiro duas áreas (uma dentro e outra\nfora), sustem a tecla Shift e clica em cada uma delas para as seleccionar a\nambas e depois basta \"unir-las\" clicando no botão que tem o símbolo \"+\".\n"
     },
     "intro": {
         "navigation": {
                 "name": "Edifício"
             },
             "category-golf": {
-                "name": "Golf"
+                "name": "Golfe"
             },
             "category-landuse": {
                 "name": "Uso do Solo"
             "category-rail": {
                 "name": "Ferrovia"
             },
+            "category-restriction": {
+                "name": "Restrição"
+            },
             "category-road": {
                 "name": "Rodovia"
             },
                 "label": "Aquecido"
             },
             "aerialway/occupancy": {
-                "label": "Ocupação",
+                "label": "Ocupação Máxima",
                 "placeholder": "2, 4, 8...."
             },
             "aerialway/summer/access": {
-                "label": "Acesso (Verão)"
+                "label": "Acesso (verão)"
             },
             "aeroway": {
                 "label": "Tipo"
             "covered": {
                 "label": "Coberto"
             },
+            "crop": {
+                "label": "Produção"
+            },
             "crossing": {
                 "label": "Tipo"
             },
             "entrance": {
                 "label": "Tipo"
             },
+            "except": {
+                "label": "Exceções"
+            },
             "fax": {
                 "label": "Fax",
                 "placeholder": "+351 252 471441"
             "fuel": {
                 "label": "Combustível"
             },
+            "fuel/biodiesel": {
+                "label": "Vende Biodiesel"
+            },
             "fuel/diesel": {
-                "label": "Vende gasóleo"
+                "label": "Vende Gasóleo"
+            },
+            "fuel/e10": {
+                "label": "Vende \"Etanol 10\""
+            },
+            "fuel/e85": {
+                "label": "Vende \"Etanol 85\""
+            },
+            "fuel/lpg": {
+                "label": "Vende GPL"
             },
             "fuel/octane_100": {
-                "label": "Vende gasolina de corrida"
+                "label": "Vende \"Gasolina 100\""
             },
             "fuel/octane_91": {
-                "label": "Vende gasolina normal"
+                "label": "Vende \"Gasolina 91\""
+            },
+            "fuel/octane_95": {
+                "label": "Vende \"Gasolina 95\""
             },
             "fuel/octane_98": {
-                "label": "Vende gasolina \"premium\""
+                "label": "Vende \"Gasolina 98\""
+            },
+            "gauge": {
+                "label": "Bitola"
             },
             "generator/method": {
                 "label": "Método"
             },
             "golf_hole": {
                 "label": "Referência",
-                "placeholder": "Número do buraco (1-18)"
+                "placeholder": "Número do Buraco (1-18)"
             },
             "handicap": {
                 "label": "Handicap",
                 "label": "Tipo"
             },
             "hoops": {
+                "label": "Cestos",
                 "placeholder": "1, 2, 4..."
             },
             "iata": {
                 "label": "Tipo"
             },
             "oneway": {
-                "label": "Sentido Único"
+                "label": "Sentido Único",
+                "options": {
+                    "undefined": "Assumido que seja Não"
+                }
             },
             "oneway_yes": {
-                "label": "Sentido Único"
+                "label": "Sentido Único",
+                "options": {
+                    "undefined": "Assumido que seja Sim"
+                }
             },
             "opening_hours": {
                 "label": "Horário de Funcionamento"
                 "label": "Dificuldade"
             },
             "piste/grooming": {
-                "label": "Niveladora de neve"
+                "label": "Niveladora de Neve"
             },
             "piste/type": {
                 "label": "Tipo"
                 "label": "Tipo"
             },
             "recycling/cans": {
-                "label": "Aceita latas"
+                "label": "Aceita Latas"
             },
             "recycling/clothes": {
-                "label": "Aceita roupas"
+                "label": "Aceita Roupa"
             },
             "recycling/glass": {
-                "label": "Aceita vidro"
+                "label": "Aceita Vidros"
             },
             "recycling/paper": {
-                "label": "Aceita papel"
+                "label": "Aceita Papel"
             },
             "ref": {
                 "label": "Referência"
             "restriction": {
                 "label": "Tipo"
             },
+            "restrictions": {
+                "label": "Restrição de Curvas"
+            },
             "route": {
                 "label": "Tipo"
             },
             "shop": {
                 "label": "Tipo"
             },
+            "sloped_curb": {
+                "label": "Lancil Inclinado"
+            },
+            "smoking": {
+                "label": "Fumar"
+            },
             "social_facility_for": {
-                "label": "Pessoas servidas",
-                "placeholder": "Sem-abrigo, deficientes, crianças, etc."
+                "label": "Pessoas Servidas",
+                "placeholder": "Sem-abrigo, Deficientes, Crianças, etc."
             },
             "source": {
                 "label": "Fonte das informações"
                     "bridge": "Ponte",
                     "tunnel": "Túnel",
                     "embankment": "Elevação no terreno",
-                    "cutting": "Corte no terreno"
+                    "cutting": "Corte no terreno",
+                    "ford": "Vau"
                 }
             },
             "studio_type": {
                 "label": "Superfície"
             },
             "tactile_paving": {
-                "label": "Pavimentação táctil"
+                "label": "Pavimentação Táctil"
             },
             "toilets/disposal": {
-                "label": "Eliminação de resíduos"
+                "label": "Método de Eliminação de Resíduos"
             },
             "tourism": {
                 "label": "Tipo"
                 "label": "Túnel"
             },
             "vending": {
-                "label": "Tipo de produto"
+                "label": "Tipo de Produtos"
             },
             "water": {
                 "label": "Tipo"
             },
             "aerialway": {
                 "name": "Telesqui",
-                "terms": "Telesqui,  Teleférico de superfície"
+                "terms": "Aerialway, Teleférico de Superfície"
             },
             "aerialway/cable_car": {
-                "name": "Teleférico"
+                "name": "Teleférico",
+                "terms": "Cable Car"
             },
             "aerialway/chair_lift": {
                 "name": "Telecadeira",
-                "terms": "Teleférico de cadeira"
+                "terms": "Chair Lift, Teleférico de cadeira"
             },
             "aerialway/gondola": {
                 "name": "Gôndola",
-                "terms": "Gôndola"
+                "terms": "Gondola"
             },
             "aerialway/magic_carpet": {
-                "name": "Esteira de esqui"
+                "name": "Corredor de Subida para Esquis",
+                "terms": "Magic Carpet Lift"
             },
             "aerialway/platter": {
-                "name": "Telesqui de prato"
+                "name": "Telesqui",
+                "terms": "Platter Lift, Prato de Elevação"
+            },
+            "aerialway/pylon": {
+                "name": "Pilar de Suporte de Teleféricos",
+                "terms": "Aerialway Pylon"
+            },
+            "aerialway/rope_tow": {
+                "name": "Ascenção com Corda de Reboque ",
+                "terms": "Rope Tow Lift"
+            },
+            "aerialway/station": {
+                "name": "Estação de Teleféricos",
+                "terms": "Aerialway Station, Entrada de Teleféricos, Paragem de Teleféricos"
+            },
+            "aerialway/t-bar": {
+                "name": "Teleférico de Neve",
+                "terms": "T-bar Lift, Subida Mecânica"
             },
             "aeroway": {
                 "name": "Via área",
                 "terms": "característica, qualidade, aspecto"
             },
             "amenity/arts_centre": {
-                "name": "Centro artístico",
-                "terms": "Centro de Artes"
+                "name": "Centro Artístico",
+                "terms": "Arts Center, Centro de Artes"
             },
             "amenity/atm": {
                 "name": "Multibanco",
                 "name": "Bar",
                 "terms": "Bar, Bares, Bebidas, Alcool"
             },
+            "amenity/bbq": {
+                "name": "Churrasco",
+                "terms": "Barbacue/Grill, Barbacue, Carne Assada"
+            },
             "amenity/bench": {
                 "name": "Assento",
                 "terms": "Banco, Assento, Banco de Sentar, Sentar"
                 "terms": "Aluguer de Bicicletas, Área de Aluguer de Bicicletas, Zona de Aluguer de Bicicletas"
             },
             "amenity/boat_rental": {
-                "name": "Aluguer de barcos",
-                "terms": "Alugues de Barcos"
+                "name": "Aluguer de Barcos",
+                "terms": "Boat Rental"
             },
             "amenity/cafe": {
                 "name": "Café",
                 "terms": "Lavagem, Lavagem Automática, Mangueira, Limpeza"
             },
             "amenity/charging_station": {
-                "name": "Estação de recarga"
+                "name": "Posto de Carregamento para Veículos Elétricos",
+                "terms": "Charging Station, Estação de recarga, Energia, Bateria"
             },
             "amenity/childcare": {
                 "name": "Creche",
             },
             "amenity/clinic": {
                 "name": "Clínica",
-                "terms": "Clínica"
+                "terms": "Clinic, Centro de Saúde"
             },
             "amenity/clock": {
                 "name": "Relógio",
-                "terms": "Relógio"
+                "terms": "Clock"
             },
             "amenity/college": {
                 "name": "Colégio",
                 "terms": "Colégio, Colégio Interno, Escola Privada, Privada, Externatos, Semiprivado"
             },
             "amenity/compressed_air": {
-                "name": "Ar comprimido"
+                "name": "Máquina de Ar Comprimido",
+                "terms": "Compressed Air, Pneumática, Pneus, Encher"
             },
             "amenity/courthouse": {
                 "name": "Tribunal",
             },
             "amenity/dentist": {
                 "name": "Dentista",
-                "terms": "Dentista"
+                "terms": "Dentist, Dentes, Ortodontia"
             },
             "amenity/doctor": {
                 "name": "Médico",
-                "terms": "Médico"
+                "terms": "Doctor, Doutor"
+            },
+            "amenity/dojo": {
+                "name": "Centro de Artes Marciais",
+                "terms": "Dojo, Karaté, Taekwondo, Judo, Jiu-jitsu, Jiu-jitsu Brasileiro, Kung Fu, Capoeira, Eskrima, Escrima, Escryma, Muay Thai, Krav Magá, Jeet Kune Do"
             },
             "amenity/drinking_water": {
                 "name": "Água Potável",
             },
             "amenity/nightclub": {
                 "name": "Clube Nocturno",
-                "terms": "Clube Noturno, Discoteca"
+                "terms": "Nightclub, Discoteca"
             },
             "amenity/parking": {
                 "name": "Parque de Estacionamento",
                 "terms": "Estacionamento, Lugar de Estacionamento"
             },
+            "amenity/parking_entrance": {
+                "name": "Entrada / Saída de Parque de Estacionamento",
+                "terms": "Parking Garage Entrance/Exit"
+            },
             "amenity/pharmacy": {
                 "name": "Farmácia",
                 "terms": "Farmácia, Parafarmácia"
                 "terms": "Pub"
             },
             "amenity/ranger_station": {
-                "name": "Posto de guarda florestal"
+                "name": "Posto de Guarda Florestal",
+                "terms": "Ranger Station, Guarda Florestal"
             },
             "amenity/recycling": {
                 "name": "Reciclagem",
-                "terms": "Reciclagem"
+                "terms": "Recycling, Reutilizar, Reciclar"
             },
             "amenity/restaurant": {
                 "name": "Restaurante",
             },
             "amenity/shelter": {
                 "name": "Abrigo",
-                "terms": "Abrigo"
+                "terms": "Shelter"
+            },
+            "amenity/social_facility": {
+                "name": "Centro Social",
+                "terms": "Social Facility"
             },
             "amenity/social_facility/food_bank": {
-                "name": "Banco alimentar"
+                "name": "Banco Alimentar",
+                "terms": "Food Bank, Alimento, Comida"
+            },
+            "amenity/social_facility/group_home": {
+                "name": "Pousada Pública",
+                "terms": "Group Home, Hostel, Casa Comunitária"
+            },
+            "amenity/social_facility/homeless_shelter": {
+                "name": "Abrigo para os Sem-Abrigo",
+                "terms": "Homeless Shelter, Casa para os Sem-Abrigo, Casa Pública, Sem-Abrigo"
             },
             "amenity/studio": {
                 "name": "Estúdio",
-                "terms": "Estúdio"
+                "terms": "Studio"
             },
             "amenity/swimming_pool": {
                 "name": "Piscina",
                 "terms": "Universidade, Faculdade, Instituto, Politécnico"
             },
             "amenity/vending_machine": {
-                "name": "Máquina automática de vendas"
+                "name": "Máquina de Vendas Automática",
+                "terms": "Vending Machine, Máquina Automática de Vendas"
             },
             "amenity/veterinary": {
-                "name": "Veterinária"
+                "name": "Veterinário",
+                "terms": "Veterinary, Veterinária, Animais"
             },
             "amenity/waste_basket": {
                 "name": "Caixote do Lixo",
                 "terms": "Edifício, Prédio"
             },
             "building/apartments": {
-                "name": "Apartamentos",
+                "name": "Apartamento",
                 "terms": "Apartamentos, Habitáculos"
             },
             "building/barn": {
-                "name": "Celeiro"
+                "name": "Celeiro",
+                "terms": "Barn, Estábulo"
             },
             "building/bunker": {
                 "name": "Bunker",
-                "terms": "Bunker"
+                "terms": "Bunker, Carvoeira"
             },
             "building/cabin": {
-                "name": "Cabana"
+                "name": "Cabine",
+                "terms": "Cabin, Praia, Campo, Cabana "
             },
             "building/cathedral": {
                 "name": "Catedral",
-                "terms": "Catedral"
+                "terms": "Cathedral"
             },
             "building/chapel": {
                 "name": "Capela",
-                "terms": "Capela"
+                "terms": "Chapel"
             },
             "building/church": {
                 "name": "Igreja",
-                "terms": "Igreja"
+                "terms": "Church"
             },
             "building/commercial": {
-                "name": "Escritórios",
+                "name": "Escritório",
                 "terms": "Prédio Comercial, Edifício Comercial"
             },
             "building/construction": {
                 "name": "Edifício em Construção",
-                "terms": "Edifício em Construção"
+                "terms": "Building Under Construction, Edifício sob Construção"
+            },
+            "building/detached": {
+                "name": "Casa Isolada",
+                "terms": "Detached Home, Cabana, Bangaló, Villa, Mansão"
             },
             "building/dormitory": {
                 "name": "Dormitório",
-                "terms": "Dormitório"
+                "terms": "Dormitory, Repousada, Albergue"
+            },
+            "building/entrance": {
+                "name": "Entrada / Saída",
+                "terms": "Entrance/Exit, Entrada, Acesso, Abertura, Porta, Pórtico, Portão"
             },
             "building/garage": {
                 "name": "Garagem",
             },
             "building/garages": {
                 "name": "Garagens",
-                "terms": "Garagens"
+                "terms": "Garages"
+            },
+            "building/greenhouse": {
+                "name": "Estufa",
+                "terms": "Greenhouse, Estufas"
             },
             "building/hospital": {
                 "name": "Edifício Hospitalar",
-                "terms": "Edifício Hospitalar"
+                "terms": "Hospital Building"
+            },
+            "building/hotel": {
+                "name": "Edifício Hoteleiro",
+                "terms": "Hotel Building"
             },
             "building/house": {
                 "name": "Casa",
             },
             "building/public": {
                 "name": "Edifício Público",
-                "terms": "Edifício Público"
+                "terms": "Public Building"
             },
             "building/residential": {
                 "name": "Edifício Residencial",
                 "terms": "Prédio Residencial, Habitação"
             },
             "building/retail": {
-                "name": "Retalho",
-                "terms": "Varejo"
+                "name": "Edifício de Retalho",
+                "terms": "Retail Building, Retalho, Varejo"
             },
             "building/roof": {
-                "name": "Telhado, Cobertura",
-                "terms": "Telhado, Cobertura"
+                "name": "Telhado",
+                "terms": "Roof, Cobertura"
             },
             "building/school": {
                 "name": "Edifício Escolar",
-                "terms": "Edifício Escolar"
+                "terms": "School Building, Pavilhão Escolar"
             },
             "building/shed": {
-                "name": "Barraca"
+                "name": "Barracão",
+                "terms": "Shed, Barraca, Edícula"
             },
             "building/stable": {
-                "name": "Estábulo"
+                "name": "Estábulo",
+                "terms": "Stable, Cavalos"
+            },
+            "building/static_caravan": {
+                "name": "Casa Pré-Fabricada",
+                "terms": "Static Mobile Home, Trailer, Caravana, "
+            },
+            "building/terrace": {
+                "name": "Casas Geminadas",
+                "terms": "Row Houses, Terraced house, Terraços"
             },
             "building/train_station": {
                 "name": "Estação de Comboio",
-                "terms": "Estação de Comboio"
+                "terms": "Train Station, Estação Ferroviária"
             },
             "building/university": {
                 "name": "Edifício Universitário",
-                "terms": "Edifício Universitário"
+                "terms": "University Building, Edifício Universitário"
             },
             "building/warehouse": {
                 "name": "Armazém",
-                "terms": "Armazém"
+                "terms": "Warehouse, Arrecadação"
+            },
+            "craft/basket_maker": {
+                "name": "Criador de Cestas",
+                "terms": "Basket Maker, Fabricante de Cestas, Fabricante de Cestos"
+            },
+            "craft/beekeeper": {
+                "name": "Apicultor",
+                "terms": "Beekeeper, Mel, Cuidador de Abelhas"
             },
             "craft/blacksmith": {
                 "name": "Ferreiro",
-                "terms": "Ferreiro"
+                "terms": "Blacksmith, Forjador"
+            },
+            "craft/boatbuilder": {
+                "name": "Fabricante de Barcos",
+                "terms": "Boat Builder, Construtor de Barcos, Construtor de Iates"
             },
             "craft/bookbinder": {
-                "name": "Encadernador"
+                "name": "Encadernador",
+                "terms": "Bookbinder, Plastificador"
             },
             "craft/brewery": {
-                "name": "Cervejaria"
+                "name": "Cervejaria",
+                "terms": "Brewery, Mestre Cervejeiro"
             },
             "craft/carpenter": {
-                "name": "Carpintaria",
-                "terms": "Carpintaria"
+                "name": "Carpinteiro",
+                "terms": "Carpenter, Carpintaria, Madeiras"
             },
             "craft/carpet_layer": {
-                "name": "Colocador de tapetes"
+                "name": "Colocador de Tapetes",
+                "terms": "Carpet Layer, Instalador de Carpetes"
+            },
+            "craft/caterer": {
+                "name": "Fornecedor",
+                "terms": "Caterer, Catering"
             },
             "craft/clockmaker": {
-                "name": "Relojoeiro"
+                "name": "Relojoeiro",
+                "terms": "Clockmaker, Relógios"
             },
             "craft/confectionary": {
-                "name": "Confeitaria"
+                "name": "Confeitaria",
+                "terms": "Confectionary, Bolos, Sobremesas"
             },
             "craft/dressmaker": {
                 "name": "Costureira",
-                "terms": "Costureira, Costureiro, Estilista, Alfaiate, Modista"
+                "terms": "Dressmaker, Costureiro, Estilista, Alfaiate, Modista"
             },
             "craft/electrician": {
                 "name": "Eletricista",
-                "terms": "Eletricista"
+                "terms": "Electrician, Homem da Luz"
             },
             "craft/gardener": {
                 "name": "Jardineiro",
-                "terms": "Jardineiro"
+                "terms": "Gardener, Flores, Jardim, Erva"
+            },
+            "craft/glaziery": {
+                "name": "Vidreiro",
+                "terms": "Glaziery, Vidro"
+            },
+            "craft/handicraft": {
+                "name": "Artesão",
+                "terms": "Handicraft, Artesã"
+            },
+            "craft/hvac": {
+                "name": "AVAC",
+                "terms": "HVAC, Aquecimento, Ventilação, Ar Condicionado"
             },
             "craft/insulator": {
-                "name": "Isolador"
+                "name": "Isolador",
+                "terms": "Insulator"
             },
             "craft/jeweler": {
-                "name": "Joalheiro"
+                "name": "Joalheiro",
+                "terms": "Jeweler"
             },
             "craft/key_cutter": {
-                "name": "Chaveiro"
+                "name": "Chaveiro",
+                "terms": "Key Cutter"
             },
             "craft/locksmith": {
-                "name": "Serralheiro"
+                "name": "Serralheiro",
+                "terms": "Locksmith"
             },
             "craft/metal_construction": {
-                "name": "Construção metálica"
+                "name": "Construção Metálica",
+                "terms": "Metal Construction"
             },
             "craft/optician": {
-                "name": "Oculista"
+                "name": "Oculista",
+                "terms": "Optician"
             },
             "craft/painter": {
                 "name": "Pintor",
-                "terms": "Pintor"
+                "terms": "Painter"
             },
             "craft/photographer": {
                 "name": "Fotógrafo",
-                "terms": "Fotográfo"
+                "terms": "Photographer, Agência Fotográfica"
             },
             "craft/photographic_laboratory": {
                 "name": "Laboratório Fotográfico",
-                "terms": "Loja Fotográfica, Fotógrafo"
+                "terms": "Photographic Laboratory, Loja Fotográfica, Fotógrafo"
             },
             "craft/plasterer": {
-                "name": "Gesseiro"
+                "name": "Gesseiro",
+                "terms": "Plasterer"
             },
             "craft/plumber": {
                 "name": "Canalizador",
-                "terms": "Canalizador"
+                "terms": "Plumber, Picheleiro"
             },
             "craft/pottery": {
-                "name": "Oleiro"
+                "name": "Oleiro",
+                "terms": "Pottery, Ceramista"
+            },
+            "craft/rigger": {
+                "name": "Armador",
+                "terms": "Rigger"
             },
             "craft/roofer": {
-                "name": "Telhador"
+                "name": "Telhador",
+                "terms": "Roofer"
             },
             "craft/saddler": {
-                "name": "Seleiro"
+                "name": "Seleiro",
+                "terms": "Saddler, Selas, Selins, Arreios"
+            },
+            "craft/sailmaker": {
+                "name": "Veleiro",
+                "terms": "Sailmaker, Mastros, Vergas, Velas, Cordas, Barcos a Vela."
+            },
+            "craft/sawmill": {
+                "name": "Lenhador",
+                "terms": "Sawmill, Serraria"
+            },
+            "craft/scaffolder": {
+                "name": "Montador de Andaimes",
+                "terms": "Scaffolder, Colocador de Andaimes, Andaimes"
             },
             "craft/sculpter": {
                 "name": "Escultor",
-                "terms": "Escultor"
+                "terms": "Sculpter"
             },
             "craft/shoemaker": {
                 "name": "Sapateiro",
-                "terms": "Sapateiro"
+                "terms": "Shoemaker"
+            },
+            "craft/stonemason": {
+                "name": "Canteiro",
+                "terms": "Stonemason, Rocha"
+            },
+            "craft/sweep": {
+                "name": "Limpador de Chaminés",
+                "terms": "Chimney Sweep, Limpa Chaminés"
             },
             "craft/tailor": {
                 "name": "Alfaiate",
-                "terms": "Alfaiate"
+                "terms": "Tailor"
+            },
+            "craft/tiler": {
+                "name": "Colocador de Azulejos / Pedras",
+                "terms": "Tiler"
+            },
+            "craft/tinsmith": {
+                "name": "Latoeiro",
+                "terms": "Tinsmith, Chapa, Zinco"
+            },
+            "craft/upholsterer": {
+                "name": "Tapeceiro",
+                "terms": "Upholsterer, Tapeceiro, Tapeçaria, Tecidos"
             },
             "craft/watchmaker": {
                 "name": "Relojoeiro",
-                "terms": "Relojoeiro"
+                "terms": "Watchmaker"
+            },
+            "craft/window_construction": {
+                "name": "Fabrico de Vidro",
+                "terms": "Window Construction"
             },
             "embankment": {
-                "name": "Aterro"
+                "name": "Aterro Elevado",
+                "terms": "Embankment, Elevação do Terreno"
             },
             "emergency/ambulance_station": {
-                "name": "Central de ambulâncias"
+                "name": "Central de Ambulâncias",
+                "terms": "Ambulance Station, Ambulância "
             },
             "emergency/fire_hydrant": {
-                "name": "Boca de incêndio"
+                "name": "Boca de Incêndio",
+                "terms": "Fire Hydrant, Hidrante, Marco de Água, Marco de Incêndio"
             },
             "emergency/phone": {
                 "name": "Telefone de Emergência",
                 "terms": "Telefone de Emergência, 112"
             },
+            "entrance": {
+                "name": "Entrada / Saída",
+                "terms": "Entrance/Exit, Entrada, Acesso, Abertura, Porta, Pórtico, Portão"
+            },
             "footway/crossing": {
-                "name": "Passadeira"
+                "name": "Passadeira",
+                "terms": "Crossing"
+            },
+            "footway/crosswalk": {
+                "name": "Passadeira",
+                "terms": "Crosswalk, Passagem de Peões"
             },
             "footway/sidewalk": {
                 "name": "Passeio",
-                "terms": "Passeio"
+                "terms": "Sidewalk, Calçada"
+            },
+            "ford": {
+                "name": "Vau",
+                "terms": "Baixio, Banco, Parel"
             },
             "golf/bunker": {
-                "name": "Banco de areia"
+                "name": "Banco de Areia",
+                "terms": "Sand Trap"
             },
             "golf/fairway": {
-                "name": "Fairway"
+                "name": "Fairway",
+                "terms": "Fairway"
             },
             "golf/green": {
-                "name": "Green"
+                "name": "Green",
+                "terms": "Putting Green"
             },
             "golf/hole": {
-                "name": "Buraco de golfe"
+                "name": "Buraco de Golfe",
+                "terms": "Golf Hole"
             },
             "golf/lateral_water_hazard": {
-                "name": "Obstáculo de água lateral"
+                "name": "Obstáculo de Água Lateral",
+                "terms": "Lateral Water Hazard"
             },
             "golf/rough": {
-                "name": "Rough"
+                "name": "Rough",
+                "terms": "Rough"
             },
             "golf/tee": {
-                "name": "Tee"
+                "name": "Tee",
+                "terms": "Tee Box"
             },
             "golf/water_hazard": {
-                "name": "Obstáculo de água"
+                "name": "Obstáculo de Água",
+                "terms": "Water Hazard"
             },
             "highway": {
                 "name": "Rodovia",
                 "name": "Passadeira",
                 "terms": "Zebra, Faixa de segurança, Passagem, Passagem de Peões, Riscas"
             },
+            "highway/crosswalk": {
+                "name": "Passadeira",
+                "terms": "Crosswalk, Passagem de Peões"
+            },
             "highway/cycleway": {
                 "name": "Ciclovia",
                 "terms": "Bicicleta"
             },
             "highway/motorway_junction": {
                 "name": "Interseção / Saída de Autoestradas",
-                "terms": "Junção, Saída de Autoestradas"
+                "terms": "Motorway Junction / Exit, Junção de Autoestradas, Saída de Autoestradas"
             },
             "highway/motorway_link": {
                 "name": "Nó de ligação a uma Autoestrada",
                 "terms": "Estrada Principal, Rodovia Principal, Estrada Primária, Rodovia Primária, Primário"
             },
             "highway/primary_link": {
-                "name": "Nó de Ligação a uma Estrada Nacional",
+                "name": "Nó de Ligação a uma Estrada Nacional (Primária)",
                 "terms": "Ligação Estrada Nacional, Ligação Rodovia Nacional, Ligação Nacional,  Ligação Estrada Principal, Entrada Estrada Nacional, Entrada Rodovia Nacional, Entrada Nacional, Entrada Estrada Nacional, Saída Nacional, Saída Rodovia Nacional, Saída Nacional, Saída Estrada Nacional,"
             },
             "highway/residential": {
-                "name": "Estrada Residencial",
+                "name": "Rua Residencial",
                 "terms": "Estrada Residencial, Rodovia Residencial, Estrada Urbana, Rodovia Urbana, Estrada Suburbana, Rodovia Suburbana, Estrada dentro de localidades, Rodovia dentro de localidades"
             },
             "highway/rest_area": {
                 "name": "Área de Descanso",
-                "terms": "Área de Descanso"
+                "terms": "Rest Area, Posto de Descanço"
             },
             "highway/road": {
                 "name": "Estrada Incógnita",
                 "terms": "Estrada Genérica, Rodovia Genérica, Estrada Desconhecida, Rodovia Desconhecida"
             },
             "highway/secondary": {
-                "name": "Estrada Regional",
+                "name": "Estrada Regional (Secundária)",
                 "terms": "Estrada Secundária, Rodovia Secundária, Secundário"
             },
             "highway/secondary_link": {
-                "name": "Nó de ligação a uma Estrada Regional",
+                "name": "Nó de ligação a uma Estrada Regional (Secundária)",
                 "terms": "Ligação Estrada Regional, Ligação Rodovia Regional, Ligação Regional,  Ligação Estrada Secundária, Entrada Estrada Regional, Entrada Rodovia Regional, Entrada Regional, Entrada Estrada Secundária, Saída Regional, Saída Rodovia Regional, Saída Regional, Saída Estrada Secundária"
             },
             "highway/service": {
             },
             "highway/services": {
                 "name": "Área de Serviço",
-                "terms": "Área de Serviço"
+                "terms": "Service Area, Posto de Serviço"
             },
             "highway/steps": {
                 "name": "Escadas",
                 "terms": "Escadaria, degraus"
             },
             "highway/stop": {
-                "name": "Sinal de stop",
-                "terms": "Sinal de Stop, Sinal de Paragem, Paragem Obrigatória"
+                "name": "Sinal de Stop",
+                "terms": "Stop Sign, Sinal de Paragem, Paragem Obrigatória, Sinal de paragem obrigatória no cruzamento ou entroncamento"
             },
             "highway/tertiary": {
-                "name": "Estrada / Caminho Municipal",
+                "name": "Estrada / Caminho Municipal (Terciária)",
                 "terms": "Estrada Terciária, Rodovia Terciária, Terciário, Caminho Municipal"
             },
             "highway/tertiary_link": {
-                "name": "Nó de ligação a uma Estrada Municipal",
+                "name": "Nó de ligação a uma Estrada / Caminho Municipal (Terciária)",
                 "terms": "Ligação Estrada Municipal, Ligação Rodovia Municipal, Ligação Municipal,  Ligação Estrada Terciária, Entrada Estrada Municipal, Entrada Rodovia Municipal, Entrada Municipal, Entrada Estrada Terciária, Saída Municipal, Saída Rodovia Municipal, Saída Municipal, Saída Estrada Municipal"
             },
             "highway/track": {
                 "name": "Cemitério",
                 "terms": "Cemitério, Vala"
             },
+            "landuse/churchyard": {
+                "name": "Átrio da Igreja",
+                "terms": "Churchyard, Área da Igreja, Zona da Igreja, Praça da Igreja"
+            },
             "landuse/commercial": {
                 "name": "Zona de Escritórios",
                 "terms": "Área comercial, Baixa Comercial"
             },
             "landuse/farmland": {
                 "name": "Quinta",
-                "terms": "Quinta"
+                "terms": "Farmland, Pasto"
             },
             "landuse/farmyard": {
                 "name": "Edifícios Agrícolas",
                 "terms": "Relva, Grama"
             },
             "landuse/industrial": {
-                "name": "Zona de Industrias",
+                "name": "Zona Industrial",
                 "terms": "Industrial"
             },
             "landuse/landfill": {
-                "name": "Aterro sanitário"
+                "name": "Aterro Sanitário",
+                "terms": "Landfill, Lixeira, Sucata"
             },
             "landuse/meadow": {
                 "name": "Prado",
                 "terms": "Meadow"
             },
             "landuse/military": {
-                "name": "Militar",
-                "terms": "Exército, Marinha, Forças Especiais, Força Aérea"
+                "name": "Zona Militar",
+                "terms": "Military, Exército, Marinha, Forças Especiais, Força Aérea"
             },
             "landuse/orchard": {
                 "name": "Pomar",
                 "terms": "Canteira, Quarry"
             },
             "landuse/residential": {
-                "name": "Residencial",
+                "name": "Zona Residencial",
                 "terms": "Residencial, Urbano, Antrópico, Residential"
             },
             "landuse/retail": {
                 "terms": "Lazer, Diversão, Leisure"
             },
             "leisure/common": {
-                "name": "Comum"
+                "name": "Comum",
+                "terms": "Common"
             },
             "leisure/dog_park": {
                 "name": "Parque de Cães",
             },
             "leisure/firepit": {
                 "name": "Fogueira",
-                "terms": "Fogo controlado, chama, brasa"
+                "terms": "Firepit, Fogo controlado, Chama, Brasa"
             },
             "leisure/garden": {
                 "name": "Jardim",
             },
             "leisure/ice_rink": {
                 "name": "Ringue de Patinagem",
-                "terms": "Ringue de Gelo, Gelo, Pista de Gelo, Pista de Patinagem"
+                "terms": "Ice Rink, Ringue de Gelo, Gelo, Pista de Gelo, Pista de Patinagem"
             },
             "leisure/marina": {
                 "name": "Marina",
             },
             "leisure/picnic_table": {
                 "name": "Mesa de Picnic",
-                "terms": "Mesa de Merenda"
+                "terms": "Picnic Table, Mesa de Merenda"
             },
             "leisure/pitch": {
                 "name": "Campo de Desporto",
                 "terms": "Campo de Basquetebol, Quadra de Basquetebol, Basketball Court"
             },
             "leisure/pitch/skateboard": {
-                "name": "Parque de skate",
-                "terms": "Parque de Skate"
+                "name": "Parque de Skate",
+                "terms": "Skate Park, Skate"
             },
             "leisure/pitch/soccer": {
                 "name": "Campo de Futebol",
                 "terms": "Slipway"
             },
             "leisure/sports_center": {
-                "name": "Centro desportivo"
+                "name": "Centro Desportivo / Ginásio",
+                "terms": "Sports Center / Gym, Exercício Físico"
             },
             "leisure/stadium": {
                 "name": "Estádio",
                 "terms": "Piscina, Swimming Pool"
             },
             "leisure/track": {
-                "name": "Pista de corridas",
-                "terms": "Pista Automobilística, Circuito"
+                "name": "Pista de Corrida",
+                "terms": "Race Track, Pista Automobilística, Circuito"
             },
             "line": {
                 "name": "Linha",
                 "terms": "Cut line"
             },
             "man_made/embankment": {
-                "name": "Aterro"
+                "name": "Aterro Elevado",
+                "terms": "Embankment, Elevação do Terreno"
             },
             "man_made/flagpole": {
                 "name": "Estandarte",
                 "terms": "Faról, Lighthouse"
             },
             "man_made/observation": {
-                "name": "Torre de observação",
-                "terms": "Torre de Observação"
+                "name": "Torre de Observação",
+                "terms": "Observatório Tower, Miradouro"
             },
             "man_made/pier": {
                 "name": "Pontão / Atracadouro",
                 "terms": "Depósito de Água, Torre de Água, Water Tower"
             },
             "man_made/water_well": {
-                "name": "Poço de Água"
+                "name": "Poço de Água",
+                "terms": "Water well"
             },
             "man_made/water_works": {
-                "name": "Estação de Captação e Tratamento de Água"
+                "name": "Estação de Captação e Tratamento de Água",
+                "terms": "Water Works"
             },
             "military/airfield": {
-                "name": "Aeródromo"
+                "name": "Base Aérea",
+                "terms": "Airfield, Aeródromo Militar"
             },
             "military/barracks": {
-                "name": "Quartel"
+                "name": "Quartel",
+                "terms": "Barracks"
             },
             "military/bunker": {
                 "name": "Bunker",
                 "terms": "Bunker"
             },
             "military/range": {
-                "name": "Pista de tiro"
+                "name": "Pista de Tiro",
+                "terms": "Military Range"
             },
             "natural": {
                 "name": "Natural",
                 "terms": "Costa, Orla"
             },
             "natural/fell": {
-                "name": "Encosta"
+                "name": "Tunturi",
+                "terms": "Fell"
             },
             "natural/glacier": {
                 "name": "Glaciar",
                 "terms": "Glaciar"
             },
             "natural/grassland": {
-                "name": "Pradaria"
+                "name": "Pradaria",
+                "terms": "Grassland, Verdes, Terra Verde"
             },
             "natural/heath": {
-                "name": "Charneca"
+                "name": "Charneca",
+                "terms": "Heath"
             },
             "natural/peak": {
                 "name": "Cume",
                 "terms": "Cume, Montanha, Pináculo"
             },
             "natural/scree": {
-                "name": "Encosta de cascalho"
+                "name": "Encosta de Rochas Soltas",
+                "terms": "Sree, Cascalho, Pedras"
             },
             "natural/scrub": {
-                "name": "Matagal"
+                "name": "Matagal",
+                "terms": "Scrub"
             },
             "natural/spring": {
                 "name": "Nascente",
                 "terms": "Pântano"
             },
             "natural/wood": {
-                "name": "Bosque"
+                "name": "Bosque",
+                "terms": "Wood"
             },
             "office": {
-                "name": "Escritório"
+                "name": "Escritório",
+                "terms": "Office"
             },
             "office/accountant": {
-                "name": "Contabilista"
+                "name": "Contabilista",
+                "terms": "Accountant, Contas"
             },
             "office/administrative": {
-                "name": "Escritório administrativo"
+                "name": "Escritório Administrativo",
+                "terms": "Administrative Office, Administrativo"
             },
             "office/architect": {
                 "name": "Arquiteto",
-                "terms": "Arquiteto"
+                "terms": "Architect, Arquitetura"
             },
             "office/company": {
-                "name": "Escritório de empresa"
+                "name": "Escritório de Empresa",
+                "terms": "Company Office, Sede"
             },
             "office/educational_institution": {
-                "name": "Instituição de ensino"
+                "name": "Instituição de Ensino",
+                "terms": "Educacional Institution, Escola"
             },
             "office/employment_agency": {
-                "name": "Agência de emprego",
-                "terms": "Centro de Emprego"
+                "name": "Centro de Emprego",
+                "terms": "Employment Agency, Agência de Emprego"
             },
             "office/estate_agent": {
-                "name": "Agência imobiliária"
+                "name": "Agência Imobiliária",
+                "terms": "Real Estate Office, Imóveis, Mudanças, Compra de Casas"
             },
             "office/financial": {
                 "name": "Finanças",
-                "terms": "Finanças"
+                "terms": "Financial Office, Posto de Finanças, Balcão de Finanças"
             },
             "office/government": {
-                "name": "Escritório do Governo"
+                "name": "Escritório Governamental",
+                "terms": "Government Office, Governo, Estado"
             },
             "office/insurance": {
-                "name": "Seguradora, Seguros",
-                "terms": "Seguradora, Seguros"
+                "name": "Agência de Seguros",
+                "terms": "Insurance Office, Seguros"
             },
             "office/it": {
-                "name": "Escritório de informática"
+                "name": "Escritório de Informática",
+                "terms": "IT Office"
             },
             "office/lawyer": {
-                "name": "Escritório de advogados"
+                "name": "Escritório de Advogados",
+                "terms": "Law Office, Agencia de Advocacia"
             },
             "office/newspaper": {
-                "name": "Jornal"
+                "name": "Jornal",
+                "terms": "Newspaper"
             },
             "office/ngo": {
-                "name": "Escritório de ONG"
+                "name": "Escritório de ONG",
+                "terms": "NGO Office"
             },
             "office/physician": {
-                "name": "Médico"
+                "name": "Médico",
+                "terms": "Physician, Doutor"
             },
             "office/political_party": {
                 "name": "Partido Político",
-                "terms": "Partido Político"
+                "terms": "Political Party"
             },
             "office/research": {
-                "name": "Centro de Investigação"
+                "name": "Centro de Investigação",
+                "terms": "Research Office, Escritório de Investigação, Centro de Pesquisa"
             },
             "office/telecommunication": {
-                "name": "Escritório de telecomunicações"
+                "name": "Escritório de Telecomunicações",
+                "terms": "Telecom Office, Telecomunicações, Internet, Televisão"
             },
             "office/therapist": {
-                "name": "Terapeuta"
+                "name": "Terapeuta",
+                "terms": "Therapist"
             },
             "office/travel_agent": {
                 "name": "Agência de Viagens",
-                "terms": "Agência de Viagens"
+                "terms": "Travel Agency"
             },
             "piste": {
                 "name": "Pista de Ski",
-                "terms": "Pista de Ski"
+                "terms": "Piste/Ski Trail"
             },
             "place": {
                 "name": "Local",
                 "terms": "Cidade"
             },
             "place/hamlet": {
-                "name": "Aldeia"
+                "name": "Aldeia",
+                "terms": "Hamlet, Aldeamento"
             },
             "place/island": {
                 "name": "Ilha",
                 "terms": "Arquipélago, Atol, Ilha, Ilhéu, Recife, Restinga"
             },
             "place/isolated_dwelling": {
-                "name": "Habitação Isolada"
+                "name": "Habitação Isolada",
+                "terms": "Isolated Dwelling"
             },
             "place/locality": {
                 "name": "Localidade",
             },
             "place/neighbourhood": {
                 "name": "Vizinhança",
-                "terms": "Bairro"
+                "terms": "Neigborhood, Bairro"
             },
             "place/suburb": {
                 "name": "Borough",
                 "terms": "Borough"
             },
             "place/town": {
-                "name": "Cidade"
+                "name": "Cidade",
+                "terms": "Town"
             },
             "place/village": {
                 "name": "Vila",
                 "terms": "Linha de Eletricidade"
             },
             "power/minor_line": {
-                "name": "Linha de transmissão menor"
+                "name": "Linha de Transmissão Menor",
+                "terms": "Minor Power Line, Linha de Energia Menor"
             },
             "power/pole": {
                 "name": "Poste de Eletricidade",
                 "terms": "Poste de Eletricidade"
             },
             "power/sub_station": {
-                "name": "Subestação"
+                "name": "Subestação",
+                "terms": "Substation"
             },
             "power/tower": {
                 "name": "Torre de Alta Tensão",
                 "terms": "Transformador"
             },
             "public_transport/platform": {
-                "name": "Plataforma"
+                "name": "Plataforma de Transporte Público",
+                "terms": "Platform"
             },
             "public_transport/stop_position": {
-                "name": "Posição de paragem"
+                "name": "Paragem de Transporte Público",
+                "terms": "Stop Position"
             },
             "railway": {
                 "name": "Ferrovia",
                 "terms": "Carris Fora de Serviço"
             },
             "railway/funicular": {
-                "name": "Funicular"
+                "name": "Funicular",
+                "terms": "Funicular, Plano Inclinado"
             },
             "railway/halt": {
-                "name": "Apeadeiro"
+                "name": "Apeadeiro",
+                "terms": "Railway Halt"
             },
             "railway/level_crossing": {
                 "name": "Passagem de Nível",
                 "terms": "Passagem em Nível, Passagem de Comboios"
             },
             "railway/monorail": {
-                "name": "Monocarril"
+                "name": "Monocarril",
+                "terms": "Monorail"
+            },
+            "railway/narrow_gauge": {
+                "name": "Via Estreita",
+                "terms": "Narrow Gauge Rail, Bitola Estreita, Via Métrica, Bitola Métrica"
             },
             "railway/platform": {
-                "name": "Plataforma Ferroviária"
+                "name": "Plataforma Ferroviária",
+                "terms": "Railway Platform"
             },
             "railway/rail": {
-                "name": "Carris"
+                "name": "Carris",
+                "terms": "Rail, Linha Férrea"
             },
             "railway/station": {
-                "name": "Estação Ferroviária"
+                "name": "Estação Ferroviária",
+                "terms": "Railway Station, Estação de Comboios"
             },
             "railway/subway": {
                 "name": "Metro",
             },
             "shop/art": {
                 "name": "Loja de Arte",
-                "terms": "Loja de Arte"
+                "terms": "Art Shop, Venda de Arte, Exposição"
             },
             "shop/bakery": {
                 "name": "Padaria",
                 "terms": "Loja de Beleza"
             },
             "shop/beverages": {
-                "name": "Loja de Bebidas"
+                "name": "Loja de Bebidas",
+                "terms": "Beverage Store"
             },
             "shop/bicycle": {
                 "name": "Loja de Bicicletas",
                 "terms": "Loja de Bicicletas"
             },
+            "shop/bookmaker": {
+                "name": "Casa de Apostas",
+                "terms": "Bookmaker, Bolsa de apostas"
+            },
             "shop/books": {
                 "name": "Livraria",
                 "terms": "Livraria"
                 "terms": "Ofinina de Automóveis"
             },
             "shop/chemist": {
-                "name": "Drogaria"
+                "name": "Drogaria",
+                "terms": "Chemist"
             },
             "shop/clothes": {
                 "name": "Loja de Roupas",
                 "terms": "Loja de Informática"
             },
             "shop/confectionery": {
-                "name": "Confeitaria"
+                "name": "Confeitaria",
+                "terms": "Confectionery"
             },
             "shop/convenience": {
                 "name": "Loja de Conveniência",
                 "terms": "Loja de Conviniência"
             },
             "shop/deli": {
-                "name": "Loja de Gourmet / Delicacias"
+                "name": "Loja de Gourmet / Delicacias",
+                "terms": "Deli"
             },
             "shop/department_store": {
-                "name": "Grande Armazém"
+                "name": "Grande Armazém",
+                "terms": "Department Store"
             },
             "shop/doityourself": {
-                "name": "Loja de Bricolagem"
+                "name": "Loja de Bricolagem",
+                "terms": "DIY Store, Obras, Bricolage"
             },
             "shop/dry_cleaning": {
-                "name": "Limpeza a Seco"
+                "name": "Limpeza a Seco",
+                "terms": "Dry Cleaners"
             },
             "shop/electronics": {
                 "name": "Loja de Eletrónica de Consumo",
                 "terms": "Barraca de Fruta, Barraca de Legumes, Barraca de Hortaliças, Barraca de Batatas"
             },
             "shop/fishmonger": {
-                "name": "Peixaria"
+                "name": "Peixaria",
+                "terms": "Fishmonger, Pesqueiro"
             },
             "shop/florist": {
                 "name": "Florista",
             },
             "shop/funeral_directors": {
                 "name": "Agência Funerária",
-                "terms": "Casa Funerária, Agência Mortuária, Casa Mortuária"
+                "terms": "Funeral Home, Casa Funerária, Agência Mortuária, Casa Mortuária"
             },
             "shop/furniture": {
                 "name": "Loja de Mobiliário",
                 "terms": "Loja de Móveis"
             },
             "shop/garden_centre": {
-                "name": "Loja de Jardinagem"
+                "name": "Loja de Jardinagem",
+                "terms": "Garden Center, Flores"
             },
             "shop/gift": {
                 "name": "Loja de Lembranças",
                 "terms": "Loja de Recordações"
             },
             "shop/greengrocer": {
-                "name": "Loja de Frutas e Verduras"
+                "name": "Loja de Frutas e Verduras",
+                "terms": "Greengrocer"
             },
             "shop/hairdresser": {
                 "name": "Cabeleireiro",
                 "terms": "Cabeleireiro"
             },
             "shop/hardware": {
-                "name": "Loja de Ferragens"
+                "name": "Loja de Ferragens",
+                "terms": "Hardware Store"
             },
             "shop/hifi": {
-                "name": "Loja de Alta Fidelidade"
+                "name": "Loja de Alta Fidelidade",
+                "terms": "Hifi Store, Som"
             },
             "shop/jewelry": {
-                "name": "Joalharia"
+                "name": "Joalharia",
+                "terms": "Jeweler"
             },
             "shop/kiosk": {
                 "name": "Quiosque",
                 "terms": "Quiosque"
             },
             "shop/laundry": {
-                "name": "Lavandaria"
+                "name": "Lavandaria",
+                "terms": "Laundry, Roupa, Secagem"
             },
             "shop/locksmith": {
-                "name": "Serralheiro"
+                "name": "Serralheiro",
+                "terms": "Locksmith, Fechaduras"
             },
             "shop/lottery": {
-                "name": "Lotaria"
+                "name": "Lotaria",
+                "terms": "Lottery Shop, Jogos Santa Casa, Euromilhões, Totoloto, Totobola, Joker, Raspadinha, Pé-de-Meia, Loja da Sorte"
             },
             "shop/mall": {
-                "name": "Centro Comercial"
+                "name": "Centro Comercial",
+                "terms": "Mall, Shopping"
             },
             "shop/mobile_phone": {
                 "name": "Loja de Telemóveis",
                 "terms": "Loja de Música"
             },
             "shop/newsagent": {
-                "name": "Loja de Jornais e Revistas"
+                "name": "Loja de Jornais e Revistas",
+                "terms": "Newsagent"
             },
             "shop/optician": {
-                "name": "Loja de Ótica / Oculos"
+                "name": "Loja de Ótica / Oculos",
+                "terms": "Optician"
             },
             "shop/outdoor": {
-                "name": "Loja de Artigos p/Atividades ao Ar Livre"
+                "name": "Loja de Artigos p/Atividades ao Ar Livre",
+                "terms": "Outdoor Store"
             },
             "shop/pet": {
                 "name": "Loja de Animais",
                 "terms": "Loja de Animais"
             },
             "shop/photo": {
-                "name": "Loja de Fotografia, Fotógrafo",
-                "terms": "Loja de Fotografia, Fotográfo"
+                "name": "Loja de Fotografia",
+                "terms": "Photography Store, Fotográfo"
             },
             "shop/seafood": {
                 "name": "Loja de Frutos do Mar",
-                "terms": "Camarão, Lagosta, Caranguejo, Ameijoas, Mexilhões"
+                "terms": "Seafood Shop, Camarão, Lagosta, Caranguejo, Ameijoas, Mexilhões"
             },
             "shop/shoes": {
                 "name": "Sapataria",
                 "terms": "Loja de Desporto"
             },
             "shop/stationery": {
-                "name": "Papelaria"
+                "name": "Papelaria",
+                "terms": "Stationery Store"
             },
             "shop/supermarket": {
                 "name": "Supermercado",
                 "terms": "Loja de Pneus, Casa dos Pneus"
             },
             "shop/vacant": {
-                "name": "Loja Vazia"
+                "name": "Loja Vazia",
+                "terms": "Vacant Shop"
             },
             "shop/variety_store": {
-                "name": "Loja dos Chineses"
+                "name": "Loja dos Chineses",
+                "terms": "Variety Store, Loja dos 300, Loja dos Trezentos javascript:;"
             },
             "shop/video": {
-                "name": "Videoclube"
+                "name": "Videoclube",
+                "terms": "Video Store"
             },
             "shop/wine": {
-                "name": "Loja de vinhos"
+                "name": "Loja de Vinhos",
+                "terms": "Wine Shop, Loja de Licor, Bebidas Alcoolicas"
             },
             "tourism": {
                 "name": "Turismo",
                 "terms": "Turismo"
             },
             "tourism/alpine_hut": {
-                "name": "Albergue de Montanha"
+                "name": "Albergue de Montanha",
+                "terms": "Alpine Hut"
             },
             "tourism/artwork": {
                 "name": "Obra de Arte",
                 "terms": "Acampamento"
             },
             "tourism/caravan_site": {
-                "name": "Parque de Caravanas"
+                "name": "Parque de Caravanas",
+                "terms": "RV Park"
             },
             "tourism/chalet": {
-                "name": "Chalé / Casa de Férias"
+                "name": "Chalé / Casa de Férias",
+                "terms": "Chalet"
             },
             "tourism/guest_house": {
                 "name": "Casa de Hóspedes",
                 "terms": "Lugar de Merendas"
             },
             "tourism/theme_park": {
-                "name": "Parque de Diversões"
+                "name": "Parque de Diversões",
+                "terms": "Theme Park"
             },
             "tourism/viewpoint": {
-                "name": "Miradouro"
+                "name": "Miradouro",
+                "terms": "Viewpoint"
             },
             "tourism/zoo": {
                 "name": "Jardim Zoológico",
                 "name": "Restrição",
                 "terms": "Restrição, Proibição"
             },
+            "type/restriction/no_left_turn": {
+                "name": "Proibição de Virar à Esquerda",
+                "terms": "No Left Turn, Não Virar à Esquerda"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "Proibição de Virar à Direita",
+                "terms": "No Right Turn, Não Virar à Direita"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "Sentido Proibido",
+                "terms": "No Straight On, Proibido Seguir em Frente, Proibição de Seguir em Frente"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Proibição de Inversão do Sentido de Marcha",
+                "terms": "No U-turn, Não Inverter o Sentido"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Sentido Obrigatório para a Esquerda",
+                "terms": "Left Turn Only, Proibido Virar para a Direita"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Sentido Obrigatório para a Direita",
+                "terms": "Right Turn Only, Proibido Virar para a Esquerda"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "Sentido Obrigatório para a Frente",
+                "terms": "No Turns, Proibido Virar"
+            },
             "type/route": {
                 "name": "Rota",
                 "terms": "Rota, Linha"
                 "terms": "Rota de Autocarros, Linha de Autocarro"
             },
             "type/route/detour": {
-                "name": "Rota de Desvio"
+                "name": "Rota de Desvio",
+                "terms": "Detour Route"
             },
             "type/route/ferry": {
                 "name": "Rota de Barca / Ferry",
                 "terms": "Rota do Ferry"
             },
             "type/route/foot": {
-                "name": "Rota Pedestre"
+                "name": "Rota Pedestre",
+                "terms": "Foot Route"
             },
             "type/route/hiking": {
-                "name": "Rota de caminhada"
+                "name": "Rota de Caminhada",
+                "terms": "Hiking Route, Rota de Escalagem"
             },
             "type/route/pipeline": {
-                "name": "Rota de Gasoduto / Oleoduto"
+                "name": "Rota de Gasoduto / Oleoduto",
+                "terms": "Pipeline Route"
             },
             "type/route/power": {
                 "name": "Rota de Transmissão de Energia",
                 "terms": "Percurso Rodoviário, Trajecto Rodoviário"
             },
             "type/route/train": {
-                "name": "Rota Ferroviária"
+                "name": "Rota Ferroviária",
+                "terms": "Train Route, Rota de Comboio, Rota de Metro, Rota de Elétrico, Rota de Caminhos de Ferro"
             },
             "type/route/tram": {
-                "name": "Rota de Elétrico"
+                "name": "Rota de Elétrico",
+                "terms": "Tram Route"
             },
             "type/route_master": {
-                "name": "Rede de Rotas"
+                "name": "Rede de Rotas",
+                "terms": "Route Master, Rota Mestre"
             },
             "vertex": {
                 "name": "Outro",
                 "terms": "Outro"
             },
             "waterway": {
-                "name": "Curso de Água"
+                "name": "Curso de Água",
+                "terms": "Waterway"
             },
             "waterway/canal": {
                 "name": "Canal",
                 "terms": "Vala, Trincheira, Represa"
             },
             "waterway/drain": {
-                "name": "Vala de Drenagem"
+                "name": "Vala de Drenagem",
+                "terms": "Drain"
             },
             "waterway/river": {
                 "name": "Rio",
                 "terms": "Afluente, Barra, Barroca, Canal, Corga, Curso de Água, Delta, Estuário, Grota, Ria"
             },
             "waterway/riverbank": {
-                "name": "Margem de Rio"
+                "name": "Margem de Rio",
+                "terms": "Riverbank"
             },
             "waterway/stream": {
                 "name": "Ribeiro",
                 "terms": "Afluente, Barra, Barroca, Canal, Corga, Curso de Água, Delta, Estuário, Fio de Água, Grota, Regato, Rego, Riacho, Ribeira, Ribeiro, Ria, Vala, Valeiro"
             },
             "waterway/weir": {
-                "name": "Represa"
+                "name": "Represa",
+                "terms": "Weir"
             }
         }
     }
index c4cf3f92ba5d6bb9715d9c03ed08ca67728f8341..f09a443e1e604ddb573f0542713dbe8b235e470c 100644 (file)
             },
             "not_eligible": "Линии нельзя резать на концах.",
             "multiple_ways": "Слишком много линий для разрезания."
+        },
+        "restriction": {
+            "help": {
+                "select": "Кликните, чтобы выбрать сегмент дороги.",
+                "toggle": "Кликните, чтобы добавить/удалить запрет поворота.",
+                "toggle_on": "Кликните, чтобы добавить запрет «{restriction}».",
+                "toggle_off": "Кликните, чтобы удалить запрет «{restriction}»."
+            },
+            "annotation": {
+                "create": "Добавлен запрет поворота",
+                "delete": "Удалён запрет поворота"
+            }
         }
     },
     "undo": {
             "category-rail": {
                 "name": "Рельсовый путь"
             },
+            "category-restriction": {
+                "name": "Запреты"
+            },
             "category-road": {
                 "name": "Дорога"
             },
             "entrance": {
                 "label": "Тип"
             },
+            "except": {
+                "label": "Исключения"
+            },
             "fax": {
                 "label": "Факс",
                 "placeholder": "+31 42 123 4567"
                 "label": "Тип"
             },
             "oneway": {
-                "label": "Одностороннее движение"
+                "label": "Одностороннее движение",
+                "options": {
+                    "undefined": "Предполагается «нет»"
+                }
             },
             "oneway_yes": {
-                "label": "Одностороннее движение"
+                "label": "Одностороннее движение",
+                "options": {
+                    "undefined": "Предполагается «да»"
+                }
             },
             "opening_hours": {
                 "label": "Часы работы"
             "restriction": {
                 "label": "Тип"
             },
+            "restrictions": {
+                "label": "Запреты поворота"
+            },
             "route": {
                 "label": "Тип"
             },
                 "name": "Пешеходный переход",
                 "terms": "Пешеходный переход"
             },
+            "footway/crosswalk": {
+                "name": "Пешеходный переход"
+            },
             "footway/sidewalk": {
                 "name": "Тротуар",
                 "terms": "Тротуар, Тротуарчик, Пешеходная обочина"
                 "name": "Пешеходный переход",
                 "terms": "перекресток, переезд, пересечение, железнодорожный переезд, переправа, скрещение"
             },
+            "highway/crosswalk": {
+                "name": "Пешеходный переход"
+            },
             "highway/cycleway": {
                 "name": "Велодорожка",
                 "terms": "велодорожка, велосипедная дорожка"
                 "name": "Автомагистраль",
                 "terms": "Автомагистраль, Скоростная автострада, Скоростное шоссе, Автобан, Скоростная автодорога, Хайвэй, Скоростна автотрасса"
             },
-            "highway/motorway_junction": {
-                "name": "Автомагистраль"
-            },
             "highway/motorway_link": {
                 "name": "Съезд с автомагистрали",
                 "terms": "Съезд с автомагистрали, Съезд со скоростной автострады, Съезд со скоростного шоссе, Съезд с автобана, Съезд со скоростной автодороги, Съезд с хайвэя, Съезд со скоростной автотрассы"
                 "name": "Стапель",
                 "terms": "Стапель"
             },
-            "leisure/sports_center": {
-                "name": "Спортивный Комплекс",
-                "terms": "Спортивный центр"
-            },
             "leisure/stadium": {
                 "name": "Стадион",
                 "terms": "Стадион, спортивная арена"
                 "name": "Ограничение",
                 "terms": "Ограничение, Ограничение направлений движения, Ограничение манёвра"
             },
+            "type/restriction/no_left_turn": {
+                "name": "Поворот налево запрещён",
+                "terms": "запрет поворота налево, запрет правого поворота, запрещен поворот налево, запрещён поворот налево, запрещен левый поворот, запрещён левый поворот, поворот налево запрещен, поворот налево запрещён, левый поворот запрещен, запрещён левый поворот"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "Поворот направо запрещён",
+                "terms": "запрет поворота направо, запрет правого поворота, запрещен поворот направо, запрещён поворот направо, запрещен правый поворот, запрещён правый поворот, поворот направо запрещен, поворот направо запрещён, правый поворот запрещен, запрещён правый поворот"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "Движение направо или налево"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Разворот запрещён"
+            },
             "type/route": {
                 "name": "Маршрут",
                 "terms": "Маршрут"
index bfabda53524c069f0a3e091bb9df0002e3be8ad8..56943fad180398fd7e50d0857f5503469919e3cd 100644 (file)
                 "name": "Diaľnica",
                 "terms": "dialnica,rýchlocesta,rychlocesta"
             },
-            "highway/motorway_junction": {
-                "name": "Diaľničná križovatka",
-                "terms": "Dialnicna krizovatka,krizovatka,dialnica,kríženie,krizenie"
-            },
             "highway/motorway_link": {
                 "name": "Diaľničný privádzač",
                 "terms": "Dialnicny privadzac,privadzac,privádzač,zjazd,vyjazd,výjazd,nájazd,najazd,pripojovací pruh,pripojovaci pruh"
                 "name": "Spúšťanie lodí",
                 "terms": "Spustanie lodi,dok,lodenica,klzacka,kĺzačka"
             },
-            "leisure/sports_center": {
-                "name": "Športové centrum",
-                "terms": "sportove centrum,fitness centrum,fitnes centrum,fitko"
-            },
             "leisure/stadium": {
                 "name": "Štadión",
                 "terms": "stadion,futbal,futbalovy stadion,futbalový štadión,ihrisko"
index 12a624620e8ebee050207dbd39fe78cd1fd7db3e..461ce8979f85f94576ec3d22eb625b807420a2f8 100644 (file)
             "highway/motorway": {
                 "name": "Avtocesta"
             },
-            "highway/motorway_junction": {
-                "name": "Avtocestno križišče"
-            },
             "highway/motorway_link": {
                 "name": "Avtocestni priključek"
             },
index cd308d18ab3cdb71d35466f6b2dffdd740849952..2962ef7c7ab55029ab88f206a5983d04ad4cbfd2 100644 (file)
             "category-rail": {
                 "name": "Шина"
             },
+            "category-restriction": {
+                "name": "Ограничења"
+            },
             "category-road": {
                 "name": "Пут"
             },
             "entrance": {
                 "label": "Врста"
             },
+            "except": {
+                "label": "Изузеци"
+            },
             "fax": {
                 "label": "Факс",
                 "placeholder": "+31 42 123 4567"
             "restriction": {
                 "label": "Врста"
             },
+            "restrictions": {
+                "label": "Znaci zabrane kretanja"
+            },
             "route": {
                 "label": "Врста"
             },
             "footway/crossing": {
                 "name": "Прелаз"
             },
+            "footway/crosswalk": {
+                "name": "Пешачки прелаз"
+            },
             "footway/sidewalk": {
                 "name": "Тротоар"
             },
             "highway/crossing": {
                 "name": "Прелаз"
             },
+            "highway/crosswalk": {
+                "name": "Пешачки прелаз"
+            },
             "highway/cycleway": {
                 "name": "Бициклистичка стаза"
             },
             "highway/motorway": {
                 "name": "Магистрални пут"
             },
-            "highway/motorway_junction": {
-                "name": "Магистрално чвориште"
-            },
             "highway/motorway_link": {
                 "name": "Прилаз аутопуту"
             },
             "leisure/slipway": {
                 "name": "Навоз"
             },
-            "leisure/sports_center": {
-                "name": "Спортски центар"
-            },
             "leisure/stadium": {
                 "name": "Стадион"
             },
             "type/restriction": {
                 "name": "Ограничење"
             },
+            "type/restriction/no_left_turn": {
+                "name": "Забрана скретања улево"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "Забрана скретања удесно"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "Забрана саобраћаја у једном смеру"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Забрана полукружног окретања"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Обавезан смер - лево"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Обавезан смер - десно"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "Обавезан смер - право"
+            },
             "type/route": {
                 "name": "Путања"
             },
index ec4ed376914258a9905e6eea4ec7e44343ced0dd..6f1edc25838e1040348c8161a54ecafc048746f4 100644 (file)
@@ -71,7 +71,8 @@
                 "line": "Gjorde en linje rund.",
                 "area": "Gjorde ett område runt."
             },
-            "not_closed": "Denna kan inte göras rund då den inte är en loop."
+            "not_closed": "Denna kan inte göras rund då den inte är en loop.",
+            "too_large": "Denna kan inte göras runt då inte tillräckligt är synligt för tillfället."
         },
         "orthogonalize": {
             "title": "Räta upp",
@@ -84,7 +85,8 @@
                 "line": "Gjort hörnen på en linje fyrkantiga.",
                 "area": "Gjort hörnen på ett område fyrkantiga."
             },
-            "not_squarish": "Denna kan inte rätas upp då den inte är fyrkantig."
+            "not_squarish": "Denna kan inte rätas upp då den inte är fyrkantig.",
+            "too_large": "Denna kan inte rätas upp då inte tillräckligt är synligt för tillfället."
         },
         "straighten": {
             "title": "Räta ut",
             },
             "not_eligible": "Linjer kan inte delas vid deras början eller slut.",
             "multiple_ways": "Det är för många linjer här för att kunna dela dem."
+        },
+        "restriction": {
+            "help": {
+                "select": "Klicka för att välja ett vägsegment.",
+                "toggle": "Klicka för att växla svängrestriktioner.",
+                "toggle_on": "Klicka för att lägga till en \"{restriction}\"-restriktion.",
+                "toggle_off": "Klicka för att ta bort \"{restriction}\"-restriktionen."
+            },
+            "annotation": {
+                "create": "Lagt till en svängrestriktion",
+                "delete": "Tagit bort en svängrestriktion"
+            }
         }
     },
     "undo": {
         "percent_brightness": "{opacity}% ljusstyrka",
         "none": "Ingen",
         "custom": "Anpassa",
+        "custom_button": "Ändra anpassad bakgrund",
         "fix_misalignment": "Justera bildplacering",
         "reset": "ta bort"
     },
             "road": "**Välj Väg från listan**",
             "residential": "Det finns olika typer av vägar. Den vanligaste är \"Residential\". **Välj vägtypen \"Residential\"**",
             "describe": "**Ge vägen ett namn och stäng objektredigeraren.**",
-            "restart": "Vägen behöver ha en korsning med Flower Street."
+            "restart": "Vägen behöver ha en korsning med Flower Street.",
+            "wrong_preset": "Du valde inte typen bostadsgata. **Klicka här för att välja igen**"
         },
         "startediting": {
             "title": "Börja redigera",
     },
     "presets": {
         "categories": {
+            "category-golf": {
+                "name": "Golf"
+            },
             "category-landuse": {
                 "name": "Landanvänding"
             },
             "category-rail": {
                 "name": "Spår"
             },
+            "category-restriction": {
+                "name": "Restriktioner"
+            },
             "category-road": {
                 "name": "Väg"
             },
             "entrance": {
                 "label": "Typ"
             },
+            "except": {
+                "label": "Undantag"
+            },
             "fax": {
                 "label": "Fax",
                 "placeholder": "+46 31 123 4567"
             "fixme": {
                 "label": "Ordna mig"
             },
+            "fuel/biodiesel": {
+                "label": "Säljer Biodiesel"
+            },
+            "fuel/diesel": {
+                "label": "Säljer Diesel"
+            },
+            "fuel/e85": {
+                "label": "Säljer E85"
+            },
+            "golf_hole": {
+                "placeholder": "Hålnummer (1-18)"
+            },
+            "handicap": {
+                "label": "Handikapp",
+                "placeholder": "1-18"
+            },
             "highway": {
                 "label": "Typ"
             },
             "incline": {
                 "label": "Lutning"
             },
+            "information": {
+                "label": "Typ"
+            },
             "internet_access": {
                 "label": "Internetaccess",
                 "options": {
             "leisure": {
                 "label": "Typ"
             },
+            "length": {
+                "label": "Längd (meter)"
+            },
             "levels": {
                 "label": "Våningar",
                 "placeholder": "2, 4, 6..."
             "operator": {
                 "label": "Operatör"
             },
+            "par": {
+                "label": "Par",
+                "placeholder": "3, 4, 5..."
+            },
             "park_ride": {
                 "label": "Pendelparkering"
             },
             "restriction": {
                 "label": "Typ"
             },
+            "restrictions": {
+                "label": "Svängrestriktioner "
+            },
             "route": {
                 "label": "Typ"
             },
             "trail_visibility": {
                 "label": "Synlighet"
             },
+            "tunnel": {
+                "label": "Tunnel"
+            },
             "water": {
                 "label": "Typ"
             },
             "wheelchair": {
                 "label": "Handikappanpassat"
             },
+            "width": {
+                "label": "Bredd (meter)"
+            },
             "wikipedia": {
                 "label": "Wikipedia"
             },
                 "name": "Bar",
                 "terms": "Bar, krog, servering, matställe, pub, cocktailsalong, saloon"
             },
+            "amenity/bbq": {
+                "name": "Grillplats/Grill"
+            },
             "amenity/bench": {
                 "name": "Bänk"
             },
             "amenity/car_wash": {
                 "name": "Biltvätt"
             },
+            "amenity/charging_station": {
+                "name": "Laddstation"
+            },
             "amenity/childcare": {
                 "name": "Barnomsorg",
                 "terms": "Barnomsorg, Förskola, Dagis, Barnhem, Dagmamma"
                 "name": "Biograf",
                 "terms": "Bio, Biograf, Biografteater"
             },
+            "amenity/clock": {
+                "name": "Klocka"
+            },
             "amenity/courthouse": {
                 "name": "Domstol"
             },
             "amenity/parking": {
                 "name": "Bilparkering"
             },
+            "amenity/parking_entrance": {
+                "name": "In- och utfart parkeringsgarage"
+            },
             "amenity/pharmacy": {
                 "name": "Läkemedel"
             },
             "amenity/pub": {
                 "name": "Pub"
             },
+            "amenity/recycling": {
+                "name": "Återvinning",
+                "terms": "återvinning, återbruk, återvinningsstation, sopstation "
+            },
             "amenity/restaurant": {
                 "name": "Restaurang",
                 "terms": "Restaurang, matservering, matställe, servering, restauration, näringsställe, grillbar, bar, krog, värdshus, pub, bodega, brasserie, rotisseri, pizzeria, kafé, cafeteria, sylta"
             "amenity/university": {
                 "name": "Universitet"
             },
+            "amenity/veterinary": {
+                "name": "Veterinär ",
+                "terms": "Veterinär, djurläkare, djurdoktor"
+            },
             "amenity/waste_basket": {
                 "name": "Soptunna"
             },
             "building/apartments": {
                 "name": "Lägenheter"
             },
+            "building/construction": {
+                "name": "Byggnad under konstruktion",
+                "terms": "Byggnad under konstruktion, Byggnad under uppförande, byggarbete, bygge, byggarbetsplats, byggnation, byggnadsplats"
+            },
             "building/garage": {
                 "name": "Garage"
             },
+            "building/garages": {
+                "name": "Garage",
+                "terms": "skydd för bilar, bilstall, bilskjul, carport, parkeringshus, varmgarage, kallgarage, uppställningsplats, bilgarage, bilförvaring"
+            },
+            "building/greenhouse": {
+                "name": "Växthus",
+                "terms": "växthus, drivhus, orangeri, driveri, vinterträdgård, växtodling, blomsterhus, odlingshus"
+            },
             "building/house": {
                 "name": "Hus"
             },
             "emergency/phone": {
                 "name": "Nödtelefon"
             },
+            "entrance": {
+                "name": "In-/Utgång"
+            },
             "highway": {
                 "name": "Väg",
                 "terms": "Väg, gata, förbindelse, led, trafikled, körbana, stråk, stig, gång, bana, sträcka, passage"
             "highway/motorway": {
                 "name": "Motorväg"
             },
-            "highway/motorway_junction": {
-                "name": "Trafikplats",
-                "terms": "Motorvägkorsning, trafikplats, mot"
-            },
             "highway/motorway_link": {
                 "name": "Anslutning, motorväg"
             },
             "leisure/park": {
                 "name": "Park"
             },
+            "leisure/picnic_table": {
+                "name": "Picknickbord"
+            },
             "leisure/pitch": {
                 "name": "Idrottsplats"
             },
             "shop/video": {
                 "name": "Videobutik"
             },
+            "shop/wine": {
+                "name": "Vinaffär"
+            },
             "tourism": {
                 "name": "Turism"
             },
             "type/restriction": {
                 "name": "Restriktion"
             },
+            "type/restriction/no_left_turn": {
+                "name": "Ingen vänstersväng",
+                "terms": "Ingen vänstersväng, sväng ej vänster"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "Ingen högersväng",
+                "terms": "Ingen högersväng, ej högersväng, sväng ej höger"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "Ej rakt fram",
+                "terms": "Fortsätt ej framåt, ej rakt fram"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Ingen U-sväng",
+                "terms": "Ingen U-sväng, får ej vända"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Enbart vänstersväng",
+                "terms": "Enbart vänstersväng, bara vänstersväng, endast vänstersväng"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Enbart högersväng",
+                "terms": "enbart högersväng, endast högersväng, bara högersväng"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "Inga svängar",
+                "terms": "Inga svängar, rakt fram, ingen sväng"
+            },
             "type/route": {
                 "name": "Rutt"
             },
index b0e28f08f6402fd386ce9e9173886faaeffe1e3f..317f0e0945090cd4b5d9458d0cba6a08970bab13 100644 (file)
@@ -1,23 +1,45 @@
 {
     "modes": {
         "add_area": {
-            "title": "பரப்பளவு"
+            "title": "பரப்பளவு",
+            "description": "வரைபடத்தை பூங்காக்கள், கட்டிடங்கள், ஏரிகள் அல்லது மற்ற பகுதிகளில் சேர்.",
+            "tail": "பூங்கா, ஏரி, அல்லது கட்டிடம் வரைய வரைபடத்தை கிளிக் செய்க."
         },
         "add_line": {
-            "title": "கோடு"
+            "title": "கோடு",
+            "description": "வரைபடத்தை நெடுஞ்சாலைகள், தெருக்களில், பாதசாரி பாதைகள், கால்வாய்கள் அல்லது மற்ற வரிகளை சேர்க்கவும்.",
+            "tail": "சாலை, பாதை, அல்லது இந்த வரைபடத்தை கிளிக் செய்க."
         },
         "add_point": {
-            "title": "புள்ளி"
+            "title": "புள்ளி",
+            "description": "வரைபடத்தை உணவகங்கள், நினைவு சின்னங்கள், தபால் பெட்டிகள் அல்லது மற்ற சேர்க்கவும்.",
+            "tail": "ஒரு புள்ளி சேர்க்க வரைபடத்தை கிளிக் செய்க."
+        },
+        "browse": {
+            "title": "உலவ"
         }
     },
     "operations": {
+        "start": {
+            "annotation": {
+                "line": "வரி தொடங்கியது",
+                "area": "பகுதி தொடங்கியது"
+            }
+        },
         "continue": {
-            "key": "A"
+            "key": "A",
+            "annotation": {
+                "line": "வரி தொ ங்கியது"
+            }
+        },
+        "cancel_draw": {
+            "annotation": "வரைவது தவிர்கபட்டது "
         },
         "circularize": {
             "key": "O"
         },
         "orthogonalize": {
+            "title": "சதுரம்",
             "key": "S"
         },
         "straighten": {
             }
         },
         "disconnect": {
+            "title": "தொடர்பை -துண்டி",
             "key": "D"
         },
         "merge": {
+            "title": "இணை",
+            "description": "இந்த கோடுகளை இணை",
             "key": "C"
         },
         "move": {
             "title": "நகர்த்து",
-            "key": "M"
+            "key": "M",
+            "annotation": {
+                "point": "புள்ளி நகர்த்தப்பட்டது",
+                "area": "பரப்பை நகர்த்தபட்டது "
+            }
         },
         "rotate": {
+            "title": "திருப்பு",
             "key": "R"
         },
         "reverse": {
+            "title": "தலைகீழாக்கு",
             "key": "V"
         },
         "split": {
             "crossing": {
                 "label": "வகை"
             },
+            "emergency": {
+                "label": "அவசரநிலை"
+            },
             "entrance": {
                 "label": "வகை"
             },
             "fax": {
+                "label": "தொலைநகல்",
                 "placeholder": "+31 42 123 4567"
             },
             "fire_hydrant/type": {
             "information": {
                 "label": "வகை"
             },
+            "internet_access": {
+                "label": "இணைய அணுகல்"
+            },
             "landuse": {
                 "label": "வகை"
             },
                 "label": "சந்துகள்",
                 "placeholder": "1, 2, 3..."
             },
+            "layer": {
+                "label": "அடுக்கு"
+            },
             "leisure": {
                 "label": "வகை"
             },
             "levels": {
+                "label": "நிலைகள்",
                 "placeholder": "2, 4, 6..."
             },
             "location": {
             "natural": {
                 "label": "இயற்கையான"
             },
+            "network": {
+                "label": "நெட்வொர்க்"
+            },
             "note": {
                 "label": "குறிப்பு"
             },
             "opening_hours": {
                 "label": "மணிநேரங்கள்"
             },
+            "operator": {
+                "label": "இயக்குபவர்"
+            },
             "par": {
                 "placeholder": "3, 4, 5..."
             },
                     "christian": "கிறித்தவர்",
                     "muslim": "இசுலாமியர்",
                     "buddhist": "புத்த மதத்தினர்",
+                    "jewish": "ஜெவிஷ்",
                     "hindu": "இந்து"
                 }
             },
             "aeroway/aerodrome": {
                 "name": "விமானநிலையம்"
             },
+            "aeroway/helipad": {
+                "name": "சிறு விமானம் இறங்கும் தளம்"
+            },
             "amenity/bank": {
                 "name": "வங்கி"
             },
             "amenity/bicycle_parking": {
                 "name": "ஈருருளை நிறுத்தகம்"
             },
+            "amenity/bicycle_rental": {
+                "name": "சைக்கிள் வாடகை"
+            },
             "amenity/cafe": {
                 "name": "டீக்கடை"
             },
             "amenity/grave_yard": {
                 "name": "இடுகாடு"
             },
+            "amenity/hospital": {
+                "name": "மருத்துவமனை "
+            },
             "amenity/library": {
                 "name": "புத்தகச்சாலை"
             },
             "amenity/marketplace": {
                 "name": "பஜார்"
             },
+            "amenity/parking": {
+                "name": "கார் பார்க்கிங்"
+            },
             "amenity/pharmacy": {
                 "name": "மருந்தகம்"
             },
             "amenity/restaurant": {
                 "name": "உணவகம்"
             },
+            "amenity/school": {
+                "name": "பள்ளி மைதானத்தில்"
+            },
             "amenity/swimming_pool": {
                 "name": "நீச்சல் குளம்"
             },
             "amenity/toilets": {
                 "name": "கழிவறைகள்"
             },
+            "amenity/townhall": {
+                "name": "நகராட்சிமன்றம்"
+            },
             "amenity/university": {
                 "name": "பல்கலைக்கழகம்"
             },
             "craft/painter": {
                 "name": "ஓவியர்"
             },
+            "entrance": {
+                "name": "நுழைவு / வெளியேறு"
+            },
             "highway/bus_stop": {
                 "name": "பேருந்து நிலையம்"
             },
index 884df9544543d8cf296cef71f0a31e0d8c5cac26..e2e98e40190e3e8a1f8b6d21d221bd1a6b8a8d19 100644 (file)
                 "name": "Автомагістраль",
                 "terms": "Motorway,fdnjvfuscnhfkm"
             },
-            "highway/motorway_junction": {
-                "name": "З’єднання з автомагістраллю",
-                "terms": "Motorway Junction,plyfyyz p fdnjvfuscnhfkk, розв’язка,естакада,з’їзд,заїзд"
-            },
             "highway/motorway_link": {
                 "name": "З’їзд з/на автомагістраль",
                 "terms": "Motorway Link,ppl fdnjvfuscnhfkm,естакада,виїзд з,виїзд на,з’їзд з,з’їзд на"
                 "name": "Стапель",
                 "terms": "Slipway,cnfgtkm"
             },
-            "leisure/sports_center": {
-                "name": "Спортивний центр",
-                "terms": "Sports Center,cgjhnbdybq wtynh"
-            },
             "leisure/stadium": {
                 "name": "Стадіон",
                 "terms": "Stadium,cnflsjy"
index 616d62e4beb74cfd4773bd4b60d9ae0cd9bcbd61..e546bc9d67415ad4577c5a29c9e1889205dbe82c 100644 (file)
             },
             "not_eligible": "Không thể cắt đôi đường kẻ vào đầu hoặc cuối đường.",
             "multiple_ways": "Có quá nhiều đường kẻ tại đây để cắt đôi."
+        },
+        "restriction": {
+            "help": {
+                "select": "Nhấn chuột để chọn một khúc đường.",
+                "toggle": "Nhấn chuột để thêm hoặc bỏ hạn chế rẽ.",
+                "toggle_on": "Nhấn chuột để thêm hạn chế “{restriction}”.",
+                "toggle_off": "Bấm để bỏ hạn chế “{restriction}”."
+            },
+            "annotation": {
+                "create": "thêm hạn chế rẽ",
+                "delete": "bỏ hạn chế rẽ"
+            }
         }
     },
     "undo": {
             "category-rail": {
                 "name": "Đường sắt"
             },
+            "category-restriction": {
+                "name": "Hạn chế"
+            },
             "category-road": {
                 "name": "Đường"
             },
             "entrance": {
                 "label": "Kiểu"
             },
+            "except": {
+                "label": "Ngoại lệ"
+            },
             "fax": {
                 "label": "Số Fax",
                 "placeholder": "+84 1 234 5678"
                 "label": "Kiểu"
             },
             "oneway": {
-                "label": "Một chiều"
+                "label": "Một chiều",
+                "options": {
+                    "undefined": "Có lẽ Phải"
+                }
             },
             "oneway_yes": {
-                "label": "Một chiều"
+                "label": "Một chiều",
+                "options": {
+                    "undefined": "Có lẽ Không phải"
+                }
             },
             "opening_hours": {
                 "label": "Giờ Mở cửa"
             "restriction": {
                 "label": "Kiểu"
             },
+            "restrictions": {
+                "label": "Hạn chế rẽ"
+            },
             "route": {
                 "label": "Kiểu"
             },
                 "name": "Bác sĩ",
                 "terms": "văn phòng bác sĩ, văn phòng bác sỹ, văn phòng thầy thuốc, van phong bac si, van phong bac sy, van phong thay thuoc"
             },
+            "amenity/dojo": {
+                "name": "Võ đường",
+                "terms": "võ đường, trường võ thuật, phòng tập võ thuật, võ thuật, karate, judo, nhu đạo, vo duong, truong vo thuat, phong tap vo thuat, vo thuat, nhu dao"
+            },
             "amenity/drinking_water": {
                 "name": "Nước Uống",
                 "terms": "máy nước, vòi nước uống, nước uống, uống, may nuoc, voi nuoc uong, nuoc uong, uong"
                 "name": "Lối Băng qua Đường",
                 "terms": "lối băng qua đường, lối qua đường, đường ngựa vằn, loi bang qua duong, loi qua duong, duong ngua van"
             },
+            "footway/crosswalk": {
+                "name": "Lối Băng qua Đường",
+                "terms": "lối băng qua đường, lối qua đường, đường ngựa vằn, loi bang qua duong, loi qua duong, duong ngua van"
+            },
             "footway/sidewalk": {
                 "name": "Lề đường",
                 "terms": "lề đường, vỉa hè, đường đi bộ, đường dạo, le duong, vie he, duong di bo, duong dao"
                 "name": "Lối Băng qua Đường",
                 "terms": "lối băng qua đường, lối qua đường, đường ngựa vằn, loi bang qua duong, loi qua duong, duong ngua van"
             },
+            "highway/crosswalk": {
+                "name": "Lối Băng qua Đường",
+                "terms": "lối băng qua đường, lối qua đường, đường ngựa vằn, loi bang qua duong, loi qua duong, duong ngua van"
+            },
             "highway/cycleway": {
                 "name": "Đường Xe đạp",
                 "terms": "đường xe đạp, đường mòn xe đạp, duong xe dap, duong mon xe dap"
             },
             "highway/motorway_junction": {
                 "name": "Giao lộ Đường Cao tốc",
-                "terms": "giao lộ đường cao tốc, giao lộ quốc lộ, giao lộ xa lộ liên tiểu bang, giao lộ xa lộ liên bang, giao lo duong cao toc, giao lo quoc lo, giao lo xa lo lien tieu bang, giao lo xa lo lien bang"
+                "terms": "giao lộ đường cao tốc, giao lộ quốc lộ, giao lộ xa lộ liên tiểu bang, giao lộ xa lộ liên bang, lối ra đường cao tốc, lối ra quốc lộ, lối ra xa lộ liên tiểu bang, lối ra xa lộ liên bang, giao lo duong cao toc, giao lo quoc lo, giao lo xa lo lien tieu bang, giao lo xa lo lien bang, loi ra duong cao toc, loi ra quoc lo, loi ra xa lo lien tieu bang, loi ra xa lo lien bang"
             },
             "highway/motorway_link": {
                 "name": "Nhánh Ra vào Đường Cao tốc",
                 "terms": "đường trượt tàu, duong truot tau"
             },
             "leisure/sports_center": {
-                "name": "Trung tâm Thể thao",
-                "terms": "trung tâm thể thao, tòa nhà thể thao, toà nhà thể thao, trung tâm bơi lội, trung tâm spa, trung tâm thể dục, sân vận động trong nhà, SVĐ trong nhà, trung tam the thao, toa nha the thao, trung tam boi loi, trung tam spa, trung tam the duc, san van dong trong nha, svd trong nha"
+                "name": "Trung tâm Thể dục Thể thao",
+                "terms": "trung tâm thể thao, trung tâm thể dục, tòa nhà thể thao, toà nhà thể thao, tòa nhà thể dục, toà nhà thể dục, trung tâm bơi lội, trung tâm spa, trung tâm thể dục, sân vận động trong nhà, SVĐ trong nhà, trung tam the thao, trung tam theo duc, toa nha the thao, toa nha the duc, trung tam boi loi, trung tam spa, trung tam the duc, san van dong trong nha, svd trong nha"
             },
             "leisure/stadium": {
                 "name": "Sân vận động",
                 "name": "Hạn chế",
                 "terms": "hạn chế, giới hạn, cấm chỉ, han che, gioi han, cam chi"
             },
+            "type/restriction/no_left_turn": {
+                "name": "Cấm Rẽ Trái",
+                "terms": "cấm rẽ trái, không rẽ trái, đừng rẽ trái, cấm quẹo trái, không quẹo trái, đừng quẹo trái, cấm ngoặt trái, không ngoặt trái, đừng ngoặt trái, cấm ngoắt trái, không ngoắt trái, đừng ngoắt trái, cấm quặt trái, không quặt trái, đừng quặt trái, cam re trai, khong re trai, dung re trai, cam queo trai, khong queo trai, dung queo trai, cam ngoat trai, khong ngoat trai, dung ngoat trai, cam ngoat trai, khong ngoat trai, dung ngoat trai, cam quat trai, khong quat trai, dung quat trai"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "Cấm Rẽ Phải",
+                "terms": "cấm rẽ phải, không rẽ phải, đừng rẽ phải, cấm quẹo phải, không quẹo phải, đừng quẹo phải, cấm ngoặt phải, không ngoặt phải, đừng ngoặt phải, cấm ngoắt phải, không ngoắt phải, đừng ngoắt phải, cấm quặt phải, không quặt phải, đừng quặt phải, cam re phai, khong re phai, dung re phai, cam queo phai, khong queo phai, dung queo phai, cam ngoat phai, khong ngoat phai, dung ngoat phai, cam ngoat phai, khong ngoat phai, dung ngoat phai, cam quat phai, khong quat phai, dung quat phai"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "Cấm Chạy Thẳng",
+                "terms": "cấm chạy thẳng, không chạy thẳng, đừng chạy thẳng, cam chay thang, khong chay thang, dung chay thang"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Cấm Quay Ngược",
+                "terms": "cấm quay ngược trở lại, không quay ngược trở lại, đừng quay ngược trở lại, cam quay nguoc tro lai, khong quay nguoc tro lai, dung quay nguoc tro lai, cam quay nguoc tro lai"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Chỉ Rẽ Trái",
+                "terms": "chỉ rẽ trái, chỉ cho phép rẽ trái, chỉ quẹo trái, chỉ cho phép quẹo trái, chỉ ngoặt trái, chỉ cho phép ngoặt trái, chỉ ngoắt trái, chỉ cho phép ngoắt trái, chỉ quặt trái, chỉ cho phép quặt trái, chi re trai, chi cho phep re trai, chi queo trai, chi cho phep queo trai, chi ngoat trai, chi cho phep ngoat trai, chi ngoat trai, chi cho phep ngoat trai, chi quat trai, chi cho phep quat trai"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Chỉ Rẽ Phải",
+                "terms": "chỉ rẽ phải, chỉ cho phép rẽ phải, chỉ quẹo phải, chỉ cho phép quẹo phải, chỉ ngoặt phải, chỉ cho phép ngoặt phải, chỉ ngoắt phải, chỉ cho phép ngoắt phải, chỉ quặt phải, chỉ cho phép quặt phải, chi re phai, chi cho phep re phai, chi queo phai, chi cho phep queo phai, chi ngoat phai, chi cho phep ngoat phai, chi ngoat phai, chi cho phep ngoat phai, chi quat phai, chi cho phep quat phai"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "Cấm Rẽ Trái/Phải",
+                "terms": "cấm rẽ trái phải, không rẽ trái phải, đừng rẽ trái phải, cấm quẹo trái phải, không quẹo trái phải, đừng quẹo trái phải, chỉ chạy thẳng, chỉ cho phép chạy thẳng, cam re trai phai, khong re trai phai, dung re trai phai, cam queo trai phai, khong queo trai phai, dung queo trai phai, chi chay thang, chi cho phep chay thang"
+            },
             "type/route": {
                 "name": "Tuyến đường",
                 "terms": "tuyến đường, lộ trình, tuyen duong, lo trinh"
index 8ce43978e785fc768baf120efaf7e1268ae4ea8f..52f2468488da2e14a69ba9f90a38d4d1b013c325 100644 (file)
                 "name": "高速公路",
                 "terms": "Motorway,高速公路"
             },
-            "highway/motorway_junction": {
-                "name": "高速公路口",
-                "terms": "Motorway Junction,高速公路交匯處,高速公路口,高速公路連接點"
-            },
             "highway/motorway_link": {
                 "name": "高速公路駁路",
                 "terms": "Motorway Link,高速公路匝道,高速公路引道,高速公路駁路"
                 "name": "船排",
                 "terms": "Slipway,船排,船架滑道,船臺"
             },
-            "leisure/sports_center": {
-                "name": "體育館",
-                "terms": "Sports Center,體育,體育中心,體育館"
-            },
             "leisure/stadium": {
                 "name": "大體育館",
                 "terms": "Stadium,大體育館,體育,體育場"
index 8cb1ec929d00f0ed661484d64964c2d3e4ad2f42..372a1568783baaed80ded6607431936beab511e4 100644 (file)
                 "name": "高速公路",
                 "terms": "高速公路"
             },
-            "highway/motorway_junction": {
-                "name": "高速公路连接点",
-                "terms": "高速公路连接点"
-            },
             "highway/motorway_link": {
                 "name": "高速公路匝道",
                 "terms": "高速公路匝道"
                 "name": "船台",
                 "terms": "船台"
             },
-            "leisure/sports_center": {
-                "name": "体育,体育中心",
-                "terms": "体育中心"
-            },
             "leisure/stadium": {
                 "name": "体育场",
                 "terms": "体育,体育场"
index d69f82078975acc056ec22bebbfb408a07ad7722..35a73a0a0168a39c9729de36f536343aec1877ca 100644 (file)
                 "name": "高速公路",
                 "terms": "Motorway,高速公路"
             },
-            "highway/motorway_junction": {
-                "name": "高速公路口",
-                "terms": "Motorway Junction,高速公路交匯處,高速公路口,高速公路連接點"
-            },
             "highway/motorway_link": {
                 "name": "高速公路駁路",
                 "terms": "Motorway Link,高速公路匝道,高速公路引道,高速公路駁路"
                 "name": "船排",
                 "terms": "Slipway,船排,船架滑道,船臺"
             },
-            "leisure/sports_center": {
-                "name": "體育館",
-                "terms": "Sports Center,體育,體育中心,體育館"
-            },
             "leisure/stadium": {
                 "name": "大體育館",
                 "terms": "Stadium,大體育館,體育,體育場"
index 6428bad2f775910cd1962d96a3168c77fa1f8d5d..298c666a1fbaaecb1c80d6823458843f3fa8fb2b 100644 (file)
             },
             "not_eligible": "不能於線段的首尾進行分割。",
             "multiple_ways": "太多線段,未能進行分割。"
+        },
+        "restriction": {
+            "help": {
+                "select": "點擊以選擇一段道路",
+                "toggle": "點擊以切換轉向限制。",
+                "toggle_on": "點擊以增加\"{restriction}\"的限制。",
+                "toggle_off": "點擊以移除\"{restriction}\"的限制。"
+            },
+            "annotation": {
+                "create": "已增加轉向限制",
+                "delete": "已移除轉向限制"
+            }
         }
     },
     "undo": {
         "percent_brightness": "{opacity}%的光度",
         "none": "無",
         "custom": "客製化",
+        "custom_button": "編輯自訂的背景",
+        "custom_prompt": "輸入地圖影像區塊的URL模版。以 Z/X/Y 方式存取區塊的伺服器,可在模版中使用{z}, {x}, {y}作參數,而以quadtile存取區塊的伺服器,則可使用{u}作參數。",
         "fix_misalignment": "校準",
         "reset": "重設"
     },
             "category-rail": {
                 "name": "鐵道"
             },
+            "category-restriction": {
+                "name": "限制"
+            },
             "category-road": {
                 "name": "道路"
             },
             "entrance": {
                 "label": "種類"
             },
+            "except": {
+                "label": "例外"
+            },
             "fax": {
                 "label": "傳真",
                 "placeholder": "+31 42 123 4567"
             "fixme": {
                 "label": "Fix Me"
             },
+            "fuel": {
+                "label": "加油站"
+            },
             "gauge": {
                 "label": "軌距"
             },
                 "label": "種類"
             },
             "oneway": {
-                "label": "單行道"
+                "label": "單行道",
+                "options": {
+                    "undefined": "假設為否"
+                }
             },
             "oneway_yes": {
-                "label": "單程路"
+                "label": "單程路",
+                "options": {
+                    "undefined": "假設為是"
+                }
             },
             "opening_hours": {
                 "label": "小時"
             "restriction": {
                 "label": "種類"
             },
+            "restrictions": {
+                "label": "轉向限制"
+            },
             "route": {
                 "label": "種類"
             },
             "shop": {
                 "label": "種類"
             },
+            "smoking": {
+                "label": "吸煙"
+            },
             "social_facility_for": {
                 "label": "服務對象",
                 "placeholder": "露宿者,殘疾人士,小童等"
             "amenity/bar": {
                 "name": "酒吧"
             },
+            "amenity/bbq": {
+                "name": "燒烤"
+            },
             "amenity/bench": {
                 "name": "長椅"
             },
                 "name": "洗車店",
                 "terms": "洗車行,洗車店"
             },
+            "amenity/charging_station": {
+                "name": "充電站"
+            },
             "amenity/childcare": {
                 "name": "托兒所",
                 "terms": "幼兒園,托兒所"
             "amenity/marketplace": {
                 "name": "市場"
             },
+            "amenity/nightclub": {
+                "name": "夜總會"
+            },
             "amenity/parking": {
                 "name": "停車場"
             },
             "building/apartments": {
                 "name": "分層公寓"
             },
+            "building/bunker": {
+                "name": "地堡"
+            },
+            "building/cathedral": {
+                "name": "大教堂"
+            },
+            "building/church": {
+                "name": "教堂"
+            },
             "building/commercial": {
                 "name": "商用樓宇"
             },
+            "building/construction": {
+                "name": "施工中屋宇"
+            },
+            "building/entrance": {
+                "name": "入口/出口"
+            },
             "building/garage": {
                 "name": "車庫"
             },
             "emergency/phone": {
                 "name": "緊急電話"
             },
+            "entrance": {
+                "name": "入口/出口"
+            },
             "footway/crossing": {
                 "name": "行人過路線"
             },
                 "name": "高速公路"
             },
             "highway/motorway_junction": {
-                "name": "高速公路交匯處"
+                "name": "高速公路交匯處/出口"
             },
             "highway/motorway_link": {
                 "name": "高速公路引道"
             "landuse/industrial": {
                 "name": "工業區"
             },
+            "landuse/landfill": {
+                "name": "堆填區"
+            },
             "landuse/meadow": {
                 "name": "牧場"
             },
                 "name": "船架滑道"
             },
             "leisure/sports_center": {
-                "name": "體肓中心"
+                "name": "體肓中心/健身室"
             },
             "leisure/stadium": {
                 "name": "體育場"
             "type/restriction": {
                 "name": "限制"
             },
+            "type/restriction/no_left_turn": {
+                "name": "不准左轉"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "不准右轉"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "不准直駛"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "不准掉頭"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "只准左轉"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "只准右轉"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "只准直駛"
+            },
             "type/route": {
                 "name": "路線"
             },
index a656a4adb5b664221f5ff1feeea52c6e5071fc93..14404c78727e0e097f39f85e332b5eb8bc1de4c3 100644 (file)
             "highway/motorway": {
                 "name": "高速公路"
             },
-            "highway/motorway_junction": {
-                "name": "高速公路连接点"
-            },
             "highway/motorway_link": {
                 "name": "高速公路匝道"
             },