Update to iD v1.7.4
authorBryan Housel <bryan@mapbox.com>
Wed, 16 Sep 2015 04:02:51 +0000 (00:02 -0400)
committerBryan Housel <bryan@mapbox.com>
Wed, 16 Sep 2015 04:02:51 +0000 (00:02 -0400)
62 files changed:
vendor/assets/iD/iD.css.erb
vendor/assets/iD/iD.js
vendor/assets/iD/iD/img/line-presets.png
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/bn.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/eo.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/hy.json
vendor/assets/iD/iD/locales/id.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/kn.json
vendor/assets/iD/iD/locales/ko-KR.json
vendor/assets/iD/iD/locales/ko.json
vendor/assets/iD/iD/locales/lt.json
vendor/assets/iD/iD/locales/lv.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/ro-RO.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/sq.json [new file with mode: 0644]
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/te.json
vendor/assets/iD/iD/locales/tl.json
vendor/assets/iD/iD/locales/tr.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
vendor/assets/iD/imagery.js
vendor/assets/iD/presets.js

index 3f733c3..69374d7 100644 (file)
@@ -259,6 +259,7 @@ g.midpoint .fill {
     opacity: .7;
 }
 
+g.midpoint.tag-highway-corridor .fill,
 g.midpoint.tag-highway-pedestrian .fill,
 g.midpoint.tag-highway-steps .fill,
 g.midpoint.tag-highway-path .fill,
@@ -509,10 +510,10 @@ path.fill.tag-landuse-landfill {
 .pattern-color-construction {
     fill: rgba(196, 189, 25, 0.2);
 }
-path.stroke.tag-landuse-construction {
+path.stroke.tag-landuse.tag-ephemeral {
     stroke: rgb(196, 189, 25);
 }
-.preset-icon-fill-area.tag-landuse-construction {
+.preset-icon-fill-area.tag-landuse.tag-ephemeral {
     border-color: rgb(196, 189, 25);
     background-color: rgba(196, 189, 25, 0.2);
 }
@@ -616,7 +617,15 @@ path.fill.tag-boundary {
     fill: none;
 }
 
-/* highways */
+/* highway areas */
+
+path.stroke.area.tag-highway {
+    stroke:#fff;
+    stroke-dasharray: none;
+    stroke-width: 2;
+}
+
+/* wide highways */
 
 path.shadow.tag-highway {
     stroke-width:16;
@@ -642,170 +651,251 @@ path.stroke.tag-highway {
 
 path.stroke.tag-highway-motorway,
 path.stroke.tag-highway-motorway_link,
-path.stroke.tag-construction-motorway {
+path.stroke.tag-motorway {
     stroke:#58a9ed;
 }
 
 path.casing.tag-highway-motorway,
 path.casing.tag-highway-motorway_link,
-path.casing.tag-construction-motorway {
+path.casing.tag-motorway {
     stroke:#2c5476;
 }
 
 path.stroke.tag-highway-trunk,
 path.stroke.tag-highway-trunk_link,
-path.stroke.tag-construction-trunk {
+path.stroke.tag-trunk {
     stroke:#8cd05f;
 }
 path.casing.tag-highway-trunk,
 path.casing.tag-highway-trunk_link,
-path.casing.tag-construction-trunk {
+path.casing.tag-trunk {
     stroke:#46682f;
 }
 
 path.stroke.tag-highway-primary,
 path.stroke.tag-highway-primary_link,
-path.stroke.tag-construction-primary {
+path.stroke.tag-primary {
     stroke:#e06d5f;
 }
 path.casing.tag-highway-primary,
 path.casing.tag-highway-primary_link,
-path.casing.tag-construction-primary {
+path.casing.tag-primary {
     stroke:#70372f;
 }
 
 path.stroke.tag-highway-secondary,
 path.stroke.tag-highway-secondary_link,
-path.stroke.tag-construction-secondary {
+path.stroke.tag-secondary {
     stroke:#eab056;
 }
 path.casing.tag-highway-secondary,
 path.casing.tag-highway-secondary_link,
-path.casing.tag-construction-secondary {
+path.casing.tag-secondary {
     stroke:#75582b;
 }
 
 path.stroke.tag-highway-tertiary,
 path.stroke.tag-highway-tertiary_link,
-path.stroke.tag-construction-tertiary {
+path.stroke.tag-tertiary {
     stroke:#ffff7e;
 }
 path.casing.tag-highway-tertiary,
 path.casing.tag-highway-tertiary_link,
-path.casing.tag-construction-tertiary {
+path.casing.tag-tertiary {
     stroke:#7f7f3f;
 }
 
 path.stroke.tag-highway-unclassified,
-path.stroke.tag-construction-unclassified {
+path.stroke.tag-unclassified {
     stroke:#eaeaea;
 }
 path.casing.tag-highway-unclassified,
-path.casing.tag-construction-unclassified {
+path.casing.tag-unclassified {
     stroke:#444;
 }
 
 path.stroke.tag-highway-residential,
-path.stroke.tag-construction-residential {
+path.stroke.tag-residential {
     stroke:#fff;
 }
 path.casing.tag-highway-residential,
-path.casing.tag-construction-residential {
+path.casing.tag-residential {
     stroke:#444;
 }
 
-path.stroke.tag-highway-living_street {
-    stroke:#ccc;
+/* narrow highways */
+path.stroke.tag-highway-living_street,
+path.stroke.tag-highway-service,
+path.stroke.tag-highway-track,
+path.stroke.tag-highway-path,
+path.stroke.tag-highway-footway,
+path.stroke.tag-highway-cycleway,
+path.stroke.tag-highway-bridleway,
+path.stroke.tag-highway-corridor,
+path.stroke.tag-highway-pedestrian,
+path.stroke.tag-highway-steps,
+path.stroke.tag-highway-road,
+path.stroke.tag-living_street,
+path.stroke.tag-service,
+path.stroke.tag-track,
+path.stroke.tag-path,
+path.stroke.tag-footway,
+path.stroke.tag-cycleway,
+path.stroke.tag-bridleway,
+path.stroke.tag-corridor,
+path.stroke.tag-pedestrian,
+path.stroke.tag-steps,
+path.stroke.tag-road {
     stroke-width:4;
 }
-path.casing.tag-highway-living_street {
-    stroke:#fff;
+path.casing.tag-highway-living_street,
+path.casing.tag-highway-service,
+path.casing.tag-highway-track,
+path.casing.tag-highway-path,
+path.casing.tag-highway-footway,
+path.casing.tag-highway-cycleway,
+path.casing.tag-highway-bridleway,
+path.casing.tag-highway-corridor,
+path.casing.tag-highway-pedestrian,
+path.casing.tag-highway-steps,
+path.casing.tag-highway-road,
+path.casing.tag-living_street,
+path.casing.tag-service,
+path.casing.tag-track,
+path.casing.tag-path,
+path.casing.tag-footway,
+path.casing.tag-cycleway,
+path.casing.tag-bridleway,
+path.casing.tag-corridor,
+path.casing.tag-pedestrian,
+path.casing.tag-steps,
+path.casing.tag-road {
     stroke-width:6;
 }
 
-path.stroke.tag-highway-pedestrian {
-    stroke:#fff;
-    stroke-dasharray: 2, 8;
+.low-zoom path.stroke.tag-highway-living_street,
+.low-zoom path.stroke.tag-highway-service,
+.low-zoom path.stroke.tag-highway-track,
+.low-zoom path.stroke.tag-highway-path,
+.low-zoom path.stroke.tag-highway-footway,
+.low-zoom path.stroke.tag-highway-cycleway,
+.low-zoom path.stroke.tag-highway-bridleway,
+.low-zoom path.stroke.tag-highway-corridor,
+.low-zoom path.stroke.tag-highway-pedestrian,
+.low-zoom path.stroke.tag-highway-steps,
+.low-zoom path.stroke.tag-highway-road,
+.low-zoom path.stroke.tag-living_street,
+.low-zoom path.stroke.tag-service,
+.low-zoom path.stroke.tag-track,
+.low-zoom path.stroke.tag-path,
+.low-zoom path.stroke.tag-footway,
+.low-zoom path.stroke.tag-cycleway,
+.low-zoom path.stroke.tag-bridleway,
+.low-zoom path.stroke.tag-corridor,
+.low-zoom path.stroke.tag-pedestrian,
+.low-zoom path.stroke.tag-steps,
+.low-zoom path.stroke.tag-road {
+    stroke-width:2;
+}
+.low-zoom path.casing.tag-highway-living_street,
+.low-zoom path.casing.tag-highway-service,
+.low-zoom path.casing.tag-highway-track,
+.low-zoom path.casing.tag-highway-path,
+.low-zoom path.casing.tag-highway-footway,
+.low-zoom path.casing.tag-highway-cycleway,
+.low-zoom path.casing.tag-highway-bridleway,
+.low-zoom path.casing.tag-highway-corridor,
+.low-zoom path.casing.tag-highway-pedestrian,
+.low-zoom path.casing.tag-highway-steps,
+.low-zoom path.casing.tag-highway-road,
+.low-zoom path.casing.tag-living_street,
+.low-zoom path.casing.tag-service,
+.low-zoom path.casing.tag-track,
+.low-zoom path.casing.tag-path,
+.low-zoom path.casing.tag-footway,
+.low-zoom path.casing.tag-cycleway,
+.low-zoom path.casing.tag-bridleway,
+.low-zoom path.casing.tag-corridor,
+.low-zoom path.casing.tag-pedestrian,
+.low-zoom path.casing.tag-steps,
+.low-zoom path.casing.tag-road {
     stroke-width:4;
 }
-path.casing.tag-highway-pedestrian {
-    stroke:#8cd05f;
-    stroke-width:6;
+
+
+path.stroke.tag-highway-living_street,
+path.stroke.tag-living_street {
+    stroke:#ccc;
 }
-path.stroke.area.tag-highway-pedestrian {
+path.casing.tag-highway-living_street,
+path.casing.tag-living_street {
     stroke:#fff;
-    stroke-dasharray: none;
-    stroke-width: 2;
 }
 
-path.stroke.tag-highway-service {
+path.stroke.tag-highway-corridor,
+path.stroke.tag-highway-pedestrian,
+path.stroke.tag-corridor,
+path.stroke.tag-pedestrian {
     stroke:#fff;
-    stroke-width:4;
-}
-path.casing.tag-highway-service {
-    stroke:#666;
-    stroke-width:6;
-}
-.low-zoom path.stroke.tag-highway-service {
-    stroke-width:2;
+    stroke-dasharray: 2, 8;
 }
-.low-zoom path.casing.tag-highway-service {
-    stroke-width:4;
+path.casing.tag-highway-corridor,
+path.casing.tag-highway-pedestrian,
+path.casing.tag-corridor,
+path.casing.tag-pedestrian {
+    stroke:#8cd05f;
 }
 
-path.stroke.tag-highway-track {
-    stroke: #fff;
-    stroke-width: 4;
+path.stroke.tag-highway-road,
+path.stroke.tag-road {
+    stroke:#9e9e9e;
 }
-path.casing.tag-highway-track {
-    stroke: #996600;
-    stroke-width: 6;
-    stroke-linecap: butt;
-    stroke-dasharray: 6, 6;
+path.casing.tag-highway-road,
+path.casing.tag-road {
+    stroke:#444;
 }
-.low-zoom path.stroke.tag-highway-track {
-    stroke-width:2;
+
+path.stroke.tag-highway-service,
+path.stroke.tag-service {
+    stroke:#fff;
 }
-.low-zoom path.casing.tag-highway-track {
-    stroke-width:4;
+path.casing.tag-highway-service,
+path.casing.tag-service {
+    stroke:#666;
 }
 
-path.stroke.tag-highway-path {
-    stroke: #000;
-    stroke-width: 1 !important;
-    stroke-linecap: butt;
-    stroke-dasharray: 8, 4;
+path.stroke.tag-highway-track,
+path.stroke.tag-track {
+    stroke: #ccc;
 }
-path.casing.tag-highway-path {
-    stroke-width: 1 !important;
-    stroke: #fff;
+path.casing.tag-highway-track,
+path.casing.tag-track {
+    stroke: #996600;
+    stroke-linecap: butt;
+    stroke-dasharray: 6, 6;
+    stroke-width:7;
 }
 
+path.stroke.tag-highway-path,
 path.stroke.tag-highway-footway,
 path.stroke.tag-highway-cycleway,
 path.stroke.tag-highway-bridleway {
-    stroke-width: 4;
     stroke-linecap: butt;
     stroke-dasharray: 6, 6;
 }
+
+path.casing.tag-highway-path{
+    stroke: #c5b59f;
+}
 path.casing.tag-highway-footway,
 path.casing.tag-highway-cycleway,
 path.casing.tag-highway-bridleway {
-    stroke-width: 6;
     stroke: #fff;
 }
 
-.low-zoom path.stroke.tag-highway-footway,
-.low-zoom path.stroke.tag-highway-cycleway,
-.low-zoom path.stroke.tag-highway-bridleway {
-    stroke-width: 2;
-}
-.low-zoom path.casing.tag-highway-footway,
-.low-zoom path.casing.tag-highway-cycleway,
-.low-zoom path.casing.tag-highway-bridleway {
-    stroke-width: 4;
+path.stroke.tag-highway-path {
+    stroke: #746f6f;
 }
-
 path.stroke.tag-highway-footway {
     stroke: #ae8681;
 }
@@ -818,12 +908,10 @@ path.stroke.tag-highway-bridleway {
 
 path.stroke.tag-highway-steps {
     stroke: #81d25c;
-    stroke-width: 4;
     stroke-linecap: butt;
     stroke-dasharray: 3, 3;
 }
 path.casing.tag-highway-steps {
-    stroke-width: 6;
     stroke: #fff;
 }
 
@@ -996,6 +1084,7 @@ path.shadow.tag-bridge {
 path.casing.line.tag-railway.tag-bridge,
 path.casing.tag-highway-living_street.tag-bridge,
 path.casing.tag-highway-path.tag-bridge,
+path.casing.tag-highway-corridor.tag-bridge,
 path.casing.line.tag-highway-pedestrian.tag-bridge,
 path.casing.tag-highway-service.tag-bridge,
 path.casing.tag-highway-track.tag-bridge,
@@ -1009,6 +1098,7 @@ path.casing.tag-highway-bridleway.tag-bridge {
 path.shadow.line.tag-railway.tag-bridge,
 path.shadow.tag-highway-living_street.tag-bridge,
 path.shadow.tag-highway-path.tag-bridge,
+path.shadow.tag-highway-corridor.tag-bridge,
 path.shadow.line.tag-highway-pedestrian.tag-bridge,
 path.shadow.tag-highway-service.tag-bridge,
 path.shadow.tag-highway-track.tag-bridge,
@@ -1034,6 +1124,7 @@ path.shadow.tag-highway-bridleway.tag-bridge {
 .low-zoom path.casing.line.tag-railway.tag-bridge,
 .low-zoom path.casing.tag-highway-living_street.tag-bridge,
 .low-zoom path.casing.tag-highway-path.tag-bridge,
+.low-zoom path.casing.tag-highway-corridor.tag-bridge,
 .low-zoom path.casing.line.tag-highway-pedestrian.tag-bridge,
 .low-zoom path.casing.tag-highway-service.tag-bridge,
 .low-zoom path.casing.tag-highway-track.tag-bridge,
@@ -1047,6 +1138,7 @@ path.shadow.tag-highway-bridleway.tag-bridge {
 .low-zoom path.shadow.line.tag-railway.tag-bridge,
 .low-zoom path.shadow.tag-highway-living_street.tag-bridge,
 .low-zoom path.shadow.tag-highway-path.tag-bridge,
+.low-zoom path.shadow.tag-highway-corridor.tag-bridge,
 .low-zoom path.shadow.line.tag-highway-pedestrian.tag-bridge,
 .low-zoom path.shadow.tag-highway-service.tag-bridge,
 .low-zoom path.shadow.tag-highway-track.tag-bridge,
@@ -1094,18 +1186,18 @@ path.shadow.tag-cutting {
 }
 
 
-/* construction */
+/* Ephemeral */
 
-path.stroke.tag-highway-construction,
-path.casing.tag-highway-construction {
+path.stroke.tag-ephemeral,
+path.casing.tag-ephemeral {
     stroke-linecap: butt;
-    stroke-dasharray: 7, 7;
+    stroke-dasharray: 7, 3;
 }
 
-.low-zoom path.stroke.tag-highway-construction,
-.low-zoom path.casing.tag-highway-construction {
+.low-zoom path.stroke.tag-ephemeral,
+.low-zoom path.casing.tag-ephemeral {
     stroke-linecap: butt;
-    stroke-dasharray: 5, 5;
+    stroke-dasharray: 5, 2;
 }
 
 text {
@@ -1345,23 +1437,30 @@ text.gpx {
 }
 
 .layer-mapillary g * {
-    stroke-width: 2;
-    stroke: #ffc600;
+    stroke-width: 1;
+    stroke: #444;
     fill: #ffc600;
 }
 
 .layer-mapillary g:hover * {
-    stroke-width: 2;
-    stroke: #ff9900;
+    stroke-width: 1;
+    stroke: #333;
     fill: #ff9900;
 }
 
-.layer-mapillary g.selected * {
-    stroke-width: 4;
-    stroke: #ff5800;
+.layer-mapillary g.selected  * {
+    stroke-width: 2;
+    stroke: #222;
     fill: #ff5800;
 }
 
+.layer-mapillary g:hover path.viewfield,
+.layer-mapillary g.selected path.viewfield,
+.layer-mapillary g path.viewfield {
+    stroke-width: 0;
+    fill-opacity: 0.6;
+}
+
 /* Modes */
 
 .mode-draw-line .vertex.active,
@@ -1452,7 +1551,6 @@ body {
 .id-container {
     height: 100%;
     width: 100%;
-    position: fixed;
     min-width: 768px;
 }
 
@@ -1481,14 +1579,12 @@ body {
 
 .spinner {
     opacity: .5;
+    float: right;
 }
 
 .spinner img {
-    position: absolute;
     height: 40px;
     width: 40px;
-    right: 10px;
-    top: 10px;
     border-radius: 4px;
     margin-right: 10px;
     background: black;
@@ -1978,6 +2074,9 @@ button.save.has-count .count::before {
 .icon.back.blue        { background-position: -420px -20px;}
 .icon.forward.blue     { background-position: -440px -20px;}
 
+.icon.full-screen              { background-position: -620px -20px;}
+.active .icon.full-screen      { background-position: -640px -20px;}
+
 button[disabled] .icon.alert      { background-position:   0 -40px;}
 button[disabled] .icon.add-point  { background-position: -20px -40px;}
 button[disabled] .icon.add-line   { background-position: -40px -40px;}
@@ -2657,6 +2756,21 @@ a:hover .icon.out-link   { background-position: -500px -14px;}
     border-bottom-right-radius: 4px;
 }
 
+/* preset form cycleway */
+
+.form-field-cycleway .preset-input-wrap li {
+    border-bottom: 1px solid #CCC;
+}
+.form-field-cycleway .preset-input-wrap li:last-child {
+    border-bottom: 0;
+}
+
+.preset-input-cycleway-wrap input {
+    border-radius: 0;
+    border-width: 0;
+    border-left-width: 1px;
+}
+
 /* preset form numbers */
 
 input[type=number] {
@@ -3148,6 +3262,27 @@ img.wiki-image {
     background: rgba(0,0,0,.8);
 }
 
+/* Fullscreen button */
+div.full-screen {
+    float: right;
+    width: 40px;
+    margin-right: 10px;
+}
+
+div.full-screen .tooltip {
+    min-width: 160px;
+}
+
+div.full-screen > button, div.full-screen > button.active {
+    width: 40px;
+    height: 40px;
+    background: transparent;
+}
+
+div.full-screen > button:hover {
+    background-color: rgba(0, 0, 0, .8);
+}
+
 /* Map Controls */
 
 .map-controls {
@@ -3208,7 +3343,7 @@ img.wiki-image {
     padding-bottom: 10px;
 }
 
-.layer-list {
+.layer-list, .controls-list {
     margin-bottom: 10px;
     border: 1px solid #CCC;
     border-radius: 4px;
@@ -3258,6 +3393,22 @@ img.wiki-image {
     text-overflow: ellipsis;
 }
 
+.minimap-toggle {
+    display: block;
+    padding: 5px 10px;
+    cursor: pointer;
+    color: #7092FF;
+    border-radius: 3px;
+}
+
+.minimap-toggle.active {
+    background: #E8EBFF;
+}
+
+.minimap-toggle:hover {
+    background-color: #ececec;
+}
+
 .hide-toggle {
     display: block;
     padding-left:12px;
@@ -3559,13 +3710,24 @@ img.wiki-image {
     user-select: none;
 }
 
-.map-in-map-svg {
-    position: relative;
+.map-in-map-svg,
+.map-in-map-gpx {
+    top: 0;
+    left: 0;
     overflow: hidden;
     height: 100%;
     width: 100%;
 }
 
+.map-in-map-svg {
+    position: absolute;
+}
+
+.map-in-map-gpx {
+    position: relative;
+    z-index: 10;
+}
+
 .map-in-map-bbox {
     fill: none;
     stroke: rgba(255, 255, 0, 0.75);
@@ -3808,6 +3970,13 @@ img.wiki-image {
     vertical-align: middle;
 }
 
+.save-section .buttons .action {
+    display: inline-block;
+    margin: 0 20px 0 0;
+    text-align: center;
+    vertical-align: middle;
+}
+
 .loading-modal {
     text-align: center;
 }
index 30b72e6..25bc49f 100644 (file)
@@ -18996,7 +18996,6 @@ if (typeof exports === 'object') {
 }).call(function() {
   return this || (typeof window !== 'undefined' ? window : global);
 }());
-/* jshint ignore:start */
 (function () {
 'use strict';
 window.iD = function () {
@@ -19008,7 +19007,7 @@ window.iD = function () {
 
     // https://github.com/openstreetmap/iD/issues/772
     // http://mathiasbynens.be/notes/localstorage-pattern#comment-9
-    try { storage = localStorage; } catch (e) {}
+    try { storage = localStorage; } catch (e) {}  // eslint-disable-line no-empty
     storage = storage || (function() {
         var s = {};
         return {
@@ -19025,9 +19024,9 @@ window.iD = function () {
             else storage.setItem(k, v);
         } catch(e) {
             // localstorage quota exceeded
-            /* jshint devel:true */
+            /* eslint-disable no-console */
             if (typeof console !== 'undefined') console.error('localStorage quota exceeded');
-            /* jshint devel:false */
+            /* eslint-enable no-console */
         }
     };
 
@@ -19265,6 +19264,8 @@ window.iD = function () {
     context.pan = map.pan;
     context.zoomIn = map.zoomIn;
     context.zoomOut = map.zoomOut;
+    context.zoomInFurther = map.zoomInFurther;
+    context.zoomOutFurther = map.zoomOutFurther;
 
     context.surfaceRect = function() {
         // Work around a bug in Firefox.
@@ -19332,7 +19333,7 @@ window.iD = function () {
     return d3.rebind(context, dispatch, 'on');
 };
 
-iD.version = '1.7.3';
+iD.version = '1.7.4';
 
 (function() {
     var detected = {};
@@ -19568,8 +19569,21 @@ iD.taginfo = function() {
         if (parameters.value) path = 'tag/wiki_pages?';
         else if (parameters.rtype) path = 'relation/wiki_pages?';
 
+        var decoratedCallback;
+        if (parameters.value) {
+            decoratedCallback = function(err, data) {
+                // The third argument to callback is the softfail flag, to
+                // make the callback function not show a message to the end
+                // user when no docs are found but just return false.
+                var docsFound = callback(err, data, true);
+                if (!docsFound) {
+                    taginfo.docs(_.omit(parameters, 'value'), callback);
+                }
+            };
+        }
+
         request(endpoint + path +
-            iD.util.qsString(parameters), debounce, callback);
+            iD.util.qsString(parameters), debounce, decoratedCallback || callback);
     };
 
     taginfo.endpoint = function(_) {
@@ -19794,8 +19808,9 @@ iD.util.fastMouse = function(container) {
     };
 };
 
-/* jshint -W103 */
+/* eslint-disable no-proto */
 iD.util.getPrototypeOf = Object.getPrototypeOf || function(obj) { return obj.__proto__; };
+/* eslint-enable no-proto */
 
 iD.util.asyncMap = function(inputs, func, callback) {
     var remaining = inputs.length,
@@ -19806,7 +19821,7 @@ iD.util.asyncMap = function(inputs, func, callback) {
         func(d, function done(err, data) {
             errors[i] = err;
             results[i] = data;
-            remaining --;
+            remaining--;
             if (!remaining) callback(errors, results);
         });
     });
@@ -20076,7 +20091,7 @@ iD.geo.polygonContainsPolygon = function(outer, inner) {
     });
 };
 
-iD.geo.polygonIntersectsPolygon = function(outer, inner) {
+iD.geo.polygonIntersectsPolygon = function(outer, inner, checkSegments) {
     function testSegments(outer, inner) {
         for (var i = 0; i < outer.length - 1; i++) {
             for (var j = 0; j < inner.length - 1; j++) {
@@ -20088,9 +20103,13 @@ iD.geo.polygonIntersectsPolygon = function(outer, inner) {
         return false;
     }
 
-    return _.some(inner, function(point) {
-        return iD.geo.pointInPolygon(point, outer);
-    }) || testSegments(outer, inner);
+    function testPoints(outer, inner) {
+        return _.some(inner, function(point) {
+            return iD.geo.pointInPolygon(point, outer);
+        });
+    }
+
+   return testPoints(outer, inner) || (!!checkSegments && testSegments(outer, inner));
 };
 
 iD.geo.pathLength = function(path) {
@@ -20739,16 +20758,16 @@ iD.actions.Circularize = function(wayId, projection, maxAngle) {
                 var startIndex1 = way.nodes.lastIndexOf(startNode.id),
                     endIndex1 = way.nodes.lastIndexOf(endNode.id),
                     wayDirection1 = (endIndex1 - startIndex1);
-                if (wayDirection1 < -1) { wayDirection1 = 1;}
+                if (wayDirection1 < -1) { wayDirection1 = 1; }
 
-                /*jshint -W083 */
+                /* eslint-disable no-loop-func */
                 _.each(_.without(graph.parentWays(keyNodes[i]), way), function(sharedWay) {
                     if (sharedWay.areAdjacent(startNode.id, endNode.id)) {
                         var startIndex2 = sharedWay.nodes.lastIndexOf(startNode.id),
                             endIndex2 = sharedWay.nodes.lastIndexOf(endNode.id),
                             wayDirection2 = (endIndex2 - startIndex2),
                             insertAt = endIndex2;
-                        if (wayDirection2 < -1) { wayDirection2 = 1;}
+                        if (wayDirection2 < -1) { wayDirection2 = 1; }
 
                         if (wayDirection1 !== wayDirection2) {
                             inBetweenNodes.reverse();
@@ -20760,7 +20779,7 @@ iD.actions.Circularize = function(wayId, projection, maxAngle) {
                         graph = graph.replace(sharedWay);
                     }
                 });
-                /*jshint +W083 */
+                /* eslint-enable no-loop-func */
             }
 
         }
@@ -20835,7 +20854,7 @@ iD.actions.Connect = function(nodeIds) {
         for (var i = 0; i < nodeIds.length - 1; i++) {
             var node = graph.entity(nodeIds[i]);
 
-            /*jshint -W083 */
+            /* eslint-disable no-loop-func */
             graph.parentWays(node).forEach(function(parent) {
                 if (!parent.areAdjacent(node.id, survivor.id)) {
                     graph = graph.replace(parent.replaceNode(node.id, survivor.id));
@@ -20845,7 +20864,7 @@ iD.actions.Connect = function(nodeIds) {
             graph.parentRelations(node).forEach(function(parent) {
                 graph = graph.replace(parent.replaceMember(node, survivor));
             });
-            /*jshint +W083 */
+            /* eslint-enable no-loop-func */
 
             survivor = survivor.mergeTags(node.tags);
             graph = iD.actions.DeleteNode(node.id)(graph);
@@ -21497,12 +21516,12 @@ iD.actions.MergeRemoteChanges = function(id, localGraph, remoteGraph, formatUser
 
             } else if (option === 'force_local' && local) {
                 target = iD.Entity(local);
-                if (remote && remote.visible) {
+                if (remote) {
                     target = target.update({ version: remote.version });
                 }
                 updates.replacements.push(target);
 
-            } else if (option === 'safe' && local && remote) {
+            } else if (option === 'safe' && local && remote && local.version !== remote.version) {
                 target = iD.Entity(local, { version: remote.version });
                 if (remote.visible) {
                     target = mergeLocation(remote, target);
@@ -24922,6 +24941,14 @@ iD.modes.Select = function(context, selectedIDs) {
         }
     }
 
+    function toggleMenu() {
+        if (d3.select('.radial-menu').empty()) {
+            showMenu();
+        } else {
+            closeMenu();
+        }
+    }
+
     mode.selectedIDs = function() {
         return selectedIDs;
     };
@@ -25008,9 +25035,9 @@ iD.modes.Select = function(context, selectedIDs) {
 
         operations.unshift(iD.operations.Delete(selectedIDs, context));
 
-        keybinding.on('⎋', function() {
-            context.enter(iD.modes.Browse(context));
-        }, true);
+        keybinding
+            .on('⎋', function() { context.enter(iD.modes.Browse(context)); }, true)
+            .on('space', toggleMenu);
 
         operations.forEach(function(operation) {
             operation.keys.forEach(function(key) {
@@ -25598,15 +25625,20 @@ iD.operations.Straighten = function(selectedIDs, context) {
 
     return operation;
 };
-iD.Connection = function() {
+iD.Connection = function(useHttps) {
+    if (typeof useHttps !== 'boolean') {
+      useHttps = window.location.protocol === 'https:';
+    }
+
     var event = d3.dispatch('authenticating', 'authenticated', 'auth', 'loading', 'loaded'),
-        url = 'http://www.openstreetmap.org',
+        protocol = useHttps ? 'https:' : 'http:',
+        url = protocol + '//www.openstreetmap.org',
         connection = {},
         inflight = {},
         loadedTiles = {},
         tileZoom = 16,
         oauth = osmAuth({
-            url: 'http://www.openstreetmap.org',
+            url: protocol + '//www.openstreetmap.org',
             oauth_consumer_key: '5A043yRSEugj4DJ5TljuapfnrflWDte8jTOcWLlT',
             oauth_secret: 'aB3jKq1TRsCOUrfOIZ6oQMEDmv2ptV76PA54NGLL',
             loading: authenticating,
@@ -25660,6 +25692,17 @@ iD.Connection = function() {
             });
     };
 
+    connection.loadEntityVersion = function(id, version, callback) {
+        var type = iD.Entity.id.type(id),
+            osmID = iD.Entity.id.toOSM(id);
+
+        connection.loadFromURL(
+            url + '/api/0.6/' + type + '/' + osmID + '/' + version,
+            function(err, entities) {
+                if (callback) callback(err, {data: entities});
+            });
+    };
+
     connection.loadMultiple = function(ids, callback) {
         _.each(_.groupBy(_.uniq(ids), iD.Entity.id.type), function(v, k) {
             var type = k + 's',
@@ -25794,7 +25837,7 @@ iD.Connection = function() {
                     tag: _.map(tags, function(value, key) {
                         return { '@k': key, '@v': value };
                     }),
-                    '@version': 0.3,
+                    '@version': 0.6,
                     '@generator': 'iD'
                 }
             }
@@ -25824,7 +25867,7 @@ iD.Connection = function() {
 
         return {
             osmChange: {
-                '@version': 0.3,
+                '@version': 0.6,
                 '@generator': 'iD',
                 'create': nest(changes.created.map(rep), ['node', 'way', 'relation']),
                 'modify': nest(changes.modified.map(rep), ['node', 'way', 'relation']),
@@ -25839,7 +25882,7 @@ iD.Connection = function() {
                 created_by: 'iD ' + iD.version,
                 imagery_used: imageryUsed.join(';').substr(0, 255),
                 host: (window.location.origin + window.location.pathname).substr(0, 255),
-                locale: detected.locale,
+                locale: detected.locale
             };
 
         if (comment) {
@@ -26814,6 +26857,13 @@ iD.History = function(context) {
             };
         },
 
+        validate: function(changes) {
+            return _(iD.validations)
+                .map(function(fn) { return fn()(changes, stack[index].graph); })
+                .flatten()
+                .value();
+        },
+
         hasChanges: function() {
             return this.difference().length() > 0;
         },
@@ -26841,7 +26891,7 @@ iD.History = function(context) {
         },
 
         toJSON: function() {
-            if (stack.length <= 1) return;
+            if (!this.hasChanges()) return;
 
             var allEntities = {},
                 baseEntities = {},
@@ -26892,7 +26942,7 @@ iD.History = function(context) {
             });
         },
 
-        fromJSON: function(json) {
+        fromJSON: function(json, loadChildNodes) {
             var h = JSON.parse(json);
 
             iD.Entity.id.next = h.nextIDs;
@@ -26906,7 +26956,7 @@ iD.History = function(context) {
                 });
 
                 if (h.version === 3) {
-                    // this merges originals for changed entities into the base of
+                    // This merges originals for changed entities into the base of
                     // the stack even if the current stack doesn't have them (for
                     // example when iD has been restarted in a different region)
                     var baseEntities = h.baseEntities.map(function(entity) {
@@ -26914,6 +26964,38 @@ iD.History = function(context) {
                     });
                     stack[0].graph.rebase(baseEntities, _.pluck(stack, 'graph'), true);
                     tree.rebase(baseEntities, true);
+
+                    // When we restore a modified way, we also need to fetch any missing
+                    // childnodes that would normally have been downloaded with it.. #2142
+                    if (loadChildNodes) {
+                        var missing =  _(baseEntities)
+                                .filter('type', 'way')
+                                .pluck('nodes')
+                                .flatten()
+                                .uniq()
+                                .reject(function(n) { return stack[0].graph.hasEntity(n); })
+                                .value();
+
+                        if (!_.isEmpty(missing)) {
+                            var childNodesLoaded = function(err, result) {
+                                if (err) return;
+
+                                var visible = _.groupBy(result.data, 'visible');
+                                if (!_.isEmpty(visible.true)) {
+                                    stack[0].graph.rebase(visible.true, _.pluck(stack, 'graph'), false);
+                                    tree.rebase(visible.true, false);
+                                }
+
+                                // fetch older versions of nodes that were deleted..
+                                _.each(visible.false, function(entity) {
+                                    context.connection()
+                                        .loadEntityVersion(entity.id, +entity.version - 1, childNodesLoaded);
+                                });
+                            };
+
+                            context.connection().loadMultiple(missing, childNodesLoaded);
+                        }
+                    }
                 }
 
                 stack = h.stack.map(function(d) {
@@ -26986,7 +27068,7 @@ iD.History = function(context) {
             if (!lock.locked()) return;
 
             var json = context.storage(getKey('saved_history'));
-            if (json) history.fromJSON(json);
+            if (json) history.fromJSON(json, true);
         },
 
         _getKey: getKey
@@ -27889,6 +27971,7 @@ iD.Background = function(context) {
 
         reader.onload = function(e) {
             gpxLayer.geojson(toGeoJSON.gpx(toDom(e.target.result)));
+            iD.ui.MapInMap.gpxLayer.geojson(toGeoJSON.gpx(toDom(e.target.result)));
             background.zoomToGpxLayer();
             dispatch.change();
         };
@@ -27905,7 +27988,7 @@ iD.Background = function(context) {
                     return _.union(coords, feature.geometry.type === 'Point' ? [c] : c);
                 }, []);
 
-            if (!iD.geo.polygonIntersectsPolygon(viewport, coords)) {
+            if (!iD.geo.polygonIntersectsPolygon(viewport, coords, true)) {
                 var extent = iD.geo.Extent(d3.geo.bounds(gpxLayer.geojson()));
                 map.centerZoom(extent.center(), map.trimmedExtentZoom(extent));
             }
@@ -27914,6 +27997,7 @@ iD.Background = function(context) {
 
     background.toggleGpxLayer = function() {
         gpxLayer.enable(!gpxLayer.enable());
+        iD.ui.MapInMap.gpxLayer.enable(!iD.ui.MapInMap.gpxLayer.enable());
         dispatch.change();
     };
 
@@ -28009,8 +28093,11 @@ iD.Background = function(context) {
         var gpx = q.gpx;
         if (gpx) {
             d3.text(gpx, function(err, gpxTxt) {
-                gpxLayer.geojson(toGeoJSON.gpx(toDom(gpxTxt)));
-                dispatch.change();
+                if (!err) {
+                    gpxLayer.geojson(toGeoJSON.gpx(toDom(gpxTxt)));
+                    iD.ui.MapInMap.gpxLayer.geojson(toGeoJSON.gpx(toDom(gpxTxt)));
+                    dispatch.change();
+                }
             });
         }
     };
@@ -28072,7 +28159,7 @@ iD.BackgroundSource = function(data) {
     source.intersects = function(extent) {
         extent = extent.polygon();
         return !data.polygon || data.polygon.some(function(polygon) {
-            return iD.geo.polygonIntersectsPolygon(polygon, extent);
+            return iD.geo.polygonIntersectsPolygon(polygon, extent, true);
         });
     };
 
@@ -28192,7 +28279,8 @@ iD.Features = function(context) {
         'cycleway': true,
         'bridleway': true,
         'steps': true,
-        'pedestrian': true
+        'pedestrian': true,
+        'corridor': true
     };
 
     var past_futures = {
@@ -29014,8 +29102,19 @@ iD.Map = function(context) {
         return redraw();
     };
 
-    map.zoomIn = function() { interpolateZoom(~~map.zoom() + 1); };
-    map.zoomOut = function() { interpolateZoom(~~map.zoom() - 1); };
+    function zoomIn(integer) {
+      interpolateZoom(~~map.zoom() + integer);
+    }
+
+    function zoomOut(integer) {
+      interpolateZoom(~~map.zoom() - integer);
+    }
+
+    map.zoomIn = function() { zoomIn(1); };
+    map.zoomInFurther = function() { zoomIn(4); };
+
+    map.zoomOut = function() { zoomOut(1); };
+    map.zoomOutFurther = function() { zoomOut(4); };
 
     map.center = function(loc) {
         if (!arguments.length) {
@@ -29274,12 +29373,14 @@ iD.MapillaryLayer = function (context) {
                     .attr('class', 'image');
 
                 enter.append('path')
-                    .attr('d', 'M 0,-5 l 0,-20 l -5,30 l 10,0 l -5,-30');
+                    .attr('class', 'viewfield')
+                    .attr('transform', 'scale(1.5,1.5),translate(-8, -13)')
+                    .attr('d', 'M 6,9 C 8,8.4 8,8.4 10,9 L 16,-2 C 12,-5 4,-5 0,-2 z');
 
                 enter.append('circle')
                     .attr('dx', '0')
                     .attr('dy', '0')
-                    .attr('r', '8');
+                    .attr('r', '6');
 
                 g.attr('transform', transform);
 
@@ -29500,7 +29601,7 @@ iD.svg = {
             if (entity.id in cache) {
                 return cache[entity.id];
             } else {
-                return cache[entity.id] = path(entity.asGeoJSON(graph)); // jshint ignore:line
+                return cache[entity.id] = path(entity.asGeoJSON(graph));
             }
         };
     },
@@ -30022,7 +30123,7 @@ iD.svg.Labels = function(projection, context) {
 
     function reverse(p) {
         var angle = Math.atan2(p[1][1] - p[0][1], p[1][0] - p[0][0]);
-        return !(p[0][0] < p[p.length - 1][0] && angle < Math.PI/2 && angle > - Math.PI/2);
+        return !(p[0][0] < p[p.length - 1][0] && angle < Math.PI/2 && angle > -Math.PI/2);
     }
 
     function lineString(nodes) {
@@ -30119,7 +30220,7 @@ iD.svg.Labels = function(projection, context) {
             if (!icon && !iD.util.displayName(entity))
                 continue;
 
-            for (k = 0; k < label_stack.length; k ++) {
+            for (k = 0; k < label_stack.length; k++) {
                 if (geometry === label_stack[k][0] && entity.tags[label_stack[k][1]]) {
                     labelable[k].push(entity);
                     break;
@@ -30142,7 +30243,7 @@ iD.svg.Labels = function(projection, context) {
         // Try and find a valid label for labellable entities
         for (k = 0; k < labelable.length; k++) {
             var font_size = font_sizes[k];
-            for (i = 0; i < labelable[k].length; i ++) {
+            for (i = 0; i < labelable[k].length; i++) {
                 entity = labelable[k][i];
                 var name = iD.util.displayName(entity),
                     width = name && textWidth(name, font_size),
@@ -30183,7 +30284,7 @@ iD.svg.Labels = function(projection, context) {
                 length = iD.geo.pathLength(nodes);
             if (length < width + 20) return;
 
-            for (var i = 0; i < lineOffsets.length; i ++) {
+            for (var i = 0; i < lineOffsets.length; i++) {
                 var offset = lineOffsets[i],
                     middle = offset / 100 * length,
                     start = middle - width/2;
@@ -30211,7 +30312,7 @@ iD.svg.Labels = function(projection, context) {
                 entitywidth = projection(extent[1])[0] - projection(extent[0])[0],
                 rect;
 
-            if (!centroid || entitywidth < 20) return;
+            if (isNaN(centroid[0]) || entitywidth < 20) return;
 
             var iconX = centroid[0] - (iconSize/2),
                 iconY = centroid[1] - (iconSize/2),
@@ -30581,20 +30682,26 @@ iD.svg.Surface = function() {
     };
 };
 iD.svg.TagClasses = function() {
-    var primary = [
+    var primaries = [
             'building', 'highway', 'railway', 'waterway', 'aeroway',
             'motorway', 'boundary', 'power', 'amenity', 'natural', 'landuse',
             'leisure', 'place'
         ],
-        secondary = [
-            'oneway', 'bridge', 'tunnel', 'construction', 'embankment', 'cutting', 'barrier'
+        statuses = [
+            'proposed', 'construction', 'disused', 'abandoned', 'dismantled',
+            'razed', 'demolished', 'obliterated'
+        ],
+        secondaries = [
+            'oneway', 'bridge', 'tunnel', 'embankment', 'cutting', 'barrier'
         ],
         tagClassRe = /^tag-/,
         tags = function(entity) { return entity.tags; };
 
+
     var tagClasses = function(selection) {
         selection.each(function tagClassesEach(entity) {
-            var classes, value = this.className;
+            var value = this.className,
+                classes, primary, status;
 
             if (value.baseVal !== undefined) value = value.baseVal;
 
@@ -30604,16 +30711,52 @@ iD.svg.TagClasses = function() {
 
             var t = tags(entity), i, k, v;
 
-            for (i = 0; i < primary.length; i++) {
-                k = primary[i];
+            // pick at most one primary classification tag..
+            for (i = 0; i < primaries.length; i++) {
+                k = primaries[i];
                 v = t[k];
                 if (!v || v === 'no') continue;
-                classes += ' tag-' + k + ' tag-' + k + '-' + v;
+
+                primary = k;
+                if (statuses.indexOf(v) !== -1) {   // e.g. `railway=abandoned`
+                    status = v;
+                    classes += ' tag-' + k;
+                } else {
+                    classes += ' tag-' + k + ' tag-' + k + '-' + v;
+                }
+
                 break;
             }
 
-            for (i = 0; i < secondary.length; i++) {
-                k = secondary[i];
+            // add at most one ephemeral status tag, only if relates to primary tag..
+            if (!status) {
+                for (i = 0; i < statuses.length; i++) {
+                    k = statuses[i];
+                    v = t[k];
+                    if (!v || v === 'no') continue;
+
+                    if (v === 'yes') {   // e.g. `railway=rail + abandoned=yes`
+                        status = k;
+                    }
+                    else if (primary && primary === v) {  // e.g. `railway=rail + abandoned=railway`
+                        status = k;
+                    } else if (!primary && primaries.indexOf(v) !== -1) {  // e.g. `abandoned=railway`
+                        status = k;
+                        primary = v;
+                        classes += ' tag-' + v;
+                    }  // else ignore e.g.  `highway=path + abandoned=railway`
+
+                    if (status) break;
+                }
+            }
+
+            if (status) {
+                classes += ' tag-ephemeral';
+            }
+
+            // add any secondary (structure) tags
+            for (i = 0; i < secondaries.length; i++) {
+                k = secondaries[i];
                 v = t[k];
                 if (!v || v === 'no') continue;
                 classes += ' tag-' + k + ' tag-' + k + '-' + v;
@@ -30953,6 +31096,10 @@ iD.ui = function(context) {
             .attr('class', 'button-wrap col1')
             .call(iD.ui.Save(context));
 
+        bar.append('div')
+            .attr('class', 'full-screen')
+            .call(iD.ui.FullScreen(context));
+
         bar.append('div')
             .attr('class', 'spinner')
             .call(iD.ui.Spinner(context));
@@ -31047,25 +31194,37 @@ iD.ui = function(context) {
             context.history().unlock();
         };
 
+        var mapDimensions = map.dimensions();
+
         d3.select(window).on('resize.editor', function() {
+            mapDimensions = m.dimensions();
             map.dimensions(m.dimensions());
         });
 
         function pan(d) {
             return function() {
+                d3.event.preventDefault();
                 context.pan(d);
             };
         }
 
         // pan amount
-        var pa = 5;
+        var pa = 10;
 
         var keybinding = d3.keybinding('main')
             .on('⌫', function() { d3.event.preventDefault(); })
             .on('←', pan([pa, 0]))
             .on('↑', pan([0, pa]))
             .on('→', pan([-pa, 0]))
-            .on('↓', pan([0, -pa]));
+            .on('↓', pan([0, -pa]))
+            .on('⇧←', pan([mapDimensions[0], 0]))
+            .on('⇧↑', pan([0, mapDimensions[1]]))
+            .on('⇧→', pan([-mapDimensions[0], 0]))
+            .on('⇧↓', pan([0, -mapDimensions[1]]))
+            .on(iD.ui.cmd('⌘←'), pan([mapDimensions[0], 0]))
+            .on(iD.ui.cmd('⌘↑'), pan([0, mapDimensions[1]]))
+            .on(iD.ui.cmd('⌘→'), pan([-mapDimensions[0], 0]))
+            .on(iD.ui.cmd('⌘↓'), pan([0, -mapDimensions[1]]));
 
         d3.select(document)
             .call(keybinding);
@@ -31510,6 +31669,28 @@ iD.ui.Background = function(context) {
         var overlayList = content.append('ul')
             .attr('class', 'layer-list');
 
+        var controls = content.append('div')
+            .attr('class', 'controls-list');
+
+        var minimapLabel = controls
+            .append('label')
+            .call(bootstrap.tooltip()
+                .html(true)
+                .title(iD.ui.tooltipHtml(t('background.minimap.tooltip'), '/'))
+                .placement('top')
+            );
+
+        minimapLabel.classed('minimap-toggle', true)
+            .append('input')
+            .attr('type', 'checkbox')
+            .on('change', function() {
+                iD.ui.MapInMap.toggle();
+                d3.event.preventDefault();
+            });
+
+        minimapLabel.append('span')
+            .text(t('background.minimap.description'));
+
         var adjustments = content.append('div')
             .attr('class', 'adjustments');
 
@@ -31597,14 +31778,13 @@ iD.ui.cmd = function(code) {
     return keys.join('+');
 };
 iD.ui.Commit = function(context) {
-    var event = d3.dispatch('cancel', 'save');
+    var dispatch = d3.dispatch('cancel', 'save');
 
     function commit(selection) {
         var changes = context.history().changes(),
             summary = context.history().difference().summary();
 
         function zoomToEntity(change) {
-
             var entity = change.entity;
             if (change.changeType !== 'deleted' &&
                 context.graph().entity(entity.id).geometry(context.graph()) !== 'vertex') {
@@ -31618,18 +31798,13 @@ iD.ui.Commit = function(context) {
         var header = selection.append('div')
             .attr('class', 'header fillL');
 
-        header.append('button')
-            .attr('class', 'fr')
-            .on('click', event.cancel)
-            .append('span')
-            .attr('class', 'icon close');
-
         header.append('h3')
             .text(t('commit.title'));
 
         var body = selection.append('div')
             .attr('class', 'body');
 
+
         // Comment Section
         var commentSection = body.append('div')
             .attr('class', 'modal-section form-field commit-form');
@@ -31648,9 +31823,10 @@ iD.ui.Commit = function(context) {
 
         commentField.node().select();
 
+
         // Warnings
         var warnings = body.selectAll('div.warning-section')
-            .data([iD.validate(changes, context.graph())])
+            .data([context.history().validate(changes)])
             .enter()
             .append('div')
             .attr('class', 'modal-section warning-section fillL2')
@@ -31684,9 +31860,10 @@ iD.ui.Commit = function(context) {
                 .placement('top')
             );
 
-        // Save Section
+
+        // Upload Explanation
         var saveSection = body.append('div')
-            .attr('class','modal-section fillL cf');
+            .attr('class','modal-section save-section fillL cf');
 
         var prose = saveSection.append('p')
             .attr('class', 'commit-info')
@@ -31713,11 +31890,15 @@ iD.ui.Commit = function(context) {
             prose.html(t('commit.upload_explanation_with_user', {user: userLink.html()}));
         });
 
-        // Confirm Button
-        var saveButton = saveSection.append('button')
-            .attr('class', 'action col6 button')
+
+        // Buttons
+        var buttonSection = saveSection.append('div')
+            .attr('class','buttons fillL cf');
+
+        var saveButton = buttonSection.append('button')
+            .attr('class', 'action col5 button')
             .on('click.save', function() {
-                event.save({
+                dispatch.save({
                     comment: commentField.node().value
                 });
             });
@@ -31726,6 +31907,16 @@ iD.ui.Commit = function(context) {
             .attr('class', 'label')
             .text(t('commit.save'));
 
+        var cancelButton = buttonSection.append('button')
+            .attr('class', 'action col5 button')
+            .on('click.cancel', function() { dispatch.cancel(); });
+
+        cancelButton.append('span')
+            .attr('class', 'label')
+            .text(t('commit.cancel'));
+
+
+        // Changes
         var changeSection = body.selectAll('div.commit-section')
             .data([0])
             .enter()
@@ -31802,7 +31993,7 @@ iD.ui.Commit = function(context) {
         }
     }
 
-    return d3.rebind(commit, event, 'on');
+    return d3.rebind(commit, dispatch, 'on');
 };
 iD.ui.confirm = function(selection) {
     var modal = iD.ui.modal(selection);
@@ -32725,6 +32916,79 @@ iD.ui.flash = function(selection) {
 
     return modal;
 };
+iD.ui.FullScreen = function(context) {
+    var element = context.container().node(),
+        keybinding = d3.keybinding('full-screen');
+        // button;
+
+    function getFullScreenFn() {
+        if (element.requestFullscreen) {
+            return element.requestFullscreen;
+        } else if (element.msRequestFullscreen) {
+            return  element.msRequestFullscreen;
+        } else if (element.mozRequestFullScreen) {
+            return  element.mozRequestFullScreen;
+        } else if (element.webkitRequestFullscreen) {
+            return element.webkitRequestFullscreen;
+        }
+    }
+
+    function getExitFullScreenFn() {
+        if (document.exitFullscreen) {
+            return document.exitFullscreen;
+        } else if (document.msExitFullscreen) {
+            return  document.msExitFullscreen;
+        } else if (document.mozCancelFullScreen) {
+            return  document.mozCancelFullScreen;
+        } else if (document.webkitExitFullscreen) {
+            return document.webkitExitFullscreen;
+        }
+    }
+
+    function isFullScreen() {
+        return document.fullscreenElement || document.mozFullScreenElement || document.webkitFullscreenElement ||
+            document.msFullscreenElement;
+    }
+
+    function isSupported() {
+        return !!getFullScreenFn();
+    }
+
+    function fullScreen() {
+        d3.event.preventDefault();
+        if (!isFullScreen()) {
+            // button.classed('active', true);
+            getFullScreenFn().apply(element);
+        } else {
+            // button.classed('active', false);
+            getExitFullScreenFn().apply(document);
+        }
+    }
+
+    return function() { // selection) {
+        if (!isSupported())
+            return;
+
+        // var tooltip = bootstrap.tooltip()
+        //     .placement('left');
+
+        // button = selection.append('button')
+        //     .attr('title', t('full_screen'))
+        //     .attr('tabindex', -1)
+        //     .on('click', fullScreen)
+        //     .call(tooltip);
+
+        // button.append('span')
+        //     .attr('class', 'icon full-screen');
+
+        keybinding
+            .on(iD.ui.cmd('f11'), fullScreen)
+            .on(iD.ui.cmd('⌘⇧F'), fullScreen);
+
+        d3.select(document)
+            .call(keybinding);
+    };
+};
 iD.ui.Geolocate = function(map) {
     function click() {
         navigator.geolocation.getCurrentPosition(
@@ -33242,7 +33506,7 @@ iD.ui.intro = function(context) {
         // Load semi-real data used in intro
         context.connection().toggle(false).flush();
         context.history().reset();
-        
+
         introGraph = JSON.parse(iD.introGraph);
         for (var key in introGraph) {
             introGraph[key] = iD.Entity(introGraph[key]);
@@ -33285,7 +33549,7 @@ iD.ui.intro = function(context) {
             context.connection().toggle(true).flush().loadedTiles(loadedTiles);
             context.history().reset().merge(d3.values(baseEntities));
             context.background().baseLayerSource(background);
-            if (history) context.history().fromJSON(history);
+            if (history) context.history().fromJSON(history, false);
             window.location.replace(hash);
             context.inIntro(false);
             d3.select('#bar button.save').on('click', save);
@@ -33789,7 +34053,10 @@ iD.ui.MapInMap = function(context) {
     var key = '/';
 
     function map_in_map(selection) {
+
         var backgroundLayer = iD.TileLayer(),
+            dispatch = d3.dispatch('change'),
+            gpxLayer = iD.GpxLayer(context, dispatch),
             overlayLayer = iD.TileLayer(),
             projection = iD.geo.RawMercator(),
             zoom = d3.behavior.zoom()
@@ -33798,7 +34065,9 @@ iD.ui.MapInMap = function(context) {
             transformed = false,
             panning = false,
             zDiff = 6,    // by default, minimap renders at (main zoom - 6)
-            tStart, tLast, tCurr, kLast, kCurr, tiles, svg, timeoutId;
+            tStart, tLast, tCurr, kLast, kCurr, tiles, svg, gpx, timeoutId;
+
+        iD.ui.MapInMap.gpxLayer = gpxLayer;
 
         function ztok(z) { return 256 * Math.pow(2, z); }
         function ktoz(k) { return Math.log(k) / Math.LN2 - 8; }
@@ -33837,6 +34106,7 @@ iD.ui.MapInMap = function(context) {
 
             iD.util.setTransform(tiles, tX, tY, scale);
             iD.util.setTransform(svg, 0, 0, scale);
+            iD.util.setTransform(gpx, 0, 0, scale);
             transformed = true;
 
             queueRedraw();
@@ -33898,6 +34168,7 @@ iD.ui.MapInMap = function(context) {
             if (transformed) {
                 iD.util.setTransform(tiles, 0, 0);
                 iD.util.setTransform(svg, 0, 0);
+                iD.util.setTransform(gpx, 0, 0);
                 transformed = false;
             }
         }
@@ -33921,7 +34192,6 @@ iD.ui.MapInMap = function(context) {
                 .append('div')
                 .attr('class', 'map-in-map-tiles');
 
-
             // redraw background
             backgroundLayer
                 .source(context.background().baseLayerSource())
@@ -33971,6 +34241,20 @@ iD.ui.MapInMap = function(context) {
                     .call(overlayLayer);
             }
 
+            gpxLayer
+                .projection(projection);
+
+            gpx = tiles
+                .selectAll('.map-in-map-gpx')
+                .data([0]);
+
+            gpx.enter()
+                .append('div')
+                .attr('class', 'map-in-map-gpx');
+
+            gpx.call(gpxLayer);
+            gpx.dimensions(dMini);
+
             // redraw bounding box
             if (!panning) {
                 var getPath = d3.geo.path().projection(projection),
@@ -34011,6 +34295,8 @@ iD.ui.MapInMap = function(context) {
         function toggle() {
             if (d3.event) d3.event.preventDefault();
 
+            var label = d3.select('.minimap-toggle');
+
             if (hidden()) {
                 selection
                     .style('display', 'block')
@@ -34019,6 +34305,9 @@ iD.ui.MapInMap = function(context) {
                     .duration(200)
                     .style('opacity', 1);
 
+                label.classed('active', true)
+                    .select('input').property('checked', true);
+
                 redraw();
 
             } else {
@@ -34031,9 +34320,13 @@ iD.ui.MapInMap = function(context) {
                     .each('end', function() {
                         d3.select(this).style('display', 'none');
                     });
+
+                label.classed('active', false)
+                    .select('input').property('checked', false);
             }
         }
 
+        iD.ui.MapInMap.toggle = toggle;
 
         selection
             .on('mousedown.map-in-map', startMouse)
@@ -35307,7 +35600,7 @@ iD.ui.RawTagEditor = function(context) {
         $items.order();
 
         $items.each(function(tag) {
-            var reference = iD.ui.TagReference({key: tag.key}, context);
+            var reference = iD.ui.TagReference({key: tag.key, value: tag.value}, context);
 
             if (state === 'hover') {
                 reference.showing(false);
@@ -35945,7 +36238,7 @@ iD.ui.Status = function(context) {
     };
 };
 iD.ui.Success = function(context) {
-    var event = d3.dispatch('cancel'),
+    var dispatch = d3.dispatch('cancel'),
         changeset;
 
     function success(selection) {
@@ -35957,9 +36250,9 @@ iD.ui.Success = function(context) {
 
         header.append('button')
             .attr('class', 'fr')
+            .on('click', function() { dispatch.cancel(); })
             .append('span')
-            .attr('class', 'icon close')
-            .on('click', function() { event.cancel(success); });
+            .attr('class', 'icon close');
 
         header.append('h3')
             .text(t('success.just_edited'));
@@ -36001,7 +36294,7 @@ iD.ui.Success = function(context) {
         return success;
     };
 
-    return d3.rebind(success, event, 'on');
+    return d3.rebind(success, dispatch, 'on');
 };
 iD.ui.TagReference = function(tag, context) {
     var tagReference = {},
@@ -36038,7 +36331,7 @@ iD.ui.TagReference = function(tag, context) {
     function load() {
         button.classed('tag-reference-loading', true);
 
-        context.taginfo().docs(tag, function(err, docs) {
+        context.taginfo().docs(tag, function(err, docs, softfail) {
             if (!err && docs) {
                 docs = findLocal(docs);
             }
@@ -36046,9 +36339,11 @@ iD.ui.TagReference = function(tag, context) {
             body.html('');
 
             if (!docs || !docs.description) {
-                body.append('p').text(t('inspector.no_documentation_key'));
-                show();
-                return;
+                if (!softfail) {
+                    body.append('p').text(t('inspector.no_documentation_key'));
+                    show();
+                }
+                return false;
             }
 
             if (docs.image && docs.image.thumb_url_prefix) {
@@ -36076,6 +36371,8 @@ iD.ui.TagReference = function(tag, context) {
 
             wikiLink.append('span')
                 .text(t('inspector.reference'));
+
+            return true;
         });
     }
 
@@ -36274,6 +36571,27 @@ iD.ui.Zoom = function(context) {
         key: '-'
     }];
 
+    function zoomIn() {
+        d3.event.preventDefault();
+        context.zoomIn();
+    }
+
+    function zoomOut() {
+        d3.event.preventDefault();
+        context.zoomOut();
+    }
+
+    function zoomInFurther() {
+        d3.event.preventDefault();
+        context.zoomInFurther();
+    }
+
+    function zoomOutFurther() {
+        d3.event.preventDefault();
+        context.zoomOutFurther();
+    }
+
+
     return function(selection) {
         var button = selection.selectAll('button')
             .data(zooms)
@@ -36294,12 +36612,16 @@ iD.ui.Zoom = function(context) {
         var keybinding = d3.keybinding('zoom');
 
         _.each(['=','ffequals','plus','ffplus'], function(key) {
-            keybinding.on(key, function() { context.zoomIn(); });
-            keybinding.on('⇧' + key, function() { context.zoomIn(); });
+            keybinding.on(key, zoomIn);
+            keybinding.on('⇧' + key, zoomIn);
+            keybinding.on(iD.ui.cmd('⌘' + key), zoomInFurther);
+            keybinding.on(iD.ui.cmd('⌘⇧' + key), zoomInFurther);
         });
         _.each(['-','ffminus','_','dash'], function(key) {
-            keybinding.on(key, function() { context.zoomOut(); });
-            keybinding.on('⇧' + key, function() { context.zoomOut(); });
+            keybinding.on(key, zoomOut);
+            keybinding.on('⇧' + key, zoomOut);
+            keybinding.on(iD.ui.cmd('⌘' + key), zoomOutFurther);
+            keybinding.on(iD.ui.cmd('⌘⇧' + key), zoomOutFurther);
         });
 
         d3.select(document)
@@ -36362,6 +36684,10 @@ iD.ui.preset.access = function(field) {
         if (type !== 'access') {
             options.unshift('yes');
             options.push('designated');
+
+            if (type === 'bicycle') {
+                options.push('dismount');
+            }
         }
 
         return options.map(function(option) {
@@ -36482,14 +36808,12 @@ iD.ui.preset.access = function(field) {
                 return tags.access ? tags.access : field.placeholder();
             });
 
-        items.selectAll('#preset-input-access-access')
-            .attr('placeholder', 'yes');
+        // items.selectAll('#preset-input-access-access')
+        //     .attr('placeholder', 'yes');
 
-        _.forEach(placeholders[tags.highway], function(value, key) {
-            items.selectAll('#preset-input-access-' + key)
-                .attr('placeholder', function() {
-                    return (tags.access && (value === 'yes' || value === 'designated')) ? tags.access : value;
-                });
+        _.forEach(placeholders[tags.highway], function(v, k) {
+            items.selectAll('#preset-input-access-' + k)
+                .attr('placeholder', function() { return (tags.access || v); });
         });
     };
 
@@ -36890,6 +37214,106 @@ iD.ui.preset.typeCombo = function(field, context) {
 
     return d3.rebind(combo, event, 'on');
 };
+iD.ui.preset.cycleway = function(field) {
+    var event = d3.dispatch('change'),
+        items;
+
+    function cycleway(selection) {
+        var wrap = selection.selectAll('.preset-input-wrap')
+            .data([0]);
+
+        wrap.enter().append('div')
+            .attr('class', 'cf preset-input-wrap')
+            .append('ul');
+
+        items = wrap.select('ul').selectAll('li')
+            .data(field.keys);
+
+        // Enter
+
+        var enter = items.enter().append('li')
+            .attr('class', function(d) { return 'cf preset-cycleway-' + d; });
+
+        enter.append('span')
+            .attr('class', 'col6 label preset-label-cycleway')
+            .attr('for', function(d) { return 'preset-input-cycleway-' + d; })
+            .text(function(d) { return field.t('types.' + d); });
+
+        enter.append('div')
+            .attr('class', 'col6 preset-input-cycleway-wrap')
+            .append('input')
+            .attr('type', 'text')
+            .attr('class', 'preset-input-cycleway')
+            .attr('id', function(d) { return 'preset-input-cycleway-' + d; })
+            .each(function(d) {
+                d3.select(this)
+                    .call(d3.combobox()
+                        .data(cycleway.options(d)));
+            });
+
+        // Update
+
+        wrap.selectAll('.preset-input-cycleway')
+            .on('change', change)
+            .on('blur', change);
+    }
+
+    function change() {
+        var inputs = d3.selectAll('.preset-input-cycleway')[0],
+            left = d3.select(inputs[0]).value(),
+            right = d3.select(inputs[1]).value(),
+            tag = {};
+        if (left === 'none' || left === '') { left = undefined; }
+        if (right === 'none' || right === '') { right = undefined; }
+
+        // Always set both left and right as changing one can affect the other
+        tag = {
+            cycleway: undefined,
+            'cycleway:left': left,
+            'cycleway:right': right
+        };
+
+        // If the left and right tags match, use the cycleway tag to tag both
+        // sides the same way
+        if (left === right) {
+            tag = {
+                cycleway: left,
+                'cycleway:left': undefined,
+                'cycleway:right': undefined
+            };
+        }
+
+        event.change(tag);
+    }
+
+    cycleway.options = function() {
+        return d3.keys(field.strings.options).map(function(option) {
+            return {
+                title: field.t('options.' + option + '.description'),
+                value: option
+            };
+        });
+    };
+
+    cycleway.tags = function(tags) {
+        items.selectAll('.preset-input-cycleway')
+            .value(function(d) {
+                // If cycleway is set, always return that
+                if (tags.cycleway) {
+                    return tags.cycleway;
+                }
+                return tags[d] || '';
+            })
+            .attr('placeholder', field.placeholder());
+    };
+
+    cycleway.focus = function() {
+        items.selectAll('.preset-input-cycleway')
+            .node().focus();
+    };
+
+    return d3.rebind(cycleway, event, 'on');
+};
 iD.ui.preset.text =
 iD.ui.preset.number =
 iD.ui.preset.tel =
@@ -37635,12 +38059,22 @@ iD.ui.preset.wikipedia = function(field, context) {
 
     function change() {
         var value = title.value(),
-            m = value.match(/https?:\/\/([a-z]+)\.wikipedia\.org\/wiki\/(.+)/),
-            l = m && _.find(iD.data.wikipedia, function(d) { return m[1] === d[2]; });
+            m = value.match(/https?:\/\/([-a-z]+)\.wikipedia\.org\/(?:wiki|\1-[-a-z]+)\/([^#]+)(?:#(.+))?/),
+            l = m && _.find(iD.data.wikipedia, function(d) { return m[1] === d[2]; }),
+            anchor;
 
         if (l) {
             // Normalize title http://www.mediawiki.org/wiki/API:Query#Title_normalization
-            value = m[2].replace(/_/g, ' ');
+            value = decodeURIComponent(m[2]).replace(/_/g, ' ');
+            if (m[3]) {
+                try {
+                    // Best-effort `anchordecode:` implementation
+                    anchor = decodeURIComponent(m[3].replace(/\.([0-9A-F]{2})/g, '%$1'));
+                } catch (e) {
+                    anchor = decodeURIComponent(m[3]);
+                }
+                value += '#' + anchor.replace(/_/g, ' ');
+            }
             value = value.slice(0, 1).toUpperCase() + value.slice(1);
             lang.value(l[1]);
             title.value(value);
@@ -37653,14 +38087,24 @@ iD.ui.preset.wikipedia = function(field, context) {
 
     i.tags = function(tags) {
         var value = tags[field.key] || '',
-            m = value.match(/([^:]+):(.+)/),
-            l = m && _.find(iD.data.wikipedia, function(d) { return m[1] === d[2]; });
+            m = value.match(/([^:]+):([^#]+)(?:#(.+))?/),
+            l = m && _.find(iD.data.wikipedia, function(d) { return m[1] === d[2]; }),
+            anchor = m && m[3];
 
         // value in correct format
         if (l) {
             lang.value(l[1]);
-            title.value(m[2]);
-            link.attr('href', 'http://' + m[1] + '.wikipedia.org/wiki/' + m[2]);
+            title.value(m[2] + (anchor ? ('#' + anchor) : ''));
+            if (anchor) {
+                try {
+                    // Best-effort `anchorencode:` implementation
+                    anchor = encodeURIComponent(anchor.replace(/ /g, '_')).replace(/%/g, '.');
+                } catch (e) {
+                    anchor = anchor.replace(/ /g, '_');
+                }
+            }
+            link.attr('href', 'http://' + m[1] + '.wikipedia.org/wiki/' +
+                      m[2].replace(/ /g, '_') + (anchor ? ('#' + anchor) : ''));
 
         // unrecognized value format
         } else {
@@ -38399,11 +38843,11 @@ iD.presets.Collection = function(collection) {
             value = value.toLowerCase();
 
             var searchable = _.filter(collection, function(a) {
-                return a.searchable !== false && a.suggestion !== true;
-            }),
-            suggestions = _.filter(collection, function(a) {
-                return a.suggestion === true;
-            });
+                    return a.searchable !== false && a.suggestion !== true;
+                }),
+                suggestions = _.filter(collection, function(a) {
+                    return a.suggestion === true;
+                });
 
             // matches value to preset.name
             var leading_name = _.filter(searchable, function(a) {
@@ -38416,8 +38860,13 @@ iD.presets.Collection = function(collection) {
 
             // matches value to preset.terms values
             var leading_terms = _.filter(searchable, function(a) {
-                return _.any(a.terms() || [], leading);
-            });
+                    return _.any(a.terms() || [], leading);
+                });
+
+            // matches value to preset.tags values
+            var leading_tag_values = _.filter(searchable, function(a) {
+                    return _.any(_.without(_.values(a.tags || {}), '*'), leading);
+                });
 
             function leading(a) {
                 var index = a.indexOf(value);
@@ -38480,6 +38929,7 @@ iD.presets.Collection = function(collection) {
 
             var results = leading_name.concat(
                             leading_terms,
+                            leading_tag_values,
                             leading_suggestions.slice(0, maxSuggestionResults+5),
                             levenstein_name,
                             leventstein_terms,
@@ -38566,7 +39016,7 @@ iD.presets.Preset = function(id, preset, fields) {
     };
 
     preset.terms = function() {
-        return preset.t('terms', {'default': ''}).split(',');
+        return preset.t('terms', {'default': ''}).toLowerCase().split(/\s*,+\s*/);
     };
 
     preset.isFallback = function() {
@@ -38592,7 +39042,7 @@ iD.presets.Preset = function(id, preset, fields) {
 
         for (var f in preset.fields) {
             var field = preset.fields[f];
-            if (field.matchGeometry(geometry) && field['default'] === tags[field.key]) {
+            if (field.matchGeometry(geometry) && field.default === tags[field.key]) {
                 delete tags[field.key];
             }
         }
@@ -38636,8 +39086,8 @@ iD.presets.Preset = function(id, preset, fields) {
 
         for (var f in preset.fields) {
             var field = preset.fields[f];
-            if (field.matchGeometry(geometry) && field.key && !tags[field.key] && field['default']) {
-                tags[field.key] = field['default'];
+            if (field.matchGeometry(geometry) && field.key && !tags[field.key] && field.default) {
+                tags[field.key] = field.default;
             }
         }
 
@@ -38646,60 +39096,104 @@ iD.presets.Preset = function(id, preset, fields) {
 
     return preset;
 };
-iD.validate = function(changes, graph) {
-    var warnings = [];
+iD.validations = {};
+iD.validations.DeprecatedTag = function() {
+
+    var validation = function(changes) {
+        var warnings = [];
+        for (var i = 0; i < changes.created.length; i++) {
+            var change = changes.created[i],
+                deprecatedTags = change.deprecatedTags();
+
+            if (!_.isEmpty(deprecatedTags)) {
+                var tags = iD.util.tagText({ tags: deprecatedTags });
+                warnings.push({
+                    id: 'deprecated_tags',
+                    message: t('validations.deprecated_tags', { tags: tags }),
+                    entity: change
+                });
+            }
+        }
+        return warnings;
+    };
+
+    return validation;
+};
+iD.validations.ManyDeletions = function() {
+    var threshold = 100;
+
+    var validation = function(changes) {
+        var warnings = [];
+        if (changes.deleted.length > threshold) {
+            warnings.push({
+                id: 'many_deletions',
+                message: t('validations.many_deletions', { n: changes.deleted.length })
+            });
+        }
+        return warnings;
+    };
+
+    return validation;
+};
+iD.validations.MissingTag = function() {
+
+    var validation = function(changes, graph) {
+        var warnings = [];
+        for (var i = 0; i < changes.created.length; i++) {
+            var change = changes.created[i],
+                geometry = change.geometry(graph);
+
+            if ((geometry === 'point' || geometry === 'line' || geometry === 'area') && !change.isUsed(graph)) {
+                warnings.push({
+                    id: 'missing_tag',
+                    message: t('validations.untagged_' + geometry),
+                    tooltip: t('validations.untagged_' + geometry + '_tooltip'),
+                    entity: change
+                });
+            }
+        }
+        return warnings;
+    };
+
+    return validation;
+};
+iD.validations.TagSuggestsArea = function() {
 
     // https://github.com/openstreetmap/josm/blob/mirror/src/org/
     // openstreetmap/josm/data/validation/tests/UnclosedWays.java#L80
-    function tagSuggestsArea(change) {
-        if (_.isEmpty(change.tags)) return false;
-        var tags = change.tags;
+    function tagSuggestsArea(tags) {
+        if (_.isEmpty(tags)) return false;
+
         var presence = ['landuse', 'amenities', 'tourism', 'shop'];
         for (var i = 0; i < presence.length; i++) {
             if (tags[presence[i]] !== undefined) {
                 return presence[i] + '=' + tags[presence[i]];
             }
         }
-        if (tags.building && tags.building === 'yes') return 'building=yes';
-    }
 
-    if (changes.deleted.length > 100) {
-        warnings.push({
-            message: t('validations.many_deletions', { n: changes.deleted.length })
-        });
+        if (tags.building && tags.building === 'yes') return 'building=yes';
     }
 
-    for (var i = 0; i < changes.created.length; i++) {
-        var change = changes.created[i],
-            geometry = change.geometry(graph);
+    var validation = function(changes, graph) {
+        var warnings = [];
+        for (var i = 0; i < changes.created.length; i++) {
+            var change = changes.created[i],
+                geometry = change.geometry(graph),
+                suggestion = (geometry === 'line' ? tagSuggestsArea(change.tags) : undefined);
 
-        if ((geometry === 'point' || geometry === 'line' || geometry === 'area') && !change.isUsed(graph)) {
-            warnings.push({
-                message: t('validations.untagged_' + geometry),
-                tooltip: t('validations.untagged_' + geometry + '_tooltip'),
-                entity: change
-            });
-        }
-
-        var deprecatedTags = change.deprecatedTags();
-        if (!_.isEmpty(deprecatedTags)) {
-            warnings.push({
-                message: t('validations.deprecated_tags', {
-                    tags: iD.util.tagText({ tags: deprecatedTags })
-                }), entity: change });
-        }
-
-        if (geometry === 'line' && tagSuggestsArea(change)) {
-            warnings.push({
-                message: t('validations.tag_suggests_area', {tag: tagSuggestsArea(change)}),
-                entity: change
-            });
+            if (suggestion) {
+                warnings.push({
+                    id: 'tag_suggests_area',
+                    message: t('validations.tag_suggests_area', { tag: suggestion }),
+                    entity: change
+                });
+            }
         }
-    }
+        return warnings;
+    };
 
-    return warnings;
+    return validation;
 };
-/* jshint ignore:start */
 })();
 window.locale = { _current: 'en' };
 
@@ -52312,6 +52806,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
     },
     "locales": [
         "af",
+        "sq",
         "ar",
         "ar-AA",
         "hy",
@@ -52694,7 +53189,11 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
             "custom_button": "Edit custom background",
             "custom_prompt": "Enter a tile URL template. Valid tokens are {z}, {x}, {y} for Z/X/Y scheme and {u} for quadtile scheme.",
             "fix_misalignment": "Fix alignment",
-            "reset": "reset"
+            "reset": "reset",
+            "minimap": {
+                "description": "Minimap",
+                "tooltip": "Show a zoomed out map to help locate the area currently displayed."
+            }
         },
         "map_data": {
             "title": "Map Data",
@@ -52851,6 +53350,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
             "out": "Zoom Out"
         },
         "cannot_zoom": "Cannot zoom out further in current mode.",
+        "full_screen": "Toggle Full Screen",
         "gpx": {
             "local_layer": "Local GPX file",
             "drag_drop": "Drag and drop a .gpx file on the page, or click the button to the right to browse",
@@ -52865,12 +53365,12 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
         "help": {
             "title": "Help",
             "help": "# Help\n\nThis is an editor for [OpenStreetMap](http://www.openstreetmap.org/), the\nfree and editable map of the world. You can use it to add and update\ndata in your area, making an open-source and open-data map of the world\nbetter for everyone.\n\nEdits that you make on this map will be visible to everyone who uses\nOpenStreetMap. In order to make an edit, you'll need to\n[log in](https://www.openstreetmap.org/login).\n\nThe [iD editor](http://ideditor.com/) is a collaborative project with [source\ncode available on GitHub](https://github.com/openstreetmap/iD).\n",
-            "editing_saving": "# Editing & Saving\n\nThis editor is designed to work primarily online, and you're accessing\nit through a website right now.\n\n### Selecting Features\n\nTo select a map feature, like a road or point of interest, click\non it on the map. This will highlight the selected feature, open a panel with\ndetails about it, and show a menu of things you can do with the feature.\n\nTo select multiple features, hold down the 'Shift' key. Then either click\non the features you want to select, or drag on the map to draw a rectangle.\nThis will draw a box and select all the points within it.\n\n### Saving Edits\n\nWhen you make changes like editing roads, buildings, and places, these are\nstored locally until you save them to the server. Don't worry if you make\na mistake - you can undo changes by clicking the undo button, and redo\nchanges by clicking the redo button.\n\nClick 'Save' to finish a group of edits - for instance, if you've completed\nan area of town and would like to start on a new area. You'll have a chance\nto review what you've done, and the editor supplies helpful suggestions\nand warnings if something doesn't seem right about the changes.\n\nIf everything looks good, you can enter a short comment explaining the change\nyou made, and click 'Save' again to post the changes\nto [OpenStreetMap.org](http://www.openstreetmap.org/), where they are visible\nto all other users and available for others to build and improve upon.\n\nIf you can't finish your edits in one sitting, you can leave the editor\nwindow and come back (on the same browser and computer), and the\neditor application will offer to restore your work.\n",
+            "editing_saving": "# Editing & Saving\n\nThis editor is designed to work primarily online, and you're accessing\nit through a website right now.\n\n### Selecting Features\n\nTo select a map feature, like a road or point of interest, click\non it on the map. This will highlight the selected feature, open a panel with\ndetails about it, and show a menu of things you can do with the feature.\n\nTo select multiple features, hold down the 'Shift' key. Then either click\non the features you want to select, or drag on the map to draw a rectangle.\nThis will draw a box and select all the points within it.\n\n### Saving Edits\n\nWhen you make changes like editing roads, buildings, and places, these are\nstored locally until you save them to the server. Don't worry if you make\na mistake - you can undo changes by clicking the undo button, and redo\nchanges by clicking the redo button.\n\nClick 'Save' to finish a group of edits - for instance, if you've completed\nan area of town and would like to start on a new area. You'll have a chance\nto review what you've done, and the editor supplies helpful suggestions\nand warnings if something doesn't seem right about the changes.\n\nIf everything looks good, you can enter a short comment explaining the change\nyou made, and click 'Save' again to post the changes\nto [OpenStreetMap.org](http://www.openstreetmap.org/), where they are visible\nto all other users and available for others to build and improve upon.\n\nIf you can't finish your edits in one sitting, you can leave the editor\nwindow and come back (on the same browser and computer), and the\neditor application will offer to restore your work.\n\n### Using the editor\n\nA list of available keyboard shortcuts can be found [here](http://wiki.openstreetmap.org/wiki/ID/Shortcuts).\n",
             "roads": "# Roads\n\nYou can create, fix, and delete roads with this editor. Roads can be all\nkinds: paths, highways, trails, cycleways, and more - any often-crossed\nsegment should be mappable.\n\n### Selecting\n\nClick on a road to select it. An outline should become visible, along\nwith a small tools menu on the map and a sidebar showing more information\nabout the road.\n\n### Modifying\n\nOften you'll see roads that aren't aligned to the imagery behind them\nor to a GPS track. You can adjust these roads so they are in the correct\nplace.\n\nFirst click on the road you want to change. This will highlight it and show\ncontrol points along it that you can drag to better locations. If\nyou want to add new control points for more detail, double-click a part\nof the road without a node, and one will be added.\n\nIf the road connects to another road, but doesn't properly connect on\nthe map, you can drag one of its control points onto the other road in\norder to join them. Having roads connect is important for the map\nand essential for providing driving directions.\n\nYou can also click the 'Move' tool or press the `M` shortcut key to move the entire road at\none time, and then click again to save that movement.\n\n### Deleting\n\nIf a road is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the road could simply be newly built.\n\nYou can delete a road by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n\n### Creating\n\nFound somewhere there should be a road but there isn't? Click the 'Line'\nicon in the top-left of the editor or press the shortcut key `2` to start drawing\na line.\n\nClick on the start of the road on the map to start drawing. If the road\nbranches off from an existing road, start by clicking on the place where they connect.\n\nThen click on points along the road so that it follows the right path, according\nto satellite imagery or GPS. If the road you are drawing crosses another road, connect\nit by clicking on the intersection point. When you're done drawing, double-click\nor press 'Return' or 'Enter' on your keyboard.\n",
-            "gps": "# GPS\n\nGPS data is the most trusted source of data for OpenStreetMap. This editor\nsupports local traces - `.gpx` files on your local computer. You can collect\nthis kind of GPS trace with a number of smartphone applications as well as\npersonal GPS hardware.\n\nFor information on how to perform a GPS survey, read\n[Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/).\n\nTo use a GPX track for mapping, drag and drop the GPX file onto the map\neditor. If it's recognized, it will be added to the map as a bright purple\nline. Click on the 'Map Data' menu on the right side to enable,\ndisable, or zoom to this new GPX-powered layer.\n\nThe GPX track isn't directly uploaded to OpenStreetMap - the best way to\nuse it is to draw on the map, using it as a guide for the new features that\nyou add, and also to [upload it to OpenStreetMap](http://www.openstreetmap.org/trace/create)\nfor other users to use.\n",
+            "gps": "# GPS\n\nCollected GPS traces are one valuable source of data for OpenStreetMap. This editor\nsupports local traces - `.gpx` files on your local computer. You can collect\nthis kind of GPS trace with a number of smartphone applications as well as\npersonal GPS hardware.\n\nFor information on how to perform a GPS survey, read\n[Mapping with a smartphone, GPS, or paper](http://learnosm.org/en/mobile-mapping/).\n\nTo use a GPX track for mapping, drag and drop the GPX file onto the map\neditor. If it's recognized, it will be added to the map as a bright purple\nline. Click on the 'Map Data' menu on the right side to enable,\ndisable, or zoom to this new GPX-powered layer.\n\nThe GPX track isn't directly uploaded to OpenStreetMap - the best way to\nuse it is to draw on the map, using it as a guide for the new features that\nyou add, and also to [upload it to OpenStreetMap](http://www.openstreetmap.org/trace/create)\nfor other users to use.\n",
             "imagery": "# Imagery\n\nAerial imagery is an important resource for mapping. A combination of\nairplane flyovers, satellite views, and freely-compiled sources are available\nin the editor under the 'Background Settings' menu on the right.\n\nBy default a [Bing Maps](http://www.bing.com/maps/) satellite layer is\npresented in the editor, but as you pan and zoom the map to new geographical\nareas, new sources will become available. Some countries, like the United\nStates, France, and Denmark have very high-quality imagery available for some areas.\n\nImagery is sometimes offset from the map data because of a mistake on the\nimagery provider's side. If you see a lot of roads shifted from the background,\ndon't immediately move them all to match the background. Instead you can adjust\nthe imagery so that it matches the existing data by clicking 'Fix alignment' at\nthe bottom of the Background Settings UI.\n",
             "addresses": "# Addresses\n\nAddresses are some of the most useful information for the map.\n\nAlthough addresses are often represented as parts of streets, in OpenStreetMap\nthey're recorded as attributes of buildings and places along streets.\n\nYou can add address information to places mapped as building outlines\nas well as those mapped as single points. The optimal source of address\ndata is from an on-the-ground survey or personal knowledge - as with any\nother feature, copying from commercial sources like Google Maps is strictly\nforbidden.\n",
-            "inspector": "# Using the Inspector\n\nThe inspector is the section on the left side of the page that allows you to\nedit the details of the selected feature.\n\n### Selecting a Feature Type\n\nAfter you add a point, line, or area, you can choose what type of feature it\nis, like whether it's a highway or residential road, supermarket or cafe.\nThe inspector will display buttons for common feature types, and you can\nfind others by typing what you're looking for in the search box.\n\nClick the 'i' in the bottom-right-hand corner of a feature type button to\nlearn more about it. Click a button to choose that type.\n\n### Using Forms and Editing Tags\n\nAfter you choose a feature type, or when you select a feature that already\nhas a type assigned, the inspector will display fields with details about\nthe feature like its name and address.\n\nBelow the fields you see, you can click icons to add other details,\nlike [Wikipedia](http://www.wikipedia.org/) information, wheelchair\naccess, and more.\n\nAt the bottom of the inspector, click 'Additional tags' to add arbitrary\nother tags to the element. [Taginfo](http://taginfo.openstreetmap.org/) is a\ngreat resource for learn more about popular tag combinations.\n\nChanges you make in the inspector are automatically applied to the map.\nYou can undo them at any time by clicking the 'Undo' button.\n",
+            "inspector": "# Using the Inspector\n\nThe inspector is the section on the left side of the page that allows you to\nedit the details of the selected feature.\n\n### Selecting a Feature Type\n\nAfter you add a point, line, or area, you can choose what type of feature it\nis, like whether it's a highway or residential road, supermarket or cafe.\nThe inspector will display buttons for common feature types, and you can\nfind others by typing what you're looking for in the search box.\n\nClick the 'i' in the bottom-right-hand corner of a feature type button to\nlearn more about it. Click a button to choose that type.\n\n### Using Forms and Editing Tags\n\nAfter you choose a feature type, or when you select a feature that already\nhas a type assigned, the inspector will display fields with details about\nthe feature like its name and address.\n\nBelow the fields you see, you can click the 'Add field' dropdown to add\nother details, like a Wikipedia link, wheelchair access, and more.\n\nAt the bottom of the inspector, click 'Additional tags' to add arbitrary\nother tags to the element. [Taginfo](http://taginfo.openstreetmap.org/) is a\ngreat resource for learn more about popular tag combinations.\n\nChanges you make in the inspector are automatically applied to the map.\nYou can undo them at any time by clicking the 'Undo' button.\n",
             "buildings": "# Buildings\n\nOpenStreetMap is the world's largest database of buildings. You can create\nand improve this database.\n\n### Selecting\n\nYou can select a building by clicking on its border. This will highlight the\nbuilding and open a small tools menu and a sidebar showing more information\nabout the building.\n\n### Modifying\n\nSometimes buildings are incorrectly placed or have incorrect tags.\n\nTo move an entire building, select it, then click the 'Move' tool. Move your\nmouse to shift the building, and click when it's correctly placed.\n\nTo fix the specific shape of a building, click and drag the nodes that form\nits border into better places.\n\n### Creating\n\nOne of the main questions around adding buildings to the map is that\nOpenStreetMap records buildings both as shapes and points. The rule of thumb\nis to _map a building as a shape whenever possible_, and map companies, homes,\namenities, and other things that operate out of buildings as points placed\nwithin the building shape.\n\nStart drawing a building as a shape by clicking the 'Area' button in the top\nleft of the interface, and end it either by pressing 'Return' on your keyboard\nor clicking on the first node drawn to close the shape.\n\n### Deleting\n\nIf a building is entirely incorrect - you can see that it doesn't exist in satellite\nimagery and ideally have confirmed locally that it's not present - you can delete\nit, which removes it from the map. Be cautious when deleting features -\nlike any other edit, the results are seen by everyone and satellite imagery\nis often out of date, so the building could simply be newly built.\n\nYou can delete a building by clicking on it to select it, then clicking the\ntrash can icon or pressing the 'Delete' key.\n",
             "relations": "# Relations\n\nA relation is a special type of feature in OpenStreetMap that groups together\nother features. For example, two common types of relations are *route relations*,\nwhich group together sections of road that belong to a specific freeway or\nhighway, and *multipolygons*, which group together several lines that define\na complex area (one with several pieces or holes in it like a donut).\n\nThe group of features in a relation are called *members*. In the sidebar, you can\nsee which relations a feature is a member of, and click on a relation there\nto select the it. When the relation is selected, you can see all of its\nmembers listed in the sidebar and highlighted on the map.\n\nFor the most part, iD will take care of maintaining relations automatically\nwhile you edit. The main thing you should be aware of is that if you delete a\nsection of road to redraw it more accurately, you should make sure that the\nnew section is a member of the same relations as the original.\n\n## Editing Relations\n\nIf you want to edit relations, here are the basics.\n\nTo add a feature to a relation, select the feature, click the \"+\" button in the\n\"All relations\" section of the sidebar, and select or type the name of the relation.\n\nTo create a new relation, select the first feature that should be a member,\nclick the \"+\" button in the \"All relations\" section, and select \"New relation...\".\n\nTo remove a feature from a relation, select the feature and click the trash\nbutton next to the relation you want to remove it from.\n\nYou can create multipolygons with holes using the \"Merge\" tool. Draw two areas (inner\nand outer), hold the Shift key and click on each of them to select them both, and then\nclick the \"Merge\" (+) button.\n"
         },
@@ -52958,10 +53458,10 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
             },
             "fields": {
                 "access": {
-                    "label": "Access",
-                    "placeholder": "Unknown",
+                    "label": "Allowed Access",
+                    "placeholder": "Not Specified",
                     "types": {
-                        "access": "General",
+                        "access": "All",
                         "foot": "Foot",
                         "motor_vehicle": "Motor Vehicles",
                         "bicycle": "Bicycles",
@@ -52991,11 +53491,15 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                         "destination": {
                             "title": "Destination",
                             "description": "Access permitted only to reach a destination"
+                        },
+                        "dismount": {
+                            "title": "Dismount",
+                            "description": "Access permitted but rider must dismount"
                         }
                     }
                 },
                 "access_simple": {
-                    "label": "Access",
+                    "label": "Allowed Access",
                     "placeholder": "yes"
                 },
                 "access_toilets": {
@@ -53006,6 +53510,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "placeholders": {
                         "housename": "Housename",
                         "housenumber": "123",
+                        "conscriptionnumber": "123",
                         "street": "Street",
                         "city": "City",
                         "postcode": "Postcode",
@@ -53065,6 +53570,9 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "amenity": {
                     "label": "Type"
                 },
+                "area/highway": {
+                    "label": "Type"
+                },
                 "artist": {
                     "label": "Artist"
                 },
@@ -53157,6 +53665,44 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "cuisine": {
                     "label": "Cuisine"
                 },
+                "cycleway": {
+                    "label": "Bike Lanes",
+                    "placeholder": "none",
+                    "types": {
+                        "cycleway:left": "Left side",
+                        "cycleway:right": "Right side"
+                    },
+                    "options": {
+                        "none": {
+                            "title": "None",
+                            "description": "No bike lane"
+                        },
+                        "lane": {
+                            "title": "Standard bike lane",
+                            "description": "A bike lane separated from auto traffic by a painted line"
+                        },
+                        "shared_lane": {
+                            "title": "Shared bike lane",
+                            "description": "A bike lane with no separation from auto traffic"
+                        },
+                        "track": {
+                            "title": "Bike track",
+                            "description": "A bike lane separated from traffic by a physical barrier"
+                        },
+                        "share_busway": {
+                            "title": "Bike lane shared with bus",
+                            "description": "A bike lane shared with a bus lane"
+                        },
+                        "opposite_lane": {
+                            "title": "Opposite bike lane",
+                            "description": "A bike lane that travels in the opposite direction of traffic"
+                        },
+                        "opposite": {
+                            "title": "Contraflow bike lane",
+                            "description": "A bike lane that travels in both directions on a one-way street"
+                        }
+                    }
+                },
                 "delivery": {
                     "label": "Delivery"
                 },
@@ -53334,6 +53880,15 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                         "mixed": "Mixed"
                     }
                 },
+                "leaf_cycle_singular": {
+                    "label": "Leaf Cycle",
+                    "options": {
+                        "evergreen": "Evergreen",
+                        "deciduous": "Deciduous",
+                        "semi_evergreen": "Semi-Evergreen",
+                        "semi_deciduous": "Semi-Deciduous"
+                    }
+                },
                 "leaf_type": {
                     "label": "Leaf Type",
                     "options": {
@@ -53343,12 +53898,23 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                         "leafless": "Leafless"
                     }
                 },
+                "leaf_type_singular": {
+                    "label": "Leaf Type",
+                    "options": {
+                        "broadleaved": "Broadleaved",
+                        "needleleaved": "Needleleaved",
+                        "leafless": "Leafless"
+                    }
+                },
                 "leisure": {
                     "label": "Type"
                 },
                 "length": {
                     "label": "Length (Meters)"
                 },
+                "level": {
+                    "label": "Level"
+                },
                 "levels": {
                     "label": "Levels",
                     "placeholder": "2, 4, 6..."
@@ -53525,9 +54091,22 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "recycling/glass": {
                     "label": "Accepts Glass"
                 },
+                "recycling/glass_bottles": {
+                    "label": "Accepts Glass Bottles"
+                },
                 "recycling/paper": {
                     "label": "Accepts Paper"
                 },
+                "recycling/plastic": {
+                    "label": "Accepts Plastic"
+                },
+                "recycling/type": {
+                    "label": "Recycling Type",
+                    "options": {
+                        "container": "Container",
+                        "centre": "Recycling Center"
+                    }
+                },
                 "ref": {
                     "label": "Reference"
                 },
@@ -53910,6 +54489,10 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "name": "Car Wash",
                     "terms": ""
                 },
+                "amenity/casino": {
+                    "name": "Casino",
+                    "terms": "gambling,roulette,craps,poker,blackjack"
+                },
                 "amenity/charging_station": {
                     "name": "Charging Station",
                     "terms": "EV,Electric Vehicle,Supercharger"
@@ -54154,6 +54737,10 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "name": "Area",
                     "terms": ""
                 },
+                "area/highway": {
+                    "name": "Road Surface",
+                    "terms": ""
+                },
                 "barrier": {
                     "name": "Barrier",
                     "terms": ""
@@ -54575,11 +55162,11 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "terms": ""
                 },
                 "footway/crossing": {
-                    "name": "Crossing",
+                    "name": "Street Crossing",
                     "terms": ""
                 },
                 "footway/crosswalk": {
-                    "name": "Crosswalk",
+                    "name": "Pedestrian Crosswalk",
                     "terms": "zebra crossing"
                 },
                 "footway/sidewalk": {
@@ -54634,12 +55221,16 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "name": "Bus Stop",
                     "terms": ""
                 },
+                "highway/corridor": {
+                    "name": "Indoor Corridor",
+                    "terms": "gallery,hall,hallway,indoor,passage,passageway"
+                },
                 "highway/crossing": {
-                    "name": "Crossing",
+                    "name": "Street Crossing",
                     "terms": ""
                 },
                 "highway/crosswalk": {
-                    "name": "Crosswalk",
+                    "name": "Pedestrian Crosswalk",
                     "terms": "zebra crossing"
                 },
                 "highway/cycleway": {
@@ -54675,7 +55266,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "terms": "hike,hiking,trackway,trail,walk"
                 },
                 "highway/pedestrian": {
-                    "name": "Pedestrian",
+                    "name": "Pedestrian Street",
                     "terms": ""
                 },
                 "highway/primary": {
@@ -54823,7 +55414,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "terms": ""
                 },
                 "landuse": {
-                    "name": "Landuse",
+                    "name": "Land Use",
                     "terms": ""
                 },
                 "landuse/allotments": {
@@ -54894,6 +55485,10 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "name": "Orchard",
                     "terms": ""
                 },
+                "landuse/plant_nursery": {
+                    "name": "Plant Nursery",
+                    "terms": "vivero"
+                },
                 "landuse/quarry": {
                     "name": "Quarry",
                     "terms": ""
@@ -54914,6 +55509,14 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "name": "Leisure",
                     "terms": ""
                 },
+                "leisure/adult_gaming_centre": {
+                    "name": "Adult Gaming Center",
+                    "terms": "gambling,slot machine"
+                },
+                "leisure/bowling_alley": {
+                    "name": "Bowling Alley",
+                    "terms": ""
+                },
                 "leisure/common": {
                     "name": "Common",
                     "terms": "open space"
@@ -55022,6 +55625,10 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "name": "Man Made",
                     "terms": ""
                 },
+                "man_made/adit": {
+                    "name": "Adit",
+                    "terms": "entrance,underground,mine,cave"
+                },
                 "man_made/breakwater": {
                     "name": "Breakwater",
                     "terms": ""
@@ -55124,7 +55731,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 },
                 "natural/cave_entrance": {
                     "name": "Cave Entrance",
-                    "terms": ""
+                    "terms": "cavern,hollow,grotto,shelter,cavity"
                 },
                 "natural/cliff": {
                     "name": "Cliff",
@@ -55154,13 +55761,17 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "name": "Peak",
                     "terms": "acme,aiguille,alp,climax,crest,crown,hill,mount,mountain,pinnacle,summit,tip,top"
                 },
+                "natural/saddle": {
+                    "name": "Saddle",
+                    "terms": "pass,mountain pass,top"
+                },
                 "natural/scree": {
                     "name": "Scree",
                     "terms": "loose rocks"
                 },
                 "natural/scrub": {
                     "name": "Scrub",
-                    "terms": ""
+                    "terms": "bush,shrubs"
                 },
                 "natural/spring": {
                     "name": "Spring",
@@ -55170,6 +55781,14 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "name": "Tree",
                     "terms": ""
                 },
+                "natural/tree_row": {
+                    "name": "Tree row",
+                    "terms": ""
+                },
+                "natural/volcano": {
+                    "name": "Volcano",
+                    "terms": "mountain,crater"
+                },
                 "natural/water": {
                     "name": "Water",
                     "terms": ""
@@ -55395,8 +56014,8 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "terms": "break,interrupt,rest,wait,interruption"
                 },
                 "railway/level_crossing": {
-                    "name": "Level Crossing",
-                    "terms": "crossing,railroad crossing,railway crossing,grade crossing,road through railroad,train crossing"
+                    "name": "Railway Crossing",
+                    "terms": "crossing,railroad crossing,level crossing,grade crossing,road through railroad,train crossing"
                 },
                 "railway/monorail": {
                     "name": "Monorail",
@@ -60939,6 +61558,9 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 [
                     "city"
+                ],
+                [
+                    "postcode"
                 ]
             ]
         },
index f27d520..bc20ef4 100644 (file)
Binary files a/vendor/assets/iD/iD/img/line-presets.png and b/vendor/assets/iD/iD/img/line-presets.png differ
index 47f1d6e..ef444fb 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 b47a50a..7aec0cc 100644 (file)
@@ -13,7 +13,7 @@
    width="800"
    height="560"
    id="svg12393"
-   inkscape:version="0.48.5 r10040"
+   inkscape:version="0.48.4 r9939"
    sodipodi:docname="sprite.svg">
   <sodipodi:namedview
      pagecolor="#ffffff"
      inkscape:window-height="856"
      id="namedview392"
      showgrid="true"
-     inkscape:zoom="1"
-     inkscape:cx="475.13394"
-     inkscape:cy="495.7147"
-     inkscape:window-x="276"
-     inkscape:window-y="71"
+     inkscape:zoom="16"
+     inkscape:cx="641.185"
+     inkscape:cy="531.10386"
+     inkscape:window-x="285"
+     inkscape:window-y="196"
      inkscape:window-maximized="0"
      inkscape:current-layer="svg12393"
      showguides="true"
      style="color:#000000;fill:#8cd05f;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"
      sodipodi:nodetypes="cccccccccccccccccsscsscssccscccccccccccccccccccccccccccssssssssssssssscccccccccsccsssssssssssssss" />
+  <g
+     id="g3387"
+     transform="translate(642.0625,21.9785)"
+     style="fill:#ffffff">
+    <g
+       style="fill:#ffffff"
+       transform="scale(0.5,0.5)"
+       id="Layer_1" />
+    <g
+       style="fill:#ffffff"
+       transform="scale(0.5,0.5)"
+       id="fullscreen_x5F_exit_x5F_alt">
+      <g
+         style="fill:#ffffff"
+         id="g6">
+        <polygon
+           id="polygon8"
+           style="fill:#ffffff"
+           points="25.414,22.586 28,20 20,20 20,28 22.586,25.414 29.172,32 32,29.172 " />
+        <polygon
+           id="polygon10"
+           style="fill:#ffffff"
+           points="12,4 9.375,6.543 2.828,0 0,2.828 6.547,9.371 4,12 11.961,11.957 " />
+        <polygon
+           id="polygon12"
+           style="fill:#ffffff"
+           points="12,28 12,20 4,20 6.586,22.586 0,29.172 2.828,32 9.414,25.414 " />
+        <polygon
+           id="polygon14"
+           style="fill:#ffffff"
+           points="29.164,0 22.598,6.566 20,3.971 20,12 28.031,12 25.438,9.404 32,2.838 " />
+      </g>
+    </g>
+  </g>
+  <g
+     id="g3407"
+     transform="translate(622.082,22.043)"
+     style="fill:#ffffff">
+    <g
+       style="fill:#ffffff"
+       transform="scale(0.5,0.5)"
+       id="Layer_1-1" />
+    <g
+       style="fill:#ffffff"
+       transform="scale(0.5,0.5)"
+       id="fullscreen_x5F_alt">
+      <g
+         style="fill:#ffffff"
+         id="g6-8">
+        <polygon
+           id="polygon8-1"
+           style="fill:#ffffff"
+           points="20,22.828 26.586,29.414 24,32 32,32 32,24 29.414,26.586 22.828,20 " />
+        <polygon
+           id="polygon10-6"
+           style="fill:#ffffff"
+           points="12,9.172 5.414,2.586 8,0 0,0 0,8 2.586,5.414 9.172,12 " />
+        <polygon
+           id="polygon12-0"
+           style="fill:#ffffff"
+           points="22.828,12 29.414,5.414 32,8 32,0 24,0 26.586,2.586 20,9.172 " />
+        <polygon
+           id="polygon14-3"
+           style="fill:#ffffff"
+           points="2.586,26.586 0,24 0,32 8,32 5.414,29.414 12,22.828 9.172,20 " />
+      </g>
+    </g>
+  </g>
 </svg>
index 9c29351..e7fe478 100644 (file)
         },
         "fields": {
             "access": {
-                "label": "Toegang",
                 "options": {
                     "designated": {
                         "description": "Voorgeskrewe toegang",
                         "title": "Toegelaat"
                     }
                 },
-                "placeholder": "Onbekend",
                 "types": {
-                    "access": "Algemene",
                     "bicycle": "Fietse",
                     "foot": "Voet",
                     "horse": "Perde",
                 }
             },
             "access_simple": {
-                "label": "Toegang",
                 "placeholder": "ja"
             },
             "address": {
             "highway/bus_stop": {
                 "name": "Busstop"
             },
-            "highway/crossing": {
-                "name": "Oorgang"
-            },
             "highway/cycleway": {
                 "name": "Fietsrypad"
             },
             "highway/path": {
                 "name": "Paadjie"
             },
-            "highway/pedestrian": {
-                "name": "Voetganger"
-            },
             "highway/primary": {
                 "name": "Primere Pad"
             },
             "historic/wayside_cross": {
                 "name": "Padteken"
             },
-            "landuse": {
-                "name": "Landsgebruik"
-            },
             "landuse/allotments": {
                 "name": "Toegewysde lappie grond"
             },
             "railway/disused": {
                 "name": "Ongebruikte spoorweg"
             },
-            "railway/level_crossing": {
-                "name": "Spooroorgang"
-            },
             "railway/monorail": {
                 "name": "Enkelspoorbaan"
             },
index 024f296..0c1e503 100644 (file)
         },
         "fields": {
             "access": {
-                "label": "الدخول",
                 "options": {
                     "designated": {
                         "description": "الدخول مصرح به وفقا للعلامات أو قوانين محلية مخصصة.",
                         "title": "مسموح"
                     }
                 },
-                "placeholder": "غير معروف",
                 "types": {
-                    "access": "عام",
                     "bicycle": "درجات هوائية",
                     "foot": "بالقدم",
                     "horse": "أحصنة",
                 }
             },
             "access_simple": {
-                "label": "الدخول",
                 "placeholder": "نعم"
             },
             "access_toilets": {
                 "name": "هاتف طوارئ",
                 "terms": "هاتف طوارئ"
             },
-            "footway/crossing": {
-                "name": "تقاطع",
-                "terms": "تقاطع, معبر"
-            },
             "footway/sidewalk": {
                 "name": "رصيف المشاة",
                 "terms": "رصيف, رصيف المشاة"
                 "name": "محطة باص",
                 "terms": "موقف باصات, محطة باصات"
             },
-            "highway/crossing": {
-                "name": "تقاطع",
-                "terms": "تقاطع"
-            },
             "highway/cycleway": {
                 "name": "طريق دراجة هوائية",
                 "terms": "طريق دراجات هوائية"
                 "name": "طريق",
                 "terms": "طريق , ممر , مسلك , درب"
             },
-            "highway/pedestrian": {
-                "name": "مشاة",
-                "terms": "مشاة"
-            },
             "highway/primary": {
                 "name": "طريق رئيسي",
                 "terms": "شارع رئيسي"
                 "name": "مقام نصراني على الطريق",
                 "terms": "مقام نصراني على الطريق"
             },
-            "landuse": {
-                "name": "استخدام الارض",
-                "terms": "استخدام الأراضي, استخدام الأرض"
-            },
             "landuse/allotments": {
                 "name": "مزارع مخصصة",
                 "terms": "مزارع مخصصة"
                 "name": "موقف سكة حديد",
                 "terms": "موقف إجباري خاص بسكك الحديد، موقف السكة الحديدية"
             },
-            "railway/level_crossing": {
-                "name": "معبر سكة حديدية",
-                "terms": "معبر سكة حديدية, تقاطع سكة حديد"
-            },
             "railway/monorail": {
                 "name": "سكة حديدة مفردة",
                 "terms": "سكة حديدة مفردة"
index 051ad6f..11925ad 100644 (file)
@@ -30,7 +30,8 @@
         "add": {
             "annotation": {
                 "point": "Amestáu un puntu.",
-                "vertex": "Amestáu un noyu a una vía"
+                "vertex": "Amestáu un noyu a una vía",
+                "relation": "Amestada una rellación."
             }
         },
         "start": {
             }
         },
         "continue": {
+            "key": "A",
+            "title": "Siguir",
+            "description": "Siguir esta llinia",
+            "not_eligible": "Equí nun pue siguise llinia denguna.",
+            "multiple": "D'equí pueden siguise delles llinies. Pa escoyer una llinia, calca la tecla Mayús y fai clic nella pa seleicionala.",
             "annotation": {
                 "line": "Continuada una llinia.",
                 "area": "Continuáu un área."
@@ -65,7 +71,9 @@
                 "line": "Facer una llinia circular.",
                 "area": "Facer un área circular."
             },
-            "too_large": "Esto nun pue facese circular porque anguaño nun ye visible bastante."
+            "not_closed": "Nun pué facese circular porque nun ye un llazu.",
+            "too_large": "Esto nun pue facese circular porque anguaño nun ye visible bastante.",
+            "connected_to_hidden": "Nun pué facese circular porque ta coneutao a una carauterística tapecida."
         },
         "orthogonalize": {
             "title": "Escuadrar",
                 "area": "Escuadraes les esquines d'un área."
             },
             "not_squarish": "Nun pue escuadrase porque nun ye cuadrada",
-            "too_large": "Esto nun pue escuadrase porque anguaño nun ye visible bastante."
+            "too_large": "Esto nun pue escuadrase porque anguaño nun ye visible bastante.",
+            "connected_to_hidden": "Nun pué facese cuadrao porque ta coneutao a una carauterística tapecida."
         },
         "straighten": {
             "title": "Enderechar",
             "description": "Enderechar esta llinia.",
             "key": "S",
             "annotation": "Enderechada una llinia.",
-            "too_bendy": "Nun pue enderechase porque ta doblada enforma."
+            "too_bendy": "Nun pue enderechase porque ta doblada enforma.",
+            "connected_to_hidden": "Esta llinia nun puede enderechase porque ta coneutao a una carauterística tapecida."
         },
         "delete": {
             "title": "Desaniciar",
+            "description": "Desaniciar l'oxetu de mou permanente.",
             "annotation": {
                 "point": "Desaniciáu un puntu.",
                 "vertex": "Desaniciáu un nuedu d'una vía.",
                 "relation": "Desaniciada una rellación.",
                 "multiple": "Desaniciaos {n} oxetos."
             },
-            "incomplete_relation": "Esta carauterística nun pue desaniciase porque nun se descargó completamente."
+            "incomplete_relation": "Esta carauterística nun pue desaniciase porque nun se descargó completamente.",
+            "part_of_relation": "Esta carauterística nun pue desaniciase porque ye parte d'una rellación mayor. Tienes primero que quitala de la rellación.",
+            "connected_to_hidden": "Nun pue desaniciase porque ta coneutao a una carauterística tapecida."
+        },
+        "add_member": {
+            "annotation": "Amestáu un miembru a una rellación."
+        },
+        "delete_member": {
+            "annotation": "Desaniciáu un miembru d'una rellación."
         },
         "connect": {
             "annotation": {
             "title": "Desconeutar",
             "description": "Desconectar estes llinies/árees una d'otra.",
             "key": "D",
-            "annotation": "Llinies/árees desconectaes."
+            "annotation": "Llinies/árees desconectaes.",
+            "not_connected": "Equí nun hai bastantes llinies/árees que desconectar.",
+            "connected_to_hidden": "Nun pue desconeutase porque ta coneutao a una carauterística tapecida."
         },
         "merge": {
             "title": "Entemecer",
             "description": "Entemecer eses llinies.",
             "key": "C",
             "annotation": "Entemecies {n} llinies.",
+            "not_eligible": "Eses carauterístiques nun puen amestase",
+            "not_adjacent": "Eses llinies nun puen amestase porque nun tán coneutaes.",
+            "restriction": "Eses llinies nun puen amestase porque polo menos una ye miembru d'una rellación «{relation}».",
             "incomplete_relation": "Estes carauterístiques nun puen entemecese porque polo menos una nun se descargó completamente."
         },
         "move": {
                 "line": "Movida una llinia.",
                 "area": "Movíu un área.",
                 "multiple": "Movíos múltiples oxetos."
-            }
+            },
+            "incomplete_relation": "Esta carauterística nun pue movese porque nun se descargó completamente.",
+            "too_large": "Nun pue movese porque anguaño nun ye visible una parte bastante d'ello.",
+            "connected_to_hidden": "Nun pue movese porque ta coneutao a una carauterística tapecida."
         },
         "rotate": {
             "title": "Xirar",
             "annotation": {
                 "line": "Xirada una llinia.",
                 "area": "Xiráu un área."
-            }
+            },
+            "too_large": "Nun pue xirase porque anguaño nun ye visible una parte bastante d'ello.",
+            "connected_to_hidden": "Nun pue xirase porque ta coneutao a una carauterística tapecida."
         },
         "reverse": {
             "title": "Invertir",
         },
         "split": {
             "title": "Dixebrar",
-            "key": "X"
+            "description": {
+                "line": "Partir esta llinia en dos nesti nodu.",
+                "area": "Partir la llende d'esti área en dos.",
+                "multiple": "Partir les llinies/llendes d'esti área en dos nesti nodu."
+            },
+            "key": "X",
+            "annotation": {
+                "line": "Partir una llinia.",
+                "area": "Partir una llende d'área.",
+                "multiple": "Partir {n} llinies/llendes d'área."
+            },
+            "not_eligible": "Les llinies nun pueden partise al principiu o al final.",
+            "multiple_ways": "Equí hai demasiaes llinies que partir.",
+            "connected_to_hidden": "Nun puede partise porque ta coneutao con una carauterística tapecida."
+        },
+        "restriction": {
+            "help": {
+                "select": "Fai click pa seleicionar un segmentu de carretera",
+                "toggle": "Fai click pa conmutar les torgues de xiru.",
+                "toggle_on": "Fai click p'amestar una torga «{restriction}».",
+                "toggle_off": "Fai click pa desaniciar la torga «{restriction}»."
+            },
+            "annotation": {
+                "create": "Amestada una torga de xiru",
+                "delete": "Desaniciada una torga de xiru"
+            }
         }
     },
     "undo": {
+        "tooltip": "Desfacer: {action}",
         "nothing": "Ren que desfacer."
     },
     "redo": {
+        "tooltip": "Refacer: {action}",
         "nothing": "Ren pa refacer."
     },
     "tooltip_keyhint": "Atayu:",
     "logout": "zarrar sesión",
     "loading_auth": "Coneutando con OpenStreetMap...",
     "report_a_bug": "informar d'un fallu",
+    "feature_info": {
+        "hidden_warning": "{count} carauterístiques tapecíes",
+        "hidden_details": "Anguaño estes carauterístiques tán tapecíes: {details}"
+    },
     "status": {
         "error": "Nun se pue coneutar cola API.",
         "offline": "La API ta desconeutada. Intente la edición más sero.",
     "commit": {
         "title": "Guardar cambios",
         "description_placeholder": "Descripción curtia de les collaboraciones",
+        "message_label": "Comentariu del conxuntu de cambios",
         "upload_explanation": "Los cambios que xuba tarán visibles en tolos mapes qu'usen los datos d'OpenStreetMap.",
+        "upload_explanation_with_user": "Los cambios que xubas como {user} tarán visibles en tolos mapes qu'usen datos d'OpenStreetMap.",
         "save": "Guardar",
         "cancel": "Encaboxar",
+        "changes": "{count} cambios",
         "warnings": "Avisos",
         "modified": "Camudáu",
         "deleted": "Desaniciáu",
         "list": "Ediciones de {users}",
         "truncated_list": "Ediciones de {users} y otros {count}"
     },
+    "infobox": {
+        "selected": "{n} seleicionao",
+        "geometry": "Xeometría",
+        "closed": "zarrao",
+        "center": "Centrar",
+        "perimeter": "Perímetru",
+        "length": "Llargor",
+        "area": "Área",
+        "centroid": "Centroide",
+        "location": "Llugar",
+        "metric": "Métricu",
+        "imperial": "Imperial"
+    },
+    "geometry": {
+        "point": "puntu",
+        "vertex": "vértice",
+        "line": "llinia",
+        "area": "área",
+        "relation": "rellación"
+    },
+    "geocoder": {
+        "search": "Buscar en tol mundu...",
+        "no_results_visible": "Nun hai resultaos nel área visible del mapa",
+        "no_results_worldwide": "Nun s'alcontraron resultaos"
+    },
     "geolocate": {
         "title": "Amosar el mio allugamientu"
     },
         "all_tags": "Toles etiquetes",
         "all_members": "Tolos miembros",
         "all_relations": "Toles rellaciones",
+        "new_relation": "Nueva rellación...",
         "role": "Rol",
         "choose": "Seleicione un tipu de carauterística",
         "results": "{n} resultaos pa {search}",
         "search": "Guetar",
         "multiselect": "Elementos seleicionaos",
         "unknown": "Desconocíu",
+        "incomplete": "<non descargao>",
+        "feature_list": "Buscar carauterístiques",
+        "edit": "Editar carauterística",
+        "check": {
+            "yes": "Si",
+            "no": "Non"
+        },
         "none": "Dengún",
         "node": "Nuedu",
         "way": "Vía",
         "relation": "Rellación",
-        "location": "Allugamientu"
+        "location": "Allugamientu",
+        "add_fields": "Amestar campu:"
     },
     "background": {
         "title": "Fondu",
         "none": "Dengún",
         "custom": "Personalizáu",
         "custom_button": "Editar fondu personalizáu",
+        "custom_prompt": "Escribi una plantía d'URL de títulu. Los parámetros válidos son {z}, {x}, {y} pal esquema Z/X/Y y {u} pal esquema QuadTiles.",
         "fix_misalignment": "Iguar l'alliniamientu",
-        "reset": "reaniciar"
+        "reset": "reaniciar",
+        "minimap": {
+            "description": "Minimapa",
+            "tooltip": "Amuesa un mapa alloñáu p'ayudar a alcontrar l'área que se ve actualmente."
+        }
+    },
+    "map_data": {
+        "title": "Datos del mapa",
+        "description": "Datos del mapa",
+        "data_layers": "Capes de datos",
+        "fill_area": "Rellenar árees",
+        "map_features": "Elementos del mapa",
+        "autohidden": "Estos elementos tapeciéronse automáticamente porque s'amosaríen demasiaos en pantalla. Puedes averate pa editalos."
+    },
+    "feature": {
+        "points": {
+            "description": "Puntos",
+            "tooltip": "Puntos d'interés"
+        },
+        "major_roads": {
+            "description": "Carreteres principales",
+            "tooltip": "Carreteres, cais, etc."
+        },
+        "minor_roads": {
+            "description": "Carreteres menores",
+            "tooltip": "Víes de serviciu, pasiellos d'aparcamientu, pistes, etc."
+        },
+        "paths": {
+            "description": "Caminos",
+            "tooltip": "Aceres, siendes peatonales, víes ciclistes, etc."
+        },
+        "buildings": {
+            "description": "Edificios",
+            "tooltip": "Edificios, refuxos, garaxes, etc."
+        },
+        "landuse": {
+            "description": "Tipos d'usu del terrén",
+            "tooltip": "Viesques, cultivos, parques, residencial, comercial, etc."
+        },
+        "boundaries": {
+            "description": "Llendes",
+            "tooltip": "Llendes alministratives"
+        },
+        "water": {
+            "description": "Elementos acuáticos",
+            "tooltip": "Rios, llagos, banzaos, cuenques, etc."
+        },
+        "rail": {
+            "description": "Elementos ferroviarios",
+            "tooltip": "Ferrocarriles"
+        },
+        "power": {
+            "description": "Elementos d'enerxía",
+            "tooltip": "Llinies eléctriques, plantes de xeneración, subestaciones, etc."
+        },
+        "past_future": {
+            "description": "Pasao/Futuru",
+            "tooltip": "Propuesto, en construcción, abandonao, valtao, etc."
+        },
+        "others": {
+            "description": "Otros",
+            "tooltip": "Tolo demás"
+        }
+    },
+    "area_fill": {
+        "wireframe": {
+            "description": "Sin rellenu (alambre)",
+            "tooltip": "Activar el mou d'alambre facilita ver les imaxes de fondu."
+        },
+        "partial": {
+            "description": "Rellenu parcial",
+            "tooltip": "Les árees dibúxense col rellenu sólo alredor de los berbesos internos. (Recomendao pa mapeadores principiantes)"
+        },
+        "full": {
+            "description": "Rellenu completu",
+            "tooltip": "Les árees dibúxense col rellenu completu"
+        }
     },
     "restore": {
         "heading": "Tien cambios ensin guardar",
         "title": "Guardar",
         "help": "Guardar cambios a OpenStreetMap, faciendolos visibles a otros usuarios.",
         "no_changes": "Nun hai cambios que guardar.",
+        "error": "Hebo errores al intentar guardar",
+        "status_code": "El sirvidor devolvió'l códigu d'estáu {code}",
+        "unknown_error_details": "Comprueba que tienes conexón a internet.",
         "uploading": "Xubiendo cambios a OpenStreetMap.",
-        "unsaved_changes": "Tien cambios ensin guardar"
+        "unsaved_changes": "Tien cambios ensin guardar",
+        "conflict": {
+            "header": "Iguar conflictos d'edición",
+            "count": "Conflictu {num} de {total}",
+            "previous": "< Anterior",
+            "next": "Siguiente >",
+            "keep_local": "Caltener lo mio",
+            "keep_remote": "Usar lo ayeno",
+            "restore": "Restaurar",
+            "delete": "Dexar desaniciao",
+            "download_changes": "O descargar los tos cambeos",
+            "done": "¡Iguaos tolos conflictos!"
+        }
     },
     "success": {
         "edited_osm": "¡Editáu OSM!",
         "google": "Compartir en Google+"
     },
     "confirm": {
-        "okay": "Aceutar"
+        "okay": "Aceutar",
+        "cancel": "Encaboxar"
     },
     "splash": {
         "welcome": "Bienllegáu al editor d'OpenStreetMap iD",
         "zoom": "Ampliar a la traza GPX",
         "browse": "Restolar por un ficheru .gpx"
     },
+    "mapillary": {
+        "tooltip": "Fotos a nivel de cai de Mapillary",
+        "title": "Capa de foto (Mapillary)",
+        "view_on_mapillary": "Ver esta imaxe'n Mapillary"
+    },
     "help": {
-        "title": "Ayuda"
+        "title": "Ayuda",
+        "help": "# Ayuda\n\nEsti ye un editor pa [OpenStreetMap](http://www.openstreetmap.org/), el\nmapamundi llibre y editable. Pues usalu p'amestar y anovar los datos\nde la to fastera, pa facer un mapamundi de códigu y datos abiertos\nmeyor pa tol mundu.\n\nLes ediciones que faigas nesti mapa sedrán visibles pa cualquiera qu'use\nOpenStreetMap. Pa facer una edición, necesites\n[aniciar sesión](https://www.openstreetmap.org/login).\n\nEl [editor iD](http://ideditor.com/) ye un proyeutu collaborativu col  [códigu\nfonte disponible'n GitHub](https://github.com/openstreetmap/iD).\n"
     },
     "intro": {
         "navigation": {
             "close": "L'editor de carauterístiques pue zarrase calcando nel botón zarrar. **Zarra l'editor de carauterístiques**"
         },
         "areas": {
-            "title": "Árees"
+            "title": "Árees",
+            "search": "**Guetar '{name}'.**"
         },
         "lines": {
             "title": "Llinies"
             "category-rail": {
                 "name": "Ferrocarril"
             },
+            "category-restriction": {
+                "name": "Torga"
+            },
             "category-road": {
                 "name": "Carretera"
             },
         },
         "fields": {
             "access": {
-                "label": "Accesu",
                 "options": {
                     "designated": {
                         "description": "Accesu permitíu acordies con señales o lleis llocales especifiques",
                         "description": "Accesu permitíu sólo de pasu a un destín",
                         "title": "Destín"
                     },
+                    "dismount": {
+                        "description": "Accesu permitíu pero tien de desmontar",
+                        "title": "Desmontáu"
+                    },
                     "no": {
                         "description": "Accesu nun permitíu al públicu en xeneral",
                         "title": "Torgáu"
                         "title": "Permitíu"
                     }
                 },
-                "placeholder": "Desconocíu",
                 "types": {
-                    "access": "Xeneral",
                     "bicycle": "Bicicletes",
                     "foot": "A pie",
                     "horse": "Caballos",
                 }
             },
             "access_simple": {
+                "placeholder": "si"
+            },
+            "access_toilets": {
                 "label": "Accesu"
             },
             "address": {
                 "label": "Direición",
                 "placeholders": {
                     "city": "Ciudá",
-                    "street": "Cai"
+                    "conscriptionnumber": "123",
+                    "country": "País",
+                    "district": "Distritu",
+                    "hamlet": "Aldea",
+                    "housename": "Númberu de casa",
+                    "housenumber": "123",
+                    "place": "Llugar",
+                    "postcode": "Códigu postal",
+                    "province": "Provincia",
+                    "state": "Estáu",
+                    "street": "Cai",
+                    "subdistrict": "Subdistritu",
+                    "suburb": "Barriu"
                 }
             },
             "admin_level": {
                 "label": "Tipu"
             },
             "aerialway/access": {
-                "label": "Accesu"
+                "label": "Accesu",
+                "options": {
+                    "both": "Dambos",
+                    "entry": "Entrada",
+                    "exit": "Salida"
+                }
+            },
+            "aerialway/bubble": {
+                "label": "Cabina"
             },
             "aerialway/capacity": {
                 "label": "Capacidá (por hora)",
                 "placeholder": "2, 4, 8..."
             },
             "aerialway/summer/access": {
-                "label": "Accesu (branu)"
+                "label": "Accesu (branu)",
+                "options": {
+                    "both": "Dambos",
+                    "entry": "Entrada",
+                    "exit": "Salida"
+                }
             },
             "aeroway": {
                 "label": "Tipu"
             "amenity": {
                 "label": "Tipu"
             },
+            "area/highway": {
+                "label": "Tipu"
+            },
             "artist": {
                 "label": "Artista"
             },
             "atm": {
                 "label": "Caxeru automáticu"
             },
+            "backrest": {
+                "label": "Respaldu"
+            },
             "barrier": {
                 "label": "Tipu"
             },
+            "bench": {
+                "label": "Bancu"
+            },
             "bicycle_parking": {
                 "label": "Tipu"
             },
             "boundary": {
                 "label": "Tipu"
             },
+            "brand": {
+                "label": "Marca"
+            },
             "building": {
                 "label": "Edificiu"
             },
                 "placeholder": "50, 100, 200..."
             },
             "cardinal_direction": {
-                "label": "Direición"
+                "label": "Direición",
+                "options": {
+                    "E": "Este",
+                    "ENE": "Este-nordés",
+                    "ESE": "Este-sureste",
+                    "N": "Norte",
+                    "NE": "Nordés",
+                    "NNE": "Norte-nordés",
+                    "NNW": "Norte-noroeste",
+                    "NW": "Noroeste",
+                    "S": "Sur",
+                    "SE": "Sureste",
+                    "SSE": "Sur-sureste",
+                    "SSW": "Sur-suroeste",
+                    "SW": "Suroeste",
+                    "W": "Oeste",
+                    "WNW": "Oeste-noroeste",
+                    "WSW": "Oeste-suroeste"
+                }
             },
             "clock_direction": {
                 "label": "Direición",
             "construction": {
                 "label": "Tipu"
             },
+            "content": {
+                "label": "Conteníu"
+            },
             "country": {
                 "label": "País"
             },
             "covered": {
                 "label": "Cubierto"
             },
+            "craft": {
+                "label": "Tipu"
+            },
+            "crop": {
+                "label": "Collecha"
+            },
             "crossing": {
                 "label": "Tipu"
             },
             "cuisine": {
                 "label": "Cocina"
             },
+            "cycleway": {
+                "label": "Carriles bici",
+                "options": {
+                    "lane": {
+                        "description": "Un carril bici separáu del tráficu d'autos por una llinia pintada",
+                        "title": "Carril bici estándar"
+                    },
+                    "none": {
+                        "description": "Sin carril bici",
+                        "title": "Dengún"
+                    },
+                    "opposite": {
+                        "description": "Carril bici de dos direcciones n'una cai de dirección única",
+                        "title": "Carril bici a contradirección"
+                    },
+                    "opposite_lane": {
+                        "description": "Un carril bici que va en dirección opuesta al tráficu",
+                        "title": "Carril bici opuestu"
+                    },
+                    "share_busway": {
+                        "description": "Carril bici compartíu con carril bus",
+                        "title": "Carril bici compartíu con bus"
+                    },
+                    "shared_lane": {
+                        "description": "Un carril bici sin separación del tráficu d'autos",
+                        "title": "Carril bici compartíu"
+                    },
+                    "track": {
+                        "description": "Un carril bici separáu del tráficu por una barrera física",
+                        "title": "Pista ciclable"
+                    }
+                },
+                "placeholder": "dengún",
+                "types": {
+                    "cycleway:left": "Llau izquierdu",
+                    "cycleway:right": "Llau drechu"
+                }
+            },
+            "delivery": {
+                "label": "Repartu"
+            },
             "denomination": {
                 "label": "Denominación"
             },
             "description": {
                 "label": "Descripción"
             },
+            "drive_through": {
+                "label": "Carril de compres"
+            },
             "electrified": {
-                "label": "Electrificación"
+                "label": "Electrificación",
+                "options": {
+                    "contact_line": "Catenaria",
+                    "no": "Non",
+                    "rail": "Ferrocarril electrificáu",
+                    "yes": "Si (sin especificar)"
+                },
+                "placeholder": "Catenaria, ferrocarril electrificáu..."
             },
             "elevation": {
                 "label": "Altor"
             "entrance": {
                 "label": "Tipu"
             },
+            "except": {
+                "label": "Esceiciones"
+            },
             "fax": {
                 "label": "Fax",
                 "placeholder": "+31 42 123 4567"
                 "label": "Pagu"
             },
             "fire_hydrant/type": {
-                "label": "Tipu"
+                "label": "Tipu",
+                "options": {
+                    "pillar": "Pilar/Enriba del terrén",
+                    "pond": "Estanque",
+                    "underground": "Baxo tierra",
+                    "wall": "De parede"
+                }
             },
             "fixme": {
                 "label": "Arréglame"
             "gauge": {
                 "label": "Anchu de vía"
             },
+            "gender": {
+                "label": "Xéneru",
+                "options": {
+                    "female": "Femenin",
+                    "male": "Masculín",
+                    "unisex": "Unisex"
+                },
+                "placeholder": "Desconocíu"
+            },
             "generator/method": {
                 "label": "Métodu"
             },
                 "label": "Tipu"
             },
             "hoops": {
+                "label": "Númberu d'aros",
                 "placeholder": "1, 2, 4..."
             },
             "iata": {
             "incline": {
                 "label": "Pendiente"
             },
+            "incline_steps": {
+                "label": "Cuesta",
+                "options": {
+                    "down": "Abaxo",
+                    "up": "Arriba"
+                }
+            },
             "information": {
                 "label": "Tipu"
             },
             "internet_access": {
                 "label": "Accesu a Internet",
                 "options": {
+                    "no": "Non",
                     "terminal": "Terminal",
                     "wired": "Per cable",
-                    "wlan": "Wifi"
+                    "wlan": "Wifi",
+                    "yes": "Si"
                 }
             },
+            "lamp_type": {
+                "label": "Tipu"
+            },
             "landuse": {
                 "label": "Tipu"
             },
             "layer": {
                 "label": "Capa"
             },
+            "leaf_cycle": {
+                "label": "Ciclu de fueyes",
+                "options": {
+                    "deciduous": "Caducu",
+                    "evergreen": "Perenne",
+                    "mixed": "Mecíu",
+                    "semi_deciduous": "Semi-caducu",
+                    "semi_evergreen": "Semi-perenne"
+                }
+            },
+            "leaf_type": {
+                "label": "Tipu de fueya",
+                "options": {
+                    "broadleaved": "Fueya ancha",
+                    "leafless": "Sin fueya",
+                    "mixed": "Mecíu",
+                    "needleleaved": "Fueya d'aguya"
+                }
+            },
             "leisure": {
                 "label": "Tipu"
             },
             "length": {
                 "label": "Llonxitú (Metros)"
             },
+            "level": {
+                "label": "Nivel"
+            },
             "levels": {
                 "label": "Niveles",
                 "placeholder": "2, 4, 6..."
                 "label": "Velocidá máxima",
                 "placeholder": "40, 50, 60..."
             },
+            "mtb/scale": {
+                "label": "Dificultá pa bicis de monte",
+                "options": {
+                    "0": "0: Sólidu de grava/tierra apisonada, sin estorbos, curves amplies",
+                    "1": "1: Superficie daqué suelto, pequeños estorbos, curves amplies",
+                    "2": "2: Superficie suelto enforma, estorbos grandes, revueltes fáciles",
+                    "3": "3: Superficie esbariosa, estorbos grandes, revueltes dures",
+                    "4": "4: Superficie suelto o cantos, revueltes peligroses",
+                    "5": "5: Dificultá máxima, lleres, argayos",
+                    "6": "6: Non ciclable sacante pa los meyores ciclistes de monte"
+                },
+                "placeholder": "0, 1, 2, 3..."
+            },
+            "mtb/scale/imba": {
+                "label": "Dificultá IMBA de la sienda",
+                "options": {
+                    "0": "Más fácil (círculu blancu)",
+                    "1": "Fácil (círculu verde)",
+                    "2": "Mediana  (cuadráu azul)",
+                    "3": "Difícil (diamante prietu)",
+                    "4": "Difícil enforma (doble diamante prietu)"
+                },
+                "placeholder": "Fácil, mediana, difícil..."
+            },
+            "mtb/scale/uphill": {
+                "label": "Dificultá de xuba pa bicis de monte",
+                "options": {
+                    "0": "0: Pend. media <10%, grava/tierra apisonada, sin estorbos",
+                    "1": "1: Pend. media <15%, grava/tierra apisonada, pocos oxetos pequeños",
+                    "2": "2: Pend. media <20%, superficie estable, roques/raíces como un puñu",
+                    "3": "3: Pend. media <25%, superficie variable, roques/rames como un puñu",
+                    "4": "4: Pend. media <30%, mal estáu, roques/rames grandes",
+                    "5": "5: Pindio enforma, la bici de vezu tien d'emburriase o cargase"
+                },
+                "placeholder": "0, 1, 2, 3..."
+            },
             "name": {
                 "label": "Nome",
                 "placeholder": "Nome común (si lu tien)"
                 "label": "Tipu"
             },
             "oneway": {
-                "label": "Sentíu únicu"
+                "label": "Sentíu únicu",
+                "options": {
+                    "no": "Non",
+                    "undefined": "Créyese que non",
+                    "yes": "Si"
+                }
             },
             "oneway_yes": {
-                "label": "Sentíu únicu"
+                "label": "Sentíu únicu",
+                "options": {
+                    "no": "Non",
+                    "undefined": "Créyese que si",
+                    "yes": "Si"
+                }
             },
             "opening_hours": {
                 "label": "Horariu"
                 "label": "Aparcamientu con tresporte públicu"
             },
             "parking": {
-                "label": "Tipu"
+                "label": "Tipu",
+                "options": {
+                    "carports": "Techaos",
+                    "garage_boxes": "Cocheres",
+                    "lane": "Llateral de carretera",
+                    "multi-storey": "Multinivel",
+                    "sheds": "Casetes",
+                    "surface": "Superficie",
+                    "underground": "Baxo tierra"
+                }
             },
             "phone": {
                 "label": "Teléfonu",
                 "placeholder": "+31 42 123 4567"
             },
             "piste/difficulty": {
-                "label": "Dificultá"
+                "label": "Dificultá",
+                "options": {
+                    "advanced": "Avanzáu (diamante prietu)",
+                    "easy": "Fácil (círculu verde)",
+                    "expert": "Espertu (doble diamante prietu)",
+                    "extreme": "Estremu (necesita equipu d'escalada)",
+                    "freeride": "Llibre (fuera de pista)",
+                    "intermediate": "Intermediu (cuadráu azul)",
+                    "novice": "Principiantes (enseñanza)"
+                },
+                "placeholder": "Fácil, intermediu, avanzáu..."
+            },
+            "piste/grooming": {
+                "label": "Mantenimientu",
+                "options": {
+                    "backcountry": "Fuera de pista",
+                    "classic": "Clásica",
+                    "classic+skating": "Clásica y patinaxe",
+                    "mogul": "Bañeres",
+                    "scooter": "Scooter/Moto de nieve",
+                    "skating": "Patinaxe"
+                }
             },
             "piste/type": {
-                "label": "Tipu"
+                "label": "Tipu",
+                "options": {
+                    "downhill": "Descensu",
+                    "hike": "Escursión",
+                    "ice_skate": "Patinaxe sobro xelu",
+                    "nordic": "Nórdica",
+                    "playground": "Infantil",
+                    "skitour": "Escursión d'esquí",
+                    "sled": "Luge",
+                    "sleigh": "Trinéu (de tracción animal)",
+                    "snow_park": "Snowpark"
+                }
             },
             "place": {
                 "label": "Tipu"
             "power": {
                 "label": "Tipu"
             },
+            "power_supply": {
+                "label": "Fonte d'enerxía"
+            },
             "railway": {
                 "label": "Tipu"
             },
             "recycling/paper": {
                 "label": "Aceuta papel"
             },
+            "recycling/type": {
+                "label": "Tipu de reciclaxe",
+                "options": {
+                    "centre": "Centru de reciclaxe",
+                    "container": "Contenedor"
+                }
+            },
             "ref": {
                 "label": "Referencia"
             },
             "restriction": {
                 "label": "Tipu"
             },
+            "restrictions": {
+                "label": "Torgues de xiru"
+            },
             "route": {
                 "label": "Tipu"
             },
             "route_master": {
                 "label": "Tipu"
             },
+            "sac_scale": {
+                "label": "Dificultá escursionista",
+                "options": {
+                    "alpine_hiking": "T4: Escursionismu alpín",
+                    "demanding_alpine_hiking": "T5: Escursionismu alpín esixente",
+                    "demanding_mountain_hiking": "T3: Escursionismu de monte esixente",
+                    "difficult_alpine_hiking": "T6: Escursionismu alpín difícil",
+                    "hiking": "T1: Escursionismu",
+                    "mountain_hiking": "T2: Escursionismu de monte"
+                },
+                "placeholder": "Escursionismu de monte, escursionismu alpín"
+            },
+            "sanitary_dump_station": {
+                "label": "Descarga d'agua puerco"
+            },
             "seasonal": {
                 "label": "Estacional"
             },
             "service": {
                 "label": "Tipu"
             },
+            "service/bicycle/chain_tool": {
+                "label": "Tronchacadenes",
+                "options": {
+                    "no": "Non",
+                    "undefined": "Créyese que non",
+                    "yes": "Si"
+                }
+            },
+            "service/bicycle/pump": {
+                "label": "Bomba",
+                "options": {
+                    "no": "Non",
+                    "undefined": "Créyese que non",
+                    "yes": "Si"
+                }
+            },
+            "service_rail": {
+                "label": "Tipu de serviciu",
+                "options": {
+                    "crossover": "Aguya",
+                    "siding": "Apartaderu",
+                    "spur": "Ramal",
+                    "yard": "Estación de clasificación"
+                }
+            },
             "shelter": {
                 "label": "Refuxu"
             },
             "shop": {
                 "label": "Tipu"
             },
+            "sloped_curb": {
+                "label": "Cairel accesible"
+            },
+            "smoking": {
+                "label": "Fumadores",
+                "options": {
+                    "dedicated": "Dedicao a fumadores (p.ex. club de fumadores)",
+                    "isolated": "N'árees de fumadores, aisllaes físicamente",
+                    "no": "Prohibición total de fumar",
+                    "outside": "Permitío fuera",
+                    "separated": "N'árees de fumadores, non aisllaes físicamente",
+                    "yes": "Permitío en cualquier llugar"
+                },
+                "placeholder": "Non, separao, si..."
+            },
+            "smoothness": {
+                "label": "Uniformidá",
+                "options": {
+                    "bad": "Ruedes fuertes: bici de monte, coche, rickshaw",
+                    "excellent": "Patinos delgaos: patinos en llinia, skateboard",
+                    "good": "Ruedes delgaes: bici de carreres",
+                    "horrible": "Too terrén: vehículos too terrén de trabayu",
+                    "impassable": "Impasable / Non pa vehículos de ruedes",
+                    "intermediate": "Ruedes: bici urbana, silla de ruedes, ",
+                    "very_bad": "Bon altor: vehículos too terrén llixeros",
+                    "very_horrible": "Too terrén especializáu: tractor, quad"
+                },
+                "placeholder": "Patinos, ruedes, too terrén"
+            },
             "social_facility_for": {
                 "label": "Persones atendíes",
                 "placeholder": "Sin techo, minusválidos, neños, etc"
             "sport_ice": {
                 "label": "Deporte"
             },
+            "sport_racing": {
+                "label": "Deporte"
+            },
             "structure": {
                 "label": "Estructura",
                 "options": {
             "studio_type": {
                 "label": "Tipu"
             },
+            "substation": {
+                "label": "Tipu"
+            },
             "supervised": {
                 "label": "Supervisáu"
             },
             "tactile_paving": {
                 "label": "Baldosa táctil"
             },
+            "takeaway": {
+                "label": "Pa llevar",
+                "options": {
+                    "no": "Non",
+                    "only": "Sólo pa llevar",
+                    "yes": "Si"
+                },
+                "placeholder": "Si, non, sólo pa llevar..."
+            },
+            "toilets/disposal": {
+                "label": "Llimpieza",
+                "options": {
+                    "bucket": "Calderu",
+                    "chemical": "Químico",
+                    "flush": "Cisterna",
+                    "pitlatrine": "Pozu/Cucheru"
+                }
+            },
             "tourism": {
                 "label": "Tipu"
             },
             "towertype": {
                 "label": "Tipu de torre"
             },
+            "tracktype": {
+                "label": "Tipu de caleya",
+                "options": {
+                    "grade1": "Sólidu: superficie pavimentada o material duru bien apisonao",
+                    "grade2": "Mayormente sólidu: grava/piedra con daqué material dondo amestáu",
+                    "grade3": "Mestura igualada de materiales sólidos y dondos",
+                    "grade4": "Mayormente dondu: tierra/sable/yerba con daqué de material sólidu amestáu",
+                    "grade5": "Dondu: tierra/sable/yerba"
+                },
+                "placeholder": "Sólidu, mayormente sólidu, dondu..."
+            },
             "trail_visibility": {
-                "label": "Visibilidá del senderu"
+                "label": "Visibilidá del senderu",
+                "options": {
+                    "bad": "Malu: sin marques, camín dacuando invisible/inesistente",
+                    "excellent": "Escelente: camín non ambiguu o marques per auquiera",
+                    "good": "Bonu: marques visibles, dacuando hai que buscales",
+                    "horrible": "Horrible: de vezu sin camín, necesita daqué conocencia d'orientacion",
+                    "intermediate": "Intermediu: poques marques, camín visible casi siempre",
+                    "no": "Non: sin camín, necesita una escelente conocencia d'orientación"
+                },
+                "placeholder": "Escelente, bonu, malu..."
             },
             "trees": {
                 "label": "Árboles"
             "water": {
                 "label": "Tipu"
             },
+            "water_point": {
+                "label": "Toma d'agua"
+            },
             "waterway": {
                 "label": "Tipu"
             },
                 "name": "Direición",
                 "terms": "Señes,Allugamientu"
             },
+            "aerialway": {
+                "name": "Tendíu aéreu",
+                "terms": "cable, remonte"
+            },
+            "aerialway/cable_car": {
+                "name": "Teleféricu"
+            },
+            "aerialway/chair_lift": {
+                "name": "Telesiella"
+            },
+            "aerialway/gondola": {
+                "name": "Telecabina"
+            },
+            "aerialway/magic_carpet": {
+                "name": "Alfombra máxica",
+                "terms": "cinta tresportadora"
+            },
+            "aerialway/platter": {
+                "name": "Telesquí de placa"
+            },
             "aerialway/pylon": {
-                "name": "Poste de tresporte per cable"
+                "name": "Poste de tresporte per cable",
+                "terms": "poste, torre, sofitu"
+            },
+            "aerialway/rope_tow": {
+                "name": "Cuerda de remolque"
+            },
+            "aerialway/station": {
+                "name": "Estación de remonte"
+            },
+            "aerialway/t-bar": {
+                "name": "Telesquí de T"
             },
             "aeroway": {
-                "name": "Via d'aviación"
+                "name": "Via d'aviación",
+                "terms": "Aviación"
             },
             "aeroway/aerodrome": {
                 "name": "Aeropuertu",
             "amenity/bicycle_rental": {
                 "name": " Alquiler de bicicletes"
             },
+            "amenity/bicycle_repair_station": {
+                "name": "Taller de bicicletes",
+                "terms": "Reparación de bicis"
+            },
+            "amenity/biergarten": {
+                "name": "Cervecería al aire llibre",
+                "terms": "Biergarten"
+            },
             "amenity/boat_rental": {
                 "name": "Alquiler de barcos",
                 "terms": "Alquiler de veleros, Alquiler de lanches"
             },
+            "amenity/bureau_de_change": {
+                "name": "Cambiu de moneda",
+                "terms": "Divisa, cambiu"
+            },
+            "amenity/bus_station": {
+                "name": "Estación d'autobúses",
+                "terms": "Autobuses"
+            },
             "amenity/cafe": {
                 "name": "Café",
                 "terms": "Cafetería"
             "amenity/car_wash": {
                 "name": "Llaváu de coches"
             },
+            "amenity/casino": {
+                "name": "Casino"
+            },
             "amenity/charging_station": {
                 "name": "Estación de recarga"
             },
+            "amenity/childcare": {
+                "name": "Preescolar/Guardería",
+                "terms": "Educación infantil"
+            },
             "amenity/cinema": {
                 "name": "Cine",
                 "terms": "Cinematógrafu,Multicine"
             "amenity/clock": {
                 "name": "Reló"
             },
+            "amenity/college": {
+                "name": "Terrén de colexu universitariu"
+            },
+            "amenity/community_centre": {
+                "name": "Centru comunitariu",
+                "terms": "Centru social, atenéu"
+            },
             "amenity/compressed_air": {
                 "name": "Aire comprimíu"
             },
                 "name": "Doctor",
                 "terms": "Médicu,Especialista"
             },
+            "amenity/dojo": {
+                "name": "Dojo / Academia d'artes marciales",
+                "terms": "Ximnasiu"
+            },
             "amenity/drinking_water": {
                 "name": "Agua potable"
             },
             "amenity/grave_yard": {
                 "name": "Enterramientos"
             },
+            "amenity/grit_bin": {
+                "name": "Caxón de sal"
+            },
             "amenity/hospital": {
                 "name": "Antoxana d'hospital",
                 "terms": "Zona hospitalaria, terrenu d'hospital"
             },
+            "amenity/kindergarten": {
+                "name": "Antoxana d'escuela infantil/preescolar"
+            },
             "amenity/library": {
                 "name": "Biblioteca",
                 "terms": "Llibros,Centru de llectura"
             "amenity/marketplace": {
                 "name": "Mercáu"
             },
+            "amenity/nightclub": {
+                "name": "Discoteca",
+                "terms": "Disco, discobar, baille"
+            },
             "amenity/parking": {
                 "name": "Aparcamientu"
             },
                 "name": "Pub",
                 "terms": "Pub, Chigre"
             },
+            "amenity/public_bookcase": {
+                "name": "Biblioteca llibre"
+            },
+            "amenity/ranger_station": {
+                "name": "Guardes forestales",
+                "terms": "guardabosques, seprona"
+            },
             "amenity/recycling": {
                 "name": "Reciclaxe",
                 "terms": "Llimpieza,Reutilización,Escombru"
             },
+            "amenity/register_office": {
+                "name": "Oficina de rexistru",
+                "terms": "rexistru, almisión"
+            },
             "amenity/restaurant": {
                 "name": "Restaurante",
                 "terms": "Chigre, llagar"
             },
+            "amenity/sanitary_dump_station": {
+                "name": "Vertíu de depósitos d'autocaravanes",
+                "terms": "depósitu caravanes, saneamientru caravanes,"
+            },
             "amenity/school": {
                 "name": "Antoxana d'escuela",
                 "terms": "Terrén d'escuela, zona escolar"
             },
+            "amenity/shelter": {
+                "name": "Abellugu"
+            },
             "amenity/social_facility": {
-                "name": "Serviciu social"
+                "name": "Serviciu social",
+                "terms": "servicios sociales, "
             },
             "amenity/social_facility/food_bank": {
                 "name": "Bancu d'alimentos"
             },
+            "amenity/social_facility/group_home": {
+                "name": "Albergue pa mayores",
+                "terms": "asilu, residencia d'ancianos,"
+            },
             "amenity/social_facility/homeless_shelter": {
                 "name": "Albergue de probes"
             },
                 "terms": "comedia, corral"
             },
             "amenity/toilets": {
-                "name": "Aseos"
+                "name": "Aseos",
+                "terms": "servicios, aseos, retretes,"
             },
             "amenity/townhall": {
                 "name": "Edificiu municipal",
                 "terms": "Casa del Conceyu, Ayuntamientu"
             },
+            "amenity/university": {
+                "name": "Campus universitariu",
+                "terms": "terrén universitariu, "
+            },
             "amenity/vending_machine": {
                 "name": "Máquina de venta automática",
                 "terms": "Máquina,Autoventa"
             "area": {
                 "name": "Área"
             },
+            "area/highway": {
+                "name": "Superficie de la carretera"
+            },
             "barrier": {
                 "name": "Barrera"
             },
             "building/church": {
                 "name": "Ilesia"
             },
+            "building/college": {
+                "name": "Edificiu de colexu universitariu"
+            },
             "building/commercial": {
                 "name": "Edificiu comercial"
             },
             "building/house": {
                 "name": "Casa"
             },
+            "building/hut": {
+                "name": "Cabaña"
+            },
             "building/industrial": {
                 "name": "Edificiu industrial",
                 "terms": "Nave,Fábrica,Taller"
             },
+            "building/kindergarten": {
+                "name": "Edificiu de preescolar/guardería"
+            },
             "building/public": {
                 "name": "Edificiu públicu"
             },
             "building/static_caravan": {
                 "name": "Casa portátil"
             },
+            "building/terrace": {
+                "name": "Filera de cases"
+            },
             "building/train_station": {
                 "name": "Estación de tren",
                 "terms": "Terminal ferroviaria"
                 "name": "Edificiu universitariu"
             },
             "building/warehouse": {
+                "name": "Almacén",
                 "terms": "Nave d'almacenamientu"
             },
+            "craft": {
+                "name": "Oficiu",
+                "terms": "profesional, negociu,"
+            },
             "craft/basket_maker": {
                 "name": "Cesteru",
                 "terms": "Goxeru,Paxos,Macones"
                 "name": "Reloxería",
                 "terms": "Reloxeru"
             },
+            "craft/confectionery": {
+                "name": "Pastelería",
+                "terms": "Confitería, Tartes,"
+            },
             "craft/dressmaker": {
-                "name": "Modista"
+                "name": "Modista",
+                "terms": "Xastre, modista"
             },
             "craft/electrician": {
                 "name": "Electricista"
             "craft/window_construction": {
                 "name": "Construcción de ventanes"
             },
+            "craft/winery": {
+                "name": "Bodega",
+                "terms": "Viña"
+            },
             "embankment": {
                 "name": "Terremplén",
                 "terms": "rellenu"
                 "terms": "S.O.S.,Teléfonu d'ayuda,Teléfonu de socorru"
             },
             "entrance": {
-                "name": "Entrada/Salida"
+                "name": "Entrada/Salida",
+                "terms": "Accesu, puerta"
             },
             "footway/crossing": {
-                "name": "Pasu de peatones",
-                "terms": "Cruce"
+                "name": "Cruce de cai",
+                "terms": "pasu"
+            },
+            "footway/crosswalk": {
+                "name": "Pasu de peatones"
+            },
+            "footway/sidewalk": {
+                "name": "Cera"
             },
             "ford": {
                 "name": "Vau"
             },
+            "golf/bunker": {
+                "name": "Trampa de sable",
+                "terms": "bunker (golf), areneru,"
+            },
+            "golf/fairway": {
+                "name": "Cai de golf"
+            },
+            "golf/green": {
+                "name": "Green de golf",
+                "terms": "Putting green"
+            },
             "golf/hole": {
                 "name": "Furacu de golf"
             },
+            "golf/lateral_water_hazard": {
+                "name": "Llagu d'agua llateral en golf"
+            },
+            "golf/rough": {
+                "name": "Rough de golf"
+            },
+            "golf/tee": {
+                "name": "Salida de percorríu"
+            },
+            "golf/water_hazard": {
+                "name": "Llagu d'agua en golf"
+            },
             "highway": {
                 "name": "Carretera"
             },
                 "name": "Parada d'autobús"
             },
             "highway/crossing": {
-                "name": "Pasu de peatones",
-                "terms": "Cruce de víes, pasu"
+                "name": "Cruce de cai"
+            },
+            "highway/crosswalk": {
+                "name": "Pasu de peatones"
             },
             "highway/cycleway": {
                 "name": "Camín ciclista"
             "highway/motorway": {
                 "name": "Autopista"
             },
+            "highway/motorway_junction": {
+                "name": "Entrada/salida d'autopista"
+            },
             "highway/motorway_link": {
                 "name": "Enllaz d'autopista",
                 "terms": "Salida, accesu, enllaz, autopista"
                 "name": "Camín"
             },
             "highway/pedestrian": {
-                "name": "Peatonal"
+                "name": "Cai peatonal"
             },
             "highway/primary": {
                 "name": "Carretera autonómica"
                 "name": "Enllaz de carretera autonómica I",
                 "terms": "Salida, accesu, enllaz, autonómica primaria, autonómica naranxa"
             },
+            "highway/raceway": {
+                "name": "Circuitu de carreres",
+                "terms": "autódromu, pista de carreres,"
+            },
             "highway/residential": {
                 "name": "Cai urbana"
             },
             "highway/service/emergency_access": {
                 "name": "Accesu d'emerxencia"
             },
+            "highway/service/parking_aisle": {
+                "name": "Pasiellu d'aparcaderu"
+            },
             "highway/services": {
                 "name": "Área de serviciu"
             },
                 "name": "Señal de stop",
                 "terms": "Stop,Alto,Parada"
             },
+            "highway/street_lamp": {
+                "name": "Farola"
+            },
             "highway/tertiary": {
                 "name": "Carretera terciaria"
             },
             "historic/wayside_shrine": {
                 "name": "Capiella"
             },
-            "landuse": {
-                "name": "Usu del suelu"
-            },
             "landuse/allotments": {
                 "name": "Güertes recreatives"
             },
             "landuse/churchyard": {
                 "name": "Antoxana d'ilesia"
             },
+            "landuse/commercial": {
+                "name": "Área comercial"
+            },
             "landuse/construction": {
                 "name": "Construccion"
             },
+            "landuse/farm": {
+                "name": "Tierra de llabor"
+            },
+            "landuse/farmland": {
+                "name": "Tierra de llabor"
+            },
             "landuse/farmyard": {
                 "name": "Quintana"
             },
             "landuse/forest": {
                 "name": "Forestal"
             },
+            "landuse/garages": {
+                "name": "Garaxes"
+            },
             "landuse/grass": {
                 "name": "Pación"
             },
+            "landuse/industrial": {
+                "name": "Área industrial"
+            },
             "landuse/landfill": {
                 "name": "Escombrera"
             },
             "landuse/meadow": {
                 "name": "Prau"
             },
+            "landuse/military": {
+                "name": "Área militar"
+            },
             "landuse/orchard": {
                 "name": "Plantación"
             },
+            "landuse/plant_nursery": {
+                "name": "Viveru"
+            },
             "landuse/quarry": {
                 "name": "Cantera"
             },
+            "landuse/residential": {
+                "name": "Área de viviendes"
+            },
+            "landuse/retail": {
+                "name": "Área comercial"
+            },
             "landuse/vineyard": {
                 "name": "Viñéu"
             },
             "leisure": {
                 "name": "Recréu"
             },
+            "leisure/dog_park": {
+                "name": "Parque pa perros"
+            },
+            "leisure/firepit": {
+                "name": "Barbacoa",
+                "terms": "Parrilla"
+            },
             "leisure/garden": {
                 "name": "Xardín"
             },
             "leisure/marina": {
                 "name": "Puertu deportivu"
             },
+            "leisure/nature_reserve": {
+                "name": "Reserva natural",
+                "terms": "parque de la biosfera, parque natural"
+            },
             "leisure/park": {
                 "name": "Parque",
                 "terms": "Parque, campu, xardín"
             "leisure/playground": {
                 "name": "Xuegos infantiles"
             },
+            "leisure/running_track": {
+                "name": "Pista d'atletismu",
+                "terms": "Pista, circuitu"
+            },
             "leisure/slipway": {
                 "name": "Rampla de botadura"
             },
+            "leisure/sports_center": {
+                "name": "Centru deportivu/Ximnasiu"
+            },
             "leisure/stadium": {
                 "name": "Estadiu"
             },
             "leisure/swimming_pool": {
                 "name": "Piscina"
             },
+            "leisure/track": {
+                "name": "Pista de carreres (non pa motor)"
+            },
             "line": {
                 "name": "Llinia"
             },
             "man_made": {
                 "name": "Construcciones"
             },
+            "man_made/adit": {
+                "name": "Bocamina",
+                "terms": "pozu"
+            },
+            "man_made/breakwater": {
+                "name": "Dique marín"
+            },
+            "man_made/cutline": {
+                "name": "Cortafuéu"
+            },
             "man_made/embankment": {
                 "name": "Terremplén",
                 "terms": "rellenu"
             "man_made/lighthouse": {
                 "name": "Faru"
             },
+            "man_made/mast": {
+                "name": "Antena de radio"
+            },
             "man_made/observation": {
                 "name": "Torre de vixilancia",
                 "terms": "Observatoriu,Torre d'observación"
             },
+            "man_made/petroleum_well": {
+                "name": "Pozu petrolíferu"
+            },
             "man_made/pier": {
                 "name": "Embarcaderu"
             },
             "man_made/pipeline": {
                 "name": "Tubería"
             },
+            "man_made/silo": {
+                "name": "Silu"
+            },
+            "man_made/storage_tank": {
+                "name": "Tanque d'almacenamientu"
+            },
             "man_made/survey_point": {
                 "name": "Vértiz xeodésicu"
             },
             "man_made/water_tower": {
                 "name": "Torre de depósitu"
             },
+            "man_made/water_well": {
+                "name": "Pozu d'agua"
+            },
             "man_made/water_works": {
                 "name": "Captación d'agua"
             },
+            "military/airfield": {
+                "name": "Campu d'aviación"
+            },
             "military/barracks": {
                 "name": "Cuartel",
                 "terms": "Campamentu militar"
             "natural/beach": {
                 "name": "Playa"
             },
+            "natural/cave_entrance": {
+                "name": "Entrada de cueva"
+            },
             "natural/cliff": {
                 "name": "Cantil"
             },
                 "name": "Llinia costera",
                 "terms": "Costa, ribera"
             },
+            "natural/fell": {
+                "name": "Granda"
+            },
             "natural/glacier": {
                 "name": "Glacier"
             },
                 "name": "Picu",
                 "terms": "Picu, monte, vértiz"
             },
+            "natural/saddle": {
+                "name": "Colláu"
+            },
+            "natural/scree": {
+                "name": "Llera"
+            },
             "natural/scrub": {
                 "name": "Fuérfagu"
             },
             "natural/tree": {
                 "name": "Árbol"
             },
+            "natural/tree_row": {
+                "name": "Filera d'árboles"
+            },
+            "natural/volcano": {
+                "name": "Volcan"
+            },
             "natural/water": {
                 "name": "Agua"
             },
             "office": {
                 "name": "Oficina"
             },
+            "office/accountant": {
+                "name": "Contable"
+            },
             "office/administrative": {
                 "name": "Oficina alministrativa",
                 "terms": "Alministración,Centru municipal"
                 "name": "Oficina d'empresa",
                 "terms": "Delegación,Sucursal"
             },
+            "office/educational_institution": {
+                "name": "Institución educativa"
+            },
             "office/employment_agency": {
                 "name": "Axencia d'emplegu",
                 "terms": "INEM,ETT,Serviciu d'emplegu"
                 "name": "Oficina de seguros",
                 "terms": "Aseguradora,Seguros,Riesgu"
             },
+            "office/it": {
+                "name": "Despachu de teunoloxía de la información"
+            },
+            "office/lawyer": {
+                "name": "Despachu d'abogaos"
+            },
             "office/newspaper": {
                 "name": "Periódicu",
                 "terms": "Revista, Boletín"
                 "name": "ONG",
                 "terms": "Organización nun gubernamental"
             },
+            "office/physician": {
+                "name": "Médicu"
+            },
             "office/political_party": {
                 "name": "Partíu políticu"
             },
+            "office/research": {
+                "name": "Despachu d'investigación"
+            },
+            "office/telecommunication": {
+                "name": "Oficina de telecomunicaciones"
+            },
+            "office/therapist": {
+                "name": "Terapeuta"
+            },
             "office/travel_agent": {
                 "name": "Axencia de viaxes"
             },
             "place/city": {
                 "name": "Ciudá"
             },
+            "place/farm": {
+                "name": "Granxa"
+            },
             "place/hamlet": {
                 "name": "Aldea"
             },
             "place/locality": {
                 "name": "Llugar despobláu"
             },
+            "place/neighbourhood": {
+                "name": "Barriu"
+            },
+            "place/suburb": {
+                "name": "Distritu"
+            },
             "place/town": {
                 "name": "Villa"
             },
             "power/sub_station": {
                 "name": "Subestación"
             },
+            "power/substation": {
+                "name": "Subestación"
+            },
             "power/tower": {
                 "name": "Torre d'alta tensión"
             },
                 "terms": "Parada"
             },
             "railway/level_crossing": {
-                "name": "Pasu a nivel",
-                "terms": "Pasu a nivel, barrera"
+                "name": "Pasu a nivel"
             },
             "railway/monorail": {
                 "name": "Monocarril"
             "relation": {
                 "name": "Rellación"
             },
+            "roundabout": {
+                "name": "Rotonda"
+            },
             "route/ferry": {
                 "name": "Ruta de ferry"
             },
                 "name": "Llicorería",
                 "terms": "Bodega"
             },
+            "shop/anime": {
+                "name": "Tienda d'anime"
+            },
+            "shop/antiques": {
+                "name": "Anticuariu"
+            },
+            "shop/art": {
+                "name": "Galería d'arte"
+            },
             "shop/bakery": {
                 "name": "Panadería"
             },
             "shop/bicycle": {
                 "name": "Tienda de ciclismu"
             },
+            "shop/bookmaker": {
+                "name": "Encuadernador"
+            },
+            "shop/books": {
+                "name": "Llibrería"
+            },
             "shop/boutique": {
                 "name": "Boutique"
             },
             "shop/doityourself": {
                 "name": "Bricolage"
             },
+            "shop/dry_cleaning": {
+                "name": "Llimpieza en seco",
+                "terms": "tintorería,llavandería"
+            },
             "shop/electronics": {
                 "name": "Electrónica"
             },
+            "shop/erotic": {
+                "name": "Artículos eróticos",
+                "terms": "sex-shop"
+            },
+            "shop/fashion": {
+                "name": "Tienda de moda",
+                "terms": "boutique, moda"
+            },
             "shop/fishmonger": {
-                "name": "Pescadería"
+                "name": "Pescadería",
+                "terms": "pescadería"
             },
             "shop/florist": {
-                "name": "Floristería"
+                "name": "Floristería",
+                "terms": "flores, florista, floristería"
             },
             "shop/funeral_directors": {
                 "name": "Velatoriu",
                 "name": "Cerraxería",
                 "terms": "Cerradura,Llaves"
             },
+            "shop/lottery": {
+                "name": "Loteríes",
+                "terms": "Alministración de loteríes,"
+            },
             "shop/mall": {
                 "name": "Centru comercial"
             },
             "shop/mobile_phone": {
                 "name": "Telefonía móvil"
             },
+            "shop/money_lender": {
+                "name": "Prestamista",
+                "terms": "préstamos"
+            },
             "shop/motorcycle": {
                 "name": "Venta de motos"
             },
             "shop/music": {
                 "name": "Tienda de música"
             },
+            "shop/musical_instrument": {
+                "name": "Instrumentos musicales",
+                "terms": "luthier"
+            },
+            "shop/newsagent": {
+                "name": "Prensa y revistes",
+                "terms": "Puestu de periódicos,"
+            },
             "shop/optician": {
-                "name": "Óptica"
+                "name": "Óptica",
+                "terms": "ópticu, optometrista"
+            },
+            "shop/paint": {
+                "name": "Tienda de pintures",
+                "terms": "barnices, droguería"
+            },
+            "shop/pawnbroker": {
+                "name": "Casa d'empeños",
+                "terms": "Monte de piedá"
             },
             "shop/pet": {
-                "name": "Tienda de mascotes"
+                "name": "Tienda de mascotes",
+                "terms": "paxarería"
             },
             "shop/photo": {
                 "name": "Fotografía",
                 "name": "Supermercáu",
                 "terms": "Supermercáu, super"
             },
+            "shop/tailor": {
+                "name": "Sastrería",
+                "terms": "sastre"
+            },
+            "shop/tattoo": {
+                "name": "Tatuaxes",
+                "terms": "Tatuador"
+            },
+            "shop/tea": {
+                "name": "Tienda de tes",
+                "terms": "te, ferviatos"
+            },
+            "shop/ticket": {
+                "name": "Venta d'entraes",
+                "terms": "taquilla, venta anticipada"
+            },
+            "shop/tobacco": {
+                "name": "Estancu",
+                "terms": "tabacos, fumador"
+            },
             "shop/toys": {
-                "name": "Xuguetería"
+                "name": "Xuguetería",
+                "terms": "xuguetes"
             },
             "shop/travel_agency": {
-                "name": "Axencia de viaxes"
+                "name": "Axencia de viaxes",
+                "terms": "viaxes"
             },
             "shop/tyres": {
-                "name": "Neumáticos"
+                "name": "Neumáticos",
+                "terms": "ruedes,neumáticos"
             },
             "shop/vacant": {
                 "name": "Tienda balera"
                 "name": "Ruta de ferry"
             },
             "type/route/foot": {
-                "name": "Ruta a pie"
+                "name": "Ruta a pie",
+                "terms": "sienda, PR, GR, ruta"
             },
             "type/route/hiking": {
                 "name": "Ruta escursionista",
                 "terms": "Senderismu, Escursionismu"
             },
             "type/route/pipeline": {
-                "name": "Ruta de tubería"
+                "name": "Ruta de tubería",
+                "terms": "ruta de tubería"
             },
             "type/route/power": {
-                "name": "Ruta d'enerxía"
+                "name": "Ruta d'enerxía",
+                "terms": "Ruta de llinia d'enerxía"
             },
             "type/route/road": {
-                "name": "Ruta per carretera"
+                "name": "Ruta per carretera",
+                "terms": "Ruta de carretera"
             },
             "type/route/train": {
                 "name": "Ruta de tren"
             "waterway/drain": {
                 "name": "Drenaxe"
             },
+            "waterway/fuel": {
+                "name": "Bomba de combustible marín",
+                "terms": "gasolinera de combustible marín"
+            },
             "waterway/river": {
                 "name": "Ríu",
                 "terms": "Ríu, regatu"
             },
             "waterway/riverbank": {
-                "name": "Ribera"
+                "name": "Ribera",
+                "terms": "ribera, oriella"
+            },
+            "waterway/sanitary_dump_station": {
+                "name": "Vaciáu de sentines",
+                "terms": "toma de saneamientu"
             },
             "waterway/stream": {
                 "name": "Regueru",
                 "terms": "Regatu, regueru"
             },
             "waterway/weir": {
-                "name": "Ñora"
+                "name": "Ñora",
+                "terms": "ñora, presa, banzáu"
             }
         }
     }
index b59c107..cf4df35 100644 (file)
@@ -2,17 +2,17 @@
     "modes": {
         "add_area": {
             "title": "Площ",
-            "description": "Добавете паркове, сгради, езера или други площни обекти към картата.",
+            "description": "Добавяне на паркове, сгради, езера или други площи към картата.",
             "tail": "Щракнете върху картата, за да започнете чертането на площен обект като парк, езеро или сграда."
         },
         "add_line": {
             "title": "Линия",
-            "description": "Добавете пътища, улици, пешеходни алеи, канали или други линейни обекти към картата.",
+            "description": "Добавяне на пътища, улици, пешеходни алеи, канали или други линейни обекти към картата.",
             "tail": "Щракнете върху картата, за да започнете да чертаете път, пътека или маршрут."
         },
         "add_point": {
             "title": "Точка",
-            "description": "Добавете ресторанти, паметници, пощенски кутии или други точки към картата.",
+            "description": "Добавяне на ресторанти, паметници, пощенски кутии или други точки към картата.",
             "tail": "Щракнете върху картата за да добавите точка."
         },
         "browse": {
     },
     "presets": {
         "categories": {
+            "category-building": {
+                "name": "Сграда"
+            },
             "category-landuse": {
                 "name": "Земеползване"
             },
         },
         "fields": {
             "access": {
-                "label": "Достъп",
                 "options": {
                     "designated": {
                         "description": "Достъпът позволен според указателни табели или специфични местни разпоредби",
                         "title": "Разрешен"
                     }
                 },
-                "placeholder": "Неизвестен",
                 "types": {
-                    "access": "Публичен",
                     "bicycle": "Велосипеди",
                     "foot": "Пешеходен",
                     "horse": "Коне",
             "highway/bus_stop": {
                 "name": "Автобусна спирка"
             },
-            "highway/crossing": {
-                "name": "Пешеходна пътека"
-            },
             "highway/cycleway": {
                 "name": "Велоалея"
             },
             "highway/path": {
                 "name": "Пътека"
             },
-            "highway/pedestrian": {
-                "name": "Пешеходна улица"
-            },
             "highway/primary": {
                 "name": "Първокласен път"
             },
             "historic/wayside_shrine": {
                 "name": "Крайпътен параклис"
             },
-            "landuse": {
-                "name": "Земеползване"
-            },
             "landuse/allotments": {
                 "name": "Земи за лично ползване"
             },
             "railway/disused": {
                 "name": "Закрита железопътна линия"
             },
-            "railway/level_crossing": {
-                "name": "ЖП прелез"
-            },
             "railway/monorail": {
                 "name": "Монорелсов път"
             },
index 10601e5..2b4ed42 100644 (file)
         },
         "fields": {
             "access": {
-                "label": "প্রবেশ করা",
                 "options": {
                     "designated": {
                         "description": "কোন চিহ্ন বা স্থানীয় অাইন অনুযায়ী প্রবেশ অনুমোদিত।"
                         "title": "অনুমোদিত"
                     }
                 },
-                "placeholder": "অজানা",
                 "types": {
-                    "access": "সাধারণ",
                     "bicycle": "সাইকেল",
                     "foot": "পদচালন",
                     "horse": "ঘোড়া",
                 }
             },
             "access_simple": {
-                "label": "প্রবেশ করা",
                 "placeholder": "হ্যা"
             },
             "access_toilets": {
             "emergency/phone": {
                 "name": "অাপদকালীন দুরভাষ"
             },
-            "footway/crossing": {
-                "name": "ক্রসিং"
-            },
             "highway": {
                 "name": "রাজপথ"
             },
             "highway/bus_stop": {
                 "name": "বাস স্টপ"
             },
-            "highway/crossing": {
-                "name": "ক্রসিং"
-            },
             "highway/cycleway": {
                 "name": "সাইকেল-এর রাস্তা"
             },
             "highway/path": {
                 "name": "পথ"
             },
-            "highway/pedestrian": {
-                "name": "পথচারী"
-            },
             "highway/primary": {
                 "name": "প্রাথমিক রাস্তা"
             },
             "historic/ruins": {
                 "name": "ধ্বংসাবশেষ"
             },
-            "landuse": {
-                "name": "ভূমি ব্যবহার"
-            },
             "landuse/allotments": {
                 "name": "আবন্টন"
             },
             "railway/disused": {
                 "name": "অব্যবহৃত রেলপথ"
             },
-            "railway/level_crossing": {
-                "name": "রেল ক্রসি"
-            },
             "railway/monorail": {
                 "name": "মনোরেল"
             },
index e1759aa..4df0bc4 100644 (file)
     },
     "help": {
         "title": "Pomoć",
-        "editing_saving": "# Uređivanje i spremanje\n\nOvaj editor je dizajniran da primarno radi online, i pristupate mu\nkroz web stranicu upravo sada.\n\n### Odabir značajki\n\nDa odaberete značajku na karti, kao npr. cestu ili tačku od interesa, kliknite\nna istu na karti. Ovo će osvijetliti odabranu značajku, otvoriti panel sa\ndetaljima o istoj, i pokazati izbor stvari koje možete uraditi sa značajkom.\n\nDa odaberete više značajki odjednom, držite tipku 'Shift'. Onda ili kliknite\nna značajke koje želite odabrati, ili povucite na karti da nacrtate pravougaonik.\nOvo će nacrtati kutiju i odabrati sve tačke unutar iste.\n\n### Spremanje uređivanja\n\nKada uradite promjene kao što su uređivanje cesta, zgrada i mjesta, isti se\npohranjuju lokalno sve dok ih ne spremite na server. Ne brinite ako napravite\ngrešku - možete poništiti promjene klikom na dugme \"Poništiti\", i vratiti\npromjene klikom na dugme \"Vratiti\".\n\nKliknite na 'Spremiti' da završite grupu uređivanja - npr, ako ste završili\ndio grada i želite započeti uređivanje na novom području. Imaćete priliku\nda pregledate šta ste uradili, a editor daje prijedloge od pomoći\ni upozorenja ako se nešto ne čini uredu sa promjenama.\n\nAko sve izgleda uredno, možete unijeti kratak komentar kojim objašnjavate promjene\nkoje ste napravili, i kliknite na 'Spremiti' opet kako bi postavili promjene\nna [OpenStreetMap.org](http://www.openstreetmap.org/), gdje su one vidljive\nsvim drugim korisnicima i dostupne za druge da ih dalje uređuju i poboljšavaju.\n\nAko ne možete završiti vaša uređivanja u jednom sjedenju, možete napustiti prozor\neditora i vratiti se (na istom pregledniku i računaru), i\naplikacija editora će ponuditi da vratite vaš rad.\n",
         "roads": "# Putevi\n\nMožete crtati, popravljati, i brisati puteve sa ovim uređivačem. Putevi mogu biti svih\nvrsta: staze, ceste, tragovi, biciklističke staze, i više - bilo koji često prelaženi\nsegment bi trebao biti moguć za ucrtavanje.\n\n### Odabir\n\nKliknite na put da ga odaberete. vanjska linija bi trebala postati vidljiva, zajedno\nsa malim menijem alata na karti i bočnom trakom koja pokazuje više informacija\no putu.\n\n### Izmjena\n\nČesto ćete vidjeti puteve koji nisu poravnati da satelistskim slikama iza njih\nili sa GPS trasom. Možete podesiti ove puteve tako da su na pravom\nmjestu.\n\nPrvi klik na put koji želite mijenjati. Ovo će ga označiti i pokazati\nkontrolne tačke uz njega koje možete pomjerati na bolje lokacije. Ukoliko\nželite dodati nove kontrolne tačke za više detalja, dva puta kliknite na dio\nputa bez čvora, i jedan će biti dodan.\n\nUkoliko se put povezuje na drugi put, ali se neprikladno povezuje na\nkartu, možete povući jednu od njegovih kontnrolnih tačaka na drugi put u\nnamjeri da ih spojite. Održavanje puteva povezanim je važno za kartu\ni od vitalnoj je značaja za obezbjeđivanje uputa za vožnju.\n\nMožete takođe kliknuti na alat 'Pomjeriti' ili pritisnuti 'M' tipku koja je prečica da pomičete cijeli put\nistovremeno, i onda kliknete opet da spasite to pomicanje. \n\n### Brisanje\n\nUkoliko je put u potpunosti netačan - možete vidjeti da ne postoji na satelitskoj\nslici i idealno bi bilo da potvrdite da nije prisutan lokalno - možete ga izbrisati,\nšto ga uklanja sa karte. Budite pažljivi kada brišete značajke -\nkao i svako drugo uređivanje, rezultati su vidljivi svima i satelitske slike\nsu često stare, tako da bi put mogao ustvari biti novoizgrađeni.\n\nMožete izbrisati put klikom na njega da ga odaberete, i onda klikajući na\nikonu kante za smeće ili pritiskom na tipku 'Delete'.\n\n### Pravljenje\n\nNašli ste negdje da bi tu trebao biti put ali ga nema? Kliknite ikonu 'Linija'\nu donjem lijevom uglu uređivača ili pritisnite tipku`2` da bi započeli crtanje\nlinije.\n\nKliknite na početak puta na kartu da započnete crtanje. Ukoliko se put\ngranan sa postojećeg puta, započnite sa mjesta gdje se povezuju.\n\nOnda kliknite na tačke uzduž puta tako da slijedi pravu putanju, prema\nsatelitskim slikama ili prema GPS-u. Ukoliko se put koji crtate križa sa drugim putem, povežite\nga klikom na tačku križanja. Kada završite crtanje, dva puta kliknite\nili pritisnite 'Backspace' ili 'Enter' na Vašoj tastaturi.\n",
         "imagery": "# Satelitske slike\n\nSatelitske slike su važan resurs za mapiranje. Kombinacija\npreleta avionom, satelitski pogledi i slobodno sastavljeni izvorisu dostupni\nu uređivaču pod menijem 'Podešavanja pozadine' na desnoj strani.\n\nU početnik postavkama satelitski sloj [Bing Maps] (http://www.bing.com/maps/) je\nprezentiran u uređivaču, ali kako pomičete i uvećavate kartu na nova geografska\npodručja, novi će izvori postati dostupni. Neke zemlje, poput Sjedinjenih\nDržava, Francuske i Danske imaju slike vrlo visoke kvalitete na raspolaganju za neka područja.\n\nSatelitske slike ponekad odstupaju od podataka karte, zbog greške na\nstrani davatelja satelitskih slika. Ako vidite puno cesta pomjerenih u pozadini.\nnemojte ih odmah sve premještati kako bi se slagale sa pozadinom. Umjesto toga možete podesiti\nsatelitske slike tako da odgovaraju postojećim podacima klikom na 'Popravljanje poravnanja', na\ndnu interfejsa Podešavanja pozadine.\n",
         "addresses": "# Addrese\n\nAddrese su neke od najkorisnijih informacija na karti.\n\nIako su adrese često predstavljene kao dijelovi ulica, na karti OpenStreetMap\nsu one spremljene kao atributi građevina i mjesta uz ulice.\n\nMožete dodati informaciju o adresama mjesta koja su ucrtana kao i vanjske linije građevina takođe\nkao i onih koja su ucrtana kao obične tačke. Optimalni izvor podataka adresa\nse dobija iz istraživanja na licu mjesta ili ličnim znanjem- kao što je slučaj sam bilo kojom drugom značajkom,\nkopiranje iz komercijalnih izvora kao što je Google Maps je striktno\nzabranjeno.\n",
-        "inspector": "# Korištenje inspektora\n\nInspektor je element korisničkog interfejsa na lijevoj strani\nstranice koji vam dozvoljava da uređujete odabranu značajku.\n\n### Odabir vrste značajke\n\nNakon što dodate tačku, liniju ili područje, možete birati koja je to vrsta značajke,\nkao npr. da li je to cesta ili rezidencijalna cesta, supermarket ili kafe.\nInspector će prikazati dugmad za vrste općih značajki, i možete\nnaći druge unošenjem onoga što tražite u polje za pretragu.\n\nKliknite na 'i' u donjem desnom uglu dugmeta vrste značajke da\nsaznate više o istoj. Kliknite na dugme da odaberete tu vrstu.\n\n### Korištenje obrazaca i oznaka za uređivanje\n\nNakon što odaberete vrstu značajke, ili kada odaberete značajku koja već\nima pripisanu vrstu, inspektor će prikazati polja sa detaljima o\nznačajki kao što je njen naziv i adresa.\n\nIspod polja koje vidite, možete kliknuti na ikone da dodate druge detalje,\nkao što su informacije sa stranice [Wikipedia](http://www.wikipedia.org/), pristup\nza invalidska kolica, i više.\n\nNa dnu inspektora, kliknite 'Dodatne oznake' da dodate još neke\ndruge oznake elementu. [Taginfo](http://taginfo.openstreetmap.org/) je\nodličan izvor za više informacija o popularnim kombinacijama oznaka.\n\nPromjene koje napravite u inspektoru bivaju automatski primijenjene na karti.\nMožete ih poništiti bilo kad klikom na dugme za poništavanje.\n",
         "buildings": "# Građevine\n\nOpenStreetMap karta je najveća svjetska baza građevina. Možete napraviti\ni proširiti ovu bazu podataka.\n\n### Odabir\n\nMožete odabrati građevinu odnosno zgradu klikom na njene granice. Ovo će označiti\ngrađevinu i otvoriti mali meni alata i bočnu traku koja pokazuje više informacija\no građevinama.\n\n### Izmjena\n\nPonekad su građevine nepravilno postavljene ili imaju nepravilne oznake.\n\nDa bi pomjerili cijelu građevinu, odaberite je, i onda kliknite na alat 'Pomicanje'. Pomaknite Vaš\nmiš da pomjerite građevinu, i kliknite kada je ona pravilno postavljena.\n\nDa bi popravili specifičan oblik građevine, kliknite i povucite čvorove koji formiraju\nnjenu granicu na bolje mjesto.\n\n### Pravljenje\n\nJedno od glavnih pitanja oko dodavanja zgrada karti je to da\nOpenStreetMap snima građevine i kao oblike i kao tačke. Pravilo palca\nje _ucrtavati građevinu kao oblik gdje god je moguće_, kao i ucrtavati kompanije, domove,\ni druge značajne građevine, a i druge stvari koje operiraju van građevina kao tačke smještene\nunutar oblika građevine.\n\nZapočnite crtati građevinu kao oblik klikom na dugme 'Područje' u gornjem\nlijevom dijelu interfejsa, i završite je pritiskom na 'Backspace' na Vašoj tastaturi\nili klikom na prvi čvor koji je ucrtan kako bi zatvorili oblik.\n\n### Brisanje\n\nUkoliko je građevina u potpunosti netačna - možete vidjeti da ne postoji u satelitskim\nslikama i idealno dobro bi bilo da potvrdite da lokalno nije prisutna -  možete je obrisati,\nšto je uklanja sa karte. Budite pažljivi kada brišete značajke -\nkao i svako drugo uređivanje, rezultate vide svi i satelitske slike\nsu često stare, tako da bi građevina mogla biti novoizgrađena.\n\nMožete izbrisati građevinu klikom na nju da bi ste je odabrali, i onda kliknuti na\nikonu kante za smeće ili pritiskom na tipku 'Delete'.\n",
         "relations": "# Relacije\n\nRelacija je posebna vrsta značajke OpenStreetMap projektu koja grupira\ndruge značajke. Na primjer, dvije uobičajene vrste relacija su *relacije ruta*,\nkoje zajedno grupiraju dijelove puta koji pripadaju posebnom putu ili\nautoputu, i  *multipoligoni*, koji zajedno grupiraju nekoliko linija koje definiraju\nsloženo područje (jedno sa više dijelova ili rupa u sebi kao krofna).\n\nGrupa značajki u relaciji se naziva *članovi*. Na Bočnoj traic, možete\nvidjeti kojoj relaciji pripada član, i kliknuti na relaciju\nda je odaberete. Kada je relacija odabrana možete vidjeti sve njene\nčlanove izlistane na bočnoj traci i osvijetljene na karti.\n\nU većini slučajeva, iD editor će voditi računa o održavanju relacija automatski\ndok uređujete. Glavna stvar koje trebate biti svjesni jeste da ako izbrišete\ndio puta u namjeri da ga nacrtate tačnije, morate biti sigurni da je\nnovi dio član istih relacija kao i original.\n\n## Uređivanje relacija\n\nAko želite uređivati relacije, ovo su osnove.\n\nDa dodate značajku relaciji, odaberite značajku, kliknite na dugme \"+\" u\ndijelu \"Sve relacije\" na bočnoj traci, i izaberite ili ukucajte naziv relacije.\n\nDa napravite novu relaciju, prvo odaberite značajku koja treba biti član,\nkliknite na dugme \"+\" u dijelu \"Sve relacije\", i izaberite \"Nova relacija...\".\n\nDa uklonite značajku iz relacije, odaberite značajku i kliknite na dugme smeće\nkoje se pojavljuje uy relaciju iz koje je želite ukloniti.\n\nMožete praviti multipoligone sa rupama koristeći alat \"Spojiti\". Nacrtajte dva područja (unutrašnje i\nvanjsko), držite tipku Shift i kliknite na svaku od njih da ih izaberete, a potom\nkliknite na dugme \"Spojiti\" (+).\n"
     },
         },
         "fields": {
             "access": {
-                "label": "Pristup",
                 "options": {
                     "designated": {
                         "description": "Pristup dozvoljen u skladu sa saobraćajnim znakovima ili posebnim lokalnim zakonima",
                         "title": "Dozvoljeno"
                     }
                 },
-                "placeholder": "Nepoznato",
                 "types": {
-                    "access": "Opće",
                     "bicycle": "Bicikli",
                     "foot": "Pješke",
                     "horse": "Konji",
                     "motor_vehicle": "Motorna vozila"
                 }
             },
-            "access_simple": {
-                "label": "Pristup"
-            },
             "address": {
                 "label": "Adresa",
                 "placeholders": {
                 "name": "Telefon za hitne slučajeve",
                 "terms": "telefon za hitne slučajeve,hitna telefonska linija"
             },
-            "footway/crossing": {
-                "name": "Prelaz",
-                "terms": "prelaz,pješački prelaz"
-            },
             "footway/sidewalk": {
                 "name": "Trotoar",
                 "terms": "trotoar"
                 "name": "Bus stanica",
                 "terms": "autobuska stanica,autobusko stajalište"
             },
-            "highway/crossing": {
-                "name": "Prelaz",
-                "terms": "pješački prelaz,zebra"
-            },
             "highway/cycleway": {
                 "name": "Biciklistička staza",
                 "terms": "biciklistička staza,staza za bicikle"
                 "name": "Staza",
                 "terms": "staza,puteljak"
             },
-            "highway/pedestrian": {
-                "name": "Pješački",
-                "terms": "pješački,za pješake"
-            },
             "highway/primary": {
                 "name": "Primarna cesta",
                 "terms": "glavna cesta,cesta od glavnog značaja"
                 "name": "Hram pored puta",
                 "terms": "znamenje kraj puta,kapelica"
             },
-            "landuse": {
-                "name": "Upotreba zemljišta",
-                "terms": "upotreba zemljišta,namjena zemljišta"
-            },
             "landuse/allotments": {
                 "name": "Parcele",
                 "terms": "parcele,zemlja za vrtlarstvo"
                 "name": "Željeznička ustava",
                 "terms": "željeznička ustava,željezničko zaustavljanje,željeznički zastoj"
             },
-            "railway/level_crossing": {
-                "name": "Prelaz u nivou",
-                "terms": "prelaz u nivou,ukrštanje željeznice i puta"
-            },
             "railway/monorail": {
                 "name": "Pruga sa jednim kolosijekom",
                 "terms": "pruga sa jednim kolosijekom,jednošinska pruga"
index 30eac76..39e08e2 100644 (file)
         "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": "reiniciar"
+        "reset": "reiniciar",
+        "minimap": {
+            "description": "Miniatura del mapa",
+            "tooltip": "Mostrar un mapa amb menys zoom per ajudar a localitzar l'àrea que es mostra actualment."
+        }
     },
     "map_data": {
         "title": "Dades del mapa",
         "out": "Allunya't"
     },
     "cannot_zoom": "No es pot allunyar més la vista al mode actual.",
+    "full_screen": "Passar a pantalla completa",
     "gpx": {
         "local_layer": "Fitxer GPX local",
         "drag_drop": "Arrosegueu i deixeu un fitxer .gpx a la pàgina, o bé cliqueu el botó que es troba a la dreta per navegar pel vostre sistema.",
     "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\n[iniciar sessió](https://www.openstreetmap.org/login).\n\n L'[Editor iD](http://ideditor.com/) é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 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 feu 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",
+        "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. \nAixò ressaltarà la característica seleccionada, obrirà un panell amb els detalls sobre aquesta, i un menú amb les coses que hi podeu fer. \n\nPer seleccionar múltiples característiques, premeu la tecla 'Shift' i cliqueu-les per separat, o bé clicant i arrossegant el cursor dibuixeu un rectangle per sobre de totes. Això seleccionarà totes les característiques que englobi el rectangle que es dibuixarà i permetrà modificar totes les característiques seleccionades en un sol cop. \n\n### Desant les edicions \n\nQuan feu 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, i l'editor proporcionarà suggeriments que us podran ajudar com també mostrarà alertes si alguna cosa no està del tot bé als vostres canvis.\n\n Si tot sembla correcte, podeu escriure un breu comentari explicant el canvis que heu fet, i clicar desa un altre cop per publicar els canvis a [OpenStreetMap.org](http://www.openstreetmap.org/), on seran visibles per a tots els altres usuaris i disponibles per a altres per refer-los o bé millorar-los. Si 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ó preguntarà si voleu restaurar els canvis anteriors. \n\n### Fent servir l'editor\n\nHi ha una llista de dreceres de teclat disponible [aquí](http://wiki.openstreetmap.org/wiki/ID/Shortcuts).\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, feu 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'altra 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 acabeu el dibuix, feu 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 \nés compatible amb les traces locals - fitxers`.gpx`al vostre ordinador. Pots recollir aquest 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 'Dades del mapa'  al cantó dret 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",
+        "gps": "# GPS \n\nLes dades de GPS són una font fiable de dades per a l'OpenStreetMap. Aquest editor és compatible amb les traces locals - fitxers`.gpx`al vostre ordinador. Pots recollir aquest tipus de traça GPS amb algunes aplicacions per a smartphones com també dispositius personals de GPS.\n\n Per a més informació sobre com recollir dades amb GPS, llegeix [Recollir dades amb GPS](http://learnosm.org/en/mobile-mapping/).\n\n Per fer servir una traça GPX per editar el mapa, arrossega i deixa el fitxer GPX a l'editor. Si es detecta, s'afegirà el mapa com una línia lila llampant. Clica al menú 'Dades del mapa' al cantó dret per activar, desactivar, o per ajustar la vista a aquesta capa GPX. \n\nLa traça GPX no és pujada directament a OpenStreetMap - la millor manera de fer-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] (http://www.openstreetmap.org/trace/create) perquè 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 us moveu i ajusteu 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 observeu moltes carreteres mogudes del seu lloc a la imatge,\nno les mogueu per tal que encaixin amb aquesta. Ja que podeu 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, podeu 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 podeu trobar d'altres escrivint el que esteu buscant al quadre de cerca.\n\nCliqueu la 'i' al cantó inferior dret del botó  del tipus de característica per saber-ne més. Cliqueu 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 seleccioneu 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 veieu, podeu 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, cliqueu '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 feu a l'inspector s'aplicaran automàticament al mapa.\nEls podeu desfer en qualsevol moment clicant al botó de 'Desfer' .\n\n",
+        "inspector": "# Utilitzant l'inspector \n\nL'Inspector és la secció de l'interfície d'usuari que es troba al cantó esquerra de la pàgina i que permet editar els detalls de la cracterística seleccionada.\n\n ### Selecció del tipus de característica\n\n Després d'afegir un punt, línia, o àrea, pots escollir quin tipus de característica és, Tant si és una autopista com un carrer residencial, un supermercat o un cafè. L'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\nCliqueu la 'i' al cantó inferior dret del botó del tipus de característica per saber-ne més. Cliqueu el botó per seleccionar-la.\n\n ### Utilització dels camps i les etiquetes d'edició\n\n Després d'escollir el tipus característica, o quan seleccionis una característica que ja té un tipus assignat, l'inspector mostrarà uns camps amb detalls de la característica com ara el seu nom o la seva adreça.\n\n A sota dels camps que veus, pots clicar a 'Afegir camp' per afegir altres detalls, com ara un enllaç amb la Viquipèdia, l'accés per a cadires de rodes, i 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. Els pots desfer en qualsevol moment clicant al botó 'Desfer'.\n",
         "buildings": "# Edificis\n\nL'OpenStreetMap és la base de dades d'edificis més gran del món. Podeu ampliar \ni millorar aquesta base de dades.\n\n### Selecció\n\nPodeu seleccionar un edifici clicant al seu marge. Això farà ressaltar\nl'edifici i obrirà un petit menú d'eines i una barra lateral mostrant més informació\nsobre l'edifici.\n\n### Modificació\n\nA vegades els edificis estan mal col·locats o tenen etiquetes incorrectes.\n\nPer moure l'edifici sencer, seleccioneu-lo, tot seguit cliqueu l'eina 'Mou'. Desplaceu el\ncursor per desplaçar l'edifici, i torneu a clicar quan estigui posicionat correctament.\n\nPer ajustar la forma específica d'un edifici, cliqueu i arrossegueu els nodes que componen \nel seu marge als llocs desitjats.\n\n### Creació\n\nUn dels principals temes sobre l'addició d'edificis al mapa és que\nl'OpenStreetMap pot desar edificis com a punts però també com a figures. La norma general\nper a cartografiar un edifici diu que _aquest s'ha d'expressar, sempre que sigui possible, com a una figura_, i les companyies, empreses,\nequipaments, i d'altres coses que operen als edificis, s'han de cartografiar com a punts \ncol·locats dins de la figura de l'edifici.\n\n\nComenceu a dibuixar un edifici com a figura clicant el botó 'Àrea' a la zona superior esquerra de la interfície, i finalitzeu-lo bé prement la tecla 'Retorn' del teclat\no bé clicant al primer node que heu col·locat per tancar la figura.\n\n### Eliminació\n\nSi un edifici 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 us han confirmat que no existeix - el podeu eliminar, cosa que el treurà del mapa. S'ha d'anar amb molt de compte a l'hora d'eliminar característiques -\ncom totes les altres edicions, els resultats podran ser vistos per tothom i moltes vegades la imatgeria per satèl·lit no està actualitzada, per tant l'edifici pot haver estat construït recentment.\n\nPodeu eliminar un edifici clicant-lo, i llavors clicant la icona de la paperera o bé prement la tecla 'Suprimir'.\n",
         "relations": "# Relacions\n\nUna relació és un tipus especial de característica a l'OpenStreetMap que reuneix altres característiques. Per exemple, dos tipus comuns de relacions són les *relacions de ruta*,\nque reuneixen seccions de carreteres que pertanyen a una autovia o autopista en concret, i els *multipolígons*, que reuneixen diferents línies que defineixen una àrea complexa (amb vàris segments o amb forats, com un donut).\n\nEl grup de característiques en una relació s'anomena *els membres*. A la barra lateral, podeu veure a quines relacions n'és membre una característica, i clicar una relació des d'un membre per seleccionar-la i entrar-hi. Quan seleccioneu i entreu a la relació, podeu veure tots els seus membres llistats a la barra lateral i subratllats al mapa .\n\nLa majoria de vegades, l'iD s'encarregarà de mantenir les relacions automàticament\nmentre editeu. L'única cosa que heu de procurar és de reconnectar la relació si esborreu algun tram de l'original, és a dir si esborreu un tram d'una relació per refer-lo amb més precisió, heu d'incloure el nou tram a la relació, igual que ho era el tram original.\n\n## Edició de les relacions\n\nSi el que voleu és editar relacions, aquí hi han les pautes bàsiques.\n\nPer afegir una característica a una relació, seleccioneu la característica, cliqueu el botó \"+\" a la secció \"Totes les relacions\" de la barra lateral, i seleccioneu o escriviu el nom de la relació.\n\nPer crear una nova relació, seleccioneu la primera característica que n'hauria de ser membre, cliqueu el botó \"+\" a la secció \"Totes les relacions\", i seleccioneu \"Nova relació...\".\n\nPer eliminar una característica d'una relació, seleccioneu la característica i cliqueu el botó de la paperera que es troba al costat de la relació que voleu eliminar.\n\nPodeu crear multipolígons amb forats utilitzant l'eina \"Fusionar\". Dibuixeu dues àrees (la interior i la exterior), mantingueu premuda la tecla Shift i cliqueu a les dues àrees per seleccionar-les alhora, llavors cliqueu el botó \"Fusiona\" (+).\n"
     },
         },
         "fields": {
             "access": {
-                "label": "Accés",
+                "label": "Accés permès",
                 "options": {
                     "designated": {
                         "description": "Accés garantit seguint les normes de les senyals o les normes locals específiques.",
                         "description": "Accés permès només per arribar a un destí",
                         "title": "Destinació"
                     },
+                    "dismount": {
+                        "description": "Accés permès però el pilot ha de baixar del mitjà ",
+                        "title": "Baixar del mitjà de transport"
+                    },
                     "no": {
                         "description": "No es permet l'accés al públic en general",
                         "title": "Prohibit"
                         "title": "Permès"
                     }
                 },
-                "placeholder": "Desconegut",
+                "placeholder": "Sense especificar",
                 "types": {
-                    "access": "General",
+                    "access": "Tots",
                     "bicycle": "Bicicletes",
                     "foot": "A peu",
                     "horse": "Cavalls",
                 }
             },
             "access_simple": {
-                "label": "Accés",
+                "label": "Accés permès",
                 "placeholder": "sí"
             },
             "access_toilets": {
                 "label": "Adreça",
                 "placeholders": {
                     "city": "Ciutat ",
+                    "conscriptionnumber": "123",
                     "country": "País",
                     "district": "Districte",
                     "hamlet": "Llogaret",
             "amenity": {
                 "label": "Tipus"
             },
+            "area/highway": {
+                "label": "Tipus"
+            },
             "artist": {
                 "label": "Artista"
             },
             "cuisine": {
                 "label": "Tipus de cuina"
             },
+            "cycleway": {
+                "label": "Carrils Bici",
+                "options": {
+                    "lane": {
+                        "description": "Un Carril Bici separat de la circulació per una línia pintada",
+                        "title": "Carril Bici estàndard"
+                    },
+                    "none": {
+                        "description": "Cap Carril Bici",
+                        "title": "Cap"
+                    },
+                    "opposite": {
+                        "description": "Un Carril Bici que discorre en ambdós sentits en un carrer d'un sol sentit",
+                        "title": "Carril Bici en sentit contrari"
+                    },
+                    "opposite_lane": {
+                        "description": "Un Carril Bici que discorre contrari al sentit de circulació",
+                        "title": "Carril Bici contrari"
+                    },
+                    "share_busway": {
+                        "description": "Un Carril Bici compartit amb un Carril Bus",
+                        "title": "Carril Bici amb Carril Bus"
+                    },
+                    "shared_lane": {
+                        "description": "Carril Bici sense cap separació de la circulació",
+                        "title": "Carril Bici compartit"
+                    },
+                    "track": {
+                        "description": "Un Carril Bici separat de la circulació per una barrera física",
+                        "title": "Camí ciclable"
+                    }
+                },
+                "placeholder": "cap",
+                "types": {
+                    "cycleway:left": "a la banda esquerre",
+                    "cycleway:right": "a la banda dreta"
+                }
+            },
             "delivery": {
                 "label": "Entrega"
             },
                     "semi_evergreen": "Semiperenne"
                 }
             },
+            "leaf_cycle_singular": {
+                "label": "Cicle de renovació de fulla",
+                "options": {
+                    "deciduous": "Caducifòlia",
+                    "evergreen": "Perennifòlia",
+                    "semi_deciduous": "Semicaducifòlia",
+                    "semi_evergreen": "Semiperennifòlia"
+                }
+            },
             "leaf_type": {
                 "label": "Tipus de fulles",
                 "options": {
                     "needleleaved": "Fulles primes"
                 }
             },
+            "leaf_type_singular": {
+                "label": "Tipus de fulla",
+                "options": {
+                    "broadleaved": "Panifoli",
+                    "leafless": "Sense fulles",
+                    "needleleaved": "Fulla en agulla"
+                }
+            },
             "leisure": {
                 "label": "Tipus"
             },
             "length": {
                 "label": "Llargada (metres)"
             },
+            "level": {
+                "label": "Nivell"
+            },
             "levels": {
                 "label": "Nivells",
                 "placeholder": "2, 4, 6..."
             "recycling/glass": {
                 "label": "Accepta vidre"
             },
+            "recycling/glass_bottles": {
+                "label": "Accepta ampolles de vidre"
+            },
             "recycling/paper": {
                 "label": "Accepta paper"
             },
+            "recycling/plastic": {
+                "label": "Accepta Plàstic"
+            },
+            "recycling/type": {
+                "label": "Tipus de reciclatge",
+                "options": {
+                    "centre": "Centre de Reciclatge",
+                    "container": "Contenidor"
+                }
+            },
             "ref": {
                 "label": "Referència"
             },
                 "placeholder": "No, Separats, Sí..."
             },
             "smoothness": {
-                "label": "Uniformitat",
+                "label": "Uniformitat per a vehicles",
                 "options": {
                     "bad": "Rodes robustes: bicicleta de muntanya, cotxe, carruatge oriental",
                     "excellent": "Rodetes: Patí en línia, skateboard",
                 "terms": "Pista d'enlairament, Pista d'aterratge"
             },
             "aeroway/taxiway": {
-                "name": "Carrer de rodatge",
-                "terms": "Carrer de rodatge, Pista de trànsit lent."
+                "name": "Plataforma de rodada",
+                "terms": "Plataforma de Rodada, Carrer de Taxi, Pista de Taxi, Carrer de Rodament, Carrer de Rodatge, Carril de Rodada, Carril de Rodatge"
             },
             "aeroway/terminal": {
                 "name": "Terminal d'aeroport",
             "amenity/bicycle_repair_station": {
                 "name": "Punt de reparació de bicicletes"
             },
+            "amenity/biergarten": {
+                "name": "Biergarten"
+            },
             "amenity/boat_rental": {
                 "name": "Lloguer d'embarcacions"
             },
                 "name": "Rentat de cotxes",
                 "terms": "Servei de neteja de cotxes, Tren de rentat de cotxes, Estació d'autorentat de cotxes"
             },
+            "amenity/casino": {
+                "name": "Casino"
+            },
             "amenity/charging_station": {
                 "name": "Estació de càrrega"
             },
                 "name": "Àrea",
                 "terms": "Àrea"
             },
+            "area/highway": {
+                "name": "Superfície de la carretera"
+            },
             "barrier": {
                 "name": "Barrera",
                 "terms": "Tanca, Valla, Paret, Seto, Tancament, Filferrada, Reixat, Reixa"
                 "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"
+                "name": "Creuament de carrer"
             },
             "footway/crosswalk": {
-                "name": "Pas de vianants",
-                "terms": "Pas de peatons, pas, de, peatons, vianants, persones, zebra"
+                "name": "Pas de vianants"
             },
             "footway/sidewalk": {
                 "name": "Vorera"
                 "name": "Parada d'autobús",
                 "terms": "Parada de bus, Parada"
             },
+            "highway/corridor": {
+                "name": "Corredor interior"
+            },
             "highway/crossing": {
-                "name": "Pas de vianants",
-                "terms": "Travessera, Cruïlla, Pas de Vianants, Pas Zebra, Pas de peatons, pas de transeünts"
+                "name": "Creuament de carrer"
             },
             "highway/crosswalk": {
-                "name": "Pas de vianants",
-                "terms": "Pas de peatons, pas, de, peatons, vianants, persones, zebra"
+                "name": "Pas de vianants"
             },
             "highway/cycleway": {
-                "name": "Carril bici",
-                "terms": "Carril bici, Via verda, Via ciclista"
+                "name": "Carril Bici",
+                "terms": "Carril Bici, Via verda, Via ciclista"
             },
             "highway/footway": {
                 "name": "Camí per a vianants",
                 "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"
+                "name": "Zona de vianants"
             },
             "highway/primary": {
                 "name": "Carretera primària",
                 "name": "Encreuament"
             },
             "landuse": {
-                "name": "Aprofitament del terreny",
-                "terms": "Ús del terra, Ús del sòl"
+                "name": "Ús de la terra"
             },
             "landuse/allotments": {
                 "name": "Horts",
                 "name": "Verger",
                 "terms": "Horta,Hort,Plantació"
             },
+            "landuse/plant_nursery": {
+                "name": "Planter"
+            },
             "landuse/quarry": {
                 "name": "Mina a cel obert",
                 "terms": "Pedrera"
                 "name": "Esbarjo",
                 "terms": "Lleure,Temps lliure"
             },
+            "leisure/adult_gaming_centre": {
+                "name": "Centre d'oci adult"
+            },
+            "leisure/bowling_alley": {
+                "name": "Bolera"
+            },
             "leisure/common": {
                 "name": "Àrea comuna"
             },
                 "name": "Fet per l'home",
                 "terms": "Fet per la mà de l'home"
             },
+            "man_made/adit": {
+                "name": "Entrada"
+            },
             "man_made/breakwater": {
                 "name": "trencaonades",
                 "terms": "Escullera,Espigó,Espatller"
                 "name": "Pic",
                 "terms": "Pic, cim, cimadal, pollegó, agulla."
             },
+            "natural/saddle": {
+                "name": "Seient"
+            },
             "natural/scree": {
                 "name": "Tartera"
             },
                 "name": "Arbre",
                 "terms": "Arbre"
             },
+            "natural/tree_row": {
+                "name": "Fila d'arbres"
+            },
+            "natural/volcano": {
+                "name": "Volcà"
+            },
             "natural/water": {
                 "name": "Aigua",
                 "terms": "Aigua"
                 "name": "Parada de Ferrocarril"
             },
             "railway/level_crossing": {
-                "name": "Pas a nivell",
-                "terms": "Pas a nivell, Pas de ferrocarril, guardaagulles, pas de ferrocarril, barreres, semàfors, tren, cotxe"
+                "name": "Pas a nivell"
             },
             "railway/monorail": {
                 "name": "Monocarril",
index 31d95f6..d1e742d 100644 (file)
         "custom_button": "Editovat vlastní pozadí",
         "custom_prompt": "Vložte šablonu adres dlaždic. Lze použít tokeny {z}, {x}, {y} pro schéma Z/X/Y a {u} pro hierarchické schéma quadtile.",
         "fix_misalignment": "Vyrovnat posunutí pozadí",
-        "reset": "vrátit na začátek"
+        "reset": "vrátit na začátek",
+        "minimap": {
+            "description": "Mapka",
+            "tooltip": "Zobrazit přehledovou mapku zobrazující aktuální výřez v širším okolí"
+        }
     },
     "map_data": {
         "title": "Mapová data",
         "out": "Zmenšit"
     },
     "cannot_zoom": "Aktuální nastavení nedovoluje větší zvětšení.",
+    "full_screen": "Na celou obrazovku",
     "gpx": {
         "local_layer": "Vlastní GPX soubor",
         "drag_drop": "Přetáhněte do editoru soubor .gpx nebo klikněte na tlačítko vpravo a zvolte soubor pomocí dialogu.",
     "help": {
         "title": "Pomoc",
         "help": "# Pomoc\n\nToto je editor [OpenStreetMap](http://www.openstreetmap.org/), svobodné a otevřené mapy světa, vytvářené jako open-source a open-data. S pomocí editoru můžete přidávat a upravovat data v mapě třeba ve svém okolí, a zlepšovat tak celou mapu pro každého.\n\nVaše úpravy mapy budou viditelné pro každého uživatele OpenStreetMap. Před editací se ovšem musíte [přihlásit](https://www.openstreetmap.org/login).\n\n[iD editor](http://ideditor.com/) je projekt vytvářený spoluprací mnoha lidí, se [zdrojovým kódem na GitHubu](https://github.com/openstreetmap/iD).\n",
-        "editing_saving": "# Editace a publikace\n\nTento editor pracuje primárně online - právě teď k němu přistupujete prostřednictvím webové stránky.\n\n### Výběr objektů\n\nChcete-li vybrat objekt, jako třeba silnici nebo obchod, klikněte na něj v mapě. Objekt se tím označí, otevře se boční panel s vlastnostmi objektu a zobrazí se nabídka akcemi, které lze s objektem provést.\n\nMůžete označit a pracovat s několika objekty najednou: podržte klávesu 'Shift', a pak buď postupně označte dotyčné objekty, anebo klikněte na mapu a táhněte myší či prstem - editor označí všechny objekty uvnitř příslušného obdélníku.\n\n### Publikace změn\n\nKdyž provedete nějaké úpravy objektů v mapě, úpravy jsou uloženy lokálně ve vašem prohlížeči. Nelekejte se, když uděláte chybu - úpravy lze vrátit zpět tlačítkem Zpět, a naopak je znovu provést tlačítkem Znovu.\n\nPo dokončení bloku úprav klikněte na 'Uložit' - například když jste upravili jednu část města, a chcete začít úpravy někde jinde. Zobrazí se přehled úprav, které jste provedli, editor tyto úpravy zkontroluje, a když se mu něco nebude zdát, zobrazí varování a návrhy.\n\nKdyž bude všechno v pořádku, můžete přidat krátký komentář s vysvětlením vašich úprav a kliknout znovu 'Uložit'. Úpravy se tímto publikují na [OpenStreetMap.org](http://www.openstreetmap.org/), kde za chvíli budou viditelné pro všechny uživatele a bude na nich možné provádět další úpravy.\n\nPokud nechcete nebo nemůžete úpravy dokončit teď, stačí prostě odejít ze stránky pryč. Až příště navštívíte stránku (na stejném počítači, ve stejném prohlížeči), editor vám nabídne možnost znovu načíst neuložené úpravy.\n",
         "roads": "# Cesty\n\nEditor umožňuje vytvářet, opravovat a mazat silnice, pěšiny, cyklostezky, železnice atd. Zmapovat by mělo jít jakýkoli druh komunikace.\n\n### Výběr\n\nKdyž na cestu kliknete, zbarví se její obrys, otevře se u ní malá nabídka s nástroji a dále boční panel s informacemi o cestě.\n\n### Úpravy\n\nČasto narazíte na cesty, které jen nepřesně sledují pozadí či trasu GPS. Takové cesty můžete zarovnat na správné místo.\n\nNapřed klikněte na cestu, kterou chcete upravit. Cesta se rozsvítí a podél ní se objeví kontrolní uzly, které můžete posunout na správné místo. Pokud chcete přidat další kontrolní body a zpřesnit tak průběh cesty, stačí dvakrát kliknout na kus cesty mezi dvěma uzly - na zvolené místo přibude nový uzel.\n\nKdyž je reálná cesta napojena na jinou, ale v mapě spojeny nejsou, posuňte myší kontrolní uzel jedné cesty nad druhou - cesty se pak spojí. Propojení cest je velmi důležité pro správnou funkci navigací.\n\nTaké můžete posunout najednou celou cestu: buď klikněte na ikonu posunu v menu zobrazeném u cesty nebo stiskněte klávesu `M` a potom klikněte myší pro ukončení posunu. Jen pozor - pokud jsou vůči pozadí či GPS stopě všechny objekty v okolí, pravděpodobně to bude chybným pozadím a ne chybnou polohou objektů.\n\n### Mazání\n\nPokud je cesta úplně špatně, můžete ji zcela odstranit z mapy. Neměli byste se spoléhat pouze na satelitní snímky - mohou být zastaralé nebo zavádějící -, ideální je se přesvědčit na místě, že cesta opravdu neexistuje. Zvlášť při mazání objektů buďte opatrní - výsledek vaší úpravy se projeví v mapě pro všechny její uživatele.\n\nCestu smažete tak, že na ni kliknete a zvolíte ikonu odpadkového koše nebo stisknete klávesu Delete.\n\n### Vytváření\n\nNarazili jste na cestu, která by v mapě měla být, ale není? Klikněte na tlačítko 'Cesta' vlevo nahoře nebo stiskněte klávesu `2` - to vám umožní nakreslit novou cestu.\n\nKlikněte na místo, kde cesta začíná. Pokud cesta vychází z jiné, existující cesty, klikněte na místo, kde se cesty oddělují.\n\nPotom postupně klikejte na body, kudy cesta vede, podle satelitních snímků nebo trasy z GPS. Pokud vaše cesta protíná jinou, je třeba je propojit tak, že kliknete na bod křížení. Nakonec dvakrát klikněte na stejné místo nebo stiskněte klávesu 'Return' nebo 'Enter', cesta se tak ukončí.\n",
-        "gps": "# GPS\n\nData z GPS jsou nejdůvěryhodnějším zdrojem informací pro OpenStreetMap. Tento editor podporuje zobrazení tras ve formátu `.gpx` nahraných z vašeho počítače. Takovou trasu můžete nasbírat s pomocí nejrůznějších aplikací pro mobily nebo s pomocí specializované navigace.\n\nPro více informací, jak provést takový sběr dat z GPS, viz např. návod anglicky: [Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/).\n\nPokud už máte záznam ve formátu GPX, přetáhněte soubor myší či prstem nad editor. Rozpozná-li editor formát souboru, zobrazí se trasa v mapě jako světle růžová čára. Pokud chcete tuto novou vrstvu zapnout, vypnout nebo zvětšit na velikost pracovní plochy, klikněte na menu 'Mapová data' na pravé straně.\n\nTrasa GPX nebude přímo nahrána na OpenStreetMap - pouze slouží jako vodítko, podle kterého se můžete orientovat, a podle kterého můžete kreslit nové objekty do mapy. Pokud chcete přímo trasu GPX poskytnout i ostatním, můžete ji [nahrát do samostatné databáze OpenStreetMap](http://www.openstreetmap.org/trace/create).\n",
         "imagery": "# Podkladové snímky\n\nSatelitní a letecké snímky jsou důležitým zdrojem mapových dat. V menu 'Nastavení pozadí' na levé straně editoru je k dispozici kombinace leteckých snímků, satelitních snímků a dalších volně dostupných podkladů.\n\nImplicitní vrstvou jsou satelitní snímky [Bing](http://www.bing.com/maps/), ale jakmile se přesunete do konkrétní geografické oblasti a nastavíte dostatečné zvětšení, nabídnou se vám další mapové podklady. V některých státech, jako jsou Spojené státy, Francie či Dánskou, jsou k dispozici snímky ve vysoké kvalitě. Pro velkou část České republiky jsou také dostupné velmi detailní satelitní snímky. **Data z katastru nemovitostí a letecké mapy ÚHUL** je možné zobrazit dle [návodu zde](https://wiki.openstreetmap.org/wiki/WikiProject_Czech_Republic/freemap#WMS_UHUL_-_ortofotomapa).\n\nPodklady jsou někdy posunuté vůči mapě, kvůli chybám na straně poskytovatele snímků. Pokud uvidíte, že je mnoho cest v mapě posunuto vůči pozadí, nesnažte se je hned přesunout - posun obvykle znamená chybu v podkladu a ne chybu v mapě. V menu 'Nastavení pozadí' klikněte na 'Zarovnat pozadí' - to vám dovolí posunout podklad, aby lícoval s mapou.\n",
         "addresses": "# Adresy\n\nJednou z nejužitečnějších součástí mapy jsou adresy.\n\nAdresy jsou sice někdy chápány jako označení kousku ulice, ale v OpenStreetMap jsou uloženy v budovách či objektech podél ulice. V České republice jsou adresy většinou samostatným uzlem uvnitř budovy.\n\nMůžete tedy data o adrese vkládat jak k samostatnému bodu, tak k ploše označující budovu.\nNejlepším zdrojem informací o adresách je průzkum přímo v terénu či jeho dobrá znalost - stejně jako u celého projektu OpenStreetMap je přebírání dat z komerčních zdrojů typu Google Maps přísně zakázáno.\n",
-        "inspector": "# Používání Inspektoru\n\nInspektor je prvek uživatelského rozhraní na levé straně, který umožňuje editovat vlastnosti zvoleného objektu.\n\n### Výběr typu objektu\n\nJakmile vytvoříte uzel, čáru nebo plochu, můžete zvolit typ vytvořeného objektu. Např. jestli jde o silnici nebo pěšinu, obchod nebo hospodu. Inspektor zobrazí tlačítka pro nejčastější typy objektů; další můžete najít prostřednictvím pole pro vyhledávání.\n\nKdyž u tlačítka typu objektu kliknete na 'i' vpravo dole, zobrazí se vám o něm více informací. Když kliknete na samotné tlačítko, vyberete příslušný typ.\n\n### Formuláře a editace vlastností\n\nPoté, co vyberete typ objektu nebo když vyberete objekt s už přiřazeným typem, v inspektoru se zobrazí pole s bližšími informacemi o objektu - jako třeba název nebo adresa.\n\nPod těmito poli jsou další ikony. Když na ně kliknete, tak můžete přidávat další detaily, jako vazbu na [Wikipedii](http://www.wikipedia.org/), přístup pro vozíčkáře atd.\n\nPokud chcete přidat k objektu ještě nějaké jiné vlastnosti, klikněte na 'Další vlastnosti' úplně dole. Jedním z informačních zdrojů pak může být [Taginfo](http://taginfo.openstreetmap.org/), kde se dozvíte o nejčastějších kombinacích tagů.\n\nZměny provedené v inspektoru jsou ihned vidět na mapě zobrazené ve vašem prohlížeči. Můžete je vrátit zpět kliknutím na tlačítko 'Undo'.\n",
         "buildings": "# Budovy\n\nOpenStreetMap je největší databází budov na světě. Můžete tuto databázi rozšiřovat a vylepšovat.\n\n### Výběr\n\nBudovu označíte kliknutím na její hranici. Budova se v editoru rozsvítí, otevře se malá nabídka nástrojů a boční panel s informacemi o budově.\n\n### Úpravy\n\nBudovy někdy mohou mít špatnou polohu, tvar nebo nesprávné vlastnosti.\n\nPokud chcete posunout celou budovu, označte ji a klikněte na ikonu posunu - pak můžete pohnout budovou myší. Posun ukončíte kliknutím.\n\nKdyž má budova špatný tvar, klikněte na uzel na hranici budovy a posuňte ho na správné místo.\n\n### Vytváření\n\nMohou být budovy v mapě zaznamenané jako plochy, nebo jako samostatné uzly? Pravidlo je takové, že _pokud je to možné, budovy by se měly mapovat jako plochy_, a firmy, podniky, zařízení a další subjekty působící v budově by se měly mapovat jako uzly uvnitř budovy. V České republice se jako uzly uvnitř budovy obvykle mapují i adresy.\n\nChcete-li nakreslit novou budovu, klikněte na tlačítko 'Plocha' vlevo nahoře a klikáním nakreslete obrys budovy. Kreslení ukončíte buď kliknutím na první nakreslený uzel nebo stisknutím klávesy 'Enter' nebo 'Return'.\n\n### Smazání\n\nBudovy lze také mazat - ale dělejte to pouze v případě, že jste si opravdu jistí, že budova ve skutečnosti neexistuje. Satelitní snímky nejsou dostatečným důkazem, protože mohou být zastaralé nebo zavádějící. Buďte opatrní - když budovu smažete, budova zmizí z mapy pro všechny její uživatele.\n\nBudovu smažete tak, že ji označíte kliknutím a potom buď kliknete na ikonu odpadkového koše, nebo stisknete klávesu 'Delete'.\n",
         "relations": "# Relace\n\nRelace je speciálním typem objektu OpenStreetMap, který seskupuje dohromady jiné objekty.\nDvěma nejčastějšími příklady relací jsou *relace trasy*, které obsahují seznam částí cest, po kterých vede nějaká trasa, a *multipolygony*, které obsahují seznam jednoduchých ploch tvořících dohromady složitější plochu (např. plochu z několika částí nebo s dírami uvnitř).\n\nObjekty seznamu v relaci se nazývají *prvky*. V bočním panelu jsou vidět relace, kterých je zvolený objekt prvkem, a relaci pak můžete kliknutím zvolit. Po zvolení relace jsou všechny její prvky jednak uvedené v bočním panelu a také označené na mapě.\n\nVe většině případů iD dokáže relace udržovat při editacích automaticky. Měli byste si být vědomi jistých omezení: třeba když smažete kus cesty a potom ji nakreslíte znovu, je třeba zkontrolovat, že nový kus cesty je prvkem stejných relací jako původní kus.\n\n## Editace relací\n\nPři editaci relací se držte následujících principů.\n\nNový prvek do relace přidáte tak, že zvolíte daný objekt, kliknete na tlačítko \"+\" v bočním panelu v sekci \"Všechny relace\", a zvolíte nebo napíšete jméno relace.\n\nPodobně novou relaci založíte tak, že zvolíte objekt, který by se měl stát prvním prvkem relace, kliknete na tlačítko \"+\" v sekci \"Všechny relace\" a zvolíte \"Nová relace...\".\n\nPrvek z relace vyjmete tím způsobem, že zvolíte daný objekt a kliknete na tlačítko odpadkového koše vedle relace, ze které objekt chcete vyjmout.\n\nMultipolygony s dírami můžete vytvořit pomocí nástroje \"Spojit\". Nakreslete dvě plochy (vnitřní a vnější), stiskněte klávesu Shift a klikněte postupně na obě plochy, čímž je označíte. Multipolygon pak vytvoříte kliknutím na tlačítko \"Spojit\" (+).\n"
     },
         },
         "fields": {
             "access": {
-                "label": "Přístup",
+                "label": "Povolený vstup/vjezd",
                 "options": {
                     "designated": {
                         "description": "Přístup je povolen podle značení či místních předpisů",
                         "description": "Průjezd zakázán, průchod zakázán apod.",
                         "title": "Jen do místa"
                     },
+                    "dismount": {
+                        "description": "Vstup povolen, ale cyklista (jezdec apod.) musí sesednout",
+                        "title": "Sesednout"
+                    },
                     "no": {
                         "description": "Přístup širší veřejnosti zakázán",
                         "title": "Zakázán"
                         "title": "Povolen"
                     }
                 },
-                "placeholder": "Není známo",
                 "types": {
-                    "access": "Všem",
                     "bicycle": "Jízdní kola",
                     "foot": "Pěší",
                     "horse": "Koně",
                 }
             },
             "access_simple": {
-                "label": "Přístup",
                 "placeholder": "ano"
             },
             "access_toilets": {
                 "label": "Adresa",
                 "placeholders": {
                     "city": "Město",
+                    "conscriptionnumber": "123",
                     "country": "Stát (země)",
                     "district": "Distrikt",
                     "hamlet": "Osada",
             "amenity": {
                 "label": "Typ"
             },
+            "area/highway": {
+                "label": "Typ"
+            },
             "artist": {
                 "label": "Umělec"
             },
             "cuisine": {
                 "label": "Kuchyně"
             },
+            "cycleway": {
+                "label": "Cyklopruhy",
+                "options": {
+                    "lane": {
+                        "description": "Jízdní pruh pro cyklisty, oddělený podélnou čarou",
+                        "title": "Normální cyklopruh"
+                    },
+                    "none": {
+                        "description": "Bez cyklopruhu",
+                        "title": "Žádný"
+                    },
+                    "opposite": {
+                        "description": "Cyklopruh, kterým cyklisté mohou jet v jednosměrce oběma směry",
+                        "title": "Obousměrný cyklopruh"
+                    },
+                    "opposite_lane": {
+                        "description": "Cykloobousměrka - cyklopruh v opačném směru než ostatní provoz",
+                        "title": "Protisměrný cyklopruh"
+                    },
+                    "share_busway": {
+                        "description": "Jízdní pruh sdílený cyklisty, autobusy a případně taxi",
+                        "title": "Pruh sdílený s autobusy"
+                    },
+                    "shared_lane": {
+                        "description": "Vyznačený doporučený průjezd cyklistů v jízdním pruhu",
+                        "title": "Piktokoridor"
+                    },
+                    "track": {
+                        "description": "Jízdní pruh oddělený od ostatního provozu fyzickou bariérou",
+                        "title": "Cyklostezka"
+                    }
+                },
+                "placeholder": "není známo",
+                "types": {
+                    "cycleway:left": "Po levé straně",
+                    "cycleway:right": "Po pravé straně"
+                }
+            },
             "delivery": {
                 "label": "Rozvoz"
             },
                     "semi_evergreen": "Polostálezelené"
                 }
             },
+            "leaf_cycle_singular": {
+                "label": "Opadavost listí",
+                "options": {
+                    "deciduous": "Opadavé",
+                    "evergreen": "Stálezelené",
+                    "semi_deciduous": "Poloopadavé",
+                    "semi_evergreen": "Polostálezelené"
+                }
+            },
             "leaf_type": {
                 "label": "Druh listů",
                 "options": {
                     "needleleaved": "Jehličnaté"
                 }
             },
+            "leaf_type_singular": {
+                "label": "Druh listů",
+                "options": {
+                    "broadleaved": "Listnaté",
+                    "leafless": "Bezlisté",
+                    "needleleaved": "Jehličnaté"
+                }
+            },
             "leisure": {
                 "label": "Typ"
             },
             "length": {
                 "label": "Délka (v metrech)"
             },
+            "level": {
+                "label": "Patro"
+            },
             "levels": {
                 "label": "Počet pater",
                 "placeholder": "2, 4, 6..."
             "recycling/glass": {
                 "label": "Sklo"
             },
+            "recycling/glass_bottles": {
+                "label": "Pro skleněné láhve"
+            },
             "recycling/paper": {
                 "label": "Papír"
             },
+            "recycling/plastic": {
+                "label": "Pro plast"
+            },
+            "recycling/type": {
+                "label": "Typ recyklačního místa",
+                "options": {
+                    "centre": "Sběrna odpadu",
+                    "container": "Kontejnery"
+                }
+            },
             "ref": {
                 "label": "Označení"
             },
                 "name": "Mytí aut",
                 "terms": "myčka,automyčka,mytí,čistění,umývání,čistírna"
             },
+            "amenity/casino": {
+                "name": "Kasino",
+                "terms": "kasino,ruleta,blackjack,herna,hazard,gambling"
+            },
             "amenity/charging_station": {
                 "name": "Nabíjecí stanice",
                 "terms": "nabíjecí stanice,dobíjecí stanice,nabíječka,dobíječka,elektromobil"
                 "terms": "návštěvnické centrum, návštěvní centrum"
             },
             "amenity/recycling": {
-                "name": "Recyklace",
-                "terms": "recyklace,kontejner,recyklační centrum,sběr,sběrna,sběrné suroviny,sběr odpadu,odpad,odpadky,popelnice"
+                "name": "Recyklační místo",
+                "terms": "recyklace,kontejner,recyklační centrum,sběr,sběrna,sběrné suroviny,sběrna odpadu,sběr odpadu,odpad,odpadky,popelnice"
             },
             "amenity/register_office": {
                 "name": "Matriční úřad",
                 "name": "Plocha",
                 "terms": "území,oblast,plocha,prostor"
             },
+            "area/highway": {
+                "name": "Plocha silnice",
+                "terms": "plocha silnice,povrch silnice,plocha cesty,povrch cesty"
+            },
             "barrier": {
                 "name": "Zábrana",
                 "terms": "zábrana,ohrada,bariéra"
                 "terms": "vchod,východ,vjezd,výjezd,vlez,výlez,vstup"
             },
             "footway/crossing": {
-                "name": "Přechod pro chodce",
+                "name": "Cesta přechodu pro chodce",
                 "terms": "přechod pro chodce,zebra,přechod,přechod pro pěší"
             },
             "footway/crosswalk": {
-                "name": "Přechod typu zebra",
+                "name": "Cesta přechodu typu zebra",
                 "terms": "přechod pro chodce,zebra,přechod,přechod pro pěší"
             },
             "footway/sidewalk": {
                 "name": "Autobusová zastávka",
                 "terms": "zastávka autobusu"
             },
+            "highway/corridor": {
+                "name": "Chodba",
+                "terms": "chodba,koridor"
+            },
             "highway/crossing": {
-                "name": "Přechod",
+                "name": "Bod přechodu pro chodce",
                 "terms": "přechod,zebra"
             },
             "highway/crosswalk": {
-                "name": "Přechod typu zebra",
+                "name": "Bod přechodu typu zebra",
                 "terms": "přechod pro chodce,zebra,přechod,přechod pro pěší"
             },
             "highway/cycleway": {
             },
             "highway/pedestrian": {
                 "name": "Pěší zóna",
-                "terms": "pěší zóna"
+                "terms": "pěší zóna,ulice pro pěší"
             },
             "highway/primary": {
                 "name": "Silnice 1. třídy",
                 "terms": "křižovatka,křížení,odbočka,kruhový objezd"
             },
             "landuse": {
-                "name": "Užití krajiny",
+                "name": "Využití krajiny",
                 "terms": "využití území,využití,les,louka,hora,pole"
             },
             "landuse/allotments": {