Merge branch 'rails41'
authorTom Hughes <tom@compton.nu>
Mon, 21 Jul 2014 07:53:44 +0000 (08:53 +0100)
committerTom Hughes <tom@compton.nu>
Mon, 21 Jul 2014 07:53:44 +0000 (08:53 +0100)
61 files changed:
INSTALL.md
app/controllers/geocoder_controller.rb
app/helpers/browse_helper.rb
app/views/site/export.html.erb
config/locales/en.yml
test/helpers/browse_helper_test.rb
vendor/assets/iD/iD.css.erb
vendor/assets/iD/iD.js
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/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/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/si.json
vendor/assets/iD/iD/locales/sk.json
vendor/assets/iD/iD/locales/sl.json
vendor/assets/iD/iD/locales/sr.json
vendor/assets/iD/iD/locales/sv.json
vendor/assets/iD/iD/locales/ta.json
vendor/assets/iD/iD/locales/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

index 41c6a1d..780ffdf 100644 (file)
@@ -33,7 +33,7 @@ sudo apt-get install ruby1.9.1 libruby1.9.1 ruby1.9.1-dev ri1.9.1 \
                      apache2 apache2-threaded-dev build-essential git-core \
                      postgresql postgresql-contrib libpq-dev postgresql-server-dev-all \
                      libsasl2-dev
-gem1.9.1 install bundle
+sudo gem1.9.1 install bundler
 ```
 
 Note that the "1.9.1" Ubuntu packages do in fact contain ruby 1.9.3.
index 236e9f7..6053cbb 100644 (file)
@@ -161,8 +161,6 @@ class GeocoderController < ApplicationController
       :exclude => more_url_params["exclude_place_ids"].first
     })
 
-Rails.logger.info @more_params
-
     # parse the response
     results.elements.each("place") do |place|
       lat = place.attributes["lat"].to_s
index 73f6420..f4b332f 100644 (file)
@@ -61,6 +61,8 @@ module BrowseHelper
   def format_value(key, value)
     if wp = wikipedia_link(key, value)
       link_to h(wp[:title]), wp[:url], :title => t('browse.tag_details.wikipedia_link', :page => wp[:title])
+    elsif wdt = wikidata_link(key, value)
+      link_to h(wdt[:title]), wdt[:url], :title => t('browse.tag_details.wikidata_link', :page => wdt[:title])
     elsif url = wiki_link("tag", "#{key}=#{value}")
       link_to h(value), url, :title => t('browse.tag_details.wiki_link.tag', :key => key, :value => value)
     elsif url = telephone_link(key, value)
@@ -149,6 +151,16 @@ private
     }
   end
 
+  def wikidata_link(key, value)
+    if key == "wikidata" and value =~ /^[Qq][1-9][0-9]*$/
+      return {
+        :url => "//www.wikidata.org/wiki/#{value}?uselang=#{I18n.locale}",
+        :title => value
+      }
+    end
+    return nil
+  end
+
   def telephone_link(key, value)
     # does it look like a phone number? eg "+1 (234) 567-8901 " ?
     return nil unless value =~ /^\s*\+[\d\s\(\)\/\.-]{6,25}\s*$/
index 78b98ae..6bf3365 100644 (file)
@@ -47,7 +47,7 @@
     <dt><a href="http://download.geofabrik.de/"><%= t'export.start.too_large.geofabrik.title' %></a></dt>
     <dd><%= t'export.start.too_large.geofabrik.description' %></dd>
 
-    <dt><a href="http://metro.teczno.com/"><%= t'export.start.too_large.metro.title' %></a></dt>
+    <dt><a href="https://mapzen.com/metro-extracts/"><%= t'export.start.too_large.metro.title' %></a></dt>
     <dd><%= t'export.start.too_large.metro.description' %></dd>
 
     <dt><a href="http://wiki.openstreetmap.org/wiki/Download"><%= t'export.start.too_large.other.title' %></a></dt>
index fe5f58d..1518349 100644 (file)
@@ -180,6 +180,7 @@ en:
       wiki_link:
         key: "The wiki description page for the %{key} tag"
         tag: "The wiki description page for the %{key}=%{value} tag"
+      wikidata_link: "The %{page} item on Wikidata"
       wikipedia_link: "The %{page} article on Wikipedia"
       telephone_link: "Call %{phone_number}"
     note:
index 6ca65f7..d3ed3a8 100644 (file)
@@ -136,6 +136,33 @@ class BrowseHelperTest < ActionView::TestCase
     assert_equal "http://wiki.openstreetmap.org/wiki/Tag:highway=primary?uselang=tr", link
   end
 
+  def test_wikidata_link
+    link = wikidata_link("foo", "Test")
+    assert_nil link
+
+    link = wikidata_link("wikidata", "http://www.wikidata.org/wiki/Q1")
+    assert_nil link
+
+    link = wikidata_link("wikidata", "en:Q1")
+    assert_nil link
+
+    link = wikidata_link("wikidata", "1")
+    assert_nil link
+
+    link = wikidata_link("wikidata", "Q0123")
+    assert_nil link
+
+    link = wikidata_link("wikidata", "Q42")
+    assert_equal "//www.wikidata.org/wiki/Q42?uselang=en", link[:url]
+    assert_equal "Q42", link[:title]
+
+    I18n.locale = "zh-CN"
+
+    link = wikidata_link("wikidata", "Q1234")
+    assert_equal "//www.wikidata.org/wiki/Q1234?uselang=zh-CN", link[:url]
+    assert_equal "Q1234", link[:title]
+  end
+
   def test_wikipedia_link
     link = wikipedia_link("wikipedia", "http://en.wikipedia.org/wiki/Full%20URL")
     assert_nil link
index 70b6337..10f74a6 100644 (file)
@@ -937,42 +937,82 @@ path.casing.tag-boundary-national_park {
 /* bridges */
 
 path.casing.tag-bridge {
-    stroke-width: 14;
-    stroke-opacity: 0.5;
+    stroke-width: 16;
+    stroke-opacity: 0.6;
     stroke: #000;
+    stroke-linecap: butt;
 }
 
-path.casing.tag-highway-living_street.tag-bridge,
-path.casing.tag-highway-path.tag-bridge {
-    stroke-width: 6;
+path.shadow.tag-bridge {
+    stroke-width: 22;
 }
 
-path.casing.line.tag-highway-pedestrian,
+path.casing.line.tag-railway.tag-bridge,
+path.casing.tag-highway-living_street.tag-bridge,
+path.casing.tag-highway-path.tag-bridge,
+path.casing.line.tag-highway-pedestrian.tag-bridge,
 path.casing.tag-highway-service.tag-bridge,
 path.casing.tag-highway-track.tag-bridge,
 path.casing.tag-highway-steps.tag-bridge,
 path.casing.tag-highway-footway.tag-bridge,
 path.casing.tag-highway-cycleway.tag-bridge,
 path.casing.tag-highway-bridleway.tag-bridge {
-    stroke-width: 8;
-}
-
-path.shadow.tag-highway-residential.tag-bridge {
-    stroke-width:22;
+    stroke-width: 10;
 }
 
+path.shadow.line.tag-railway.tag-bridge,
 path.shadow.tag-highway-living_street.tag-bridge,
 path.shadow.tag-highway-path.tag-bridge,
-path.shadow.line.tag-highway-pedestrian,
+path.shadow.line.tag-highway-pedestrian.tag-bridge,
 path.shadow.tag-highway-service.tag-bridge,
 path.shadow.tag-highway-track.tag-bridge,
 path.shadow.tag-highway-steps.tag-bridge,
 path.shadow.tag-highway-footway.tag-bridge,
 path.shadow.tag-highway-cycleway.tag-bridge,
 path.shadow.tag-highway-bridleway.tag-bridge {
-    stroke-width: 16;
+    stroke-width: 17;
+}
+
+
+.low-zoom path.casing.tag-bridge {
+    stroke-width: 10;
+    stroke-opacity: 0.6;
+    stroke: #000;
+    stroke-linecap: butt;
+}
+
+.low-zoom path.shadow.tag-bridge {
+    stroke-width: 14;
+}
+
+.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.line.tag-highway-pedestrian.tag-bridge,
+.low-zoom path.casing.tag-highway-service.tag-bridge,
+.low-zoom path.casing.tag-highway-track.tag-bridge,
+.low-zoom path.casing.tag-highway-steps.tag-bridge,
+.low-zoom path.casing.tag-highway-footway.tag-bridge,
+.low-zoom path.casing.tag-highway-cycleway.tag-bridge,
+.low-zoom path.casing.tag-highway-bridleway.tag-bridge {
+    stroke-width: 6;
+}
+
+.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.line.tag-highway-pedestrian.tag-bridge,
+.low-zoom path.shadow.tag-highway-service.tag-bridge,
+.low-zoom path.shadow.tag-highway-track.tag-bridge,
+.low-zoom path.shadow.tag-highway-steps.tag-bridge,
+.low-zoom path.shadow.tag-highway-footway.tag-bridge,
+.low-zoom path.shadow.tag-highway-cycleway.tag-bridge,
+.low-zoom path.shadow.tag-highway-bridleway.tag-bridge {
+    stroke-width: 13;
 }
 
+
+
 /* tunnels */
 
 path.stroke.tag-tunnel {
@@ -2761,37 +2801,28 @@ input[type=number] {
 
 /* Preset form address */
 
-.form-field .addr-housename {
-    border: 0;
-    border-radius: 0;
+.addr-row input {
+    border-right: 0;
+    border-bottom: 0;
 }
 
-.form-field .addr-number {
-    width: 33.3333%;
-    border: 0;
-    border-radius: 0;
+.addr-row:first-of-type input {
+    border-top: 0;
 }
 
-.form-field .addr-street {
-    width: 66.6666%;
-    border-top: 0;
-    border-right: 0;
-    border-bottom: 0;
+.addr-row input:first-of-type {
+    border-left: 0;
+}
+
+.addr-row input {
     border-radius: 0;
 }
 
-.form-field .addr-city {
-    width: 66.6666%;
-    border-left: 0;
-    border-right: 0;
-    border-bottom: 0;
+.addr-row:last-of-type input:first-of-type {
     border-radius: 0 0 0 4px;
 }
 
-.form-field .addr-postcode {
-    width: 33.3333%;
-    border-right: 0;
-    border-bottom: 0;
+.addr-row:last-of-type input:last-of-type {
     border-radius: 0 0 4px 0;
 }
 
@@ -3454,7 +3485,8 @@ img.wiki-image {
 /* About Section
 ------------------------------------------------------- */
 
-.about-block {
+#footer {
+    width: 100%;
     position: absolute;
     right:0;
     bottom:0;
@@ -3465,13 +3497,47 @@ img.wiki-image {
     transition: opacity 200ms;
 }
 
-.about-block:hover {
+#footer:hover {
     opacity: 1;
 }
 
-#about {
+#scale-block {
+    display: table-cell;
+    vertical-align: bottom;
+    width: 250px;
+    height: 30px;
+    float: left;
+    clear: left;
+}
+
+#info-block {
+    float: right;
+    clear: right;
+}
+
+#scale {
+    height: 30px;
+    width: 100%;
+}
+
+#scale text {
+    font: 12px sans-serif;
+    stroke: none;
+    fill: #ccc;
+    text-anchor: start;
+}
+
+#scale path {
+    fill: none;
+    stroke: #ccc;
+    stroke-width: 1;
+    shape-rendering: crispEdges;
+}
+
+#about-list {
     text-align: right;
     margin-right: 10px;
+    clear: right;
 }
 
 .source-switch a {
@@ -3513,29 +3579,18 @@ img.wiki-image {
     content: ', ';
 }
 
-/* API Status */
-
 .api-status {
-    float: left;
+    float: right;
+    clear: both;
+    text-align: right;
+    width: 100%;
 }
 
 .api-status.offline,
-.api-status.readonly {
+.api-status.readonly,
+.api-status.error {
     background: red;
-    padding: 5px 10px;
-}
-
-/* Account Information */
-
-.account {
-    float: left;
-    padding: 5px 10px;
-}
-
-.account .logout {
-    margin-left:10px;
-    border-left: 1px solid white;
-    padding-left: 10px;
+    padding: 0px 5px;
 }
 
 /* Modals
index 2ecfaf5..85e8adc 100644 (file)
@@ -7050,7 +7050,7 @@ var JXON = new (function () {
 /**
  * @license
  * Lo-Dash 2.3.0 (Custom Build) <http://lodash.com/>
- * Build: `lodash --debug --output js/lib/lodash.js include="any,assign,bind,clone,compact,contains,debounce,difference,each,every,extend,filter,find,first,forEach,groupBy,indexOf,intersection,isEmpty,isEqual,isFunction,keys,last,map,omit,pairs,pluck,reject,some,throttle,union,uniq,unique,values,without,flatten,value,chain,cloneDeep,merge,pick" exports="global,node"`
+ * Build: `lodash --debug --output js/lib/lodash.js include="any,assign,bind,clone,compact,contains,debounce,difference,each,every,extend,filter,find,first,forEach,groupBy,indexOf,intersection,isEmpty,isEqual,isFunction,keys,last,map,omit,pairs,pluck,reject,some,throttle,union,uniq,unique,values,without,flatten,value,chain,cloneDeep,merge,pick,reduce" exports="global,node"`
  * Copyright 2012-2013 The Dojo Foundation <http://dojofoundation.org/>
  * Based on Underscore.js 1.5.2 <http://underscorejs.org/LICENSE>
  * Copyright 2009-2013 Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
@@ -9833,6 +9833,60 @@ var JXON = new (function () {
    */
   var pluck = map;
 
+  /**
+   * Reduces a collection to a value which is the accumulated result of running
+   * each element in the collection through the callback, where each successive
+   * callback execution consumes the return value of the previous execution. If
+   * `accumulator` is not provided the first element of the collection will be
+   * used as the initial `accumulator` value. The callback is bound to `thisArg`
+   * and invoked with four arguments; (accumulator, value, index|key, collection).
+   *
+   * @static
+   * @memberOf _
+   * @alias foldl, inject
+   * @category Collections
+   * @param {Array|Object|string} collection The collection to iterate over.
+   * @param {Function} [callback=identity] The function called per iteration.
+   * @param {*} [accumulator] Initial value of the accumulator.
+   * @param {*} [thisArg] The `this` binding of `callback`.
+   * @returns {*} Returns the accumulated value.
+   * @example
+   *
+   * var sum = _.reduce([1, 2, 3], function(sum, num) {
+   *   return sum + num;
+   * });
+   * // => 6
+   *
+   * var mapped = _.reduce({ 'a': 1, 'b': 2, 'c': 3 }, function(result, num, key) {
+   *   result[key] = num * 3;
+   *   return result;
+   * }, {});
+   * // => { 'a': 3, 'b': 6, 'c': 9 }
+   */
+  function reduce(collection, callback, accumulator, thisArg) {
+    var noaccum = arguments.length < 3;
+    callback = lodash.createCallback(callback, thisArg, 4);
+
+    if (isArray(collection)) {
+      var index = -1,
+          length = collection.length;
+
+      if (noaccum) {
+        accumulator = collection[++index];
+      }
+      while (++index < length) {
+        accumulator = callback(accumulator, collection[index], index, collection);
+      }
+    } else {
+      baseEach(collection, function(value, index, collection) {
+        accumulator = noaccum
+          ? (noaccum = false, value)
+          : callback(accumulator, value, index, collection)
+      });
+    }
+    return accumulator;
+  }
+
   /**
    * The opposite of `_.filter` this method returns the elements of a
    * collection that the callback does **not** return truey for.
@@ -10970,6 +11024,7 @@ var JXON = new (function () {
   lodash.isString = isString;
   lodash.mixin = mixin;
   lodash.noop = noop;
+  lodash.reduce = reduce;
   lodash.some = some;
   lodash.sortedIndex = sortedIndex;
 
@@ -10978,7 +11033,9 @@ var JXON = new (function () {
   lodash.any = some;
   lodash.detect = find;
   lodash.findWhere = find;
+  lodash.foldl = reduce;
   lodash.include = contains;
+  lodash.inject = reduce;
 
   forOwn(lodash, function(func, methodName) {
     if (!lodash.prototype[methodName]) {
@@ -14658,7 +14715,79 @@ if (typeof define === 'function' && define.amd) {
 }
 
 })();
-toGeoJSON = (function() {
+(function(e){if("function"==typeof bootstrap)bootstrap("sexagesimal",e);else if("object"==typeof exports)module.exports=e();else if("function"==typeof define&&define.amd)define(e);else if("undefined"!=typeof ses){if(!ses.ok())return;ses.makeSexagesimal=e}else"undefined"!=typeof window?window.sexagesimal=e():global.sexagesimal=e()})(function(){var define,ses,bootstrap,module,exports;
+return (function e(t,n,r){function s(o,u){if(!n[o]){if(!t[o]){var a=typeof require=="function"&&require;if(!u&&a)return a(o,!0);if(i)return i(o,!0);throw new Error("Cannot find module '"+o+"'")}var f=n[o]={exports:{}};t[o][0].call(f.exports,function(e){var n=t[o][1][e];return s(n?n:e)},f,f.exports,e,t,n,r)}return n[o].exports}var i=typeof require=="function"&&require;for(var o=0;o<r.length;o++)s(r[o]);return s})({1:[function(require,module,exports){
+module.exports = element;
+module.exports.pair = pair;
+module.exports.format = format;
+module.exports.formatPair = formatPair;
+
+function element(x, dims) {
+    return search(x, dims).val;
+}
+
+function formatPair(x) {
+    return format(x.lat, 'lat') + ' ' + format(x.lon, 'lon');
+}
+
+// Is 0 North or South?
+function format(x, dim) {
+    var dirs = {
+            lat: ['N', 'S'],
+            lon: ['E', 'W']
+        }[dim] || '',
+        dir = dirs[x >= 0 ? 0 : 1],
+        abs = Math.abs(x),
+        whole = Math.floor(abs),
+        fraction = abs - whole,
+        fractionMinutes = fraction * 60,
+        minutes = Math.floor(fractionMinutes),
+        seconds = Math.floor((fractionMinutes - minutes) * 60);
+
+    return whole + '° ' +
+        (minutes ? minutes + "' " : '') +
+        (seconds ? seconds + '" ' : '') + dir;
+}
+
+function search(x, dims, r) {
+    if (!dims) dims = 'NSEW';
+    if (typeof x !== 'string') return { val: null, regex: r };
+    r = r || /[\s\,]*([\-|\—|\―]?[0-9.]+)°? *(?:([0-9.]+)['’′‘] *)?(?:([0-9.]+)(?:''|"|”|″) *)?([NSEW])?/gi;
+    var m = r.exec(x);
+    if (!m) return { val: null, regex: r };
+    else if (m[4] && dims.indexOf(m[4]) === -1) return { val: null, regex: r };
+    else return {
+        val: (((m[1]) ? parseFloat(m[1]) : 0) +
+            ((m[2] ? parseFloat(m[2]) / 60 : 0)) +
+            ((m[3] ? parseFloat(m[3]) / 3600 : 0))) *
+            ((m[4] && m[4] === 'S' || m[4] === 'W') ? -1 : 1),
+        regex: r,
+        raw: m[0],
+        dim: m[4]
+    };
+}
+
+function pair(x, dims) {
+    x = x.trim();
+    var one = search(x, dims);
+    if (one.val === null) return null;
+    var two = search(x, dims, one.regex);
+    if (two.val === null) return null;
+    // null if one/two are not contiguous.
+    if (one.raw + two.raw !== x) return null;
+    if (one.dim) return swapdim(one.val, two.val, one.dim);
+    else return [one.val, two.val];
+}
+
+function swapdim(a, b, dim) {
+    if (dim == 'N' || dim == 'S') return [a, b];
+    if (dim == 'W' || dim == 'E') return [b, a];
+}
+
+},{}]},{},[1])
+(1)
+});
+;toGeoJSON = (function() {
     'use strict';
 
     var removeSpace = (/\s*/g),
@@ -16278,7 +16407,7 @@ window.iD = function () {
     return d3.rebind(context, dispatch, 'on');
 };
 
-iD.version = '1.4.0';
+iD.version = '1.5.2';
 
 (function() {
     var detected = {};
@@ -16312,6 +16441,44 @@ iD.version = '1.4.0';
 
     iD.detect = function() { return detected; };
 })();
+iD.countryCode  = function() {
+    var countryCode = {},
+        endpoint = 'https://nominatim.openstreetmap.org/reverse?';
+
+    if (!iD.countryCode.cache) {
+        iD.countryCode.cache = rbush();
+    }
+
+    var cache = iD.countryCode.cache;
+
+    countryCode.search = function(location, callback) {
+        var countryCodes = cache.search([location[0], location[1], location[0], location[1]]);
+
+        if (countryCodes.length > 0)
+            return callback(null, countryCodes[0][4]);
+
+        d3.json(endpoint +
+            iD.util.qsString({
+                format: 'json',
+                addressdetails: 1,
+                lat: location[1],
+                lon: location[0]
+            }), function(err, result) {
+                if (err)
+                    return callback(err);
+                else if (result && result.error)
+                    return callback(result.error);
+
+                var extent = iD.geo.Extent(location).padByMeters(1000);
+
+                cache.insert([extent[0][0], extent[0][1], extent[1][0], extent[1][1], result.address.country_code]);
+
+                callback(null, result.address.country_code);
+            });
+    };
+
+    return countryCode;
+};
 iD.taginfo = function() {
     var taginfo = {},
         endpoint = 'https://taginfo.openstreetmap.org/api/4/',
@@ -16761,11 +16928,38 @@ iD.geo.euclideanDistance = function(a, b) {
     var x = a[0] - b[0], y = a[1] - b[1];
     return Math.sqrt((x * x) + (y * y));
 };
+
+// using WGS84 polar radius (6356752.314245179 m)
+// const = 2 * PI * r / 360
+iD.geo.latToMeters = function(dLat) {
+    return dLat * 110946.257617;
+};
+
+// using WGS84 equatorial radius (6378137.0 m)
+// const = 2 * PI * r / 360
+iD.geo.lonToMeters = function(dLon, atLat) {
+    return Math.abs(atLat) >= 90 ? 0 :
+        dLon * 111319.490793 * Math.abs(Math.cos(atLat * (Math.PI/180)));
+};
+
+// using WGS84 polar radius (6356752.314245179 m)
+// const = 2 * PI * r / 360
+iD.geo.metersToLat = function(m) {
+    return m / 110946.257617;
+};
+
+// using WGS84 equatorial radius (6378137.0 m)
+// const = 2 * PI * r / 360
+iD.geo.metersToLon = function(m, atLat) {
+    return Math.abs(atLat) >= 90 ? 0 :
+        m / 111319.490793 / Math.abs(Math.cos(atLat * (Math.PI/180)));
+};
+
 // Equirectangular approximation of spherical distances on Earth
 iD.geo.sphericalDistance = function(a, b) {
-    var x = Math.cos(a[1]*Math.PI/180) * (a[0] - b[0]),
-        y = a[1] - b[1];
-    return 6.3710E6 * Math.sqrt((x * x) + (y * y)) * Math.PI/180;
+    var x = iD.geo.lonToMeters(a[0] - b[0], (a[1] + b[1]) / 2),
+        y = iD.geo.latToMeters(a[1] - b[1]);
+    return Math.sqrt((x * x) + (y * y));
 };
 
 iD.geo.edgeEqual = function(a, b) {
@@ -16827,6 +17021,39 @@ iD.geo.chooseEdge = function(nodes, point, projection) {
     };
 };
 
+// Return the intersection point of 2 line segments.
+// From https://github.com/pgkelley4/line-segments-intersect
+// This uses the vector cross product approach described below:
+//  http://stackoverflow.com/a/565282/786339
+iD.geo.lineIntersection = function(a, b) {
+    function subtractPoints(point1, point2) {
+        return [point1[0] - point2[0], point1[1] - point2[1]];
+    }
+    function crossProduct(point1, point2) {
+        return point1[0] * point2[1] - point1[1] * point2[0];
+    }
+
+    var p = [a[0][0], a[0][1]],
+        p2 = [a[1][0], a[1][1]],
+        q = [b[0][0], b[0][1]],
+        q2 = [b[1][0], b[1][1]],
+        r = subtractPoints(p2, p),
+        s = subtractPoints(q2, q),
+        uNumerator = crossProduct(subtractPoints(q, p), r),
+        denominator = crossProduct(r, s);
+
+    if (uNumerator && denominator) {
+        var u = uNumerator / denominator,
+            t = crossProduct(subtractPoints(q, p), s) / denominator;
+
+        if ((t >= 0) && (t <= 1) && (u >= 0) && (u <= 1)) {
+            return iD.geo.interp(p, p2, t);
+        }
+    }
+
+    return null;
+};
+
 // Return whether point is contained in polygon.
 //
 // `point` should be a 2-item array of coordinates.
@@ -16934,9 +17161,21 @@ _.extend(iD.geo.Extent.prototype, {
                                   Math.min(obj[1][1], this[1][1])]);
     },
 
+    percentContainedIn: function(obj) {
+        if (!(obj instanceof iD.geo.Extent)) obj = new iD.geo.Extent(obj);
+        var a1 = this.intersection(obj).area(),
+            a2 = this.area();
+
+        if (a1 === Infinity || a2 === Infinity || a1 === 0 || a2 === 0) {
+            return 0;
+        } else {
+            return a1 / a2;
+        }
+    },
+
     padByMeters: function(meters) {
-        var dLat = meters / 111200,
-            dLon = meters / 111200 / Math.abs(Math.cos(this.center()[1]));
+        var dLat = iD.geo.metersToLat(meters),
+            dLon = iD.geo.metersToLon(meters, this.center()[1]);
         return iD.geo.Extent(
                 [this[0][0] - dLon, this[0][1] - dLat],
                 [this[1][0] + dLon, this[1][1] + dLat]);
@@ -16945,6 +17184,7 @@ _.extend(iD.geo.Extent.prototype, {
     toParam: function() {
         return [this[0][0], this[0][1], this[1][0], this[1][1]].join(',');
     }
+
 });
 iD.geo.Turn = function(turn) {
     if (!(this instanceof iD.geo.Turn))
@@ -17585,7 +17825,15 @@ iD.actions.Connect = function(nodeIds) {
 };
 iD.actions.DeleteMember = function(relationId, memberIndex) {
     return function(graph) {
-        return graph.replace(graph.entity(relationId).removeMember(memberIndex));
+        var relation = graph.entity(relationId)
+            .removeMember(memberIndex);
+
+        graph = graph.replace(relation);
+
+        if (relation.isDegenerate())
+            graph = iD.actions.DeleteRelation(relation.id)(graph);
+
+        return graph;
     };
 };
 iD.actions.DeleteMultiple = function(ids) {
@@ -18931,6 +19179,9 @@ iD.behavior.drag = function() {
             var p = point(),
                 dx = p[0] - origin_[0],
                 dy = p[1] - origin_[1];
+            
+            if (dx === 0 && dy === 0)
+                return;
 
             if (!started) {
                 started = true;
@@ -19407,15 +19658,29 @@ iD.behavior.Hash = function(context) {
     };
 
     var formatter = function(map) {
-        var center = map.center(),
+        var mode = context.mode(),
+            center = map.center(),
             zoom = map.zoom(),
-            precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2));
-        var q = iD.util.stringQs(location.hash.substring(1));
-        return '#' + iD.util.qsString(_.assign(q, {
-                map: zoom.toFixed(2) +
-                    '/' + center[0].toFixed(precision) +
-                    '/' + center[1].toFixed(precision)
-            }), true);
+            precision = Math.max(0, Math.ceil(Math.log(zoom) / Math.LN2)),
+            q = iD.util.stringQs(location.hash.substring(1)),
+            newParams = {};
+
+        if (mode && mode.id === 'browse') {
+            delete q.id;
+        } else {
+            var selected = context.selectedIDs().filter(function(id) {
+                return !context.entity(id).isNew();
+            });
+            if (selected.length) {
+                newParams.id = selected.join(',');
+            }
+        }
+
+        newParams.map = zoom.toFixed(2) +
+                '/' + center[0].toFixed(precision) +
+                '/' + center[1].toFixed(precision);
+
+        return '#' + iD.util.qsString(_.assign(q, newParams), true);
     };
 
     function update() {
@@ -19423,7 +19688,7 @@ iD.behavior.Hash = function(context) {
         if (s0 !== s1) location.replace(s0 = s1); // don't recenter the map!
     }
 
-    var move = _.throttle(update, 500);
+    var throttledUpdate = _.throttle(update, 500);
 
     function hashchange() {
         if (location.hash === s0) return; // ignore spurious hashchange events
@@ -19434,14 +19699,17 @@ iD.behavior.Hash = function(context) {
 
     function hash() {
         context.map()
-            .on('move.hash', move);
+            .on('move.hash', throttledUpdate);
+
+        context
+            .on('enter.hash', throttledUpdate);
 
         d3.select(window)
             .on('hashchange.hash', hashchange);
 
         if (location.hash) {
             var q = iD.util.stringQs(location.hash.substring(1));
-            if (q.id) context.loadEntity(q.id, !q.map);
+            if (q.id) context.loadEntity(q.id.split(',')[0], !q.map);
             hashchange();
             if (q.map) hash.hadHash = true;
         }
@@ -19451,6 +19719,9 @@ iD.behavior.Hash = function(context) {
         context.map()
             .on('move.hash', null);
 
+        context
+            .on('enter.hash', null);
+
         d3.select(window)
             .on('hashchange.hash', null);
 
@@ -19986,8 +20257,7 @@ iD.modes.Browse = function(context) {
         button: 'browse',
         id: 'browse',
         title: t('modes.browse.title'),
-        description: t('modes.browse.description'),
-        key: '1'
+        description: t('modes.browse.description')
     }, sidebar;
 
     var behaviors = [
@@ -20698,17 +20968,6 @@ iD.modes.Select = function(context, selectedIDs) {
             });
         });
 
-        var notNew = selectedIDs.filter(function(id) {
-            return !context.entity(id).isNew();
-        });
-
-        if (notNew.length) {
-            var q = iD.util.stringQs(location.hash.substring(1));
-            location.replace('#' + iD.util.qsString(_.assign(q, {
-                id: notNew.join(',')
-            }), true));
-        }
-
         context.ui().sidebar
             .select(singular() ? singular().id : null, newFeature);
 
@@ -20792,9 +21051,6 @@ iD.modes.Select = function(context, selectedIDs) {
             context.uninstall(behavior);
         });
 
-        var q = iD.util.stringQs(location.hash.substring(1));
-        location.replace('#' + iD.util.qsString(_.omit(q, 'id'), true));
-
         keybinding.off();
 
         context.history()
@@ -20816,6 +21072,8 @@ iD.modes.Select = function(context, selectedIDs) {
 iD.operations = {};
 iD.operations.Circularize = function(selectedIDs, context) {
     var entityId = selectedIDs[0],
+        entity = context.entity(entityId),
+        extent = entity.extent(context.graph()),
         geometry = context.geometry(entityId),
         action = iD.actions.Circularize(entityId, context.projection);
 
@@ -20825,24 +21083,17 @@ iD.operations.Circularize = function(selectedIDs, context) {
     };
 
     operation.available = function() {
-        var entity = context.entity(entityId);
         return selectedIDs.length === 1 &&
             entity.type === 'way' &&
             _.uniq(entity.nodes).length > 1;
     };
 
     operation.disabled = function() {
-        var way = context.entity(entityId),
-            wayExtent = way.extent(context.graph()),
-            mapExtent = context.extent(),
-            intersection = mapExtent.intersection(wayExtent),
-            pctVisible = intersection.area() / wayExtent.area();
-
-        if (pctVisible < 0.8) {
-            return 'too_large';
-        } else {
-            return action.disabled(context.graph());
+        var reason;
+        if (extent.percentContainedIn(context.extent()) < 0.8) {
+            reason = 'too_large';
         }
+        return action.disabled(context.graph()) || reason;
     };
 
     operation.tooltip = function() {
@@ -21070,6 +21321,10 @@ iD.operations.Merge = function(selectedIDs, context) {
     return operation;
 };
 iD.operations.Move = function(selectedIDs, context) {
+    var extent = selectedIDs.reduce(function(extent, id) {
+            return extent.extend(context.entity(id).extent(context.graph()));
+        }, iD.geo.Extent());
+
     var operation = function() {
         context.enter(iD.modes.Move(context, selectedIDs));
     };
@@ -21080,8 +21335,11 @@ iD.operations.Move = function(selectedIDs, context) {
     };
 
     operation.disabled = function() {
-        return iD.actions.Move(selectedIDs)
-            .disabled(context.graph());
+        var reason;
+        if (extent.area() && extent.percentContainedIn(context.extent()) < 0.8) {
+            reason = 'too_large';
+        }
+        return iD.actions.Move(selectedIDs).disabled(context.graph()) || reason;
     };
 
     operation.tooltip = function() {
@@ -21099,16 +21357,17 @@ iD.operations.Move = function(selectedIDs, context) {
 };
 iD.operations.Orthogonalize = function(selectedIDs, context) {
     var entityId = selectedIDs[0],
+        entity = context.entity(entityId),
+        extent = entity.extent(context.graph()),
         geometry = context.geometry(entityId),
         action = iD.actions.Orthogonalize(entityId, context.projection);
 
-    function operation() {
+    var operation = function() {
         var annotation = t('operations.orthogonalize.annotation.' + geometry);
         context.perform(action, annotation);
-    }
+    };
 
     operation.available = function() {
-        var entity = context.entity(entityId);
         return selectedIDs.length === 1 &&
             entity.type === 'way' &&
             entity.isClosed() &&
@@ -21116,17 +21375,11 @@ iD.operations.Orthogonalize = function(selectedIDs, context) {
     };
 
     operation.disabled = function() {
-        var way = context.entity(entityId),
-            wayExtent = way.extent(context.graph()),
-            mapExtent = context.extent(),
-            intersection = mapExtent.intersection(wayExtent),
-            pctVisible = intersection.area() / wayExtent.area();
-
-        if (pctVisible < 0.8) {
-            return 'too_large';
-        } else {
-            return action.disabled(context.graph());
+        var reason;
+        if (extent.percentContainedIn(context.extent()) < 0.8) {
+            reason = 'too_large';
         }
+        return action.disabled(context.graph()) || reason;
     };
 
     operation.tooltip = function() {
@@ -21171,33 +21424,39 @@ iD.operations.Reverse = function(selectedIDs, context) {
     return operation;
 };
 iD.operations.Rotate = function(selectedIDs, context) {
-    var entityId = selectedIDs[0];
+    var entityId = selectedIDs[0],
+        entity = context.entity(entityId),
+        extent = entity.extent(context.graph()),
+        geometry = context.geometry(entityId);
 
     var operation = function() {
         context.enter(iD.modes.RotateWay(context, entityId));
     };
 
     operation.available = function() {
-        var graph = context.graph(),
-            entity = graph.entity(entityId);
-
-        if (selectedIDs.length !== 1 ||
-            entity.type !== 'way')
+        if (selectedIDs.length !== 1 || entity.type !== 'way')
             return false;
-        if (context.geometry(entityId) === 'area')
+        if (geometry === 'area')
             return true;
         if (entity.isClosed() &&
-            graph.parentRelations(entity).some(function(r) { return r.isMultipolygon(); }))
+            context.graph().parentRelations(entity).some(function(r) { return r.isMultipolygon(); }))
             return true;
         return false;
     };
 
     operation.disabled = function() {
-        return false;
+        if (extent.percentContainedIn(context.extent()) < 0.8) {
+            return 'too_large';
+        } else {
+            return false;
+        }
     };
 
     operation.tooltip = function() {
-        return t('operations.rotate.description');
+        var disable = operation.disabled();
+        return disable ?
+            t('operations.rotate.' + disable) :
+            t('operations.rotate.description');
     };
 
     operation.id = 'rotate';
@@ -22776,8 +23035,7 @@ iD.oneWayTags = {
         'roundabout': true
     },
     'man_made': {
-        'piste:halfpipe': true,
-        'pipeline': true
+        'piste:halfpipe': true
     },
     'piste:type': {
         'downhill': true,
@@ -23177,6 +23435,29 @@ _.extend(iD.Way.prototype, {
         if (this.nodes[this.nodes.length - 1] === node) return 'suffix';
     },
 
+    layer: function() {
+        // explicit layer tag, clamp between -10, 10..
+        if (this.tags.layer !== undefined) {
+            return Math.max(-10, Math.min(+(this.tags.layer), 10));
+        }
+
+        // implied layer tag..
+        if (this.tags.location === 'overground') return 1;
+        if (this.tags.location === 'underground') return -1;
+        if (this.tags.location === 'underwater') return -10;
+
+        if (this.tags.power === 'line') return 10;
+        if (this.tags.power === 'minor_line') return 10;
+        if (this.tags.aerialway) return 10;
+        if (this.tags.bridge) return 1;
+        if (this.tags.cutting) return -1;
+        if (this.tags.tunnel) return -1;
+        if (this.tags.waterway) return -1;
+        if (this.tags.man_made === 'pipeline') return -10;
+        if (this.tags.boundary) return -10;
+        return 0;
+    },
+
     isOneWay: function() {
         // explicit oneway tag..
         if (['yes', '1', '-1'].indexOf(this.tags.oneway) !== -1) { return true; }
@@ -23779,7 +24060,7 @@ iD.GpxLayer = function(context) {
                 .append('text')
                 .attr('class', 'gpx')
                 .text(function(d) {
-                    return d.properties.name;
+                    return d.properties.desc || d.properties.name;
                 })
                 .attr('x', function(d) {
                     var centroid = path.centroid(d);
@@ -23916,10 +24197,9 @@ iD.Map = function(context) {
             if (map.editable() && !transformed) {
                 var all = context.intersects(map.extent()),
                     filter = d3.functor(true),
-                    extent = map.extent(),
                     graph = context.graph();
-                surface.call(vertices, graph, all, filter, extent, map.zoom());
-                surface.call(midpoints, graph, all, filter, extent);
+                surface.call(vertices, graph, all, filter, map.extent(), map.zoom());
+                surface.call(midpoints, graph, all, filter, map.trimmedExtent());
                 dispatch.drawn({full: false});
             }
         });
@@ -23954,7 +24234,7 @@ iD.Map = function(context) {
             .call(vertices, graph, all, filter, map.extent(), map.zoom())
             .call(lines, graph, all, filter)
             .call(areas, graph, all, filter)
-            .call(midpoints, graph, all, filter, map.extent())
+            .call(midpoints, graph, all, filter, map.trimmedExtent())
             .call(labels, graph, all, filter, dimensions, !difference && !extent);
 
         if (points.points(context.intersects(map.extent()), 100).length >= 100) {
@@ -23967,8 +24247,12 @@ iD.Map = function(context) {
     }
 
     function editOff() {
+        var mode = context.mode();
         surface.selectAll('.layer *').remove();
         dispatch.drawn({full: true});
+        if (!(mode && mode.id === 'browse')) {
+            context.enter(iD.modes.Browse(context));
+        }
     }
 
     function zoomPan() {
@@ -24206,6 +24490,12 @@ iD.Map = function(context) {
         }
     };
 
+    map.trimmedExtent = function() {
+        var headerY = 60, footerY = 30, pad = 10;
+        return new iD.geo.Extent(projection.invert([pad, dimensions[1] - footerY - pad]),
+                projection.invert([dimensions[0] - pad, headerY + pad]));
+    };
+
     map.extentZoom = function(_) {
         var extent = iD.geo.Extent(_),
             tl = projection([extent[0][0], extent[1][1]]),
@@ -24442,6 +24732,7 @@ iD.svg = {
                 i = 0,
                 offset = dt,
                 segments = [],
+                viewport = iD.geo.Extent(projection.clipExtent()),
                 coordinates = graph.childNodes(entity).map(function(n) {
                     return n.loc;
                 });
@@ -24460,9 +24751,10 @@ iD.svg = {
                     b = [x, y];
 
                     if (a) {
-                        var span = iD.geo.euclideanDistance(a, b) - offset;
+                        var extent = iD.geo.Extent(a).extend(b),
+                            span = iD.geo.euclideanDistance(a, b) - offset;
 
-                        if (span >= 0) {
+                        if (extent.intersects(viewport) && span >= 0) {
                             var angle = Math.atan2(b[1] - a[1], b[0] - a[0]),
                                 dx = dt * Math.cos(angle),
                                 dy = dt * Math.sin(angle),
@@ -24572,8 +24864,17 @@ iD.svg.Areas = function(projection) {
             fill: areas
         };
 
-        var paths = surface.selectAll('.layer-shadow, .layer-stroke, .layer-fill')
-            .selectAll('path.area')
+        var areagroup = surface
+            .select('.layer-areas')
+            .selectAll('g.areagroup')
+            .data(['fill', 'shadow', 'stroke']);
+
+        areagroup.enter()
+            .append('g')
+            .attr('class', function(d) { return 'layer areagroup area-' + d; });
+
+        var paths = areagroup
+            .selectAll('path')
             .filter(filter)
             .data(function(layer) { return data[layer]; }, iD.Entity.key);
 
@@ -24582,7 +24883,7 @@ iD.svg.Areas = function(projection) {
         paths.exit()
             .remove();
 
-        var fills = surface.selectAll('.layer-fill path.area')[0];
+        var fills = surface.selectAll('.area-fill path.area')[0];
 
         var bisect = d3.bisector(function(node) {
             return -node.__data__.area(graph);
@@ -25199,80 +25500,98 @@ iD.svg.Lines = function(projection) {
     };
 
     function waystack(a, b) {
-        if (!a || !b || !a.tags || !b.tags) return 0;
-        if (a.tags.layer !== undefined && b.tags.layer !== undefined) {
-            return a.tags.layer - b.tags.layer;
-        }
-        if (a.tags.bridge) return 1;
-        if (b.tags.bridge) return -1;
-        if (a.tags.tunnel) return -1;
-        if (b.tags.tunnel) return 1;
         var as = 0, bs = 0;
-        if (a.tags.highway && b.tags.highway) {
-            as -= highway_stack[a.tags.highway];
-            bs -= highway_stack[b.tags.highway];
-        }
+
+        if (a.tags.highway) { as -= highway_stack[a.tags.highway]; }
+        if (b.tags.highway) { bs -= highway_stack[b.tags.highway]; }
         return as - bs;
     }
 
     return function drawLines(surface, graph, entities, filter) {
-        var lines = [],
-            path = iD.svg.Path(projection, graph);
+        var ways = [], pathdata = {}, onewaydata = {},
+            getPath = iD.svg.Path(projection, graph);
 
         for (var i = 0; i < entities.length; i++) {
             var entity = entities[i],
                 outer = iD.geo.simpleMultipolygonOuterMember(entity, graph);
             if (outer) {
-                lines.push(entity.mergeTags(outer.tags));
+                ways.push(entity.mergeTags(outer.tags));
             } else if (entity.geometry(graph) === 'line') {
-                lines.push(entity);
+                ways.push(entity);
             }
         }
 
-        lines = lines.filter(path);
-        lines.sort(waystack);
+        ways = ways.filter(getPath);
 
-        function drawPaths(klass) {
-            var paths = surface.select('.layer-' + klass)
-                .selectAll('path.line')
-                .filter(filter)
-                .data(lines, iD.Entity.key);
+        pathdata = _.groupBy(ways, function(way) { return way.layer(); });
 
-            var enter = paths.enter()
-                .append('path')
-                .attr('class', function(d) { return 'way line ' + klass + ' ' + d.id; });
+        _.forOwn(pathdata, function(v, k) {
+            onewaydata[k] = _(v)
+                .filter(function(d) { return d.isOneWay(); })
+                .map(iD.svg.OneWaySegments(projection, graph, 35))
+                .flatten()
+                .valueOf();
+        });
 
-            // Optimization: call simple TagClasses only on enter selection. This
-            // works because iD.Entity.key is defined to include the entity v attribute.
-            if (klass !== 'stroke') {
-                enter.call(iD.svg.TagClasses());
-            } else {
-                paths.call(iD.svg.TagClasses()
-                    .tags(iD.svg.MultipolygonMemberTags(graph)));
-            }
+        var layergroup = surface
+            .select('.layer-lines')
+            .selectAll('g.layergroup')
+            .data(d3.range(-10, 11));
 
-            paths
-                .order()
-                .attr('d', path);
+        layergroup.enter()
+            .append('g')
+            .attr('class', function(d) { return 'layer layergroup layer' + String(d); });
 
-            paths.exit()
-                .remove();
-        }
 
-        drawPaths('shadow');
-        drawPaths('casing');
-        drawPaths('stroke');
+        var linegroup = layergroup
+            .selectAll('g.linegroup')
+            .data(['shadow', 'casing', 'stroke']);
 
-        var segments = _(lines)
-            .filter(function(d) { return d.isOneWay(); })
-            .map(iD.svg.OneWaySegments(projection, graph, 35))
-            .flatten()
-            .valueOf();
+        linegroup.enter()
+            .append('g')
+            .attr('class', function(d) { return 'layer linegroup line-' + d; });
 
-        var oneways = surface.select('.layer-oneway')
-            .selectAll('path.oneway')
+
+        var lines = linegroup
+            .selectAll('path')
             .filter(filter)
-            .data(segments, function(d) { return [d.id, d.index]; });
+            .data(
+                function() { return pathdata[this.parentNode.parentNode.__data__] || []; },
+                iD.Entity.key
+            );
+
+        // Optimization: call simple TagClasses only on enter selection. This
+        // works because iD.Entity.key is defined to include the entity v attribute.
+        lines.enter()
+            .append('path')
+            .attr('class', function(d) { return 'way line ' + this.parentNode.__data__ + ' ' + d.id; })
+            .call(iD.svg.TagClasses());
+
+        lines
+            .sort(waystack)
+            .attr('d', getPath)
+            .call(iD.svg.TagClasses().tags(iD.svg.MultipolygonMemberTags(graph)));
+
+        lines.exit()
+            .remove();
+
+
+        var onewaygroup = layergroup
+            .selectAll('g.onewaygroup')
+            .data(['oneway']);
+
+        onewaygroup.enter()
+            .append('g')
+            .attr('class', 'layer onewaygroup');
+
+
+        var oneways = onewaygroup
+            .selectAll('path')
+            .filter(filter)
+            .data(
+                function() { return onewaydata[this.parentNode.parentNode.__data__] || []; },
+                function(d) { return [d.id, d.index]; }
+            );
 
         oneways.enter()
             .append('path')
@@ -25280,16 +25599,17 @@ iD.svg.Lines = function(projection) {
             .attr('marker-mid', 'url(#oneway-marker)');
 
         oneways
-            .order()
             .attr('d', function(d) { return d.d; });
 
         oneways.exit()
             .remove();
+
     };
 };
 iD.svg.Midpoints = function(projection, context) {
     return function drawMidpoints(surface, graph, entities, filter, extent) {
-        var midpoints = {};
+        var poly = extent.polygon(),
+            midpoints = {};
 
         for (var i = 0; i < entities.length; i++) {
             var entity = entities[i];
@@ -25311,15 +25631,34 @@ iD.svg.Midpoints = function(projection, context) {
                 if (midpoints[id]) {
                     midpoints[id].parents.push(entity);
                 } else {
-                    var loc = iD.geo.interp(a.loc, b.loc, 0.5);
-                    if (extent.intersects(loc) && iD.geo.euclideanDistance(projection(a.loc), projection(b.loc)) > 40) {
-                        midpoints[id] = {
-                            type: 'midpoint',
-                            id: id,
-                            loc: loc,
-                            edge: [a.id, b.id],
-                            parents: [entity]
-                        };
+                    if (iD.geo.euclideanDistance(projection(a.loc), projection(b.loc)) > 40) {
+                        var point = iD.geo.interp(a.loc, b.loc, 0.5),
+                            loc = null;
+
+                        if (extent.intersects(point)) {
+                            loc = point;
+                        } else {
+                            for (var k = 0; k < 4; k++) {
+                                point = iD.geo.lineIntersection([a.loc, b.loc], [poly[k], poly[k+1]]);
+                                if (point &&
+                                    iD.geo.euclideanDistance(projection(a.loc), projection(point)) > 20 &&
+                                    iD.geo.euclideanDistance(projection(b.loc), projection(point)) > 20)
+                                {
+                                    loc = point;
+                                    break;
+                                }
+                            }
+                        }
+
+                        if (loc) {
+                            midpoints[id] = {
+                                type: 'midpoint',
+                                id: id,
+                                loc: loc,
+                                edge: [a.id, b.id],
+                                parents: [entity]
+                            };
+                        }
                     }
                 }
             }
@@ -25434,7 +25773,7 @@ iD.svg.Points = function(projection, context) {
 iD.svg.Surface = function() {
     return function (selection) {
         var layers = selection.selectAll('.layer')
-            .data(['fill', 'shadow', 'casing', 'stroke', 'oneway', 'hit', 'halo', 'label']);
+            .data(['areas', 'lines', 'hit', 'halo', 'label']);
 
         layers.enter().append('g')
             .attr('class', function(d) { return 'layer layer-' + d; });
@@ -25612,49 +25951,74 @@ iD.svg.Vertices = function(projection, context) {
         return vertices;
     }
 
-    function draw(groups, vertices, klass, graph, zoom) {
-        groups = groups.data(vertices, function(entity) {
-            return iD.Entity.key(entity) + ',' + zoom;
-        });
+    function draw(selection, vertices, klass, graph, zoom) {
+        var icons = {},
+            z;
 
         if (zoom < 17) {
-            zoom = 0;
+            z = 0;
         } else if (zoom < 18) {
-            zoom = 1;
+            z = 1;
         } else {
-            zoom = 2;
+            z = 2;
         }
 
-        var icons = {};
+        var groups = selection.data(vertices, function(entity) {
+            return iD.Entity.key(entity);
+        });
+
         function icon(entity) {
             if (entity.id in icons) return icons[entity.id];
-            icons[entity.id] = zoom !== 0 &&
+            icons[entity.id] =
                 entity.hasInterestingTags() &&
                 context.presets().match(entity, graph).icon;
             return icons[entity.id];
         }
 
-        function circle(klass) {
-            var rads = radiuses[klass];
+        function classCircle(klass) {
             return function(entity) {
-                var i = icon(entity),
-                    c = i ? 0.5 : 0,
-                    r = rads[i ? 3 : zoom];
                 this.setAttribute('class', 'node vertex ' + klass + ' ' + entity.id);
-                this.setAttribute('cx', c);
-                this.setAttribute('cy', -c);
-                this.setAttribute('r', r);
             };
         }
 
-        var enter = groups.enter().append('g')
+        function setAttributes(selection) {
+            ['shadow','stroke','fill'].forEach(function(klass) {
+                var rads = radiuses[klass];
+                selection.selectAll('.' + klass)
+                    .each(function(entity) {
+                        var i = z && icon(entity),
+                            c = i ? 0.5 : 0,
+                            r = rads[i ? 3 : z];
+                        this.setAttribute('cx', c);
+                        this.setAttribute('cy', -c);
+                        this.setAttribute('r', r);
+                        if (i && klass === 'fill') {
+                            this.setAttribute('visibility', 'hidden');
+                        } else {
+                            this.removeAttribute('visibility');
+                        }
+                    });
+            });
+
+            selection.selectAll('use')
+                .each(function() {
+                    if (z) {
+                        this.removeAttribute('visibility');
+                    } else {
+                        this.setAttribute('visibility', 'hidden');
+                    }
+                });
+        }
+
+        var enter = groups.enter()
+            .append('g')
             .attr('class', function(d) { return 'node vertex ' + klass + ' ' + d.id; });
 
         enter.append('circle')
-            .each(circle('shadow'));
+            .each(classCircle('shadow'));
 
         enter.append('circle')
-            .each(circle('stroke'));
+            .each(classCircle('stroke'));
 
         // Vertices with icons get a `use`.
         enter.filter(function(d) { return icon(d); })
@@ -25663,14 +26027,15 @@ iD.svg.Vertices = function(projection, context) {
             .attr('clip-path', 'url(#clip-square-12)')
             .attr('xlink:href', function(d) { return '#maki-' + icon(d) + '-12'; });
 
-        // Vertices with tags get a `circle`.
-        enter.filter(function(d) { return !icon(d) && d.hasInterestingTags(); })
+        // Vertices with tags get a fill.
+        enter.filter(function(d) { return d.hasInterestingTags(); })
             .append('circle')
-            .each(circle('fill'));
+            .each(classCircle('fill'));
 
         groups
             .attr('transform', iD.svg.PointTransform(projection))
-            .classed('shared', function(entity) { return graph.isShared(entity); });
+            .classed('shared', function(entity) { return graph.isShared(entity); })
+            .call(setAttributes);
 
         groups.exit()
             .remove();
@@ -25798,23 +26163,24 @@ iD.ui = function(context) {
             .attr('class', 'map-control help-control')
             .call(iD.ui.Help(context));
 
-        var about = content.append('div')
-            .attr('class','col12 about-block fillD');
+        var footer = content.append('div')
+            .attr('id', 'footer')
+            .attr('class', 'fillD');
 
-        about.append('div')
-            .attr('class', 'api-status')
-            .call(iD.ui.Status(context));
+        footer.append('div')
+            .attr('id', 'scale-block')
+            .call(iD.ui.Scale(context));
+
+        var linkList = footer.append('div')
+            .attr('id', 'info-block')
+            .append('ul')
+            .attr('id', 'about-list')
+            .attr('class', 'link-list');
 
         if (!context.embed()) {
-            about.append('div')
-                .attr('class', 'account')
-                .call(iD.ui.Account(context));
+            linkList.call(iD.ui.Account(context));
         }
 
-        var linkList = about.append('ul')
-            .attr('id', 'about')
-            .attr('class', 'link-list');
-
         linkList.append('li')
             .append('a')
             .attr('target', '_blank')
@@ -25841,6 +26207,10 @@ iD.ui = function(context) {
             .attr('tabindex', -1)
             .call(iD.ui.Contributors(context));
 
+        footer.append('div')
+            .attr('class', 'api-status')
+            .call(iD.ui.Status(context));
+
         window.onbeforeunload = function() {
             return context.save();
         };
@@ -25911,20 +26281,25 @@ iD.ui.Account = function(context) {
 
     function update(selection) {
         if (!connection.authenticated()) {
-            selection.html('')
+            selection.selectAll('#userLink, #logoutLink')
                 .style('display', 'none');
             return;
         }
 
-        selection.style('display', 'block');
-
         connection.userDetails(function(err, details) {
-            selection.html('');
+            var userLink = selection.select('#userLink'),
+                logoutLink = selection.select('#logoutLink');
+
+            userLink.html('');
+            logoutLink.html('');
 
             if (err) return;
 
+            selection.selectAll('#userLink, #logoutLink')
+                .style('display', 'list-item');
+
             // Link
-            var userLink = selection.append('a')
+            userLink.append('a')
                 .attr('href', connection.userURL(details.display_name))
                 .attr('target', '_blank');
 
@@ -25943,7 +26318,7 @@ iD.ui.Account = function(context) {
                 .attr('class', 'label')
                 .text(details.display_name);
 
-            selection.append('a')
+            logoutLink.append('a')
                 .attr('class', 'logout')
                 .attr('href', '#')
                 .text(t('logout'))
@@ -25955,7 +26330,15 @@ iD.ui.Account = function(context) {
     }
 
     return function(selection) {
-        connection.on('auth', function() { update(selection); });
+        selection.append('li')
+            .attr('id', 'logoutLink')
+            .style('display', 'none');
+
+        selection.append('li')
+            .attr('id', 'userLink')
+            .style('display', 'none');
+
+        connection.on('auth.account', function() { update(selection); });
         update(selection);
     };
 };
@@ -27040,15 +27423,16 @@ iD.ui.FeatureList = function(context) {
                 });
             }
 
-            var locationMatch = q.match(/^(-?\d+\.?\d*)\s+(-?\d+\.?\d*)$/);
+            var locationMatch = sexagesimal.pair(q.toUpperCase()) || q.match(/^(-?\d+\.?\d*)\s+(-?\d+\.?\d*)$/);
 
             if (locationMatch) {
+                var loc = [parseFloat(locationMatch[0]), parseFloat(locationMatch[1])];
                 result.push({
                     id: -1,
                     geometry: 'point',
                     type: t('inspector.location'),
-                    name: locationMatch[0],
-                    location: [parseFloat(locationMatch[1]), parseFloat(locationMatch[2])]
+                    name: loc[0].toFixed(6) + ', ' + loc[1].toFixed(6),
+                    location: loc
                 });
             }
 
@@ -28091,7 +28475,7 @@ iD.ui.preset = function(context) {
 
         function show(field) {
             field.show = true;
-            context.presets()(selection);
+            presets(selection);
             field.input.focus();
         }
 
@@ -28589,6 +28973,10 @@ iD.ui.RawMemberEditor = function(context) {
         context.perform(
             iD.actions.DeleteMember(d.relation.id, d.index),
             t('operations.delete_member.annotation'));
+
+        if (!context.hasEntity(d.relation.id)) {
+            context.enter(iD.modes.Browse(context));
+        }
     }
 
     function rawMemberEditor(selection) {
@@ -29236,6 +29624,88 @@ iD.ui.Save = function(context) {
         });
     };
 };
+iD.ui.Scale = function(context) {
+    var projection = context.projection,
+        imperial = (iD.detect().locale === 'en-us'),
+        maxLength = 180,
+        tickHeight = 8;
+
+    function scaleDefs(loc1, loc2) {
+        var lat = (loc2[1] + loc1[1]) / 2,
+            conversion = (imperial ? 3.28084 : 1),
+            dist = iD.geo.lonToMeters(loc2[0] - loc1[0], lat) * conversion,
+            scale = { dist: 0, px: 0, text: '' },
+            buckets, i, val, dLon;
+
+        if (imperial) {
+            buckets = [5280000, 528000, 52800, 5280, 500, 50, 5, 1];
+        } else {
+            buckets = [5000000, 500000, 50000, 5000, 500, 50, 5, 1];
+        }
+
+        // determine a user-friendly endpoint for the scale
+        for (i = 0; i < buckets.length; i++) {
+            val = buckets[i];
+            if (dist >= val) {
+                scale.dist = Math.floor(dist / val) * val;
+                break;
+            }
+        }
+
+        dLon = iD.geo.metersToLon(scale.dist / conversion, lat);
+        scale.px = Math.round(projection([loc1[0] + dLon, loc1[1]])[0]);
+
+        if (imperial) {
+            if (scale.dist >= 5280) {
+                scale.dist /= 5280;
+                scale.text = String(scale.dist) + ' mi';
+            } else {
+                scale.text = String(scale.dist) + ' ft';
+            }
+        } else {
+            if (scale.dist >= 1000) {
+                scale.dist /= 1000;
+                scale.text = String(scale.dist) + ' km';
+            } else {
+                scale.text = String(scale.dist) + ' m';
+            }
+        }
+
+        return scale;
+    }
+
+    function update(selection) {
+        // choose loc1, loc2 along bottom of viewport (near where the scale will be drawn)
+        var dims = context.map().dimensions(),
+            loc1 = projection.invert([0, dims[1]]),
+            loc2 = projection.invert([maxLength, dims[1]]),
+            scale = scaleDefs(loc1, loc2);
+
+        selection.select('#scalepath')
+            .attr('d', 'M0.5,0.5v' + tickHeight + 'h' + scale.px + 'v-' + tickHeight);
+
+        selection.select('#scaletext')
+            .attr('x', scale.px + 8)
+            .attr('y', tickHeight)
+            .text(scale.text);
+    }
+
+    return function(selection) {
+        var g = selection.append('svg')
+            .attr('id', 'scale')
+            .append('g')
+            .attr('transform', 'translate(10,11)');
+
+        g.append('path').attr('id', 'scalepath');
+        g.append('text').attr('id', 'scaletext');
+
+        update(selection);
+
+        context.map().on('move.scale', function() {
+            update(selection);
+        });
+    };
+};
 iD.ui.SelectionList = function(context, selectedIDs) {
 
     function selectionList(selection) {
@@ -30078,12 +30548,17 @@ iD.ui.preset.access = function(field) {
     return d3.rebind(access, event, 'on');
 };
 iD.ui.preset.address = function(field, context) {
-    var event = d3.dispatch('change'),
-        housenumber,
-        street,
-        city,
-        postcode,
-        entity;
+    var event = d3.dispatch('init', 'change'),
+        wrap,
+        entity,
+        isInitialized;
+
+    var widths = {
+        housenumber: 1/3,
+        street: 2/3,
+        city: 2/3,
+        postcode: 1/3
+    };
 
     function getStreets() {
         var extent = entity.extent(context.graph()),
@@ -30168,71 +30643,95 @@ iD.ui.preset.address = function(field, context) {
     }
 
     function address(selection) {
-        var wrap = selection.selectAll('.preset-input-wrap')
-            .data([0]);
+        selection.selectAll('.preset-input-wrap')
+            .remove();
+
+        var center = entity.extent(context.graph()).center(),
+            addressFormat;
 
         // Enter
 
-        var enter = wrap.enter().append('div')
+        wrap = selection.append('div')
             .attr('class', 'preset-input-wrap');
 
-        enter.append('input')
-            .property('type', 'text')
-            .attr('placeholder', field.t('placeholders.number'))
-            .attr('class', 'addr-number');
+        iD.countryCode().search(center, function (err, countryCode) {
+            addressFormat = _.find(iD.data.addressFormats, function (a) {
+                return a && a.countryCodes && _.contains(a.countryCodes, countryCode);
+            }) || _.first(iD.data.addressFormats);
 
-        enter.append('input')
-            .property('type', 'text')
-            .attr('placeholder', field.t('placeholders.street'))
-            .attr('class', 'addr-street');
+            function row(r) {
+                // Normalize widths.
+                var total = _.reduce(r, function(sum, field) {
+                    return sum + (widths[field] || 0.5);
+                }, 0);
 
-        enter.append('input')
-            .property('type', 'text')
-            .attr('placeholder', field.t('placeholders.city'))
-            .attr('class', 'addr-city');
+                return r.map(function (field) {
+                    return {
+                        id: field,
+                        width: (widths[field] || 0.5) / total
+                    };
+                });
+            }
 
-        enter.append('input')
-            .property('type', 'text')
-            .attr('placeholder', field.t('placeholders.postcode'))
-            .attr('class', 'addr-postcode');
+            wrap.selectAll('div')
+                .data(addressFormat.format)
+                .enter()
+                .append('div')
+                .attr('class', 'addr-row')
+                .selectAll('input')
+                .data(row)
+                .enter()
+                .append('input')
+                .property('type', 'text')
+                .attr('placeholder', function (d) { return field.t('placeholders.' + d.id); })
+                .attr('class', function (d) { return 'addr-' + d.id; })
+                .style('width', function (d) { return d.width * 100 + '%'; });
 
-        // Update
+            // Update
 
-        housenumber = wrap.select('.addr-number');
-        street = wrap.select('.addr-street');
-        city = wrap.select('.addr-city');
-        postcode = wrap.select('.addr-postcode');
+            wrap.selectAll('.addr-street')
+                .call(d3.combobox()
+                    .fetcher(function(value, callback) {
+                        callback(getStreets());
+                    }));
 
-        street
-            .call(d3.combobox()
-                .fetcher(function(value, callback) {
-                    callback(getStreets());
-                }));
+            wrap.selectAll('.addr-city')
+                .call(d3.combobox()
+                    .fetcher(function(value, callback) {
+                        callback(getCities());
+                    }));
 
-        city
-            .call(d3.combobox()
-                .fetcher(function(value, callback) {
-                    callback(getCities());
-                }));
+            wrap.selectAll('.addr-postcode')
+                .call(d3.combobox()
+                    .fetcher(function(value, callback) {
+                        callback(getPostCodes());
+                    }));
 
-        postcode
-            .call(d3.combobox()
-                .fetcher(function(value, callback) {
-                    callback(getPostCodes());
-                }));
+            wrap.selectAll('input')
+                .on('blur', change)
+                .on('change', change);
 
-        wrap.selectAll('input')
-            .on('blur', change)
-            .on('change', change);
+            event.init();
+            isInitialized = true;
+        });
     }
 
     function change() {
-        event.change({
-            'addr:housenumber': housenumber.value() || undefined,
-            'addr:street': street.value() || undefined,
-            'addr:city': city.value() || undefined,
-            'addr:postcode': postcode.value() || undefined
-        });
+        var tags = {};
+
+        wrap.selectAll('input')
+            .each(function (field) {
+                tags['addr:' + field.id] = this.value || undefined;
+            });
+
+        event.change(tags);
+    }
+
+    function updateTags(tags) {
+        wrap.selectAll('input')
+            .value(function (field) {
+                return tags['addr:' + field.id] || '';
+            });
     }
 
     address.entity = function(_) {
@@ -30242,14 +30741,17 @@ iD.ui.preset.address = function(field, context) {
     };
 
     address.tags = function(tags) {
-        housenumber.value(tags['addr:housenumber'] || '');
-        street.value(tags['addr:street'] || '');
-        city.value(tags['addr:city'] || '');
-        postcode.value(tags['addr:postcode'] || '');
+        if (isInitialized) {
+            updateTags(tags);
+        } else {
+            event.on('init', function () {
+                updateTags(tags);
+            });
+        }
     };
 
     address.focus = function() {
-        housenumber.node().focus();
+        wrap.selectAll('input').node().focus();
     };
 
     return d3.rebind(address, event, 'on');
@@ -30265,7 +30767,7 @@ iD.ui.preset.defaultcheck = function(field) {
     if (options) {
         for (var k in options) {
             values.push(k === 'undefined' ? undefined : k);
-            texts.push(field.t('check.' + k, { 'default': options[k] }));
+            texts.push(field.t('options.' + k, { 'default': options[k] }));
         }
     } else {
         values = [undefined, 'yes'];
@@ -30282,8 +30784,7 @@ iD.ui.preset.defaultcheck = function(field) {
         if (field.id === 'oneway') {
             for (var key in entity.tags) {
                 if (key in iD.oneWayTags && (entity.tags[key] in iD.oneWayTags[key])) {
-                    texts.shift();
-                    texts.unshift(t('presets.fields.oneway_yes.check.undefined', { 'default': 'Assumed to be Yes' }));
+                    texts[0] = t('presets.fields.oneway_yes.options.undefined');
                     break;
                 }
             }
@@ -30375,10 +30876,8 @@ iD.ui.preset.typeCombo = function(field) {
                 return o;
             }));
 
-            input.attr('placeholder', function() {
-                if (opts.length < 3) return '';
-                return opts.slice(0, 3).join(', ') + '...';
-            });
+            input.attr('placeholder', field.placeholder() ||
+                (opts.length < 3 ? '' : opts.slice(0, 3).join(', ') + '...'));
         }
     }
 
@@ -32137,7 +32636,7 @@ iD.validate = function(changes, graph) {
         if ((geometry === 'point' || geometry === 'line' || geometry === 'area') && !change.isUsed(graph)) {
             warnings.push({
                 message: t('validations.untagged_' + geometry),
-                tooltip: t('validations.untagged_tooltip', {geometry: geometry}),
+                tooltip: t('validations.untagged_' + geometry + '_tooltip'),
                 entity: change
             });
         }
@@ -42470,7 +42969,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
             "name": "Locator Overlay",
             "type": "tms",
             "description": "Shows major features to help orient you.",
-            "template": "http://{switch:a,b,c}.tiles.mapbox.com/v3/openstreetmap.map-btyhiati/{zoom}/{x}/{y}.png",
+            "template": "http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh76ba2/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJhNVlHd29ZIn0.ti6wATGDWOmCnCYen-Ip7Q",
             "scaleExtent": [
                 0,
                 16
@@ -42490,7 +42989,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
             "name": "Mapbox Satellite",
             "type": "tms",
             "description": "Satellite and aerial imagery.",
-            "template": "http://{switch:a,b,c}.tiles.mapbox.com/v3/openstreetmap.map-4wvf9l0l/{zoom}/{x}/{y}.png",
+            "template": "http://{switch:a,b,c}.tiles.mapbox.com/v4/openstreetmap.map-inh7ifmo/{zoom}/{x}/{y}.png?access_token=pk.eyJ1Ijoib3BlbnN0cmVldG1hcCIsImEiOiJhNVlHd29ZIn0.ti6wATGDWOmCnCYen-Ip7Q",
             "scaleExtent": [
                 0,
                 19
@@ -65149,8 +65648,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "toilets/disposal",
                     "operator",
                     "building_area",
-                    "fee",
-                    "access_simple"
+                    "access_toilets"
                 ],
                 "geometry": [
                     "point",
@@ -66840,7 +67338,8 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "address",
                     "operator",
                     "opening_hours"
-                ]
+                ],
+                "searchable": false
             },
             "craft/tiler": {
                 "name": "Tiler",
@@ -67745,6 +68244,27 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 ],
                 "name": "Stop Sign"
             },
+            "highway/street_lamp": {
+                "geometry": [
+                    "point",
+                    "vertex"
+                ],
+                "tags": {
+                    "highway": "street_lamp"
+                },
+                "fields": [
+                    "lamp_type",
+                    "ref"
+                ],
+                "terms": [
+                    "streetlight",
+                    "street light",
+                    "lamp",
+                    "light",
+                    "gaslight"
+                ],
+                "name": "Street Lamp"
+            },
             "highway/tertiary": {
                 "icon": "highway-tertiary",
                 "fields": [
@@ -71058,6 +71578,27 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 },
                 "name": "Supermarket"
             },
+            "shop/tailor": {
+                "name": "Tailor",
+                "geometry": [
+                    "point",
+                    "area"
+                ],
+                "terms": [
+                    "tailor",
+                    "clothes"
+                ],
+                "tags": {
+                    "shop": "tailor"
+                },
+                "icon": "clothing-store",
+                "fields": [
+                    "building_area",
+                    "address",
+                    "operator",
+                    "opening_hours"
+                ]
+            },
             "shop/toys": {
                 "icon": "shop",
                 "fields": [
@@ -100807,6 +101348,18 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 }
             },
             "access_simple": {
+                "key": "access",
+                "type": "combo",
+                "label": "Access",
+                "placeholder": "yes",
+                "options": [
+                    "permissive",
+                    "private",
+                    "customers",
+                    "no"
+                ]
+            },
+            "access_toilets": {
                 "key": "access",
                 "type": "combo",
                 "label": "Access",
@@ -100820,6 +101373,7 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
             "address": {
                 "type": "address",
                 "keys": [
+                    "addr:housename",
                     "addr:housenumber",
                     "addr:street",
                     "addr:city",
@@ -100833,10 +101387,19 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "label": "Address",
                 "strings": {
                     "placeholders": {
-                        "number": "123",
+                        "housename": "Housename",
+                        "housenumber": "123",
                         "street": "Street",
                         "city": "City",
-                        "postcode": "Postal code"
+                        "postcode": "Postcode",
+                        "place": "Place",
+                        "hamlet": "Hamlet",
+                        "suburb": "Suburb",
+                        "subdistrict": "Subdistrict",
+                        "district": "District",
+                        "province": "Province",
+                        "state": "State",
+                        "country": "Country"
                     }
                 }
             },
@@ -101248,6 +101811,11 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     }
                 }
             },
+            "lamp_type": {
+                "key": "lamp_type",
+                "type": "combo",
+                "label": "Type"
+            },
             "landuse": {
                 "key": "landuse",
                 "type": "typeCombo",
@@ -101344,7 +101912,6 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
             "oneway_yes": {
                 "key": "oneway",
                 "type": "check",
-                "default": "yes",
                 "label": "One Way",
                 "strings": {
                     "options": {
@@ -113943,7 +114510,8 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "area": "Moved an area.",
                     "multiple": "Moved multiple objects."
                 },
-                "incomplete_relation": "This feature can't be moved because it hasn't been fully downloaded."
+                "incomplete_relation": "This feature can't be moved because it hasn't been fully downloaded.",
+                "too_large": "This can't be moved because not enough of it is currently visible."
             },
             "rotate": {
                 "title": "Rotate",
@@ -113952,7 +114520,8 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 "annotation": {
                     "line": "Rotated a line.",
                     "area": "Rotated an area."
-                }
+                },
+                "too_large": "This can't be rotated because not enough of it is currently visible."
             },
             "reverse": {
                 "title": "Reverse",
@@ -114129,7 +114698,9 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
             "untagged_area": "Untagged area",
             "many_deletions": "You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.",
             "tag_suggests_area": "The tag {tag} suggests line should be area, but it is not an area",
-            "untagged_tooltip": "Select a feature type that describes what this {geometry} is.",
+            "untagged_point_tooltip": "Select a feature type that describes what this point is.",
+            "untagged_line_tooltip": "Select a feature type that describes what this line is.",
+            "untagged_area_tooltip": "Select a feature type that describes what this area is.",
             "deprecated_tags": "Deprecated tags: {tags}"
         },
         "zoom": {
@@ -114276,15 +114847,28 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     }
                 },
                 "access_simple": {
+                    "label": "Access",
+                    "placeholder": "yes"
+                },
+                "access_toilets": {
                     "label": "Access"
                 },
                 "address": {
                     "label": "Address",
                     "placeholders": {
-                        "number": "123",
+                        "housename": "Housename",
+                        "housenumber": "123",
                         "street": "Street",
                         "city": "City",
-                        "postcode": "Postal code"
+                        "postcode": "Postcode",
+                        "place": "Place",
+                        "hamlet": "Hamlet",
+                        "suburb": "Suburb",
+                        "subdistrict": "Subdistrict",
+                        "district": "District",
+                        "province": "Province",
+                        "state": "State",
+                        "country": "Country"
                     }
                 },
                 "admin_level": {
@@ -114504,6 +115088,9 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                         "terminal": "Terminal"
                     }
                 },
+                "lamp_type": {
+                    "label": "Type"
+                },
                 "landuse": {
                     "label": "Type"
                 },
@@ -115698,6 +116285,10 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "name": "Stop Sign",
                     "terms": "stop sign"
                 },
+                "highway/street_lamp": {
+                    "name": "Street Lamp",
+                    "terms": "streetlight,street light,lamp,light,gaslight"
+                },
                 "highway/tertiary": {
                     "name": "Tertiary Road",
                     "terms": ""
@@ -116558,6 +117149,10 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                     "name": "Supermarket",
                     "terms": "bazaar,boutique,chain,co-op,cut-rate store,discount store,five-and-dime,flea market,galleria,grocery store,mall,mart,outlet,outlet store,shop,shopping center,shopping centre,shopping plaza,stand,store,supermarket,thrift shop"
                 },
+                "shop/tailor": {
+                    "name": "Tailor",
+                    "terms": "tailor,clothes"
+                },
                 "shop/toys": {
                     "name": "Toy Store",
                     "terms": ""
@@ -121628,5 +122223,151 @@ iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081],"
                 }
             }
         }
-    }
+    },
+    "addressFormats": [
+        {
+            "format": [
+                [
+                    "housenumber",
+                    "street"
+                ],
+                [
+                    "city",
+                    "postcode"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "gb"
+            ],
+            "format": [
+                [
+                    "housename"
+                ],
+                [
+                    "housenumber",
+                    "street"
+                ],
+                [
+                    "city",
+                    "postcode"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "ie"
+            ],
+            "format": [
+                [
+                    "housename"
+                ],
+                [
+                    "housenumber",
+                    "street"
+                ],
+                [
+                    "city"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "ad",
+                "at",
+                "ba",
+                "be",
+                "ch",
+                "cz",
+                "de",
+                "dk",
+                "es",
+                "fi",
+                "gr",
+                "hr",
+                "is",
+                "it",
+                "li",
+                "nl",
+                "no",
+                "pl",
+                "pt",
+                "se",
+                "si",
+                "sk",
+                "sm",
+                "va"
+            ],
+            "format": [
+                [
+                    "street",
+                    "housenumber"
+                ],
+                [
+                    "postcode",
+                    "city"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "fr",
+                "lu",
+                "mo"
+            ],
+            "format": [
+                [
+                    "housenumber",
+                    "street"
+                ],
+                [
+                    "postcode",
+                    "city"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "br"
+            ],
+            "format": [
+                [
+                    "street"
+                ],
+                [
+                    "housenumber",
+                    "suburb"
+                ],
+                [
+                    "city",
+                    "postcode"
+                ]
+            ]
+        },
+        {
+            "countryCodes": [
+                "vn"
+            ],
+            "format": [
+                [
+                    "housenumber",
+                    "street"
+                ],
+                [
+                    "subdistrict"
+                ],
+                [
+                    "district"
+                ],
+                [
+                    "city"
+                ],
+                [
+                    "province",
+                    "postcode"
+                ]
+            ]
+        }
+    ]
 };
\ No newline at end of file
index 30b0a65..2f4bc81 100644 (file)
             "address": {
                 "label": "Adres",
                 "placeholders": {
-                    "number": "123",
                     "street": "Straat",
-                    "city": "Tipe",
-                    "postcode": "Pos Kode"
+                    "city": "Tipe"
                 }
             },
             "admin_level": {
index 3822b14..559f0fc 100644 (file)
             "address": {
                 "label": "العنوان",
                 "placeholders": {
-                    "number": "١٢٣",
                     "street": "الشارع",
-                    "city": "المدينة",
-                    "postcode": "الرمز البريدي"
+                    "city": "المدينة"
                 }
             },
             "admin_level": {
index 0eb143c..f68399a 100644 (file)
         "untagged_area": "Área ensin etiquetar",
         "many_deletions": "Va desaniciar {n} oxetos. ¿Ta seguru de que ye esto lo que quier facer? Esto desaniciarálos del mapa que ve tol mundu en openstreetmap.org.",
         "tag_suggests_area": "La etiqueta {tag} suxer que la llinia tendría de ser un área, pero nun ye un area",
-        "untagged_tooltip": "Seleicione un tipu de carauterística que describe qué tipu de {geometry} ye.",
         "deprecated_tags": "Etiquetes anticuaes: {tags}"
     },
     "zoom": {
             "address": {
                 "label": "Direición",
                 "placeholders": {
-                    "number": "123",
                     "street": "Cai",
-                    "city": "Ciudá",
-                    "postcode": "Códigu postal"
+                    "city": "Ciudá"
                 }
             },
             "admin_level": {
index ee31e69..c29878c 100644 (file)
@@ -30,7 +30,8 @@
         "add": {
             "annotation": {
                 "point": "Добавена е точка.",
-                "vertex": "Добавен е възел към път."
+                "vertex": "Добавен е възел към път.",
+                "relation": "Добавена е връзка"
             }
         },
         "start": {
@@ -40,6 +41,8 @@
             }
         },
         "continue": {
+            "title": "Продължи",
+            "description": "Продължи тази линия.",
             "annotation": {
                 "line": "Продължена е линия.",
                 "area": "Продължен е площен обект."
@@ -68,6 +71,8 @@
             "not_closed": "Този обект не може да стане кръг, защото не е затворен."
         },
         "orthogonalize": {
+            "title": "Квадрат",
+            "key": "S",
             "annotation": {
                 "line": "Изправихте ъглите на линия.",
                 "area": "Изправихте ъглите на площен обект."
         },
         "rotate": {
             "title": "Въртене",
+            "description": "Завъртете този обект около централната му точка.",
             "key": "R",
             "annotation": {
                 "line": "Завъртяна е линия.",
             },
             "not_eligible": "Линиите не могат да бъдат разделяни в началото или края им.",
             "multiple_ways": "Има твърде много линии за разделяне тук."
+        },
+        "restriction": {
+            "help": {
+                "select": "Клик за селекция на пътен сегмент"
+            },
+            "annotation": {
+                "create": "Добавено ограничение в завойте"
+            }
         }
     },
     "undo": {
+        "tooltip": "Назад: {action}",
         "nothing": "Нищо за отменяне."
     },
     "redo": {
         "list": "Редакции от {users}",
         "truncated_list": "Редакции от {users} и още {count} други"
     },
+    "geocoder": {
+        "search": "Търси навсякъде...",
+        "no_results_visible": "Няма резултати във видимата част на картата",
+        "no_results_worldwide": "Няма намерени резултати"
+    },
     "geolocate": {
         "title": "Показване на моето местоположение"
     },
         "all_tags": "Всички тагове",
         "all_members": "Всички членове",
         "all_relations": "Всички релации",
+        "new_relation": "Нова връзка...",
         "role": "Роля",
         "choose": "Изберете вид обект",
         "results": "{n} резултата за {search}",
         "title": "Изображения",
         "description": "Изображения настройки",
         "percent_brightness": "{opacity}% яркост",
+        "fix_misalignment": "Подравняване",
         "reset": "презареждане"
     },
     "restore": {
         "edited_osm": "Редактирахте OSM!",
         "just_edited": "Вие редактирахте OpenStreetMap!",
         "view_on_osm": "Вижте в OSM",
-        "facebook": "Споделете във Facebook"
+        "facebook": "Споделете във Facebook",
+        "twitter": "Сподели в Twitter",
+        "google": "Сподели в Google+"
     },
     "confirm": {
         "okay": "Окей"
             "address": {
                 "label": "Адрес",
                 "placeholders": {
-                    "number": "123",
+                    "housename": "Къща",
+                    "housenumber": "123",
                     "street": "Улица",
                     "city": "Град",
-                    "postcode": "Пощенски код"
+                    "place": "Място",
+                    "suburb": "Квартал",
+                    "subdistrict": "Землище",
+                    "district": "Община",
+                    "province": "Област",
+                    "state": "Икономически район NUT2",
+                    "country": "Държава"
                 }
             },
             "admin_level": {
                     "terminal": "Терминал"
                 }
             },
+            "lamp_type": {
+                "label": "Тип"
+            },
             "landuse": {
                 "label": "Вид"
             },
             "highway/steps": {
                 "name": "Стъпала"
             },
+            "highway/street_lamp": {
+                "name": "Улична лампа"
+            },
             "highway/tertiary": {
                 "name": "Третокласен път"
             },
             "type/restriction": {
                 "name": "Ограничение"
             },
+            "type/restriction/no_right_turn": {
+                "name": "Без десен завой"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Без обратен завой"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Завой само на ляво"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Завой само на дясно"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "Без завиване"
+            },
             "type/route": {
                 "name": "Маршрут"
             },
index 2379c81..fcb7198 100644 (file)
             "address": {
                 "label": "ঠিকানা",
                 "placeholders": {
-                    "number": "১২৩",
                     "street": "স্ট্রীট",
-                    "city": "শহর",
-                    "postcode": "পিনকোড"
+                    "city": "শহর"
                 }
             },
             "aeroway": {
index f3947e3..3dd54c6 100644 (file)
             "address": {
                 "label": "Adresa",
                 "placeholders": {
-                    "number": "123",
                     "street": "Ulica",
-                    "city": "Grad",
-                    "postcode": "Poštanski broj"
+                    "city": "Grad"
                 }
             },
             "admin_level": {
index f91bc3b..d16cc57 100644 (file)
@@ -3,12 +3,12 @@
         "add_area": {
             "title": "Àrea",
             "description": "Afegiu parcs, edificis, llacs o altres tipus d'àrees sobre el mapa.",
-            "tail": "Féu clic sobre el mapa per començar a un tipus d'àrea com per exemple un parc, un llac o un edifici."
+            "tail": "Feu clic sobre el mapa per començar a un tipus d'àrea com per exemple un parc, un llac o un edifici."
         },
         "add_line": {
             "title": "Línia",
             "description": "Afegiu autopistes, carrers, camins per a vianants o d'altres tipus de línies sobre el mapa.",
-            "tail": "Féu clic sobre el mapa per a començar a dibuixar una carretera, un camí o una ruta."
+            "tail": "Feu clic sobre el mapa per a començar a dibuixar una carretera, un camí o una ruta."
         },
         "add_point": {
             "title": "Punt",
             "description": "Allunyeu o amplieu el mapa"
         },
         "draw_area": {
-            "tail": "Féu clic per afegir nodes a la vostra àrea. Féu clic al primer node per finalitzar l'àrea."
+            "tail": "Feu clic per afegir nodes a la vostra àrea. Feu clic al primer node per finalitzar l'àrea."
         },
         "draw_line": {
-            "tail": "Féu clic per afegir més nodes a la línia. Féu clic a altres línies per connectar amb elles, i feu doble clic per acabar la línia."
+            "tail": "Feu clic per afegir més nodes a la línia. Feu clic a altres línies per connectar amb elles, i feu doble clic per acabar la línia."
         }
     },
     "operations": {
         },
         "continue": {
             "key": "A",
-            "title": "Continua",
-            "description": "Continua aquesta línia",
+            "title": "Continuar",
+            "description": "Continuar aquesta línia",
             "not_eligible": "No es pot continuar cap línia aquí",
-            "multiple": "Aquí es poden continuar diferents línies. Per escollir una línia, prem la tecla shift i clica-hi a sobre per seleccionar-la.",
+            "multiple": "Aquí es poden continuar diferents línies. Per escollir una línia, premeu la tecla shift i cliqueu-hi a sobre per seleccionar-la.",
             "annotation": {
                 "line": "Heu continuat una línia.",
                 "area": "Heu continuat una àrea."
             "annotation": "Heu canviat etiquetes."
         },
         "circularize": {
-            "title": "Féu-ho circular",
+            "title": "Feu-ho circular",
             "description": {
-                "line": "Fes aquesta línia circular",
-                "area": "Fes aquesta àrea circular"
+                "line": "Feu aquesta línia circular",
+                "area": "Feu aquesta àrea circular"
             },
             "key": "O",
             "annotation": {
@@ -89,8 +89,8 @@
             "too_large": "Això no es pot quadrar perquè no hi ha suficient superfície visible."
         },
         "straighten": {
-            "title": "Fer recta",
-            "description": "Fes aquesta línia recta",
+            "title": "Fer recte",
+            "description": "Feu aquesta línia recte",
             "key": "S",
             "annotation": "Quadrar una línia",
             "too_bendy": "Això no es pot quadrar perquè és massa sinuós."
             "key": "C",
             "annotation": "Heu fusionat {n} línies.",
             "not_eligible": "Aquestes característiques no poden ser fusionades.",
-            "not_adjacent": "Aquestes línies no poden ser com fusionades ja que no estàn connectades.",
+            "not_adjacent": "Aquestes línies no poden ser com fusionades ja que no estan connectades.",
             "restriction": "Aquestes línies no poden ser fusionades perquè com a mínim una d'elles és membre de la relació \"{relation}\"",
-            "incomplete_relation": "Aquestes característiques no poden ser fusionades perquè com a mínim una no s'ha descarregat del tot."
+            "incomplete_relation": "Aquestes característiques no poden ser fusionades perquè com a mínim una d'elles no s'ha descarregat del tot."
         },
         "move": {
             "title": "Moure",
                 "area": "Heu mogut una àrea.",
                 "multiple": "Heu mogut múltiples objectes."
             },
-            "incomplete_relation": "Aquesta característica no es pot moure ja que no s'ha descarregat completament."
+            "incomplete_relation": "Aquesta característica no es pot desplaçar ja que no s'ha descarregat completament.",
+            "too_large": "Això no es pot desplaçar perquè no hi ha la suficient superfície visible."
         },
         "rotate": {
             "title": "Girar-ho",
             "annotation": {
                 "line": "Heu girat una línia.",
                 "area": "Heu girat una àrea."
-            }
+            },
+            "too_large": "Això no es pot girar perquè no hi ha la suficient superfície visible."
         },
         "reverse": {
             "title": "Revertir",
-            "description": "Féu que aquesta línia vagi en direcció contrària.",
+            "description": "Feu que aquesta línia vagi en direcció contrària.",
             "key": "V",
             "annotation": "Heu revertit una línia."
         },
             "title": "Dividir",
             "description": {
                 "line": "Dividiu aquesta línia en dos en aquest node.",
-                "area": "Divideix el límit d'aquesta àrea en dues parts.",
-                "multiple": "Divideix els límits de les línies/àrea en dos en aquest node."
+                "area": "Dividiu el límit d'aquesta àrea en dues parts.",
+                "multiple": "Dividiu els límits de les línies/àrea en dos en aquest node."
             },
             "key": "X",
             "annotation": {
-                "line": "Divideix una línia.",
-                "area": "Divideix el límit d'una àrea.",
-                "multiple": "Divideix els límits de {n} línies/àrea."
+                "line": "Dividiu una línia.",
+                "area": "Dividiu el límit d'una àrea.",
+                "multiple": "Dividiu els límits de {n} línies/àrea."
             },
             "not_eligible": "Les línies no es poden dividir al seu inici o al seu final.",
             "multiple_ways": "Aquí hi ha masses línies a dividir."
         "restriction": {
             "help": {
                 "select": "Cliqueu per seleccionar un segment de carretera",
-                "toggle": "Féu clic per canviar les restriccions de gir",
-                "toggle_on": "Féu clic per afegir una restricció de \"{restriction}\"",
-                "toggle_off": "Féu clic per eliminar una restricció de \"{restriction}\""
+                "toggle": "Feu clic per canviar les restriccions de gir",
+                "toggle_on": "Feu clic per afegir una restricció de \"{restriction}\"",
+                "toggle_off": "Feu clic per eliminar una restricció de \"{restriction}\""
             },
             "annotation": {
                 "create": "Heu afegit una restricció de gir",
         }
     },
     "undo": {
-        "tooltip": "Desfés: {action}",
+        "tooltip": "Desfeu: {action}",
         "nothing": "Res a desfer"
     },
     "redo": {
-        "tooltip": "Refés: {action}",
+        "tooltip": "Refeu: {action}",
         "nothing": "Res a refer."
     },
     "tooltip_keyhint": "Drecera:",
-    "browser_notice": "Aquest editor és compatible amb Firefox, Chrome, Safari, Opera i Internet Explorer 9 o superior.\nSi us plau actualitzeu el vostre navegador o bé féu servir Potlach 2 per editar el mapa.",
+    "browser_notice": "Aquest editor és compatible amb Firefox, Chrome, Safari, Opera i Internet Explorer 9 o superior.\nSi us plau actualitzeu el vostre navegador o bé feu servir Potlach 2 per editar el mapa.",
     "translate": {
         "translate": "Traduïu",
         "localized_translation_label": "Nom multilingüe",
-        "localized_translation_language": "Escull l'idioma",
+        "localized_translation_language": "Escolliu l'idioma",
         "localized_translation_name": "Nom"
     },
     "zoom_in_edit": "Apropeu-vos més per editar",
     "report_a_bug": "Reportar un error",
     "status": {
         "error": "No es pot connectar amb l'API.",
-        "offline": "l'API està fora de línia. Siusplau proveu d'editar més tard.",
+        "offline": "l'API està fora de línia. Si us plau proveu d'editar més tard.",
         "readonly": "L'API es troba en mode només lectura. Us haureu d'esperar per desar els vostres canvis."
     },
     "commit": {
         "results": "{n} resultats per {search}",
         "reference": "Mostrar-ho al wiki de l'OpenStreetMap",
         "back_tooltip": "Canviar la característica",
-        "remove": "Elimina",
-        "search": "Cerca",
+        "remove": "Eliminar",
+        "search": "Cercar",
         "multiselect": "Els ítems seleccionats",
         "unknown": "Desconegut",
         "incomplete": "<no baixat>",
-        "feature_list": "Cerca característiques",
+        "feature_list": "Cercar característiques",
         "edit": "Editar la característica",
         "none": "Cap",
         "node": "Node",
         "description": "Paràmetres de configuració del fons",
         "percent_brightness": "{opacity}% brillantor",
         "none": "Cap",
-        "custom": "Personalitza",
+        "custom": "Personalitzar",
         "custom_button": "Editar el fons personalitzat",
         "custom_prompt": "Introduïu una plantilla d'URL de casella. Els paràmetres vàlids són {z}, {x}, {y} per a l'esquema Z/X/Y i  {u} per a l'esquema quadtile.",
         "fix_misalignment": "Corregir la alineació",
     },
     "success": {
         "edited_osm": "Heu editat l'OSM!",
-        "just_edited": "Acabes d'editar l'OpenStreetMap!",
+        "just_edited": "Acabeu d'editar l'OpenStreetMap!",
         "view_on_osm": "Mostra-ho a OSM",
-        "facebook": "Comparteix a Facebook",
-        "twitter": "Comparteix al Twitter",
-        "google": "Comparteix a Google+",
+        "facebook": "Compartiu-ho a Facebook",
+        "twitter": "Compartiu-ho al Twitter",
+        "google": "Compartiu-ho a Google+",
         "help_html": "Els canvis haurien d'aparèxier a la capa \"Estàndard\" en pocs minuts. Altres capes i algunes característiques, poden trigar més temps.\n(<a href='https://help.openstreetmap.org/questions/4705/why-havent-my-changes-appeared-on-the-map'>detalls</a>).\n"
     },
     "confirm": {
         "untagged_area": "Àrea sense etiquetar",
         "many_deletions": "Esteu eliminant {n} objectes. Esteu segurs que voleu fer-ho? Això els eliminarà dels mapes que tothom veu a openstreetmap.org",
         "tag_suggests_area": "L'etiqueta {tag} suggereix que la línia hauria de ser una àrea, però no és una àrea",
-        "untagged_tooltip": "Seleccioneu un tipus de característica que descrigui el que és aquesta {geometry}.",
+        "untagged_point_tooltip": "Seleccioneu un tipus de característica que descrigui aquest punt.",
+        "untagged_line_tooltip": "Seleccioneu un tipus de característica que descrigui aquesta línia.",
+        "untagged_area_tooltip": "Seleccioneu un tipus de característica que descrigui aquesta àrea.",
         "deprecated_tags": "Etiquetes obsoletes : {tags}"
     },
     "zoom": {
     "help": {
         "title": "Ajuda",
         "help": "# Ajuda\n\nAixò és un editor per al [OpenStreetMap](http://www.openstreetmap.org/), el mapa lliure i editable del món. Podeu utilitzar-lo per afegir i actualitzar\nles dades a la vostra àrea, contibuint així a fer un mapa de codi obert i amb dades lliures del món\nmillor per a tothom.\n\nLes edicions que feu en aquest mapa seran visibles per tothom que faci servir OpenStreetMap. per tal de començar a editar, necessitareu un\n[compte gratuït d'OpenStreetMap](https://www.openstreetmap.org/user/new).\n\n L'[Editor iD](http://ideditor.com/) iés un projecte cooperatiu que té el [codi font\ndisponible a GitHub](https://github.com/openstreetmap/iD).\n",
-        "editing_saving": "# Edició i desat\n\nAquest editor està dissenyat per treballar principalment en línia, i hi heu accedit mitjançant una pàgina web.\n\n### Selecció de característiques\n\nPer selecionar una característica del mapa, com ara una carretera o un punt d'interès, cliqueu-hi a sobre. Això ressaltarà la característica, obrirà un panell amb els detalls sobre aquesta, i un menú amb les coses que hi podeu fer .\n\nPodeu seleccionar múltiples característiques, prement la tecla 'Shift' i clicant-les per separat, o bé clicant i arrossegant el cursor. Això seleccionarà totes les característiques que englobi el requadre que es dibuixarà i permetrà modificar totes les característiques seleccionades en un sol cop.\n\n### Desant les edicions\n\nQuan féu canvis com ara editar carreteres, edificis, o llocs, aquests canvis es desen localment fins que els deseu al servidor. No us preocupeu si cometeu algun error- podeu desfer els canvis clicant el botó de desfer, i podeu refer els canvis clicant el botó de refer.\n\nCliqueu 'Desa' per acabar un grup d'edicions - per exemple, si heu acabat de delimitar l'àrea d'una ciutat i voleu començar a fer-ne una altra. Tindreu la oportunitat de revisar la feina feta,\ni l'editor proporcionarà suggeriments que us podran ajudar\ni també mostrarà alertes si alguna cosa no està del tot bé als vostres canvis.\n\nSi tot sembla correcte, podeu escriure un breu comentari explicant el canvis\nque heu fet, i clicar desa un altre cop per publicar els canvis\na [OpenStreetMap.org](http://www.openstreetmap.org/), on seran visibles\nper a tots els altres usuaris i disponibles per a altres editors per refer-los o bé millorar-los.\n\nSi no podeu acabar les vostres edicions en una sessió, podeu sortir de la finestra d'edició i tornar més tard (al mateix navegador i ordinador), i l'aplicació d'edició\npreguntarà si voleu restaurar els canvis anteriors.\n",
-        "roads": "# Carreteres\n\nPodeu crear, ajustar i eliminar carreteres amb aquest editor. Les carreteres poden ser\nde molts tipus: pistes, autovies, camins, carrils bici, i molts més - tots els segments\nmés comuns han de ser cartografiables.\n\n### Selecció\n\nCliqueu a la carretera per seleccionar-la. Al fer això els seus contorns es faran visibles, \ncom també un petit menú d'eines i una barra lateral que mostrarà més informació\nsobre la carretera.\n\n### Modificació\n\nDe vegades veureu carreteres que no estan alineades amb la imatge del darrere \no amb una traça de GPS. Podeu ajustar aquestes carreteres per tal que estiguin al lloc\ncorrecte.\n\nPrimer cliqueu a la carretera que voleu canviar. Això la ressaltarà i mostrarà els punts de control\nque podeu arrossegar a les ubicacions desitjades. Si el que\nvoleu és afegir nous punts per obtenir un grau de detall més alt, féu doble clic en una part de la carretera sense cap punt, i se'n afegirà un.\n\nSi la carretera es connecta amb una altra, però no es reflecteix al mapa, \npodeu arrossegar un dels punts de control cap a l'altre carretera \nper tal d'unir-les. Fer que les carreteres es connectin és molt important \nper al mapa i essencial per proveir direccions per a la conducció.\n\nTambé podeu clicar l'eina «Moure» o prémer la tecla «M» per moure la carretera sencera, tota de cop, i llavors clicar altra vegada per guardar aquest moviment.\n\n### Eliminació\n\nSi una carretera està totalment malament -podeu apreciar que no existeix a la imatge per satèl·lit\ni a més a més, els veïns ens han confirmat que no existeix - la podeu eliminar, cosa que la treurà del mapa. Aneu amb molt de compte a l'hora d'eliminar característiques -\ncom ara altres edicions; els resultats podran ser vistos per tothom i moltes vegades la imatgeria per satèl·lit no està actualitzada, per tant la carretera es pot haver estat construida recentment.\n\nPodeu eliminar una carretera clicant-la, i llavors clicant la icona de la paperera o bé prement la tecla «Suprimir».\n\n### Creació\n\nHeu trobat que en algun lloc hi hauria d'haver una carretera però no hi és? Cliqueu la icona «Línia»\nal marge superior esquerre de la zona del mapa o bé prem la tecla «2» per començar a dibuixar\nuna línia.\n\nCliqueu a l'inici de la carretera al mapa per començar a dibuixar. Si la carretera comença amb una bifurcació en una carretera existent, cliqueu al lloc a on connecten.\n\nA continuació cliqueu a diferents punts al llarg de la carretera per tal que segueixi el traçat correcte, d'acord  amb la imatge del satèl·lit o la traça del GPS. Si la carretera que esteu dibuixant s'encreua amb una altra carretera, connecteu-les clicant al punt d'intersecció. Quan acabis el dibuix, féu doble clic o premeu «Retorn» del teclat.\n",
+        "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",
+        "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 és compatible amb les taces locals - fitxers`.gpx`al vostre ordinador local. Podeu recollir \naquest tipus de traça GPS amb algunes aplicacions per a smartphones com també \ndispositius personals de GPS.\n\nPer a més informació sobre com recollir dades amb GPS, llegiu\n[Recollir dades amb GPS](http://learnosm.org/en/beginner/using-gps/).\n\nper fer servir una traça GPX per editar el mapa, arrossegueu i deixeu el fitxer GPX a l'editor. \nSi es detecta, s'afegirà el mapa com una línia verda llampant. \nCliqueu a 'Paràmetres de configuració del fons'  al cantó esquerre per activar,\ndesactivar, o per ajustar la vista a aquesta capa GPX.\n\nLa traça GPX no és pujada directament a OpenStreetMap - la millor manera de \nfer-la servir és dibuixar vosaltres el mapa, fent-la servir com a guia per a les noves característiques que afegireu. També les podeu [pujar a l'OpenStreetMap] \n(http://www.openstreetmap.org/trace/create)\nperquè d'altres persones les utilitzin.\n",
-        "imagery": "# Imatgeria\n\nLa imatgeria aèria és un recurs important per a l'edició de mapes. Una combinació de\nvols d'aeronaus, fotografies de satèl·lit, i d'altres fonts compilades gratuïtament \nestan disponibles a l'editor dins del menú de l'esquerra 'Paràmetres de configuració del fons'.\n\nPer defecte, l'editor mostra la capa de satèl·lit de [Bing Maps](http://www.bing.com/maps/), però a mesura que et mous i ajustes la vista del mapa a noves àrees geogràfiques, noves fonts estaran disponibles. En alguns països, com ara els Estats Units, França, i Dinamarca tenen\n una imatgeria d'alta qualitat disponible per a determinades àrees.\n\nLa imatgeria a vegades no es correspon amb les dades del mapa, això és degut a un error\nper part del proveïdor de la imatge. Si veus moltes carreteres mogudes del seu lloc a la imatge,\nno les moguis per tal que encaixin amb aquesta. Ja que pots ajustar la imatgeria per tal de que quadri amb les dades existents clicant a 'Corregeix la desalineació' al capdevall de la pestanya dels\n'Paràmetres de configuració del fons'.\n",
+        "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, pots escollir quin tipus de característica és,\nTant si és una autopista com un carrer residencial, un supermercat o un cafè.\nL'inspector mostrarà botons per els tipus de característica més comuns, i en pots trobar d'altres escrivint el que estàs buscant al quadre de cerca.\n\nClica la 'i' al cantó inferior dret del botó  del tipus de característica per saber-ne més. Clica el botó per seleccionar-la.\n\n### Utilització dels camps i les etiquetes d'edició\n\nDesprés d'escollir la característica, o quan selecciones una característica que ja té\nun tipus assignat, l'inspector mostrarà uns camps amb detalls de la característica \ncom ara el seu nom o la seva adreça .\n\nA sota dels camps que veus, pots clicar algunes icones per afegir altres detalls,\ncom ara infrmació de la [Viquipèdia](http://www.wikipedia.org/), l'accés per a cadires de rodes,\ni alguna cosa més.\n\nAl capdavall de l'inspector, clica 'Etiquetes adicionals' per afegir altres etiquetes arbitràries a l'element. [Taginfo](http://taginfo.openstreetmap.org/) és una gran eina per aprendre'n més sobre les combinacions d'etiquetes més populars.\n\nEls canvis que facis a l'inspector s'aplicaran automàticament al mapa.\nEls pots desfer en qualsevol moment clicant al botó de 'Desfer' .\n\n",
-        "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\nPots 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, selecciona'l, tot seguit clica l'eina 'Mou'. Desplaça el\ncursor per desplaçar l'edifici, i torna a clicar quan estigui posicionat correctament.\n\nPer ajustar la forma específica d'un edifici, clica i arrossega 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\nComença a dibuixar un edifici com a figura clicant el botó 'Àrea' a la zona superior esquerra de la interfície, i finalitzeu-lo o bé prement la tecla 'Retorn' del teclat\no clicant al primer node que heu col·locat per tancar la figura.\n\n### Eliminació\n\nSi un edifici està totalment malament - pots apreciar que no existeix a la imatge per satèl·lit\ni a més a més, els veïns ens han confirmat que no existeix - el pots eliminar, cosa que el traurà 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\nPots 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, pots 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 selecciones i entres a la relació, pots 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 tu edites. L'única cosa que has de procurar és de reconnectar la relació si esborres algun tram de l'original, és a dir si esborres un tram d'una relació per refer-lo amb més precisió, has de incloure el nou tram a la relació, igual que ho era el tram original.\n\n## Edició de les relacions\n\nSi el que vols és editar relacions, aquí hi han les pautes bàsiques.\n\nPer afegir una característica a una relació, selecciona la característica, clica el botó \"+\" a la secció \"Totes les relacions\" de la barra lateral, i selecciona o escriu el nom de la relació.\n\nPer crear una nova relació, selecciona la primera característica que n'hauria de ser membre, clica el botó \"+\" a la secció \"Totes les relacions\", i selecciona \"Nova relació...\".\n\nPer eliminar una característica d'una relació, selecciona la característica i clica el botó de la paperera que es troba al costat de la relació que vols eliminar.\n\nPots crear multipolígons amb forats utilitzant l'eina \"Fusionar\". Dibuixa dues àrees (la interior i la exterior), mantén premuda la tecla Shift i clica a les dues àrees per seleccionar-les alhora, llavors clica el botó \"Fusiona\" (+).\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",
+        "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"
     },
     "intro": {
         "navigation": {
             "drag": "L'àrea del mapa principal us mostra les dades de l'OpenStreetMap a sobre d'un fons. Podeu navegar-hi arrossegant el ratolí, igual que tots els mapes virtuals. **Arrossegueu el mapa!**",
             "select": "Les característiques del mapa són representades de tres maneres diferents: utilitzant punts, línies o bé àrees. Totes les característiques poden ser seleccionades clicant-hi a sobre. **Cliqueu el punt per seleccionar-lo.**",
             "header": "L'encapçalament ens mostra el tipus de característica.",
-            "pane": "Quan se selecciona una característica, es desplega l'editor. L'encapçalament ens mostra el tipus de característica i el tauler principal mostra els atributs de la característica, com ara el seu nom o l'adreça. **Tanqueu l'editor de la característica clicant a la creu que es troba al capdamunt a la dreta.**"
+            "pane": "Quan es selecciona una característica, es desplega l'editor. L'encapçalament us mostra el tipus de característica i el tauler principal mostra els atributs de la característica, com ara el seu nom o l'adreça. **Tanqueu l'editor de la característica clicant a la creu que es troba al capdamunt a la dreta.**"
         },
         "points": {
             "title": "Punts",
             "add": "Els punts es poden fer servir per representar característiques del mapa com ara botigues, restaurants i monuments. Marquen una ubicació específica i descriuen el que es troba allà. **Cliqueu el botó del punt per afegir un nou punt.**",
             "place": "El punt pot ser col·locat clicant al mapa. **Col·loqueu el punt a sobre de l'edifici.**",
-            "search": "Hi ha moltes característiques que es poden representar amb punts. El punt que heu afegit és un cafè . **Cerca «{name}»**",
-            "choose": "**Escull \"Cafè\" de la llista.**",
-            "describe": "El punt està marcat com un cafè. Utilitzant l'editor de característica, podem afegir més informació sobre la característica. **Afegeix un nom**",
+            "search": "Hi ha moltes característiques que es poden representar amb punts. El punt que heu afegit és un cafè . **Cerqueu «{name}»**",
+            "choose": "**Escolliu \"Cafè\" de la llista.**",
+            "describe": "El punt està marcat com un cafè. Utilitzant l'editor de característica, podem afegir més informació sobre la característica. **Afegiu un nom**",
             "close": "L'editor de característica pot ser tancat clicant a la creu. **Tanqueu l'editor de característica**",
-            "reselect": "Molts cops els punts ja existiran, però pot ser que tinguin errors o bé estiguin incomplets. Podem editar els punts existents. **Selecciona el punt que acabes de crear.**",
-            "fixname": "**Canvia el nom i tanca l'editor de característica.**",
-            "reselect_delete": "Totes les característiques del mapa poden ser eliminades. **Clique al punt que has creat.**",
-            "delete": "El menú que es mostra al voltant del punt conté operacions que se li poden aplicar, incloent la eliminació. **Elimina el punt.**"
+            "reselect": "Molts cops els punts ja existiran, però pot ser que tinguin errors o bé estiguin incomplets. Podeu editar els punts existents. **Seleccioneu el punt que acabeu de crear.**",
+            "fixname": "**Canvieu el nom i tanqueu l'editor de característica.**",
+            "reselect_delete": "Totes les característiques del mapa poden ser eliminades. **Cliqueu al punt que has creat.**",
+            "delete": "El menú que es mostra al voltant del punt conté operacions que se li poden aplicar, incloent la eliminació. **Elimineu el punt.**"
         },
         "areas": {
             "title": "Àrees",
-            "add": "Les àrees són una forma més detallada de representar característiques. Donen informació sobre els límits d'aquestes. Les àrees poden fer-se sevir per representar casi bé els mateixos tipus de característiques que els punts, i moltes vegades, s'escull fer servir l'àrea. **Cliqueu el botó Àrea per afegir una nova àrea**",
-            "corner": "Les àrees es dibuixen col·locant nodes que marquen els límits de l'àrea. **Col·loca el node inicial en una de les cantonades del parc.**",
-            "place": "Dibuixa l'àrea col·locant més nodes. Acaba l'àrea clicant al node inicial. **Dibuixeu\nuna àrea per al parc.**",
-            "search": "**Cerca «{name}»**",
-            "choose": "**Escull \"Zona de jocs infantils\" de la llista.**",
-            "describe": "**Afegeix un nom, i tanca l'editor de característica**"
+            "add": "Les àrees són una forma més detallada de representar característiques. Donen informació sobre els límits d'aquestes. Les àrees poden fer-se servir per representar quasi bé els mateixos tipus de característiques que els punts, i moltes vegades, s'escull fer servir l'àrea. **Cliqueu el botó Àrea per afegir una nova àrea**",
+            "corner": "Les àrees es dibuixen col·locant nodes que marquen els límits de l'àrea. **Col·loqueu el node inicial en una de les cantonades del parc.**",
+            "place": "Dibuixeu l'àrea col·locant més nodes. Acabeu l'àrea clicant al node inicial. **Dibuixeu\nuna àrea per al parc.**",
+            "search": "**Cerqueu «{name}»**",
+            "choose": "**Escolliu \"Zona de jocs infantils\" de la llista.**",
+            "describe": "**Afegiu un nom, i tanqueu l'editor de característica**"
         },
         "lines": {
             "title": "Línies",
-            "add": "Les línies acostumen a representar característiques com ara carreteres, vies de tren o rius. **Clica el botó línia per afegir una nova línia**",
+            "add": "Les línies acostumen a representar característiques com ara carreteres, vies de tren o rius. **Cliqueu el botó línia per afegir una nova línia**",
             "start": "**Comenceu a dibuixar la línia clicant al final de la carretera.**",
             "intersect": "Cliqueu al mapa per afegir més nodes a la línia. Podeu arrossegar el mapa mentre dibuixeu si és necessari. Les carreteres i molts altres tipus de línies, són part d'una xarxa més gran. És molt important connectar aquestes línies a d'altres per tal que les aplicacions navegador funcionin. **Cliqueu a Flower Street per crear una intersecció que connecti aquestes dues línies.**",
             "finish": "Les línies poden ser acabades clicant al últim node una altra vegada. **Acabeu el dibuix de la carretera.**",
-            "road": "**Tria Carretera de la llista**",
-            "residential": "Hi ha molts tipus de carreteres, les més comunes són els carrers. **Escull el carrer**",
-            "describe": "**Posa nom al carrer i tanca l'editor de característica.**",
+            "road": "**Escolliu Carretera de la llista**",
+            "residential": "Hi ha molts tipus de carreteres, les més comunes són els carrers. **Escolliu el carrer**",
+            "describe": "**Poseu nom al carrer i tanqueu l'editor de característica.**",
             "restart": "El carrer necessita unir-se a Flower Street. ",
-            "wrong_preset": "No has seleccionat el Carrer. **Clica aquí per seleccionar-lo de nou**"
+            "wrong_preset": "No heu seleccionat el Carrer. **Cliqueu aquí per seleccionar-lo de nou**"
         },
         "startediting": {
-            "title": "Comença a editar",
+            "title": "Comenceu a editar",
             "help": "Més documentació i aquest tutorial estan disponibles aquí.",
-            "save": "No oblidis que els canvis s'han de desar regularment!",
-            "start": "Comença a editar el mapa!"
+            "save": "No oblideu que els canvis s'han de desar regularment!",
+            "start": "Comenceu a editar el mapa!"
         }
     },
     "presets": {
                 }
             },
             "access_simple": {
+                "label": "Accés",
+                "placeholder": "sí"
+            },
+            "access_toilets": {
                 "label": "Accés"
             },
             "address": {
                 "label": "Adreça",
                 "placeholders": {
-                    "number": "123",
+                    "housename": "Nom de la casa",
+                    "housenumber": "123",
                     "street": "Carrer",
                     "city": "Ciutat ",
-                    "postcode": "Codi Postal"
+                    "postcode": "Codi postal",
+                    "place": "Lloc",
+                    "hamlet": "Llogaret",
+                    "suburb": "Sector",
+                    "subdistrict": "Subdistricte",
+                    "district": "Districte",
+                    "province": "Província",
+                    "state": "Estat",
+                    "country": "País"
                 }
             },
             "admin_level": {
             "internet_access": {
                 "label": "Accés a Internet",
                 "options": {
+                    "yes": "Sí",
+                    "no": "No",
                     "wlan": "WiFi",
                     "wired": "Per cable",
                     "terminal": "Mitjançant un terminal"
                 }
             },
+            "lamp_type": {
+                "label": "Tipus"
+            },
             "landuse": {
                 "label": "Tipus"
             },
             "oneway": {
                 "label": "Sentit únic",
                 "options": {
-                    "undefined": "Sobreentès que és no"
+                    "undefined": "Sobreentès que és no",
+                    "yes": "Sí",
+                    "no": "No"
                 }
             },
             "oneway_yes": {
                 "label": "Sentit únic",
                 "options": {
-                    "undefined": "Sobreentès que és sí"
+                    "undefined": "Sobreentès que és sí",
+                    "yes": "Sí",
+                    "no": "No"
                 }
             },
             "opening_hours": {
                 "name": "Búnquer"
             },
             "building/cabin": {
-                "name": "Cabina"
+                "name": "Cabana"
             },
             "building/cathedral": {
                 "name": "Catedral"
                 "name": "Terrisseria"
             },
             "craft/rigger": {
-                "name": "Aparellador"
+                "name": "Armador d'embarcacions"
             },
             "craft/roofer": {
                 "name": "Constructor de teulades"
             "highway/stop": {
                 "name": "Senyal de stop"
             },
+            "highway/street_lamp": {
+                "name": "Fanal"
+            },
             "highway/tertiary": {
                 "name": "Carretera terciària",
                 "terms": "Carretera terciària,Carretera de 3r ordre,local"
                 "name": "Supermercat",
                 "terms": "Supermercat, Súper, Hipermercat, Híper"
             },
+            "shop/tailor": {
+                "name": "Sastreria"
+            },
             "shop/toys": {
                 "name": "Botiga de joguines",
                 "terms": "Botiga de joguines, Botiga de jocs, Joguineria"
index c3b2256..25e1eac 100644 (file)
@@ -71,7 +71,8 @@
                 "line": "Cesta zakulacena.",
                 "area": "Plocha zakulacena."
             },
-            "not_closed": "Z objektu nelze udělat kruh, protože nejde o smyčku."
+            "not_closed": "Z objektu nelze udělat kruh, protože nejde o smyčku.",
+            "too_large": "Z objektu nelze udělat kruh, protože není vidět dostatečně velká část."
         },
         "orthogonalize": {
             "title": "Zhranatit",
@@ -84,7 +85,8 @@
                 "line": "Úhly cesty do pravého úhle.",
                 "area": "Rohy plochy do pravého úhle."
             },
-            "not_squarish": "Z objektu není možné udělat čtverec, protože se čtverci vůbec nepodobá."
+            "not_squarish": "Z objektu není možné udělat čtverec, protože se čtverci vůbec nepodobá.",
+            "too_large": "Z objektu není možné udělat čtverec, protože není vidět dostatečně velká část."
         },
         "straighten": {
             "title": "Narovnat",
             "annotation": "Cesty spojeny (celkem {n}).",
             "not_eligible": "Objekty nelze spojit v jeden.",
             "not_adjacent": "Tyto cesty nelze spojit v jednu, protože nekončí v jednom bodě.",
-            "restriction": "Tyto cesty není možné spojit, protože aspoň jedna z nich je členem relace \"{relation}\"."
+            "restriction": "Tyto cesty není možné spojit, protože aspoň jedna z nich je členem relace \"{relation}\".",
+            "incomplete_relation": "Zvolené objekty není možné spojit, protože nejsou úplně stažené."
         },
         "move": {
             "title": "Posunout",
             },
             "not_eligible": "Cestu není možné rozdělit v jejím začátku ani konci.",
             "multiple_ways": "Není jasné, kterou cestu rozdělit."
+        },
+        "restriction": {
+            "help": {
+                "select": "Kliknutím zvolte část silnice.",
+                "toggle": "Kliknutím přepněte omezení odbočování.",
+                "toggle_on": "Kliknutím přidejte omezení typu \"{restriction}\".",
+                "toggle_off": "Kliknutím odstraníte omezení \"{restriction}\"."
+            },
+            "annotation": {
+                "create": "Přidáno omezení odbočování",
+                "delete": "Smazáno omezení odbočování"
+            }
         }
     },
     "undo": {
         "percent_brightness": "{opacity}% viditelnost",
         "none": "Žádné",
         "custom": "Vlastní",
+        "custom_button": "Editovat vlastní pozadí",
+        "custom_prompt": "Vložte šablonu adres dlaždic. Lze použít tokeny {z}, {x}, {y} pro schéma Z/X/Y a {u} pro hierarchické schéma quadtile.",
         "fix_misalignment": "Vyrovnat posunutí pozadí",
         "reset": "vrátit na začátek"
     },
         "untagged_area": "Neoznačená plocha",
         "many_deletions": "Pokoušíte se smazat {n} objektů. Opravdu to chcete provést? Odstranilo by je z globální mapy na openstreetmap.org.",
         "tag_suggests_area": "Vlastnost {tag} obvykle označuje plochu - ale zvolený objekt není plocha",
-        "untagged_tooltip": "Zvolte typ objektu - co je tato {geometry} zač.",
         "deprecated_tags": "Zastaralé vlastnosti: {tag}"
     },
     "zoom": {
             "category-rail": {
                 "name": "Železniční síť"
             },
+            "category-restriction": {
+                "name": "Omezení"
+            },
             "category-road": {
                 "name": "Silniční síť"
             },
             "address": {
                 "label": "Adresa",
                 "placeholders": {
-                    "number": "123",
                     "street": "Ulice",
                     "city": "Město",
-                    "postcode": "P"
+                    "postcode": "Poštovní směrovací číslo"
                 }
             },
             "admin_level": {
             "entrance": {
                 "label": "Typ"
             },
+            "except": {
+                "label": "Výjimky"
+            },
             "fax": {
                 "label": "Fax",
                 "placeholder": "+31 42 123 4567"
             "leisure": {
                 "label": "Typ"
             },
+            "length": {
+                "label": "Délka (v metrech)"
+            },
             "levels": {
                 "label": "Počet pater",
                 "placeholder": "2, 4, 6..."
                 "label": "Typ"
             },
             "oneway": {
-                "label": "Jednosměrka"
+                "label": "Jednosměrka",
+                "options": {
+                    "undefined": "Implicitně Ne"
+                }
             },
             "oneway_yes": {
-                "label": "Jednosměrka"
+                "label": "Jednosměrka",
+                "options": {
+                    "undefined": "Implicitně Ano"
+                }
             },
             "opening_hours": {
                 "label": "Provozní doba"
             "restriction": {
                 "label": "Typ"
             },
+            "restrictions": {
+                "label": "Omezení odbočování"
+            },
             "route": {
                 "label": "Typ"
             },
             "shop": {
                 "label": "Typ"
             },
+            "social_facility_for": {
+                "label": "Zákazníci",
+                "placeholder": "Bezdomovec, Postižený ..."
+            },
             "source": {
                 "label": "Zdroj"
             },
                     "bridge": "Most",
                     "tunnel": "Tunel",
                     "embankment": "Násyp",
-                    "cutting": "Zářez"
+                    "cutting": "Zářez",
+                    "ford": "Brod"
                 }
             },
             "studio_type": {
             "wheelchair": {
                 "label": "Pro vozíčkáře"
             },
+            "width": {
+                "label": "Šířka (v metrech)"
+            },
             "wikipedia": {
                 "label": "Wikipedia"
             },
                 "name": "Pohřebiště",
                 "terms": "hřbitov,pohřebiště"
             },
+            "amenity/hospital": {
+                "name": "Prostor nemocnice"
+            },
+            "amenity/kindergarten": {
+                "name": "Dětské Hriště"
+            },
             "amenity/library": {
                 "name": "Knihovna",
                 "terms": "knihovna"
                 "name": "Restaurace",
                 "terms": "bar,jídelna,kantýna,bistro,bufet,rychlé občerstvení,fast food,hamburger,restaurace,restaurant,hostinec,pohostinství,krčma,gastronomie,občerstvení,stánek,jídlo,obědy,gril,pizzeria,čína,kebab"
             },
+            "amenity/school": {
+                "name": "Prostor školy"
+            },
             "amenity/shelter": {
                 "name": "Přístřešek",
                 "terms": "přístřešek,střecha,budka,bouda,čekárna"
             },
+            "amenity/social_facility": {
+                "name": "Sociální zařízení"
+            },
+            "amenity/social_facility/food_bank": {
+                "name": "Zásoby jídla"
+            },
+            "amenity/social_facility/homeless_shelter": {
+                "name": "Bezdomovecký úkryt"
+            },
             "amenity/studio": {
                 "name": "Studio",
                 "terms": "studio,nahrávací studio,rozhlasové studio,rádiové studio,radiové studio,televizní studio,filmové studio,trikové studio,dabingové studio"
                 "name": "Bytový dům",
                 "terms": "bytovka,bytový dům,obytná budova,panelák,věžák,barák,činžák,činžovní dům"
             },
+            "building/barn": {
+                "name": "Stodola"
+            },
+            "building/bunker": {
+                "name": "Bunkr"
+            },
+            "building/cabin": {
+                "name": "Srub"
+            },
+            "building/cathedral": {
+                "name": "Katedrála"
+            },
+            "building/chapel": {
+                "name": "Kaple"
+            },
+            "building/church": {
+                "name": "Kostel"
+            },
             "building/commercial": {
                 "name": "Obchodní budova",
                 "terms": "obchody,firmy,firma,prodej,podnik,podniky,kanceláře"
             },
+            "building/construction": {
+                "name": "Probíhá stavba"
+            },
             "building/garage": {
                 "name": "Garáž",
                 "terms": "garáž,garáže,parkování,kryté parkování"
             },
+            "building/garages": {
+                "name": "Garáže"
+            },
+            "building/hospital": {
+                "name": "Nemocnice"
+            },
+            "building/hotel": {
+                "name": "Hotel"
+            },
             "building/house": {
                 "name": "Rodinný dům",
                 "terms": "dům,rodinný dům,řadový dům,domek"
                 "name": "Obytná budova",
                 "terms": "obytná budova,ubytování,bývání,byt"
             },
+            "building/roof": {
+                "name": "Strop"
+            },
+            "building/school": {
+                "name": "Škola"
+            },
+            "building/stable": {
+                "name": "Stálý"
+            },
+            "building/terrace": {
+                "name": "Řadové domy"
+            },
+            "building/train_station": {
+                "name": "Vlaková Stanice"
+            },
+            "building/university": {
+                "name": "Vysoká Škola"
+            },
+            "building/warehouse": {
+                "name": "Skladiště"
+            },
             "craft/basket_maker": {
                 "name": "Košíkář",
                 "terms": "košíkář,košíkářství,proutěný,pletení"
                 "name": "Tísňový telefon",
                 "terms": "nouzový telefon,SOS,tísňová linka"
             },
+            "entrance": {
+                "name": "Vchod/Východ"
+            },
             "footway/crossing": {
                 "name": "Přechod pro chodce",
                 "terms": "přechod pro chodce,zebra,přechod,přechod pro pěší"
                 "name": "Chodník po straně silnice",
                 "terms": "chodník,obrubník"
             },
+            "ford": {
+                "name": "Brod",
+                "terms": "brod,přejezd vody,ford"
+            },
             "golf/bunker": {
                 "name": "Pískový bunker",
                 "terms": "pískový bunker,písková překážka,písečná překážka,bunker,hazard"
                 "name": "Dálnice",
                 "terms": "dálnice"
             },
+            "highway/motorway_junction": {
+                "name": "Dálnice / Sjezd"
+            },
             "highway/motorway_link": {
                 "name": "Dálnice - nájezd",
                 "terms": "nájezd,sjezd,výjezd,příjezd,rampa,exit"
                 "name": "Vodní skluz",
                 "terms": "spouštění lodi,dok,loděnice,skluz v loděnici,skluzavka"
             },
+            "leisure/sports_center": {
+                "name": "Sportovní Centrum / Posilovna"
+            },
             "leisure/stadium": {
                 "name": "Stadion",
                 "terms": "stadion,fotbal,fotbalový stadión,hřiště"
                 "name": "Omezení",
                 "terms": "omezení,dopravní omezení"
             },
+            "type/restriction/no_left_turn": {
+                "name": "Zákaz odbočování vlevo",
+                "terms": "odbočování vlevo,odbočení vlevo,odbočit vlevo,zatočení vlevo,zatočit vlevo"
+            },
+            "type/restriction/no_right_turn": {
+                "name": "Zákaz odbočování vpravo",
+                "terms": "odbočování vpravo,odbočit vpravo,odbočit vpravo,odbočení vpravo,zatočit vpravo,zatočení vpravo"
+            },
+            "type/restriction/no_straight_on": {
+                "name": "Zákaz jízdy přímo",
+                "terms": "zákaz jízdy rovně,zákaz jízdy přímo,zakázáno jet rovně,zakázáno jet přímo,přikázaný směr jízdy vlevo a vpravo,přikázaný směr jízdy vpravo a vlevo,přikázáno odbočit,přikázáno odbočení"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Zákaz otáčení",
+                "terms": "otáčení,otočit,u-turn"
+            },
+            "type/restriction/only_left_turn": {
+                "name": "Přikázaný směr jízdy vlevo",
+                "terms": "přikázáno jet vlevo,jen vlevo,pouze vlevo,odbočit vlevo"
+            },
+            "type/restriction/only_right_turn": {
+                "name": "Přikázaný směr jízdy vpravo",
+                "terms": "přikázáno jet vpravo,jen vpravo,pouze vpravo,odbočit vpravo"
+            },
+            "type/restriction/only_straight_on": {
+                "name": "Přikázaný směr jízdy přímo",
+                "terms": "přikázaný směr jízdy rovně,zákaz odbočit,zákaz zatočit,pouze rovně,pouze přímo,jen rovně,jen přímo"
+            },
             "type/route": {
                 "name": "Trasa",
                 "terms": "trasa,cesta,linka,stopa,značka,spojení"
index 4de128c..cc293b2 100644 (file)
                 "area": "Flyttede et område.",
                 "multiple": "Flyttede flere objekter."
             },
-            "incomplete_relation": "Dette element kan ikke flyttes, fordi det ikke er fuldstændigt downloadet."
+            "incomplete_relation": "Dette element kan ikke flyttes, fordi det ikke er fuldstændigt downloadet.",
+            "too_large": "Dette kan ikke flyttes pga der ikke er nok synligt."
         },
         "rotate": {
             "title": "Roter",
             "annotation": {
                 "line": "Roterede en linje.",
                 "area": "Roterede et område."
-            }
+            },
+            "too_large": "Dette kunne ikke blive roteret pga der ikke var nok synligt."
         },
         "reverse": {
             "title": "Reverser",
         "untagged_area": "Område uden tags",
         "many_deletions": "Du er ved at slette {n} objekter. Er du sikker på du ønsker at gøre dette? Det vil slette dem fra det kort som alle andre ser på openstreetmap.org.",
         "tag_suggests_area": "Tagget {tag} antyder at linjen er et område,  selvom det ikke er et område",
-        "untagged_tooltip": "Vælg en objekttype der beskriver hvad det {geometritype} er.",
+        "untagged_point_tooltip": "Vælg en objekttype der beskriver hvad dette punkt er.",
+        "untagged_line_tooltip": "Vælg en objekttype der beskriver hvad slags linje dette er.",
+        "untagged_area_tooltip": "Vælg en objekttype der beskriver hvad slags område dette er.",
         "deprecated_tags": "Forældede tags: {tags}"
     },
     "zoom": {
                 }
             },
             "access_simple": {
+                "label": "Adgang",
+                "placeholder": "ja"
+            },
+            "access_toilets": {
                 "label": "Adgang"
             },
             "address": {
                 "label": "Adresse",
                 "placeholders": {
-                    "number": "123",
+                    "housename": "Husnavn",
+                    "housenumber": "123",
                     "street": "Gade",
                     "city": "By",
-                    "postcode": "Postnummer"
+                    "postcode": "Postnummer",
+                    "place": "Sted",
+                    "hamlet": "Mindre beboet område",
+                    "suburb": "Bydel",
+                    "subdistrict": "Kvarter",
+                    "district": "Distrikt",
+                    "province": "Provins",
+                    "state": "Region",
+                    "country": "Land"
                 }
             },
             "admin_level": {
             "internet_access": {
                 "label": "Internetadgang",
                 "options": {
+                    "yes": "Ja",
+                    "no": "Nej",
                     "wlan": "Wifi",
                     "wired": "Kabeladgang",
                     "terminal": "Terminal"
                 }
             },
+            "lamp_type": {
+                "label": "Type"
+            },
             "landuse": {
                 "label": "Type"
             },
             "oneway": {
                 "label": "Ensrettet",
                 "options": {
-                    "undefined": "Forventet at være Nej"
+                    "undefined": "Forventet at være Nej",
+                    "yes": "Ja",
+                    "no": "Nej"
                 }
             },
             "oneway_yes": {
                 "label": "Ensrettet",
                 "options": {
-                    "undefined": "Forventet at være Ja"
+                    "undefined": "Forventet at være Ja",
+                    "yes": "Ja",
+                    "no": "Nej"
                 }
             },
             "opening_hours": {
                 "name": "Stopskilt",
                 "terms": "Stopskilt"
             },
+            "highway/street_lamp": {
+                "name": "Gadelampe",
+                "terms": "Gadelampe, Gadebelysning"
+            },
             "highway/tertiary": {
                 "name": " Tertiær vej",
                 "terms": "Tertiær vej, Tertiærvej"
                 "name": "Supermarked",
                 "terms": "Supermarked, Lavprisbutik, Discountbutik"
             },
+            "shop/tailor": {
+                "name": "Skrædder",
+                "terms": "Skrædder"
+            },
             "shop/toys": {
                 "name": "Legetøjsbutik",
                 "terms": "Legetøjsforretning, Legetøjsbutik"
index e009dc8..4bfa173 100644 (file)
@@ -45,7 +45,7 @@
             "title": "Fortsetzen",
             "description": "Diese Linie fortsetzen.",
             "not_eligible": "Hier kann keine Linie fortgesetzt werden.",
-            "multiple": "Hier können mehrere Linien fortgesetzt werden. Um eine Linie auszuwählen, halte die Shift-Taste gedrückt und klicke die Linie an.",
+            "multiple": "Hier können mehrere Linien fortgesetzt werden. Um eine Linie auszuwählen, halte die Umschalttaste gedrückt und klicke die Linie an.",
             "annotation": {
                 "line": "Linie fortgesetzt.",
                 "area": "Fläche fortgesetzt."
             "annotation": "Zeichnen abgebrochen."
         },
         "change_role": {
-            "annotation": "Rolle eines Relationsmitglieds geändert."
+            "annotation": "Rolle eines Relationsmitgliedes geändert."
         },
         "change_tags": {
-            "annotation": "Tags verändert."
+            "annotation": "Eigenschaften verändert."
         },
         "circularize": {
             "title": "Abrunden",
@@ -72,7 +72,7 @@
                 "area": "Eine Fläche kreisförmig gemacht"
             },
             "not_closed": "Dieses Objekt kann nicht kreisförmig gemacht werden, da es keine geschlossene Linie ist.",
-            "too_large": "Die Elemente können nicht kreisförmig gemacht werden, weil zuwenig sichtbar ist."
+            "too_large": "Die Elemente können nicht kreisförmig gemacht werden, weil zu wenig sichtbar ist."
         },
         "orthogonalize": {
             "title": "Rechteck",
@@ -86,7 +86,7 @@
                 "area": "Die Ecken einer Fläche rechtwinklig ausgerichtet."
             },
             "not_squarish": "Dieses Objekt kann nicht rechtwinklig gemacht werden, da es nicht annähernd rechtwinklig ist.",
-            "too_large": "Die Elemente können nicht quadratisch gemacht werden, weil zuwenig sichtbar ist."
+            "too_large": "Die Elemente können nicht quadratisch gemacht werden, weil zu wenig sichtbar ist."
         },
         "straighten": {
             "title": "Begradigen",
             "description": "Trenne diese Wege/Flächen voneinander.",
             "key": "D",
             "annotation": "Wege/Flächen getrennt.",
-            "not_connected": "Es gibt nicht hier nicht genug Linien/Flächen, um diese zu trennen."
+            "not_connected": "Es gibt hier nicht genug Linien/Flächen, um diese zu trennen."
         },
         "merge": {
             "title": "Vereinigen",
                 "area": "Fläche verschoben.",
                 "multiple": "Mehrere Objekte verschoben."
             },
-            "incomplete_relation": "Dieses Objekt kann nicht verschoben werden, da es nicht vollständig heruntergeladen wurde."
+            "incomplete_relation": "Dieses Objekt kann nicht verschoben werden, da es nicht vollständig heruntergeladen wurde.",
+            "too_large": "Das Objekt kann nicht bewegt werden, weil nicht genug davon sichtbar ist."
         },
         "rotate": {
             "title": "Drehen",
             "annotation": {
                 "line": "Linie gedreht.",
                 "area": "Fläche gedreht."
-            }
+            },
+            "too_large": "Das Objekt kann nicht gedreht werden, weil nicht genug davon sichtbar ist."
         },
         "reverse": {
             "title": "Umkehren",
         },
         "restriction": {
             "help": {
-                "select": "Klicke um ein Straßensegment zu selektieren.",
+                "select": "Klicke um ein Straßensegment auszuwählen.",
                 "toggle": "Klicke um das Abbiegeverbot umzudrehen.",
-                "toggle_on": "Klicke um ein \"{restriction}\" Verbot anzulegen.",
-                "toggle_off": "Klicke um das \"{restriction}\" Verbot zu löschen."
+                "toggle_on": "Klicke um ein \"{restriction}\"-Verbot anzulegen.",
+                "toggle_off": "Klicke um das \"{restriction}\"-Verbot zu löschen."
             },
             "annotation": {
                 "create": "Füge ein Abbiegeverbot ein",
     },
     "zoom_in_edit": "Hineinzoomen, um zu bearbeiten",
     "logout": "Abmelden",
-    "loading_auth": "Verbinde mit OpenStreetMap....",
+    "loading_auth": "Verbinde mit OpenStreetMap …",
     "report_a_bug": "Programmfehler melden",
     "status": {
         "error": "Verbindungsaufbau zur API nicht möglich.",
-        "offline": "Die API ist offline. Bitte versuch es später noch einmal.",
-        "readonly": "Die API ist im \"nur lese\" Modus. Änderungen können zur Zeit nicht gespeichert werden."
+        "offline": "Die API ist offline. Bitte versuche es später noch einmal.",
+        "readonly": "Die API ist im \"Nur-Lese\"-Modus. Änderungen können zur Zeit nicht gespeichert werden."
     },
     "commit": {
         "title": "Änderungen speichern",
         "description_placeholder": "Eine kurze Beschreibung deiner Beiträge",
         "message_label": "Änderungskommentar",
-        "upload_explanation": "Änderungen, die du hochlädst, werden auf allen Karten sichtbar, die OpenStreetMap nutzen.",
-        "upload_explanation_with_user": "Änderungen, die du als {user} hochlädst, werden auf allen Karten sichtbar, die OpenStreetMap nutzen.",
+        "upload_explanation": "Änderungen, die du hoch lädst, werden auf allen Karten sichtbar, die OpenStreetMap nutzen.",
+        "upload_explanation_with_user": "Änderungen, die du als {user} hoch lädst, werden auf allen Karten sichtbar, die OpenStreetMap nutzen.",
         "save": "Speichern",
         "cancel": "Abbrechen",
         "warnings": "Warnungen",
         "truncated_list": "Bearbeitet von {users} und {count} anderen"
     },
     "geocoder": {
-        "search": "Suche weltweit...",
+        "search": "Suche weltweit …",
         "no_results_visible": "Keine Ergebnisse im sichtbaren Kartenbereich",
         "no_results_worldwide": "Keine Ergebnisse gefunden"
     },
         "title": "Zeige meinen Standort"
     },
     "inspector": {
-        "no_documentation_combination": "Für dieses Attribut-Kombination ist keine Dokumentation verfügbar.",
-        "no_documentation_key": "Für dieses Schlüsselwort ist keine Dokumentation verfügbar",
+        "no_documentation_combination": "Für diese Eigenschaftskombination ist keine Dokumentation verfügbar.",
+        "no_documentation_key": "Für dieses Schlüsselwort ist keine Dokumentation verfügbar.",
         "show_more": "Zeige mehr",
         "view_on_osm": "Auf openstreetmap.org ansehen",
-        "all_tags": "Alle Tags",
+        "all_tags": "Alle Eigenschaften",
         "all_members": "Alle Mitglieder",
         "all_relations": "Alle Relationen",
-        "new_relation": "Neue Relation...",
+        "new_relation": "Neue Relation …",
         "role": "Rolle",
-        "choose": "Eigenschafts-Typ auswählen",
+        "choose": "Objekttyp auswählen",
         "results": "{n} Resultate für {search}",
         "reference": "Im OpenStreetMap-Wiki anschauen",
-        "back_tooltip": "Eigenschaft ändern",
+        "back_tooltip": "Objekt ändern",
         "remove": "Entfernen",
         "search": "Suchen",
         "multiselect": "Ausgewählte Elemente",
         "unknown": "Unbekannt",
         "incomplete": "<nicht heruntergeladen>",
         "feature_list": "Objekte suchen",
-        "edit": "Eigenschaft bearbeiten",
+        "edit": "Objekt bearbeiten",
         "none": "Nichts",
         "node": "Punkt",
         "way": "Weg",
         "none": "Kein Hintergrund",
         "custom": "Benutzerdefiniert",
         "custom_button": "Benutzerdefinierten Hintergrund editieren",
-        "custom_prompt": "Gib ein tile URL template ein. Gültige Platzhalter sind {z}, {x}, {y} für das Z/X/Y Schema und {u} für das quadtile Schema.",
+        "custom_prompt": "Gib eine Vorlage für eine Kachel-URL ein. Gültige Platzhalter sind {z}, {x}, {y} für das Z/X/Y Schema und {u} für das \"quadtile\"-Schema.",
         "fix_misalignment": "Ausrichtung korrigieren",
         "reset": "Zurücksetzen"
     },
     "restore": {
-        "heading": "Ungespeicherte Änderungen vorhanden",
-        "description": "Es gibt ungespeicherte Änderungen aus einer vorherigen Sitzung. Möchtest du diese Änderungen wiederherstellen?",
+        "heading": "Ungesicherte Änderungen vorhanden",
+        "description": "Es gibt ungesicherte Änderungen aus einer vorherigen Sitzung. Möchtest du diese Änderungen wiederherstellen?",
         "restore": "Wiederherstellen",
         "reset": "Zurücksetzen"
     },
         "help": "Speichere Änderungen auf OpenStreetMap, wodurch sie für andere Nutzer sichtbar werden.",
         "no_changes": "Keine zu speichernden Änderungen.",
         "error": "Beim Speichern ist ein Fehler aufgetreten",
-        "uploading": "Änderungen werden zu OpenStreetMap hochgeladen.",
-        "unsaved_changes": "Ungespeicherte Änderungen vorhanden"
+        "uploading": "Änderungen werden zu OpenStreetMap hoch geladen.",
+        "unsaved_changes": "Ungesicherte Änderungen vorhanden"
     },
     "success": {
         "edited_osm": "OSM bearbeitet!",
-        "just_edited": "Sie haben gerade OpenStreetMap editiert!",
-        "view_on_osm": "auf OpenStreetMap ansehen",
+        "just_edited": "Sie haben gerade OpenStreetMap bearbeitet!",
+        "view_on_osm": "Auf OpenStreetMap ansehen",
         "facebook": "Auf Facebook teilen",
         "twitter": "Auf Twitter teilen",
         "google": "Auf Google+ teilen",
-        "help_html": "Die Änderungen sollte im \"Standard\" Layer in wenigen Minuten sichtbar sein. Andere Layer und spezielle Features können länger dauern\n(<a href='https://help.openstreetmap.org/questions/10636/warum-werden-meine-anderungen-nicht-angezeigt' target='_blank'>details</a>).\n"
+        "help_html": "Die Änderungen sollte in der \"Standard\"-Ebene in wenigen Minuten sichtbar sein. Andere Ebenen und spezielle Features können länger dauern (<a href='https://help.openstreetmap.org/questions/10636/warum-werden-meine-anderungen-nicht-angezeigt' target='_blank'>details</a>).\n"
     },
     "confirm": {
         "okay": "OK"
     },
     "splash": {
-        "welcome": "Willkommen beim iD OpenStreetMap-Editor",
-        "text": "iD ist ein benutzerfreundliches aber mächtiges Werkzeug, um die weltbeste freie Weltkarte zu bearbeiten.\nDies ist die Entwicklungsversion {version}. Für weitere Informationen besuche {website} und melde Fehler unter {github}.",
+        "welcome": "Willkommen bei iD, einem OpenStreetMap-Editor",
+        "text": "iD ist ein benutzerfreundliches aber mächtiges Werkzeug, um die weltbeste freie Weltkarte zu bearbeiten. Dies ist die Entwicklungsversion {version}. Für weitere Informationen besuche {website} und melde Fehler unter {github}.",
         "walkthrough": "Starte die Einführung",
         "start": "Jetzt bearbeiten"
     },
     "source_switch": {
         "live": "live",
-        "lose_changes": "Es gibt ungespeicherte Änderungen. Durch Wechsel des Karten-Servers gehen diese verloren. Bist Du sicher, dass Du den Server wechseln willst?",
+        "lose_changes": "Es gibt ungesicherte Änderungen. Durch Wechsel des Karten-Servers gehen diese verloren. Bist Du sicher, dass Du den Server wechseln willst?",
         "dev": "dev"
     },
     "tag_reference": {
     },
     "validations": {
         "untagged_point": "Punkt ohne Eigenschaften",
-        "untagged_line": "Linie ohne Attribute",
-        "untagged_area": "Fläche ohne Attribute",
+        "untagged_line": "Linie ohne Eigenschaften",
+        "untagged_area": "Fläche ohne Eigenschaften",
         "many_deletions": "Du löscht gerade {n} Elemente. Willst Du das wirklich? Damit werden diese Elemente von der Karte gelöscht die alle auf openstreetmap.org sehen können.",
-        "tag_suggests_area": "Das Attribut {tag} legt nahe, dass die Linie eine Fläche sein sollte, es ist aber keine Fläche",
-        "untagged_tooltip": "Wähle einen Eigenschaftentyp der das {geometry} beschreibt.",
-        "deprecated_tags": "Veraltete Attribute: {tags}"
+        "tag_suggests_area": "Die Eigenschaft {tag} legt nahe, dass die Linie eine Fläche sein sollte, es ist aber keine Fläche",
+        "untagged_point_tooltip": "Wähle den Objekttyp der diesen Punkt beschreibt.",
+        "untagged_line_tooltip": "Wähle den Objekttyp der diese Linie beschreibt.",
+        "untagged_area_tooltip": "Wähle den Objekttyp der diese Fläche beschreibt.",
+        "deprecated_tags": "Veraltete Eigenschaften: {tags}"
     },
     "zoom": {
         "in": "Hineinzoomen",
         "out": "Herauszoomen"
     },
-    "cannot_zoom": "Es kann im aktuellen Modus nicht weiter herausgezoomt werden.",
+    "cannot_zoom": "Es kann im aktuellen Modus nicht weiter heraus gezoomt werden.",
     "gpx": {
         "local_layer": "Lokale GPX-Datei",
-        "drag_drop": "Ein GPX-Datei mit Drag & Drop auf die Seite ziehen oder den Button rechts klicken um eine GPX-Datei zu laden",
-        "zoom": "Zum GPX-Track zoomen",
+        "drag_drop": "Ein GPX-Datei mit Drag & Drop auf die Seite ziehen oder den Knopf rechts klicken um eine GPX-Datei zu laden",
+        "zoom": "Zur GPX-Spur zoomen",
         "browse": "Eine GPX-Datei laden"
     },
     "help": {
         "title": "Hilfe",
-        "help": "#Hilfe\n\nDies ist ein Editor für [OpenStreetMap](http://www.openstreetmap.org/), der freien und editierbaren Weltkarte. Du kannst ihn verwenden, um Daten in deiner Umgebung hinzuzufügen oder zu verändern und so diese Karte mit freien Quellen und freien Daten für jeden verbessern.\n\nVeränderungen werden für alle Nutzer von OpenStreetMap sichtbar. Um Veränderungen vornehmen zu können, musst du ein [kostenloses OpenStreetMap Profil](https://www.openstreetmap.org/user/new) anlegen.\n\nDer [iD editor](http://ideditor.com/) ist ein Gemeinschaftsprojekt dessen [Quellcode\nauf GitHub verfügbar ist](https://github.com/openstreetmap/iD).\n",
-        "editing_saving": "# Editieren & Speichern\n\nDieser Editor wurde entworfen, um online zu arbeiten und du erreichst ihn über diese Webseite.\n\n### Objekte auswählen\n\nUm ein Kartenobjekt wie eine Straße oder ein Sonderziel (POI) auszuwählen, klicke auf der Karte darauf. Dadurch wird das Objekt hervorgehoben und ein Bedienfeld mit Details und Möglichkeiten zur Veränderung aufgerufen.\n\nMehrere Objekte kannst du auswählen indem du die Shift-Taste (Umschalttaste) drückst und die Objekte einzeln anklickst oder klickst und einen Rahmen darum ziehst.\nSo können mehrere Objekte gleichzeitig geändert werden.\n\n### Speichern der Änderungen\n\nWenn du Änderungen an einer Straße, einem Gebäude oder einem Platz vorgenommen hast, sind diese lokal gespeichert, bis du sie auf dem Server speicherst. Keine Sorge falls du einen Fehler machen solltest: Du kannst Änderungen jederzeit über den Rückgängig-Knopf rückgängig machen oder über den Wiederherstellen-Knopf noch einmal ausführen.\n\nKlicke auf \"Speichern\", um eine Gruppe von Änderungen zu speichern. Zum Beispiel, wenn du in einem Stadtteil fertig bist und in einer neuen Gegend editieren willst.\nDu bekommst dann die Möglichkeit noch einmal zu überprüfen, was du gerade getan hast und der Editor zeigt dir nützliche Hinweise oder mögliche Fehler, wenn etwas nicht in Ordnung zu sein scheint.\n\nWenn alles gut aussieht kannst du einen kurzen Kommentar schreiben, der erklärt, was du gemacht hast. Drücke nun \"Speichern\", um die Änderungen auf dem Server zu speichern.\nNun können es alle auf [OpenStreetMap.org](http://www.openstreetmap.org/) sehen und darauf aufbauen.\n\nWenn du es zeitlich nicht schaffst, kannst du das Editor-Fenster einfach schließen. Wenn du die Seite wieder aufrufst (mit dem gleichen Browser und Computer) wird dir angeboten, die letzte Sitzung wiederherzustellen.\n",
-        "roads": "# Straßen\n\nMit dem Editor kannst du Wege erstellen, verändern und löschen. Wege können alles mögliche sein, zum Beispiel Pfade, Straßen, Schienen, Fahrradwege und anderes.\n\n### Auswählen\n\nKlicke auf einen Weg, um ihn auszuwählen. Er sollte nun hervorgehoben werden. Außerdem erscheint ein kleines Werkzeugmenü und eine Seitenleiste mit den Eigenschaften des Weges.\n\n### Modifizieren\n\nOft sieht man, dass Wege nicht mit dem Luftbild oder einer GPS-Spur übereinstimmen. Du kannst den Weg aber so anpassen, dass er an der richtigen Stelle ist. Beachte jedoch, dass Luftbilder einen Versatz aufweisen können.\n\nAls Erstes wählst du einen Weg aus. Dieser wird nun hervorgehoben und es werden die Knoten des Weges angezeigt. Diese kannst du verschieben, bis sie an der richtigen Stelle sind. Wenn du neue Knoten hinzufügen möchtest, klicke doppelt zwischen den Knoten auf die Linie und es wird ein neuer Punkt erzeugt.\n\nWenn zwei Wege in Wirklichkeit mit einander verbunden sind, aber auf der Karte nicht, kannst du sie verbinden, indem du einen Knoten des einen Weges auf den anderen Weg ziehst. Dass Wege verbunden sind, ist wichtig für die Karte und essentiell für die Nutzung von Routenführung.\n\nDu kannst auch das \"Bewegen\"-Werkzeug nutzen oder \"M\" drücken, um den kompletten Weg zu verschieben. Beende die Aktion mit einem Klick.\n\n### Löschen\n\nWenn du weißt, dass ein Weg nicht existiert, kannst du ihn löschen, um ihn von der Karte zu entfernen. Sei beim Löschen von Objekten besonders vorsichtig, da diese Änderungen von jedem gesehen werden können und Luftbilder oft veraltet sind. Das heißt, dass ein Weg, der im Luftbild nicht zu sehen ist, vielleicht einfach neu gebaut wurde.\n\nDu kannst Wege löschen, indem du sie anklickst und das Mülltonnensymbol auswählst oder die \"Entfernen\"-Taste drückst.\n\n### Erstellen\n\nDu kennst einen Weg der nicht eingezeichnet ist? Dann klicke auf das \"Linien\"-Symbol oben links im Editor oder drücke die Taste \"2\" und beginne mit dem Zeichnen einer Linie.\n\nKlicke dort hin, wo die Straße anfängt. Sollte sie von einer bereits existierenden Straße abzweigen, klicke an der entsprechenden Stelle auf diese Straße.\n\nZeichne nun den Weg, indem du Punkte anhand der Luftaufnahme oder der GPS-Spur entlang des Weges setzt. Sollte der Weg einen anderen kreuzen, klicke auf den  Kreuzungspunkt, um beide Wege zu verbinden. Wenn du mit dem Zeichnen fertig bist, klicke doppelt oder drücke \"Enter\" auf der Tastatur, um den Weg abzuschließen.\n",
-        "gps": "# GPS\n\nGPS-Daten sind die vertrauenswürdigste Quelle für OpenStreetMap.\nDieser Editor unterstützt lokale GPS-Spuren — \".gpx\"-Dateien auf \ndeinem Computer. Du kannst diese GPS-Spuren mit Hilfe diverser\nSmartphone-Apps oder anderen GPS-Geräten aufnehmen.\n\nFür Informationen über das Sammeln von GPS-Daten kannst du dir\nfolgende Anleitung durchlesen: [Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/) (zur Zeit nur auf Englisch)\n\nUm einen GPX-Track zu verwenden, ziehe ihn einfach in den Karteneditor.\nWenn er erkannt wurde, wird dieser Track als leuchtend grüne Linie auf\nder Karte dargestellt. Klicke auf \"Hintergrundeinstellungen\", um sie zu\n(de-)aktivieren, oder um zum Gebiet des Tracks zu gelangen (Lupe).\n\nDer GPX-Track wird nicht automatisch direkt zu OpenStreetMap hochgeladen.\nAm besten verwendest du ihn, um neue Wege hinzuzufügen. Möchtest du den \nGPX-Track jedem zugänglich machen, kannst du ihn über die [Track-Upload-Seite](http://www.openstreetmap.org/trace/create) hochladen.\n",
-        "imagery": "# Bildmaterial\n\nLuftbilder sind eine wichtige Quelle für das Kartografieren. Eine Kombination aus Luftbildern von Flugzeugen, Satellitenbilder und freien Quellen sind im Editor über das \"Hintergrundeinstellungen\"- Menü auf der linken Seite verfügbar. \n\nAls Standard ist der [Bing Maps](http://www.bing.com/maps/) Satelliten-Layer ausgewählt. Je nach angezeigter Gegend werden Dir verschiedene andere Quellen angezeigt.\nIn einigen Länder wie den USA, Frankreich, Deutschland und Dänemark stehen zum Teil sehr hochauflösende Luftbilder zur Verfügung.\n\nLuftbilder sind manchmal durch Fehler der Luftbild-Anbieter verschoben. \nWenn du feststellst, dass viele  Straßen gegenüber dem Hintergrund verschoben sind, dann verschiebe nicht die Straßen sondern das Luftbild, bis sie übereinstimmen. Um das Luftbild zu korrigieren, klicke auf \"Fehlerhafte Ausrichtung korrigieren\" unten in den Hintergrundeinstellungen.\n\n",
-        "addresses": "# Adressen\n\nAdressen sind eine der wichtigsten Informationen einer Karte.\n\nObwohl Adressen oft als Teil einer Straße repräsentiert werden, werden sie in OpenStreetMap  als Attribute von Gebäuden oder Objekten neben der Straße eingetragen.\n\nDu kannst Adressinformationen sowohl zu Flächen die als Gebäudegrundriss gezeichnet sind, als auch zu einzelnen Punkten hinzufügen. Adressen musst du über eine Stadtbegehung oder dein eigenes Wissen herausfinden, da die Nutzung kommerzieller Quellen wie Google Maps strikt verboten ist.\n",
-        "inspector": "# Den Inspektor benutzen\n \nDer Inspektor ist das Bedienelement, das rechts im Editor erscheint, wenn du ein Objekt auswählst. Mit dem Inspektor kannst du die Details des Objektes zu bearbeiten.\n\n ### Eine Eigenschaft auswählen\n \nNachdem du einen Punkt, eine Linie oder eine Fläche hinzugefügt hast kannst du auswählen, welche Eigenschaft das Objekt hat - ob es eine Autobahn oder eine Wohnstraße; ein Supermarkt oder ein Café ist.\nDer Inspektor wird Knöpfe für die am häufigsten verwendeten Eigenschaften zeigen.Andere Eigenschaften findest du, indem du im Suchfeld eingibst wonach du suchst. \n \nKlicke auf den 'i'-Knopf in der Ecke rechts unten in einem Eigenschaften-Knopf, um mehr darüber zu erfahren. \n\n ### Vorlagen verwenden und Tags editieren\n \nNachdem du ein Objekt mit einer Eigenschaft versehen oder ausgewählt hast, zeigt der Inspektor Felder mit Details zu der Eigenschaft an wie Name und Adresse.\n\nUnter diesen Feldern kannst du Icons anklicken, um weitere Details hinzuzufügen wie zum Beispiel einen [Wikipedia](http://www.wikipedia.org/)-Link, Zugänglichkeit für Rollstühle und anderes.\n\nGanz unten im Inspektor kannst du auf 'Weitere Merkmale' klicken, um das Objekt mit beliebigen anderen Tags zu versehen.\n[Taginfo](http://taginfo.openstreetmap.org/) ist eine gute Quelle, um oft genutzte Kombinationen von Eigenschaften zu finden.\n\nÄnderungen die du im Inspektor vornimmst, werden automatisch auf die ausgewählten Objekte angewendet. Durch Klicken auf den 'Rückgängig'-Knopf kannst du sie rückgängig machen.\n\n ### Den Inspektor schließen\n\nDu kannst den Inspektor schließen, indem du auf den Schließen-Knopf oben rechts klickst, den 'Escape'-Knopf auf der Tastatur drückst oder in die Karte klickst.\n",
-        "buildings": "# Gebäude\n\nOpenStreetMap ist die weltgrößte Datenbank für Gebäude und du kannst helfen sie\nweiter zu verbessern.\n\n### Auswahl\n\nDu kannst ein Gebäude auswählen, indem du auf dessen Umrisslinie klickst. Der\nUmriss wird nun hervorgehoben. Außerdem wird ein Werkzeugmenü und eine\nSeitenleiste eingeblendet, welche Informationen zum Gebäude zeigt.\n\n### Bearbeitung\n\nManchmal sind Gebäude falsch platziert oder haben falsche Eigenschaften.\n\nUm ein Gebäude komplett zu verschieben wähle es aus und klicke auf das\n„Bewegen“-Werkzeug. Verschiebe nun das Gebäude mit der Maus und Klicke einmal\nwenn es an der richtigen Stelle ist.\n\nUm den Gebäudeumriss zu korrigieren, klicke und ziehe die Umrissknoten, bis\nsie an der richtigen Stelle sind.\n\n### Erstellen\n\nEine oft gestellte Frage bezieht sich auf das Erstellen von Gebäuden als\nGebäudefläche und/oder als Punkt. Hier gilt, wann immer es möglich ist, sollte\ndas Gebäude als Fläche eingetragen werden. Firmen, Geschäfte und ähnliches\nwerden zusätzlich als Punkte innerhalb des Gebäudeumrisses angelegt.\n\nUm ein Gebäude als Fläche zu zeichnen, klicke auf den „Fläche“-Knopf oben\nlinks und vollende das Gebäude, indem du entweder die \"Enter\"-taste drückst,\noder auf den ersten Knoten klickst.\n\n### Löschen\n\nWenn du siehst und weißt, dass ein Gebäude nicht existiert - zum Beispiel,\nweil du vor Ort warst - kannst du es löschen und es wird von der Karte\nentfernt. Sei vorsichtig mit der Löschfunktion! Das Ergebnis kann, wie\nbei jeder anderen Veränderung, von allen gesehen werden. Außerdem sind\nSatellitenbilder oft veraltet und ein Gebäude könnte einfach neu gebaut sein.\n\nDu kannst ein Gebäude löschen, indem du es auswählst und auf das\nPapierkorbsymbol klickst oder die „Entfernen“-Taste betätigst.\n",
-        "relations": "# Relationen\n\nEine Relation ist ein besonderes Element in OpenStreetMap, welches andere Elemente\nzusammenfasst. Es gibt zwei gängige Arten von Relationen: *Routen* fassen\nAbschnitte eines Weges zu einer Autobahn (oder zu einem anderen Weg) zusammenfassen.\n*Multipolygone* fassen mehrere Flächen zu einer komplexen Fläche zusammen, dabei\nkann auch eine Fläche ein Loch in einer anderen Fläche (wie der Innenhof in einem Gebäude oder die Lichtung im Wald) beschreiben.\n\nDie Elemente in einer Relation werden *Mitglieder* genannt. In der Seitenleiste kannst\nDu sehen, in welchen Relationen ein Element enthalten ist. Durch Klick auf eine Relation\nwerden alle Elemente der Relation in der Seitenleisten aufgezeigt und auf der Karte markiert.\n\nNormalerweise kümmert sich iD während der Bearbeitung automatisch um die Pflege der Relationen.\nWenn Du einen Abschnitt eines Weges löscht um ihn genauer neu zu zeichnen, solltest Du sicherstellen,\ndass der neuen Abschnitt Mitglied in den gleichen Relationen wie das Original wird.\n\n## Bearbeiten von Relationen\n\nUm ein Element einer Relation hinzuzufügen, wähle das zukünftige Mitglied aus und\nklicke in der Seitenleiste auf die Schaltfläche \"+\" im Abschnitt \"Alle Relationen\".\nDu kannst dann die Relation auswählen oder den Namen der Relation eintippen.\n\nUm eine neue Relation erstellen, wähle das erste zukünftige Mitglied aus und\nklicke in der Seitenleiste auf die Schaltfläche \"+\" im Abschnitt \"Alle Relationen\"\nund wähle \"Neue Relation ...\".\n\nUm ein Element aus einer Relation zu entfernen, wähle das Mitglied aus und klicke\nauf den Papierkorb neben der Relation aus Du es entfernen willst.\n\nDu kannst Multipolygone mit Löchern mit dem \"Vereinigen\"-Werkzeug erstellen.\nZeichne zwei Bereiche (den äußeren und den inneren Bereich) und klicke auf den äußeren Bereich. Dann halte die Umschalttaste gedrückt und klicke auf den inneren Bereich und klicke dann auf \"Vereinigen\" (+).\n"
+        "help": "#Hilfe\n\nDies ist ein Editor für [OpenStreetMap](http://www.openstreetmap.org/), der freien und editierbaren Weltkarte. Du kannst ihn verwenden, um Daten in deiner Umgebung hinzuzufügen oder zu verändern und so diese Karte mit freien Quellen und freien Daten für jeden verbessern.\n\nVeränderungen werden für alle Nutzer von OpenStreetMap sichtbar. Um Veränderungen vornehmen zu können, musst du ein [kostenloses OpenStreetMap-Profil](https://www.openstreetmap.org/user/new) anlegen.\n\nDer [iD-Editor](http://ideditor.com/) ist ein Gemeinschaftsprojekt dessen [Quellcode\nauf GitHub verfügbar ist](https://github.com/openstreetmap/iD).\n",
+        "editing_saving": "# Bearbeiten & Speichern\n\nDieser Editor wurde entworfen, um online zu arbeiten und du erreichst ihn über diese Webseite.\n\n### Objekte auswählen\n\nUm ein Kartenobjekt wie eine Straße oder ein Sonderziel (POI) auszuwählen, klicke auf der Karte darauf. Dadurch wird das Objekt hervorgehoben und ein Bedienfeld mit Details und Möglichkeiten zur Veränderung aufgerufen.\n\nMehrere Objekte kannst du auswählen indem du die Umschalttaste (Shift) drückst und die Objekte einzeln anklickst oder klickst und einen Rahmen darum ziehst. So können mehrere Objekte gleichzeitig geändert werden.\n\n### Speichern der Änderungen\n\nWenn du Änderungen an einer Straße, einem Gebäude oder einem Platz vorgenommen hast, sind diese lokal gespeichert, bis du sie auf dem Server speicherst. Keine Sorge falls du einen Fehler machen solltest: Du kannst Änderungen jederzeit über den Rückgängig-Knopf rückgängig machen oder über den Wiederherstellen-Knopf noch einmal ausführen.\n\nKlicke auf \"Speichern\", um eine Gruppe von Änderungen zu speichern. Zum Beispiel, wenn du in einem Stadtteil fertig bist und in einer neuen Gegend weiter arbeiten willst. Du bekommst dann die Möglichkeit noch einmal zu überprüfen, was du gerade getan hast und der Editor zeigt dir nützliche Hinweise oder mögliche Fehler, wenn etwas nicht in Ordnung zu sein scheint.\n\nWenn alles gut aussieht kannst du einen kurzen Kommentar schreiben, der erklärt, was du gemacht hast. Drücke nun \"Speichern\", um die Änderungen auf dem Server zu speichern. Nun können es alle auf [OpenStreetMap.org](http://www.openstreetmap.org/) sehen und darauf aufbauen.\n\nWenn du es zeitlich nicht schaffst, kannst du das Editor-Fenster einfach schließen. Wenn du die Seite wieder aufrufst (mit dem gleichen Browser und Rechner) wird dir angeboten, die letzte Sitzung wiederherzustellen.\n",
+        "roads": "# Straßen\n\nMit dem Editor kannst du Wege erstellen, verändern und löschen. Wege können alles mögliche sein, zum Beispiel Pfade, Straßen, Schienen, Fahrradwege und anderes.\n\n### Auswählen\n\nKlicke auf einen Weg, um ihn auszuwählen. Er sollte nun hervorgehoben werden. Außerdem erscheint ein kleines Werkzeugmenü und eine Seitenleiste mit den Eigenschaften des Weges.\n\n### Modifizieren\n\nOft sieht man, dass Wege nicht mit dem Luftbild oder einer GPS-Spur übereinstimmen. Du kannst den Weg aber so anpassen, dass er an der richtigen Stelle ist. Beachte jedoch, dass Luftbilder einen Versatz aufweisen können.\n\nAls Erstes wählst du einen Weg aus. Dieser wird nun hervorgehoben und es werden die Knoten des Weges angezeigt. Diese kannst du verschieben, bis sie an der richtigen Stelle sind. Wenn du neue Knoten hinzufügen möchtest, klicke doppelt zwischen den Knoten auf die Linie und es wird ein neuer Punkt erzeugt.\n\nWenn zwei Wege in Wirklichkeit mit einander verbunden sind, aber auf der Karte nicht, kannst du sie verbinden, indem du einen Knoten des einen Weges auf den anderen Weg ziehst. Dass Wege verbunden sind, ist wichtig für die Karte und essentiell für die Nutzung von Routenführung.\n\nDu kannst auch das \"Bewegen\"-Werkzeug nutzen oder \"M\" drücken, um den kompletten Weg zu verschieben. Beende die Aktion mit einem Klick.\n\n### Löschen\n\nWenn du weißt, dass ein Weg nicht existiert, kannst du ihn löschen, um ihn von der Karte zu entfernen. Sei beim Löschen von Objekten - wie immer beim Editieren vorsichtig, da die Ergebnisse von jedem gesehen werden können und Luftbilder oft veraltet sind. Das heißt, dass ein Weg, der im Luftbild nicht zu sehen ist, vielleicht einfach neu gebaut wurde.\n\nDu kannst Wege löschen, indem du sie anklickst und das Mülltonnensymbol auswählst oder die \"Entfernen\"-Taste drückst.\n\n### Erstellen\n\nDu kennst einen Weg der nicht eingezeichnet ist? Dann klicke auf das \"Linien\"-Symbol oben links im Editor oder drücke die Taste \"2\" und beginne mit dem Zeichnen einer Linie.\n\nKlicke dort hin, wo die Straße anfängt. Sollte sie von einer bereits existierenden Straße abzweigen, klicke an der entsprechenden Stelle auf diese Straße.\n\nZeichne nun den Weg, indem du Punkte anhand der Luftaufnahme oder der GPS-Spur entlang des Weges setzt. Sollte der Weg einen anderen kreuzen, klicke auf den Kreuzungspunkt, um beide Wege zu verbinden. Wenn du mit dem Zeichnen fertig bist, klicke doppelt oder drücke \"Enter\" auf der Tastatur, um den Weg abzuschließen.\n",
+        "gps": "# GPS\n\nGPS-Daten sind die vertrauenswürdigste Quelle für OpenStreetMap. Dieser Editor unterstützt lokale GPS-Spuren — \".gpx\"-Dateien auf deinem Rechner. Du kannst diese GPS-Spuren mit Hilfe diverser Smartphone-Apps oder anderen GPS-Geräten aufnehmen.\n\nFür Informationen über das Sammeln von GPS-Daten kannst du dir folgende Anleitung durchlesen: [Surveying with a GPS](http://learnosm.org/en/beginner/using-gps/) (zur Zeit nur auf Englisch).\n\nUm eine GPX-Spur zu verwenden, ziehe sie einfach in den Karteneditor. Wenn sie erkannt wurde, wird diese Spur als leuchtend grüne Linie auf der Karte dargestellt. Klicke auf \"Hintergrundeinstellungen\", um sie zu (de-)aktivieren, oder um zum Gebiet der Spur zu gelangen (Lupe).\n\nDie GPX-Spur wird nicht automatisch direkt zu OpenStreetMap hoch geladen. Am besten verwendest du sie, um neue Wege hinzuzufügen. Möchtest du die GPX-Spur jedem zugänglich machen, kannst du sie über die [Track-Upload-Seite](http://www.openstreetmap.org/trace/create) hochladen.\n",
+        "imagery": "# Bildmaterial\n\nLuftbilder sind eine wichtige Quelle für das Kartografieren. Eine Kombination aus Luftbildern von Flugzeugen, Satellitenbilder und freien Quellen sind im Editor über das \"Hintergrundeinstellungen\"-Menü auf der linken Seite verfügbar.\n\nAls Standard ist die [Bing-Maps](http://www.bing.com/maps/)-Satelliten-Ebene ausgewählt. Je nach angezeigter Gegend werden Dir verschiedene andere Quellen angezeigt. In einigen Länder wie den USA, Frankreich, Deutschland und Dänemark stehen zum Teil sehr hochauflösende Luftbilder zur Verfügung.\n\nLuftbilder sind manchmal durch Fehler der Luftbild-Anbieter verschoben. Wenn du feststellst, dass viele Straßen gegenüber dem Hintergrund verschoben sind, dann verschiebe nicht die Straßen sondern das Luftbild, bis sie übereinstimmen. Um das Luftbild zu korrigieren, klicke auf \"Fehlerhafte Ausrichtung korrigieren\" unten in den Hintergrundeinstellungen.\n\n",
+        "addresses": "# Adressen\n\nAdressen sind eine der wichtigsten Informationen einer Karte.\n\nObwohl Adressen oft als Teil einer Straße repräsentiert werden, werden sie in OpenStreetMap als Eigenschaften von Gebäuden oder Objekten neben der Straße eingetragen.\n\nDu kannst Adressinformationen sowohl zu Flächen, die als Gebäudegrundriss gezeichnet sind, als auch zu einzelnen Punkten hinzufügen. 'Die beste Quelle für Adressen ist eigenes Wisse oder eine Erhebung vor Ort. Wie bei allen anderen Objekten ist die Nutzung kommerzieller Quellen wie Google Maps strikt verboten.\n",
+        "inspector": "# Den Inspektor benutzen\n\nDer Inspektor ist das Bedienelement, das rechts im Editor erscheint, wenn du ein Objekt auswählst. Mit dem Inspektor kannst du die Details des Objektes bearbeiten.\n\n### Eine Eigenschaft auswählen\n\nNachdem du einen Punkt, eine Linie oder eine Fläche hinzugefügt hast kannst du auswählen, welchen Typ das Objekt hat – ob es eine Autobahn oder eine Wohnstraße; ein Supermarkt oder ein Café ist. Der Inspektor wird Knöpfe für die am häufigsten verwendeten Eigenschaften zeigen. Andere Eigenschaften findest du, indem du im Suchfeld eingibst wonach du suchst.\n\nKlicke auf den 'i'-Knopf in der Ecke rechts unten bei einem Objekt-Typ, um mehr darüber zu erfahren.\n\n### Vorlagen verwenden und Tags editieren\n\nNachdem du ein Objekt mit einer Eigenschaft versehen oder ausgewählt hast, zeigt der Inspektor Felder mit Details zu der Eigenschaft an wie Name und Adresse.\n\nUnter diesen Feldern kannst du Icons anklicken, um weitere Details hinzuzufügen wie zum Beispiel einen [Wikipedia](http://www.wikipedia.org/)-Link, Zugänglichkeit für Rollstühle und anderes.\n\nGanz unten im Inspektor kannst du auf 'Weitere Merkmale' klicken, um das Objekt mit beliebigen anderen Eigenschaften zu versehen. [Taginfo](http://taginfo.openstreetmap.org/) ist eine gute Quelle, um oft genutzte Kombinationen von Eigenschaften zu finden.\n\nÄnderungen die du im Inspektor vornimmst, werden automatisch auf die ausgewählten Objekte angewendet. Durch Klicken auf den 'Rückgängig'-Knopf kannst du sie rückgängig machen.\n\n### Den Inspektor schließen\n\nDu kannst den Inspektor schließen, indem du auf den Schließen-Knopf oben rechts klickst, den 'Escape'-Knopf auf der Tastatur drückst oder in die Karte klickst.\n",
+        "buildings": "# Gebäude\n\nOpenStreetMap ist die weltgrößte Datenbank für Gebäude und du kannst helfen sie weiter zu verbessern.\n\n### Auswahl\n\nDu kannst ein Gebäude auswählen, indem du auf dessen Umrisslinie klickst. Der Umriss wird nun hervorgehoben. Außerdem wird ein Werkzeugmenü und eine Seitenleiste eingeblendet, welche Informationen zum Gebäude zeigt.\n\n### Bearbeitung\n\nManchmal sind Gebäude falsch platziert oder haben falsche Eigenschaften.\n\nUm ein Gebäude komplett zu verschieben wähle es aus und klicke auf das „Bewegen“-Werkzeug. Verschiebe nun das Gebäude mit der Maus und klicke einmal, wenn es an der richtigen Stelle ist.\n\nUm den Gebäudeumriss zu korrigieren, klicke und ziehe die Umrissknoten, bis sie an der richtigen Stelle sind.\n\n### Erstellen\n\nEine oft gestellte Frage bezieht sich auf das Erstellen von Gebäuden als Gebäudefläche und/oder als Punkt. Hier gilt, wann immer es möglich ist, sollte das Gebäude als Fläche eingetragen werden. Firmen, Geschäfte und ähnliches werden zusätzlich als Punkte innerhalb des Gebäudeumrisses angelegt.\n\nUm ein Gebäude als Fläche zu zeichnen, klicke auf den „Fläche“-Knopf oben links und vollende das Gebäude, indem du entweder die \"Enter\"-Taste drückst, oder auf den ersten Knoten klickst.\n\n### Löschen\n\nWenn du siehst und weißt, dass ein Gebäude nicht existiert – zum Beispiel, weil du vor Ort warst – kannst du es löschen und es wird von der Karte entfernt. Sei vorsichtig beim Löschen von Objekten, das Ergebnis kann, wie bei jeder anderen Veränderung, von allen gesehen werden. Außerdem sind Satellitenbilder oft veraltet und ein Gebäude könnte einfach neu gebaut sein.\n\nDu kannst ein Gebäude löschen, indem du es auswählst und auf das Papierkorbsymbol klickst oder die „Entfernen“-Taste betätigst.\n",
+        "relations": "# Relationen\n\nEine Relation ist ein besonderes Element in OpenStreetMap, welches andere Elemente zusammenfasst. Es gibt zwei gängige Arten von Relationen: *Routen* fassen Abschnitte eines Weges zu einer Autobahn (oder zu einem anderen Weg) zusammen. *Multipolygone* fassen mehrere Flächen zu einer komplexen Fläche zusammen, dabei kann auch eine Fläche ein Loch in einer anderen Fläche (wie der Innenhof in einem Gebäude oder die Lichtung im Wald) beschreiben.\n\nDie Elemente in einer Relation werden *Mitglieder* genannt. In der Seitenleiste kannst Du sehen, in welchen Relationen ein Element enthalten ist. Durch Klick auf eine Relation werden alle Elemente der Relation in der Seitenleisten aufgezeigt und auf der Karte markiert.\n\nNormalerweise kümmert sich iD während der Bearbeitung automatisch um die Pflege der Relationen. Wenn Du einen Abschnitt eines Weges löscht um ihn genauer neu zu zeichnen, solltest Du sicherstellen, dass der neuen Abschnitt Mitglied in den gleichen Relationen wie das Original wird.\n\n## Bearbeiten von Relationen\n\nUm ein Element einer Relation hinzuzufügen, wähle das zukünftige Mitglied aus und klicke in der Seitenleiste auf die Schaltfläche \"+\" im Abschnitt \"Alle Relationen\". Du kannst dann die Relation auswählen oder den Namen der Relation eintippen.\n\nUm eine neue Relation erstellen, wähle das erste zukünftige Mitglied aus und klicke in der Seitenleiste auf die Schaltfläche \"+\" im Abschnitt \"Alle Relationen\" und wähle \"Neue Relation …\".\n\nUm ein Element aus einer Relation zu entfernen, wähle das Mitglied aus und klicke auf den Papierkorb neben der Relation aus der Du es entfernen willst.\n\nDu kannst Multipolygone mit Löchern mit dem \"Vereinigen\"-Werkzeug erstellen. Zeichne zwei Bereiche (den äußeren und den inneren Bereich) und klicke auf den äußeren Bereich. Dann halte die Umschalttaste gedrückt und klicke auf den inneren Bereich und klicke dann auf \"Vereinigen\" (+).\n"
     },
     "intro": {
         "navigation": {
             "title": "Navigation",
-            "drag": "Die Karte zeigt OpenStreetMap Daten auf einem Hintergrund. Du kannst sie wie jede andere Karte im Internet durch Ziehen und Scrollen bewegen. **Verschiebe die Karte**",
-            "select": "Kartenobjekte werden auf drei verschiedenen Weisen repräsentiert: als Punkte, Linien oder Flächen. Alle Objekte können durch Klicken ausgewählt werden. **Klicke auf einen Punkt, um ihn auszuwählen**",
+            "drag": "Die Karte zeigt OpenStreetMap-Daten auf einem Hintergrund. Du kannst sie wie jede andere Karte im Internet durch Ziehen und Scrollen bewegen. **Verschiebe die Karte.**",
+            "select": "Kartenobjekte werden auf drei verschiedenen Weisen repräsentiert: als Punkte, Linien oder Flächen. Alle Objekte können durch Klicken ausgewählt werden. **Klicke auf einen Punkt, um ihn auszuwählen.**",
             "header": "Die Kopfzeile zeigt den Typ des Objektes.",
-            "pane": "Wird ein Objekt ausgewählt, wird der Eigenschaftseditor angezeigt. Die Kopfzeile zeigt den Typ des Objektes an. Im Hauptfenster werden die Eigenschaften des Objektes angezeigt, wie etwa sein Name und seine Adresse.\n**Schließe den Eigenschaftseditor mit dem Schließen-Button rechts oben.**"
+            "pane": "Wird ein Objekt ausgewählt, wird der Objekteditor angezeigt. Die Kopfzeile zeigt den Typ des Objektes an. Im Hauptfenster werden die Eigenschaften des Objektes angezeigt, wie etwa sein Name und seine Adresse.\n**Schließe den Eigenschaftseditor mit dem Schließen-Knopf rechts oben.**"
         },
         "points": {
             "title": "Punkte",
-            "add": "Punkte können verwendet werden, um Objekte wie Läden, Restaurants oder Denkmäler darzustellen. Sie markieren einen bestimmten Standort und beschreiben, was sich dort befindet. **Klicke den Punkt-Knopf an, um einen neuen Punkt hinzuzufügen**",
-            "place": "Punkte können durch Klicken auf die Karte platziert werden. **Platziere einen Punkt auf dem Gebäude**",
-            "search": "Es gibt viele verschiedene Objekte, die ein Punkt repräsentieren kann. Der Punkt, den du gerade hinzugefügt hast, ist ein Café. **Suche nach '{name}'**",
+            "add": "Punkte können verwendet werden, um Objekte wie Läden, Restaurants oder Denkmäler darzustellen. Sie markieren einen bestimmten Standort und beschreiben, was sich dort befindet. **Klicke den Punkt-Knopf an, um einen neuen Punkt hinzuzufügen.**",
+            "place": "Punkte können durch Klicken auf die Karte platziert werden. **Platziere einen Punkt auf dem Gebäude.**",
+            "search": "Es gibt viele verschiedene Objekte, die ein Punkt repräsentieren kann. Der Punkt, den du gerade hinzugefügt hast, ist ein Café. **Suche nach '{name}'.**",
             "choose": "**Wähle \"Café\" aus der Liste aus.**",
-            "describe": "Der Knoten wurde nun als Café markiert. Mit dem Eigenschaftseditor können wir mehr Informationen über das Objekt angeben. **Füge einen Namen hinzu.**",
-            "close": "Der Eigenschaftseditor kann mithilfe des Schließen-Buttons beendet werden. **Schließe den Eigenschaftseditor.**",
+            "describe": "Der Knoten wurde nun als Café markiert. Mit dem Objekteditor können wir mehr Informationen über das Objekt angeben. **Füge einen Namen hinzu.**",
+            "close": "Der Objekteditor kann mithilfe des Schließen-Knopfes beendet werden. **Schließe den Objekteditor.**",
             "reselect": "Oftmals existieren Knoten bereits, haben aber falsche oder unvollständige Eigenschaften. Wir können vorhandene Knoten bearbeiten. **Wähle den Punkt aus, den du gerade erstellt hast.**",
-            "fixname": "**Ändere den Namen und schließe den Eigenschaftseditor.**",
-            "reselect_delete": "Alle Sachen auf der Karte können gelöscht werden. **Klicke auf den von dir erzeugten Punkt**",
+            "fixname": "**Ändere den Namen und schließe den Objekteditor.**",
+            "reselect_delete": "Alle Sachen auf der Karte können gelöscht werden. **Klicke auf den von dir erzeugten Punkt.**",
             "delete": "Das Menü um den Knoten herum beinhaltet Werkzeuge, um diesen zu bearbeiten. So kann man ihn unter anderem auch löschen. **Lösche den Knoten.**"
         },
         "areas": {
             "title": "Flächen",
-            "add": "Flächen sind eine Möglichkeit, Objekte detailliert wiederzugeben. Diese bieten Information über die Grenzen des Objektes. Flächen können fast immer da verwendet werden, wo auch Knoten Verwendung finden, werden aber oft bevorzugt. **Benutze den Flächen-Button, um ein neues Gebiet hinzuzufügen.**",
-            "corner": "Flächen werden gezeichnet, indem man Punkte platziert, die den Umriss der Fläche repräsentieren. **Setze den Startpunkt auf eine Ecke des Spielplatzes**",
+            "add": "Flächen sind eine Möglichkeit, Objekte detailliert wiederzugeben. Diese bieten Information über die Grenzen des Objektes. Flächen können fast immer da verwendet werden, wo auch Knoten Verwendung finden, werden aber oft bevorzugt. **Benutze den Flächen-Knopf, um ein neues Gebiet hinzuzufügen.**",
+            "corner": "Flächen werden gezeichnet, indem man Punkte platziert, die den Umriss der Fläche repräsentieren. **Setze den Startpunkt auf eine Ecke des Spielplatzes.**",
             "place": "Zeichne eine Fläche, indem du mehr Punkte hinzufügst. Beende die Fläche, indem du auf den Startpunkt klickst. **Zeichne eine Fläche für den Spielplatz.**",
             "search": "**Suche nach '{name}'.**",
             "choose": "**Wähle \"Spielplatz\" aus der Liste aus.**",
-            "describe": "**Füge einen Namen hinzu und schließe den Eigenschaftseditor**"
+            "describe": "**Füge einen Namen hinzu und schließe den Objekteditor.**"
         },
         "lines": {
             "title": "Linien",
-            "add": "Linien werden verwendet um Sachen wie Straßen, Bahngleise und Flüsse zu erzeugen. **Klicke auf den Linien-Knopf um eine neue Linie zu zeichnen**",
+            "add": "Linien werden verwendet um Sachen wie Straßen, Bahngleise und Flüsse zu erzeugen. **Klicke auf den Linien-Knopf um eine neue Linie zu zeichnen.**",
             "start": "**Beginne die Linie, indem du auf das Ende der Straße klickst.**",
-            "intersect": "Klicke, um mehr Punkte zu einer Linie hinzuzufügen. Du kannst während des Zeichnens die Karte verschieben. Straßen und andere Wege sind Teil eines großen Netzwerk und müssen ordnungsgemäß miteinander verbunden sein, um sie für Routenführung nutzen zu können. **Klicke auf die Flower Street, um eine Kreuzung zu erzeugen und beide Linien zu verbinden.**",
-            "finish": "Linien können vollendet werden, indem man den letzten Punkt erneut anklickt **Zeichnen der Straße beenden**",
-            "road": "**Wähle \"Straße\" aus der Liste aus**",
-            "residential": "Es gibt verschiedene Straßenarten, häufigste ist die Wohngebietsstraße. **Wähle die Wohngebietsstraße**",
-            "describe": "**Benenne die Straße und schließe den Eigenschaftseditor**",
+            "intersect": "Klicke, um mehr Punkte zu einer Linie hinzuzufügen. Du kannst während des Zeichnens die Karte verschieben. Straßen und andere Wege sind Teil eines großen Netzwerkes und müssen ordnungsgemäß miteinander verbunden sein, um sie für Routenführung nutzen zu können. **Klicke auf die \"Flower Street\", um eine Kreuzung zu erzeugen und beide Linien zu verbinden.**",
+            "finish": "Linien können vollendet werden, indem man den letzten Punkt erneut anklickt **Beende das Zeichnen der Straße.**",
+            "road": "**Wähle \"Straße\" aus der Liste aus.**",
+            "residential": "Es gibt verschiedene Straßenarten, die häufigste ist die Wohngebietsstraße. **Wähle die Wohngebietsstraße.**",
+            "describe": "**Benenne die Straße und schließe den Objekteditor.**",
             "restart": "Die Straße muss die Flower Street schneiden.",
-            "wrong_preset": "Du hast nicht die Wohngebietsstraße ausgewählt. **Klicke hier, um es erneut zu versuchen**"
+            "wrong_preset": "Du hast nicht die Wohngebietsstraße ausgewählt. **Klicke hier, um es erneut zu versuchen.**"
         },
         "startediting": {
             "title": "Mit der Bearbeitung anfangen",
             "help": "Mehr Dokumentation und diese Einführung findest du hier.",
-            "save": "Vergiss nicht regelmäßig zu speichern!",
+            "save": "Vergiss nicht, regelmäßig zu speichern!",
             "start": "Fange an zu mappen!"
         }
     },
                 }
             },
             "access_simple": {
+                "label": "Zugang",
+                "placeholder": "Ja"
+            },
+            "access_toilets": {
                 "label": "Zugang"
             },
             "address": {
                 "label": "Adresse",
                 "placeholders": {
-                    "number": "123",
+                    "housename": "Hausname",
+                    "housenumber": "123",
                     "street": "Straße",
                     "city": "Stadt",
-                    "postcode": "Postleitzahl"
+                    "postcode": "Postleitzahl",
+                    "place": "Ort",
+                    "hamlet": "Weiler",
+                    "suburb": "Stadtteil",
+                    "subdistrict": "Stadtbezirk",
+                    "district": "Kreis/Bezirk",
+                    "province": "Regierungsbezirk",
+                    "state": "Bundesland",
+                    "country": "Staat"
                 }
             },
             "admin_level": {
                 "label": "Elektrifizierung"
             },
             "elevation": {
-                "label": "Höhe ü. d. Meeresspiegel"
+                "label": "Höhe über dem Meeresspiegel"
             },
             "emergency": {
                 "label": "Notfall"
                 "placeholder": "1-18"
             },
             "highway": {
-                "label": "Art"
+                "label": "Typ"
             },
             "historic": {
-                "label": "Art"
+                "label": "Typ"
             },
             "hoops": {
                 "label": "Basketball",
             "internet_access": {
                 "label": "Internetzugang",
                 "options": {
+                    "yes": "Ja",
+                    "no": "Nein",
                     "wlan": "Wifi",
-                    "wired": "Kabelgebunden",
+                    "wired": "kabelgebunden",
                     "terminal": "Terminal"
                 }
             },
+            "lamp_type": {
+                "label": "Typ"
+            },
             "landuse": {
-                "label": "Art"
+                "label": "Typ"
             },
             "lanes": {
                 "label": "Fahrspuren",
                 "label": "Ebene"
             },
             "leisure": {
-                "label": "Art"
+                "label": "Typ"
             },
             "length": {
                 "label": "Länge (Meter)"
                 "label": "Position"
             },
             "man_made": {
-                "label": "Art"
+                "label": "Typ"
             },
             "maxspeed": {
                 "label": "Höchstgeschwindigkeit",
             "oneway": {
                 "label": "Einbahnstraße",
                 "options": {
-                    "undefined": "Vermutlich Nein"
+                    "undefined": "Vermutlich Nein",
+                    "yes": "Ja",
+                    "no": "Nein"
                 }
             },
             "oneway_yes": {
                 "label": "Einbahnstraße",
                 "options": {
-                    "undefined": "Vermutlich Ja"
+                    "undefined": "Vermutlich Ja",
+                    "yes": "Ja",
+                    "no": "Nein"
                 }
             },
             "opening_hours": {
                 "label": "Typ"
             },
             "place": {
-                "label": "Art"
+                "label": "Typ"
             },
             "population": {
                 "label": "Bevölkerung"
                 "label": "Typ"
             },
             "railway": {
-                "label": "Art"
+                "label": "Typ"
             },
             "recycling/cans": {
                 "label": "Dosen"
                 "terms": "Flughafen,Terminal,Flughafenterminal,Abfertigungsgebäude,Abfertigungshalle"
             },
             "amenity": {
-                "name": "Einrichtungen",
+                "name": "Einrichtung",
                 "terms": "Einrichtung, Nützlichkeit"
             },
             "amenity/arts_centre": {
                 "terms": "Apotheke"
             },
             "amenity/place_of_worship": {
-                "name": "Gebetsort",
+                "name": "Andachtsstätte",
                 "terms": "Abtei,Basilika,geweihter Ort,Kathedrale,Altarraum,Kantorei,Kapelle,Kirche,Kirchgemeinde,Gotteshaus,Gebetshaus,Dom,Moschee,Oratorium,Heiligtum,Sacellum,Schrein,Synagoge,Tabernakel,Tempel"
             },
             "amenity/place_of_worship/buddhist": {
                 "terms": "Briefkasten,Postkasten,Postbriefkasten"
             },
             "amenity/post_office": {
-                "name": "Poststelle",
+                "name": "Post",
                 "terms": "Post, Postamt"
             },
             "amenity/pub": {
-                "name": "Pub",
+                "name": "Kneipe",
                 "terms": "Kneipe, Pub"
             },
             "amenity/ranger_station": {
             },
             "amenity/university": {
                 "name": "Universität",
-                "terms": "Hochschule"
+                "terms": "Universität, Hochschule"
             },
             "amenity/vending_machine": {
                 "name": "Automat",
                 "terms": "Fläche,Areal"
             },
             "barrier": {
-                "name": "Barrieren",
+                "name": "Barriere",
                 "terms": "Barriere, Hindernis"
             },
             "barrier/block": {
             },
             "highway/motorway_link": {
                 "name": "Autobahnanschluss",
-                "terms": "Auffahrt"
+                "terms": "Autobahnanschluss, Autobahnauffahrt, Autobahnabfahrt, Auffahrt, Abfahrt"
             },
             "highway/path": {
                 "name": "Pfad",
             },
             "highway/primary_link": {
                 "name": "Bundesstraßenanschluss",
-                "terms": "Auffahrt"
+                "terms": "Bundesstraßenanschluss, Bundesstraßenauffahrt, Bundesstraßenabfahrt, Auffahrt, Abfahrt"
             },
             "highway/residential": {
                 "name": "Wohngebietsstraße",
             },
             "highway/secondary_link": {
                 "name": "Landesstraßenanschluss",
-                "terms": "Auffahrt"
+                "terms": "Landesstraßenanschluss, Landesstraßenauffahrt, Landesstraßenabfahrt, Auffahrt, Abfahrt"
             },
             "highway/service": {
                 "name": "Erschließungsweg",
                 "name": "Stoppschild",
                 "terms": "Halt,Stop,Stopp"
             },
+            "highway/street_lamp": {
+                "name": "Straßenlaterne",
+                "terms": "Straßenlaterne, Straßenlampe"
+            },
             "highway/tertiary": {
                 "name": "Kreisstraße",
                 "terms": "Drittrangige Straße"
             },
             "highway/tertiary_link": {
-                "name": "Kreisstraßenanschluss",
+                "name": "Kreisstraßenanschluss, Kreisstraßenauffahrt, Kreisstraßenabfahrt, Auffahrt, Abfahrt",
                 "terms": "Auffahrt"
             },
             "highway/track": {
             },
             "highway/trunk_link": {
                 "name": "Schnellstraßenanschluss",
-                "terms": "Auffahrt"
+                "terms": "Schnellstraßenanschluss, Schnellstraßenauffahrt, Schnellstraßenabfahrt, Auffahrt, Abfahrt"
             },
             "highway/turning_circle": {
                 "name": "Wendestelle",
                 "terms": "historische Stätte"
             },
             "historic/archaeological_site": {
-                "name": "Archeologische Stätte",
+                "name": "Archäologische Stätte",
                 "terms": "Archäologische Stätte, Ausgrabung"
             },
             "historic/boundary_stone": {
                 "terms": "Baugebiet, Baustelle, Großbaustelle"
             },
             "landuse/farm": {
-                "name": "Bauernhof",
-                "terms": "Bauernhof, Farm"
+                "name": " Landwirtschaftliche Fläche",
+                "terms": "Acker, Feld, Plantage, Tierhaltung"
             },
             "landuse/farmland": {
                 "name": "Acker",
                 "terms": "Sportplatz, Sportfeld, Spielfeld"
             },
             "leisure/pitch/american_football": {
-                "name": "American Football Feld",
+                "name": "American-Football-Feld",
                 "terms": "American Football Platz"
             },
             "leisure/pitch/baseball": {
                 "terms": "Gletscher"
             },
             "natural/grassland": {
-                "name": "Grasland",
+                "name": "Wiese",
                 "terms": "Weide, Wiese, Grünland"
             },
             "natural/heath": {
             },
             "railway/tram": {
                 "name": "Straßenbahn",
-                "terms": "Straßenbahn"
+                "terms": "Straßenbahn, Bim, Tramway, Stadtbahn"
             },
             "relation": {
                 "name": "Relation",
                 "terms": "Geschenkeladen, Geschenkehandlung"
             },
             "shop/greengrocer": {
-                "name": "Obst- u. Gemüsehändler",
+                "name": "Gemüsehändler",
                 "terms": "Obsthandlung, Gemüsehandlung, Obst- und Gemüsehandlung"
             },
             "shop/hairdresser": {
                 "terms": "Einkaufszentrum, Mall"
             },
             "shop/mobile_phone": {
-                "name": "Handy-Laden",
+                "name": "Mobiltelefonladen",
                 "terms": "Handygeschäft"
             },
             "shop/motorcycle": {
                 "name": "Supermarkt",
                 "terms": "Supermarkt"
             },
+            "shop/tailor": {
+                "name": "Schneider",
+                "terms": "Schneider, Herrenschneider"
+            },
             "shop/toys": {
                 "name": "Spielwarengeschäft",
                 "terms": "Spielwarengeschäft, Spielzeughandlung, Spielzeugladen, Spielzeuggeschäft"
                 "terms": "Campingplatz, Zeltplatz"
             },
             "tourism/caravan_site": {
-                "name": "Wohnmobilstellplatz",
+                "name": "Campingplatz",
                 "terms": "Wohnwagenpark, Campingplatz"
             },
             "tourism/chalet": {
index 1ef0952..8808162 100644 (file)
             "address": {
                 "label": "Διεύθυνση",
                 "placeholders": {
-                    "number": "123",
                     "street": "Οδός",
-                    "city": "Πόλη",
-                    "postcode": "Ταχυδρομικός Κώδικας"
+                    "city": "Πόλη"
                 }
             },
             "admin_level": {
             },
             "barrier/bollard": {
                 "name": "Στύλος",
-                "terms": "Î\9aολÏ\8eνα, Î£Ï\84Ï\8dλοÏ\82"
+                "terms": "Î\9aολÏ\8cνα, Î£Ï\84Ï\8dλοÏ\82, Î£Ï\84Ï\8dλοι"
             },
             "barrier/cattle_grid": {
                 "name": "Συρματόπλεγμα"
             },
             "landuse/cemetery": {
                 "name": "Κοιμητήριο",
-                "terms": "Î\9aοιμηÏ\84ήÏ\81ιο"
+                "terms": "Î\9dεκÏ\81οÏ\84αÏ\86είο"
             },
             "landuse/commercial": {
                 "name": "Εμπορική",
                 "terms": "Χώρος εκδρομής, Χώρος πικ νικ"
             },
             "tourism/theme_park": {
-                "name": "Î\98εμαÏ\84ικÏ\8c Î Î¬Ï\81κο",
-                "terms": "Θεματικό πάρκο"
+                "name": "ΠάÏ\81κο Î¨Ï\85Ï\87αγÏ\89γίαÏ\82",
+                "terms": "Θεματικό πάρκο, Λούνα παρκ"
             },
             "tourism/viewpoint": {
                 "name": "Σημείο θέασης",
index 771cb75..f4e8032 100644 (file)
         }
     },
     "presets": {
+        "fields": {
+            "fax": {
+                "placeholder": "+44 207 123456"
+            },
+            "fuel/lpg": {
+                "label": "Sells LPG"
+            },
+            "lit": {
+                "label": "Street Lighting"
+            },
+            "phone": {
+                "placeholder": "+44 207 123456"
+            },
+            "toilets/disposal": {
+                "label": "Toilet Disposal"
+            }
+        },
         "presets": {
+            "aerialway/gondola": {
+                "terms": "Dangleway"
+            },
             "amenity/arts_centre": {
                 "name": "Arts Centre"
             },
             "building/terrace": {
                 "name": "Terraced houses"
             },
+            "footway/crosswalk": {
+                "name": "Pedestrian Crossing"
+            },
+            "highway/bridleway": {
+                "name": "Bridleway"
+            },
+            "highway/crosswalk": {
+                "name": "Zebra Crossing"
+            },
+            "landuse/commercial": {
+                "name": "Commercial landuse"
+            },
+            "leisure/pitch/baseball": {
+                "name": "Baseball"
+            },
+            "leisure/pitch/soccer": {
+                "name": "Football Field"
+            },
+            "office/estate_agent": {
+                "name": "Estate Agent"
+            },
+            "shop/alcohol": {
+                "name": "Off license"
+            },
+            "shop/confectionery": {
+                "name": "Confectionery Shop"
+            },
+            "shop/farm": {
+                "name": "Farm Shop"
+            },
             "shop/garden_centre": {
                 "name": "Garden Centre"
             },
index 61fe5ce..7cbc571 100644 (file)
                 "area": "Moved an area.",
                 "multiple": "Moved multiple objects."
             },
-            "incomplete_relation": "This feature can't be moved because it hasn't been fully downloaded."
+            "incomplete_relation": "This feature can't be moved because it hasn't been fully downloaded.",
+            "too_large": "This can't be moved because not enough of it is currently visible."
         },
         "rotate": {
             "title": "Rotate",
             "annotation": {
                 "line": "Rotated a line.",
                 "area": "Rotated an area."
-            }
+            },
+            "too_large": "This can't be rotated because not enough of it is currently visible."
         },
         "reverse": {
             "title": "Reverse",
         "untagged_area": "Untagged area",
         "many_deletions": "You're deleting {n} objects. Are you sure you want to do this? This will delete them from the map that everyone else sees on openstreetmap.org.",
         "tag_suggests_area": "The tag {tag} suggests line should be area, but it is not an area",
-        "untagged_tooltip": "Select a feature type that describes what this {geometry} is.",
+        "untagged_point_tooltip": "Select a feature type that describes what this point is.",
+        "untagged_line_tooltip": "Select a feature type that describes what this line is.",
+        "untagged_area_tooltip": "Select a feature type that describes what this area is.",
         "deprecated_tags": "Deprecated tags: {tags}"
     },
     "zoom": {
                 }
             },
             "access_simple": {
+                "label": "Access",
+                "placeholder": "yes"
+            },
+            "access_toilets": {
                 "label": "Access"
             },
             "address": {
                 "label": "Address",
                 "placeholders": {
-                    "number": "123",
+                    "housename": "Housename",
+                    "housenumber": "123",
                     "street": "Street",
                     "city": "City",
-                    "postcode": "Postal code"
+                    "postcode": "Postcode",
+                    "place": "Place",
+                    "hamlet": "Hamlet",
+                    "suburb": "Suburb",
+                    "subdistrict": "Subdistrict",
+                    "district": "District",
+                    "province": "Province",
+                    "state": "State",
+                    "country": "Country"
                 }
             },
             "admin_level": {
                     "terminal": "Terminal"
                 }
             },
+            "lamp_type": {
+                "label": "Type"
+            },
             "landuse": {
                 "label": "Type"
             },
                 "name": "Stop Sign",
                 "terms": "stop sign"
             },
+            "highway/street_lamp": {
+                "name": "Street Lamp",
+                "terms": "streetlight,street light,lamp,light,gaslight"
+            },
             "highway/tertiary": {
                 "name": "Tertiary Road",
                 "terms": ""
                 "name": "Supermarket",
                 "terms": "bazaar,boutique,chain,co-op,cut-rate store,discount store,five-and-dime,flea market,galleria,grocery store,mall,mart,outlet,outlet store,shop,shopping center,shopping centre,shopping plaza,stand,store,supermarket,thrift shop"
             },
+            "shop/tailor": {
+                "name": "Tailor",
+                "terms": "tailor,clothes"
+            },
             "shop/toys": {
                 "name": "Toy Store",
                 "terms": ""
index 5687bc1..ef7caf6 100644 (file)
@@ -2,35 +2,35 @@
     "modes": {
         "add_area": {
             "title": "Área",
-            "description": "Añadir parques, edificios, lagos o otras áreas al mapa.",
+            "description": "Añadir parques, edificios, lagos u otras áreas al mapa.",
             "tail": "Haga clic en el mapa para empezar a dibujar un área, como un parque, lago o edificio."
         },
         "add_line": {
             "title": "Línea",
-            "description": "Añadir autopistas, calles, sendas peatonales, canales u otros elementos lineales a el mapa.",
-            "tail": "Haga clic para empezar a dibujar en el mapa, una calle, camino o ruta."
+            "description": "Añadir carreteras, calles, sendas peatonales, canales u otros elementos lineales al mapa.",
+            "tail": "Haga clic en el mapa para empezar a dibujar una calle, camino o ruta."
         },
         "add_point": {
             "title": "Punto",
-            "description": "Añadir restaurantes, monumentos, buzones u otros puntos en el mapa.",
-            "tail": "Haga clic para añadir un punto en el mapa."
+            "description": "Añadir restaurantes, monumentos, buzones postales u otros puntos al mapa.",
+            "tail": "Haga clic en el mapa para añadir un punto."
         },
         "browse": {
             "title": "Navegar",
             "description": "Desplazar y acercar el mapa."
         },
         "draw_area": {
-            "tail": "Haz clic para agregar vértices en tu área. Haz clic de nuevo en el primer vértice para cerrar el área."
+            "tail": "Haga clic para añadir nodos a su área. Haga clic en el primer nodo para terminar el área."
         },
         "draw_line": {
-            "tail": "Haz clic para agregar más vértices a la línea. Haz clic en otras líneas para conectarlas y doble clic para finalizar."
+            "tail": "Haga clic para añadir más nodos a la línea. Haga clic en otras líneas para conectarse a ellas y haga doble clic para terminar la línea."
         }
     },
     "operations": {
         "add": {
             "annotation": {
                 "point": "Punto añadido.",
-                "vertex": "Vértice añadido a la vía.",
+                "vertex": "Nodo añadido a la vía.",
                 "relation": "Relación añadida."
             }
         },
                 "area": "Área movida",
                 "multiple": "Múltiples objetos movidos."
             },
-            "incomplete_relation": "Este elemento del mapa no puede ser desplazado porque no se ha descargado completamente."
+            "incomplete_relation": "Este elemento del mapa no puede ser desplazado porque no se ha descargado completamente.",
+            "too_large": "Esto no puede ser movido porque no está completamente visible."
         },
         "rotate": {
             "title": "Rotar",
             "annotation": {
                 "line": "Línea rotada.",
                 "area": "Área rotada."
-            }
+            },
+            "too_large": "Esto no puede rotarse porque no está completamente visible."
         },
         "reverse": {
             "title": "Invertir",
             },
             "not_eligible": "Las líneas no pueden ser divididas en su inicio o termino.",
             "multiple_ways": "Hay demasiadas líneas para dividir."
+        },
+        "restriction": {
+            "help": {
+                "select": "Haga click para seleccionar un segmento de la vía",
+                "toggle": "Haga clic para activar o desactivar las restricciones de giro.",
+                "toggle_on": "Haga clic para añadir una restricción  de \"{restriction}\"",
+                "toggle_off": "Haga clic para eliminar la restricción  de \"{restriction}\""
+            },
+            "annotation": {
+                "create": "Restricción de giro añadida",
+                "delete": "Restricción de giro eliminada"
+            }
         }
     },
     "undo": {
         "untagged_area": "Área sin etiquetar",
         "many_deletions": "Está eliminando {n} objetos ¿Está seguro que quiere hacer esto? Esta acción los eliminará del mapa que todos ven en openstreetmap.org.",
         "tag_suggests_area": "La etiqueta {tag} sugiere que esta línea debería ser una área, pero no lo es.",
-        "untagged_tooltip": "Seleccione un tipo de característica que describa lo que es esta {geometry}.",
+        "untagged_point_tooltip": "Seleccione un tipo de característica que describa lo que es este punto.",
+        "untagged_line_tooltip": "Seleccione un tipo de característica que describa lo que es esta línea.",
+        "untagged_area_tooltip": "Seleccione un tipo de característica que describa lo que es esta área.",
         "deprecated_tags": "Etiquetas obsoletas: {tags}"
     },
     "zoom": {
                 }
             },
             "access_simple": {
+                "label": "Acceso",
+                "placeholder": "sí"
+            },
+            "access_toilets": {
                 "label": "Acceso"
             },
             "address": {
                 "label": "Dirección",
                 "placeholders": {
-                    "number": "123",
+                    "housename": "Nombre de casa",
+                    "housenumber": "123",
                     "street": "Calle",
                     "city": "Ciudad",
-                    "postcode": "Código postal"
+                    "postcode": "Código postal",
+                    "place": "Lugar",
+                    "hamlet": "Aldea",
+                    "suburb": "Suburbio",
+                    "subdistrict": "Subdistrito",
+                    "district": "Distrito",
+                    "province": "Provincia",
+                    "state": "Estado",
+                    "country": "País"
                 }
             },
             "admin_level": {
             "fuel/lpg": {
                 "label": "Venta de propano"
             },
+            "fuel/octane_100": {
+                "label": "Vende gasolina de carreras"
+            },
+            "fuel/octane_91": {
+                "label": "Vende gasolina regular"
+            },
+            "fuel/octane_95": {
+                "label": "Vende gasolina de mediano grado"
+            },
+            "fuel/octane_98": {
+                "label": "Vende gasolina premium"
+            },
             "gauge": {
                 "label": "Gálibo"
             },
             "internet_access": {
                 "label": "Acceso a Internet",
                 "options": {
+                    "yes": "Sí",
+                    "no": "No",
                     "wlan": "Wi-Fi",
                     "wired": "Por cable",
                     "terminal": "Terminal"
                 }
             },
+            "lamp_type": {
+                "label": "Tipo"
+            },
             "landuse": {
                 "label": "Tipo"
             },
                 "label": "Tipo"
             },
             "oneway": {
-                "label": "Sentido único"
+                "label": "Sentido único",
+                "options": {
+                    "undefined": "Se asume que es No",
+                    "yes": "Sí",
+                    "no": "No"
+                }
             },
             "oneway_yes": {
-                "label": "Sentido único"
+                "label": "Sentido único",
+                "options": {
+                    "undefined": "Se asume que es Sí",
+                    "yes": "Sí",
+                    "no": "No"
+                }
             },
             "opening_hours": {
                 "label": "Horas"
             "restriction": {
                 "label": "Tipo"
             },
+            "restrictions": {
+                "label": "Restricciones de giro"
+            },
             "route": {
                 "label": "Tipo"
             },
             "shop": {
                 "label": "Tipo"
             },
+            "sloped_curb": {
+                "label": "Bordillo inclinado"
+            },
             "smoking": {
                 "label": "Fumar"
             },
                     "bridge": "Puente",
                     "tunnel": "Túnel",
                     "embankment": "Dique",
-                    "cutting": "Desmonte"
+                    "cutting": "Desmonte",
+                    "ford": "Vado"
                 }
             },
             "studio_type": {
             },
             "aeroway/aerodrome": {
                 "name": "Aeropuerto",
-                "terms": "aeropuerto, aeródromo, base aérea, campo de aviación, terminal aérea"
+                "terms": "aeropuerto, aeródromo, base aérea, campo de aviación, terminal aérea, avión, aeronave"
             },
             "aeroway/apron": {
                 "name": "Plataforma de estacionamiento",
             },
             "aeroway/helipad": {
                 "name": "Helipuerto",
-                "terms": "helisuperficie,plataforma para helicópteros,helipad"
+                "terms": "helipuerto, pista de aterrizaje para helicópteros, pista de despegue para helicópteros, helicóptero"
             },
             "aeroway/runway": {
                 "name": "Pista de aeropuerto",
             },
             "amenity/bank": {
                 "name": "Banco",
-                "terms": "banco,banca,bancario,cooperativa de ahorro y crédito,cooperativa de crédito,SACCO,financiera,entidad bancaria"
+                "terms": "banco, bancario, cooperativa de ahorro y crédito, cooperativa de crédito, financiera, entidad bancaria"
             },
             "amenity/bar": {
                 "name": "Bar",
             },
             "amenity/cafe": {
                 "name": "Cafetería",
-                "terms": "café,cafetería,bar"
+                "terms": "café, cafetería, té, salón de té, bar, restaurante"
             },
             "amenity/car_rental": {
                 "name": "Alquiler de automóviles",
             },
             "amenity/cinema": {
                 "name": "Cine",
-                "terms": "cinematógrafo,cine"
+                "terms": "cine, sala de cine, cinematógrafo, cinemateca, película, film, filme, vídeo"
             },
             "amenity/clinic": {
                 "name": "Clínica",
             },
             "amenity/courthouse": {
                 "name": "Palacio de justicia",
-                "terms": "tribunal, magistratura, judicatura, audiencia,justicia"
+                "terms": "palacio de justicia, juzgado, corte judicial, corte, oficina judicial, tribunal, magistratura, judicatura, audiencia, justicia"
             },
             "amenity/dentist": {
                 "name": "Dentista",
                 "name": "Médico",
                 "terms": "médico, doctor, facultativo, medicina, curador"
             },
+            "amenity/dojo": {
+                "name": "Academia de artes marciales",
+                "terms": "dojo, academia, artes marciales, karate, judo, taekwondo, kendo, ninjutsu"
+            },
             "amenity/drinking_water": {
                 "name": "Agua potable",
                 "terms": "potable,bebible,fuente,manantial, fontana, fontanal, hontanar, venero"
             },
             "amenity/hospital": {
                 "name": "Hospital",
-                "terms": "Recinto hospitalario"
+                "terms": "Recinto hospitalario, hospital, clínica"
             },
             "amenity/kindergarten": {
                 "name": "Jardín de infancia",
             },
             "amenity/place_of_worship": {
                 "name": "Lugar de culto",
-                "terms": "templo, basílica, capilla, colegiata, parroquia, santuario, ermita, oratorio,iglesia, basílica, catedral, sinagoga, mezquita, pagoda,morabito, rábida,templo,aljama"
+                "terms": "templo, basílica, capilla, colegiata, parroquia, santuario, ermita, oratorio, iglesia, catedral, sinagoga, mezquita, pagoda, morabito, rábida, aljama, religión"
             },
             "amenity/place_of_worship/buddhist": {
                 "name": "Templo budista",
             },
             "amenity/place_of_worship/christian": {
                 "name": "Iglesia",
-                "terms": "templo, basílica, capilla, colegiata, parroquia, santuario, ermita, oratorio,iglesia, basílica, catedral"
+                "terms": "templo, basílica, capilla, colegiata, parroquia, santuario, ermita, oratorio, iglesia, catedral, oratorio, religión"
             },
             "amenity/place_of_worship/jewish": {
                 "name": "Sinagoga",
-                "terms": "templo, aljama,sinagoga"
+                "terms": "templo, aljama, sinagoga, judío, religión"
             },
             "amenity/place_of_worship/muslim": {
                 "name": "Mezquita",
-                "terms": "mezquita,morabito, rábida"
+                "terms": "mezquita, morabito, rábida, musulmán, religión"
             },
             "amenity/police": {
                 "name": "Policía",
-                "terms": "policía,comisaría,gendarmería,cuartel,guardia civil"
+                "terms": "policía, comisaría, gendarmería, cuartel, guardia civil, guardia municipal"
             },
             "amenity/post_box": {
                 "name": "Buzón de correos",
-                "terms": "buzón, casillero, apartado, correos, correo"
+                "terms": "buzón, casillero, apartado, correo, carta, encomienda"
             },
             "amenity/post_office": {
                 "name": "Oficina de correos",
             },
             "amenity/restaurant": {
                 "name": "Restaurante",
-                "terms": "restaurante,restorán, comedor, ambigú, bufé, mesón, taberna"
+                "terms": "restaurante, restorán, comedor, ambigú, bufé, mesón, taberna, comida, bebida, plaza de comida"
             },
             "amenity/school": {
                 "name": "Escuela",
-                "terms": "Recinto escolar"
+                "terms": "recinto escolar, terreno escolar, escuela, colegio, instituto"
             },
             "amenity/shelter": {
                 "name": "Refugio",
             },
             "amenity/theatre": {
                 "name": "Teatro",
-                "terms": "Teatro"
+                "terms": "teatro, anfiteatro, arte, cultura, escenografía, música, sonido, espectáculo"
             },
             "amenity/toilets": {
-                "name": "Aseos",
+                "name": "Baños",
                 "terms": "baños, baño, aseo, letrina, lavabo, servicio, tocador, ducha"
             },
             "amenity/townhall": {
                 "name": "Ayuntamiento",
-                "terms": "ayuntamiento,alcaldía, municipio, municipalidad, corporación, concejo, consistorio, cabildo"
+                "terms": "ayuntamiento, alcaldía, municipio, municipalidad, municipal, corporación, concejo, consistorio, cabildo, gobierno local, gobierno municipal, alcalde, intendente, concejales, ediles, comuna, casa consistorial"
             },
             "amenity/university": {
                 "name": "Universidad",
                 "name": "Acera",
                 "terms": "acera, paso, bordillo, anden, borde, peatonal, peatón"
             },
+            "ford": {
+                "name": "Vado",
+                "terms": "Vado, paso, cruce"
+            },
             "golf/bunker": {
                 "name": "Búnker"
             },
                 "name": "Obstáculo de agua"
             },
             "highway": {
-                "name": "a",
+                "name": "Carretera",
                 "terms": "calle, cañada, ronda, carril, pista, ruta, arteria, rúa, trayecto, avenida, carretera, paseo, camino, senda"
             },
             "highway/bridleway": {
                 "terms": "parada, bus, autobús, marquesina"
             },
             "highway/crossing": {
-                "name": "Cruce peatonal",
-                "terms": "cruce peatonal, paso peatonal, paso de cebra, paso de peatones, paso semafórico"
+                "name": "Cruce",
+                "terms": "cruce peatonal, paso peatonal, franja peatonal, paso de cebra, paso de peatones, paso semafórico, peatón, ciudadano"
             },
             "highway/crosswalk": {
                 "name": "Cruce peatonal",
                 "terms": "Camino para bicicletas, senda ciclable, sendero ciclista, carril bici"
             },
             "highway/footway": {
-                "name": "Vía urbana peatonal",
-                "terms": "Camino peatonal"
+                "name": "Sendero peatonal",
+                "terms": "camino peatonal, sendero peatonal, peatón, sendero natural"
             },
             "highway/living_street": {
                 "name": "Calle residencial",
                 "terms": "autopista, autovía, vía rápida"
             },
             "highway/motorway_junction": {
-                "name": "Cruce / salida de autopista",
+                "name": "Cruce/salida de autopista",
                 "terms": "enlace, acceso, autopista, autovía, salida"
             },
             "highway/motorway_link": {
                 "name": "Señal de Stop",
                 "terms": "señal de detención, señal de parada, señal, stop, detención, parada"
             },
+            "highway/street_lamp": {
+                "name": "Lámpara de alumbrado público"
+            },
             "highway/tertiary": {
                 "name": "Carretera terciaria",
                 "terms": "calle, ronda, carril, ruta, arteria, rúa, trayecto, avenida, carretera, paseo, camino, vía, local, terciaria"
             },
             "highway/traffic_signals": {
                 "name": "Semáforos",
-                "terms": "señal, tráfico, semáforo"
+                "terms": "semáforo, señal de tráfico, luces de tráfico, luces de señalización, luces de parado, señal, tráfico, tránsito, control"
             },
             "highway/trunk": {
                 "name": "Carretera troncal",
                 "terms": "cementerio, camposanto, necrópolis, sacramental"
             },
             "landuse/churchyard": {
-                "name": "Camposanto"
+                "name": "Camposanto",
+                "terms": "cementerio, camposanto, tumbas"
             },
             "landuse/commercial": {
                 "name": "Comercial",
                 "terms": "cantera"
             },
             "landuse/residential": {
-                "name": "Suelo Urbano residencial",
+                "name": "Residencial",
                 "terms": "zona, residencial, urbano, suelo"
             },
             "landuse/retail": {
             },
             "leisure/park": {
                 "name": "Parque",
-                "terms": "parque, jardín"
+                "terms": "parque, plaza, recreación, natural, plazuela, recreación, jardines"
             },
             "leisure/picnic_table": {
                 "name": "Mesa de picnic",
                 "terms": "Cancha de fútbol americano"
             },
             "leisure/pitch/baseball": {
-                "name": "Diamante de Béisbol",
+                "name": "Diamante de béisbol",
                 "terms": "Campo de Beisbol"
             },
             "leisure/pitch/basketball": {
                 "terms": "tubería, cañería, caño, conducto, red"
             },
             "man_made/survey_point": {
-                "name": "Vértice geodésico",
+                "name": "Punto geodésico",
                 "terms": "Vértice geodésico"
             },
             "man_made/tower": {
             },
             "natural/water/pond": {
                 "name": "Estanque",
-                "terms": "Estanque"
+                "terms": "estanque, charca, pozo de agua, agua estancada"
             },
             "natural/water/reservoir": {
                 "name": "Embalse",
             },
             "place/island": {
                 "name": "Isla",
-                "terms": "Isla"
+                "terms": "isla"
             },
             "place/isolated_dwelling": {
                 "name": "Vivienda aislada",
                 "name": "Barrio",
                 "terms": "barrio, vecindario, vecindad"
             },
+            "place/suburb": {
+                "name": "Burgo"
+            },
             "place/town": {
                 "name": "Ciudad",
                 "terms": "ciudad, pueblo, población, localidad, villa, núcleo urbano, urbano"
                 "name": "Supermercado",
                 "terms": "supermercado, autoservicio, mercado, hipermercado, alimentación, víveres"
             },
+            "shop/tailor": {
+                "name": "Sastre"
+            },
             "shop/toys": {
                 "name": "Tienda de juguetes",
                 "terms": "juguetería,juguetes"
                 "terms": "tienda, alquiler, renta, tienda de vídeos, videoclub, alquiler de vídeos, renta de vídeos"
             },
             "shop/wine": {
-                "name": "Vinoteca, Tienda de vinos"
+                "name": "Vinoteca, Tienda de vinos",
+                "terms": "vinatería, vinos, espirituosos, licorería, bebidas"
             },
             "tourism": {
                 "name": "Turismo",
                 "name": "No girar a la derecha",
                 "terms": "no girar a la derecha, prohibido girar a la derecha"
             },
+            "type/restriction/no_straight_on": {
+                "name": "Prohibido seguir de frente",
+                "terms": "continuar, recto, de frente, a derecho"
+            },
+            "type/restriction/no_u_turn": {
+                "name": "Prohibido cambiar de sentido",
+                "terms": "giro en U, cambio de sentido"
+            },
             "type/restriction/only_left_turn": {
-                "name": "Sólo girar a la izquierda"
+                "name": "Sólo girar a la izquierda",
+                "terms": "giro, izquierda"
             },
             "type/restriction/only_right_turn": {
-                "name": "Sólo girar a la derecha"
+                "name": "Sólo girar a la derecha",
+                "terms": "giro, derecha"
             },
             "type/restriction/only_straight_on": {
                 "name": "No girar",
index 052adee..40543e7 100644 (file)
             "address": {
                 "label": "Aadress",
                 "placeholders": {
-                    "number": "123",
                     "street": "Tänav",
-                    "city": "Linn",
-                    "postcode": "Postiindeks"
+                    "city": "Linn"
                 }
             },
             "aeroway": {
index aea9e29..cd8e1f4 100644 (file)
@@ -1,7 +1,7 @@
 {
     "modes": {
         "add_area": {
-            "title": "Ù\81ضاÙ\87ا",
+            "title": "Ù\85حدÙ\88دÙ\87",
             "description": "افزودن پارک ها، ساختمان ها، دریاچه ها و سایر فضاها به نقشه.",
             "tail": "برای شروع کشیدن فضا هایی مثل پارک، دریاچه، یا ساختمان روی نقشه کلیک کنید."
         },
             },
             "not_eligible": "خطوط در شروع و پایانشان قابل تقسیم نیستند.",
             "multiple_ways": "تعداد خیلی زیادی خط برای تقسیم اینجا وجود دارد."
+        },
+        "restriction": {
+            "help": {
+                "select": "کلیک برای انتخاب یک بخش جاده"
+            }
         }
     },
     "undo": {
         "percent_brightness": "{opacity}% روشنایی",
         "none": "هیچ",
         "custom": "سفارشی",
+        "custom_button": "ویرایش پشت زمینه سفارشی",
         "fix_misalignment": "تعمیر تراز",
         "reset": "باز نشاندن"
     },
         "untagged_area": "فضای برچسب گذاری نشده",
         "many_deletions": "شما در حال حذف {n} شیئ هستید. مطمئنید میخواهید این کار را انجام دهید؟ این کار آنها را از نقشه ای که دیگران در openstreetmap.org میبینند حذف می کند.",
         "tag_suggests_area": "برچسب  {tag} پیشنهاد میکند خط باید یک فضا باشد، اما این یک فضا نیست",
-        "untagged_tooltip": "یک نوع ویژگی را انتخاب کنید که توصیف کند این {geometry} چیست.",
         "deprecated_tags": "برچسب های توصیه شده: {tags}"
     },
     "zoom": {
             "address": {
                 "label": "ادرس",
                 "placeholders": {
-                    "number": "123",
                     "street": "خيابان",
-                    "city": "شهر",
-                    "postcode": "کد پستی"
+                    "city": "شهر"
                 }
             },
             "admin_level": {
             "entrance": {
                 "label": "نوع"
             },
+            "except": {
+                "label": "استثناها"
+            },
             "fax": {
                 "label": "نمابر",
                 "placeholder": "+31 42 123 4567"
             "fixme": {
                 "label": "تصحیح من"
             },
+            "fuel": {
+                "label": "سوخت"
+            },
             "gauge": {
                 "label": "مقیاس"
             },
             "historic": {
                 "label": "نوع"
             },
+            "hoops": {
+                "placeholder": "1, 2, 4..."
+            },
             "iata": {
                 "label": "یاتا"
             },
             "leisure": {
                 "label": "نوع"
             },
+            "length": {
+                "label": "طول (متر)"
+            },
             "levels": {
                 "label": "سطح",
                 "placeholder": "2, 4, 6..."
             "sac_scale": {
                 "label": "سختی مسیر"
             },
+            "seasonal": {
+                "label": "فصلی"
+            },
             "service": {
                 "label": "نوع"
             },
             "shop": {
                 "label": "نوع"
             },
+            "social_facility_for": {
+                "placeholder": "بی خانمان، معلول، کودک، و غیره"
+            },
             "source": {
                 "label": "منبع"
             },
             "sport": {
                 "label": "ورزشي"
             },
+            "sport_ice": {
+                "label": "ورزشی"
+            },
             "structure": {
                 "label": "ساختاری",
                 "placeholder": "ناشناخته",
             "tree_type": {
                 "label": "نوع"
             },
+            "trees": {
+                "label": "درخت‌ها"
+            },
             "tunnel": {
                 "label": "تونل"
             },
                 "name": "کارواش",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کارواش'، با کاما جدا میشوند>"
             },
+            "amenity/charging_station": {
+                "name": "ایستگاه شارژ"
+            },
             "amenity/childcare": {
                 "name": "مراقبت از کودک",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مراقبت از کودک'، با کاما جدا میشوند>"
                 "name": "مقبره",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'مقبره'، با کاما جدا میشوند>"
             },
+            "amenity/hospital": {
+                "name": "محیط بیمارستان"
+            },
+            "amenity/kindergarten": {
+                "name": "محیط کودکستان"
+            },
             "amenity/library": {
                 "name": "کتابخانه",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'کتابخانه'، با کاما جدا میشوند>"
             "amenity/parking": {
                 "name": "پارکینگ خودرو"
             },
+            "amenity/parking_entrance": {
+                "name": "ورودی/خروجی پارکینگ"
+            },
             "amenity/pharmacy": {
                 "name": "داروخانه",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'داروخانه'، با کاما جدا میشوند>"
                 "name": "رستوران",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'رستوران'، با کاما جدا میشوند>"
             },
+            "amenity/school": {
+                "name": "محیط مدرسه"
+            },
             "amenity/shelter": {
                 "name": "پناه گاه"
             },
+            "amenity/social_facility/food_bank": {
+                "name": "فروشگاه مواد غذایی"
+            },
+            "amenity/social_facility/homeless_shelter": {
+                "name": "پناهگاه بی خانمان‌ها"
+            },
             "amenity/studio": {
                 "name": "استدیو"
             },
                 "name": "آپارتمان ها",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'آپارتمان'، با کاما جدا میشوند>"
             },
+            "building/cabin": {
+                "name": "کابین"
+            },
+            "building/cathedral": {
+                "name": "کلیسای بزرگ"
+            },
+            "building/chapel": {
+                "name": "کلیسای کوچک"
+            },
+            "building/church": {
+                "name": "کلیسا"
+            },
             "building/commercial": {
                 "name": "ساختمان ارتباطی",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان ارتباطی'، با کاما جدا میشوند>"
             },
+            "building/construction": {
+                "name": "ساختمان در دست ساخت"
+            },
+            "building/dormitory": {
+                "name": "خوابگاه"
+            },
+            "building/entrance": {
+                "name": "ورود/خروج"
+            },
             "building/garage": {
                 "name": "گاراژ",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'گاراژ'، با کاما جدا میشوند>"
             },
+            "building/garages": {
+                "name": "گاراژ"
+            },
+            "building/greenhouse": {
+                "name": "گلخانه"
+            },
+            "building/hospital": {
+                "name": "ساختمان بیمارستان"
+            },
+            "building/hotel": {
+                "name": "ساختمان هتل"
+            },
             "building/house": {
                 "name": "خانه",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'خانه'، با کاما جدا میشوند>"
                 "name": "ساختمان صنعتی",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان صنعتی'، با کاما جدا میشوند>"
             },
+            "building/public": {
+                "name": "ساختمان عمومی"
+            },
             "building/residential": {
                 "name": "ساختمان مسکونی",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'ساختمان مسکونی'، با کاما جدا میشوند>"
             },
+            "building/retail": {
+                "name": "ساختمان خرده فروشی"
+            },
+            "building/roof": {
+                "name": "سقف"
+            },
+            "building/school": {
+                "name": "ساختمان مدرسه"
+            },
+            "building/stable": {
+                "name": "اصطبل"
+            },
+            "building/train_station": {
+                "name": "ایستگاه قطار"
+            },
+            "building/university": {
+                "name": "ساختمان دانشگاه"
+            },
             "craft/basket_maker": {
                 "name": "سبد ساز"
             },
                 "name": "تلفن اورژانسی",
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'تلفن اورژانسی'، با کاما جدا میشوند>"
             },
+            "entrance": {
+                "name": "ورود/خروج"
+            },
             "footway/crossing": {
                 "name": "خط عابر پیاده"
             },
                 "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای   'Mini-Roundabout'، با کاما جدا میشوند>"
             },
             "highway/motorway": {
-                "name": "مسیر موتور سواری",
-                "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'راه وسایل موتوری'، با کاما جدا میشوند>"
+                "name": "بزرگراه",
+                "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'بزرگراه'، با کاما جدا میشوند>"
+            },
+            "highway/motorway_junction": {
+                "name": "تقاطع بزرگراه / خروج",
+                "terms": "<ترجمه با مترادف یا اصطلاحات مشابه برای 'تقاطع بزرگراه/خروج'، با کاما جدا میشوند>"
             },
             "highway/motorway_link": {
-                "name": "اتصاÙ\84 Ø¬Ø§Ø¯Ù\87 Ù\85Ù\88تÙ\88ر Ø³Û\8cÚ©Ù\84ت",
-                "terms": "<ترجÙ\85Ù\87 Ø¨Ø§ Ù\85ترادÙ\81 Û\8cا Ø§ØµØ·Ù\84احات Ù\85شابÙ\87 Ø¨Ø±Ø§Û\8c 'Ù¾Û\8cÙ\88ستÙ\86 Ø¬Ø§Ø¯Ù\87 Ù\85Ù\88تÙ\88ر'، با کاما جدا میشوند>"
+                "name": "اتصاÙ\84 Ø¨Ø²Ø±Ú¯Ø±Ø§Ù\87",
+                "terms": "<ترجÙ\85Ù\87 Ø¨Ø§ Ù\85ترادÙ\81 Û\8cا Ø§ØµØ·Ù\84احات Ù\85شابÙ\87 Ø¨Ø±Ø§Û\8c 'Ù¾Û\8cÙ\88ستÙ\86 Ø¨Ø²Ø±Ú¯Ø±Ø§Ù\87'، با کاما جدا میشوند>"
             },
             "highway/path": {
                 "name": "مسیر",
             "landuse/industrial": {
                 "name": "صنعتی"
             },
+            "landuse/landfill": {
+                "name": "محل دفن مواد (زباله)"
+            },
             "landuse/meadow": {
                 "name": "مرغزار"
             },
+            "landuse/military": {
+                "name": "نظامی"
+            },
             "landuse/orchard": {
                 "name": "باغ میوه"
             },
             "leisure/slipway": {
                 "name": "قایق ساکن"
             },
+            "leisure/sports_center": {
+                "name": "مرکز ورزشی/ بدنسازی"
+            },
             "leisure/stadium": {
                 "name": "ورزشگاه"
             },
             "shop/alcohol": {
                 "name": "مغازه مشروب فروشی"
             },
+            "shop/art": {
+                "name": "فروشگاه هنری"
+            },
             "shop/bakery": {
                 "name": "نانوایی"
             },
             "shop/bicycle": {
                 "name": "فروشگاه دوچرخه"
             },
+            "shop/bookmaker": {
+                "name": "صحافی"
+            },
             "shop/books": {
                 "name": "کتاب فروشی"
             },
             "shop/locksmith": {
                 "name": "قفل سازی"
             },
+            "shop/lottery": {
+                "name": "فروشگاه قرعه کشی"
+            },
             "shop/mall": {
                 "name": "مرکز خرید"
             },
index 2591f42..38a1506 100644 (file)
         "untagged_area": "Alue, jolla ei ole tageja",
         "many_deletions": "Haluatko varmasti poistaa {n} kohdetta? Kohteet poistetaan kaikkien näkyviltä OpenStreetMap-palvelussa.",
         "tag_suggests_area": "Tagin {tag} mukaan viiva on alue, vaikka se ei sitä ole.",
-        "untagged_tooltip": "Valitse karttakohteen tyyppi, joka parhaiten edustaa sitä mikä tämä {geometry} on.",
         "deprecated_tags": "Vanhentuneet tagit: {tags}"
     },
     "zoom": {
             "address": {
                 "label": "Osoite",
                 "placeholders": {
-                    "number": "123",
                     "street": "Kadunnimi",
                     "city": "Paikkakunta",
                     "postcode": "Postinumero"
                 "label": "Tyyppi"
             },
             "oneway": {
-                "label": "Yksisuuntaisuus"
+                "label": "Yksisuuntaisuus",
+                "options": {
+                    "undefined": "Oletettavasti Ei"
+                }
             },
             "oneway_yes": {
-                "label": "Yksisuuntaisuus"
+                "label": "Yksisuuntaisuus",
+                "options": {
+                    "undefined": "Oletettavasti Kyllä"
+                }
             },
             "opening_hours": {
                 "label": "Aukioloajat"
                 "name": "Sompahissi"
             },
             "aerialway/pylon": {
-                "name": "ilmaradan pylväs"
+                "name": "Ilmaradan pylväs"
             },
             "aerialway/rope_tow": {
                 "name": "Naruhissi"
                 "name": "Ammattiopisto",
                 "terms": "ammattiopisto, amis, ammattikoulu, koulu, koulutus, oppilaitos, toinen aste"
             },
+            "amenity/compressed_air": {
+                "name": "Ilmanpainepiste",
+                "terms": "renkaat, auto, autoilu, rengas, täyttö, paineilma, ilmantäyttö, kompressori"
+            },
             "amenity/courthouse": {
                 "name": "Käräjäoikeus",
                 "terms": "oikeustalo, käräjätalo, alioikeus, kihlakunnanoikeus, syyttäjäntalo, raastupa, käräjätuomari, syyttäjä, lautamies, käräjäoikeus"
                 "name": "Kirjasitomo"
             },
             "craft/brewery": {
-                "name": "panimo"
+                "name": "Olutpanimo",
+                "terms": "panimo, olut, viina, viini, alkoholi, alko"
             },
             "craft/carpenter": {
                 "name": "Puuseppä"
                 "name": "Sähköasentaja"
             },
             "craft/gardener": {
-                "name": "puutarhuri"
+                "name": "Puutarhuri"
             },
             "craft/glaziery": {
                 "name": "Lasinpuhallus"
             "craft/photographer": {
                 "name": "valokuvaaja"
             },
+            "craft/photographic_laboratory": {
+                "name": "Valokuvausliike",
+                "terms": "valokuva, valokuvaaminen, valokuvaus, kuvaaminen, kuvaus, kehittämö, kuvankehittämö, kuvankehitys, kuvakehitys"
+            },
             "craft/plasterer": {
                 "name": "Rappaaja"
             },
             "craft/plumber": {
-                "name": "putkiasentaja"
+                "name": "Putkimies"
             },
             "craft/pottery": {
                 "name": "savenvalimo"
                 "name": "Räätäli"
             },
             "craft/tiler": {
-                "name": "laatoittaja"
+                "name": "Laattaliike"
             },
             "craft/tinsmith": {
                 "name": "Peltiseppä"
                 "name": "Pakollinen pysähtyminen",
                 "terms": "stop, stop-merkki, stop merkki, liikennemerkki, kieltomerkki, kieltomerkit, pysähtyminen, pysähdys, liikennesääntö, liikennesäännöt, pakollisuus, pakollinen"
             },
+            "highway/street_lamp": {
+                "name": "Katuvalaisin",
+                "terms": "valo, valaisin, valotolppa, valopylväs, valaisintolppa, valaisinpylväs, katupylväs, katuvalo, valaisintolppa"
+            },
             "highway/tertiary": {
                 "name": "Yhdystie"
             },
                 "name": "Puisto",
                 "terms": "Puisto, Viheralue, Puistikko"
             },
+            "leisure/picnic_table": {
+                "name": "Piknikpöytä",
+                "terms": "piknik, eväsretki, ulkoilu, ulkopöytä, pöytä, puupöytä, penkki, ruokailu, ulkoruokailu, ulkoruokailupöytä, ulkoruokapöytä"
+            },
             "leisure/pitch": {
                 "name": "Urheilukenttä"
             },
                 "name": "Veneramppi",
                 "terms": "veneramppi, vesillelaskupaikka, veneenlaskupaikka, vene, järveenlaskupaikka, järviramppi"
             },
+            "leisure/sports_center": {
+                "name": "Urheilukeskus/kuntosali",
+                "terms": "urheilu, urheilukenttä, kenttä, urheilusali, sali, kuntoilu, kunto, kuntosali, urheilukeskus, urheilualue, sisäpelihalli, sisähalli, sisäliikunta, halli"
+            },
             "leisure/stadium": {
                 "name": "Stadion"
             },
                 "terms": "pengerrys, tienreuna, meluvalli, äänivalli, äänimuuri, melumuuri"
             },
             "man_made/flagpole": {
-                "name": "Lipputank",
+                "name": "Lipputanko",
                 "terms": "lippu, liputus, salko, lippusalko, tanko, tolppa, lipputolppa, liputuspäivä, liputtaa"
             },
             "man_made/lighthouse": {
index 33c1759..7bfdfaa 100644 (file)
             },
             "not_eligible": "Les lignes ne peuvent pas être coupées à leurs extrémités.",
             "multiple_ways": "Il y a trop de ligne à cet endroit pour pouvoir couper."
+        },
+        "restriction": {
+            "help": {
+                "select": "Cliquez pour sélectionner un segment de route",
+                "toggle": "Cliquez pour faire alterner les interdictions de tourner",
+                "toggle_on": "Cliquez pour ajouter une restriction \"{restriction}\".",
+                "toggle_off": "Cliquez pour supprimer la restriction \"{restriction}\"."
+            },
+            "annotation": {
+                "create": "Interdiction de tourner ajoutée",
+                "delete": "Interdiction de tourner supprimée"
+            }
         }
     },
     "undo": {
         "untagged_area": "Polygone sans aucun attribut",
         "many_deletions": "Vous allez supprimer {n} objets. Êtes-vous sûr de vouloir faire cela ? Ces éléments seront supprimés de la carte visible sur openstreetmap.org.",
         "tag_suggests_area": "Cet attribut {tag} suppose que cette ligne devrait être un polygone, or ce n'est pas le cas",
-        "untagged_tooltip": "Sélectionnez un type d'élément pour décrire cette {geometry}.",
+        "untagged_point_tooltip": "Sélectionnez un type d'élément pour décrire ce point.",
+        "untagged_line_tooltip": "Sélectionnez un type d'élément pour décrire cette ligne.",
+        "untagged_area_tooltip": "Sélectionnez un type d'élément pour décrire cette surface.",
&nbs