Merge remote-tracking branch 'openstreetmap/pull/788'
authorTom Hughes <tom@compton.nu>
Tue, 16 Aug 2016 18:11:35 +0000 (19:11 +0100)
committerTom Hughes <tom@compton.nu>
Tue, 16 Aug 2016 18:11:35 +0000 (19:11 +0100)
132 files changed:
INSTALL.md
app/assets/images/banners/fossgis-2016.jpg [deleted file]
app/assets/images/banners/sotmasia-2016.jpg [new file with mode: 0644]
app/assets/images/banners/sotmus-2016.jpg [deleted file]
app/assets/images/key/cyclemap/bicycle_parking.png [new file with mode: 0644]
app/assets/images/key/cyclemap/bicycle_shop.png [new file with mode: 0644]
app/assets/images/key/cyclemap/common.png [new file with mode: 0644]
app/assets/images/key/cyclemap/cycleway.png [new file with mode: 0644]
app/assets/images/key/cyclemap/cycleway_local.png [new file with mode: 0644]
app/assets/images/key/cyclemap/cycleway_local13.png [new file with mode: 0644]
app/assets/images/key/cyclemap/cycleway_national.png [new file with mode: 0644]
app/assets/images/key/cyclemap/cycleway_national13.png [new file with mode: 0644]
app/assets/images/key/cyclemap/cycleway_regional.png [new file with mode: 0644]
app/assets/images/key/cyclemap/cycleway_regional13.png [new file with mode: 0644]
app/assets/images/key/cyclemap/footway.png [new file with mode: 0644]
app/assets/images/key/cyclemap/forest.png [new file with mode: 0644]
app/assets/images/key/cyclemap/lake.png [new file with mode: 0644]
app/assets/images/key/cyclemap/motorway.png [new file with mode: 0644]
app/assets/images/key/cyclemap/motorway12.png [new file with mode: 0644]
app/assets/images/key/cyclemap/primary.png [new file with mode: 0644]
app/assets/images/key/cyclemap/primary12.png [new file with mode: 0644]
app/assets/images/key/cyclemap/rail.png [new file with mode: 0644]
app/assets/images/key/cyclemap/rail14.png [new file with mode: 0644]
app/assets/images/key/cyclemap/secondary.png [new file with mode: 0644]
app/assets/images/key/cyclemap/secondary12.png [new file with mode: 0644]
app/assets/images/key/cyclemap/toilets.png [new file with mode: 0644]
app/assets/images/key/cyclemap/track.png [new file with mode: 0644]
app/assets/images/key/cyclemap/trunk.png [new file with mode: 0644]
app/assets/images/key/cyclemap/trunk12.png [new file with mode: 0644]
app/assets/images/routing-sprite.png
app/assets/images/routing-sprite.svg [new file with mode: 0644]
app/assets/javascripts/index/directions/graphhopper.js
app/assets/javascripts/index/directions/mapquest.js
app/assets/javascripts/index/directions/mapzen.js
app/assets/javascripts/index/directions/osrm.js
app/assets/javascripts/index/search.js
app/assets/javascripts/leaflet.key.js
app/assets/stylesheets/common.scss
app/controllers/user_controller.rb
app/models/user.rb
config/banners.yml
config/example.application.yml
config/key.yml
config/locales/ar.yml
config/locales/ast.yml
config/locales/ca.yml
config/locales/cs.yml
config/locales/de.yml
config/locales/diq.yml
config/locales/el.yml
config/locales/en-GB.yml
config/locales/en.yml
config/locales/es.yml
config/locales/fr.yml
config/locales/gl.yml
config/locales/he.yml
config/locales/hsb.yml
config/locales/id.yml
config/locales/it.yml
config/locales/ja.yml
config/locales/ko.yml
config/locales/lb.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/mk.yml
config/locales/nl.yml
config/locales/pa.yml
config/locales/pl.yml
config/locales/pt-PT.yml
config/locales/sl.yml
config/locales/sv.yml
config/locales/uk.yml
config/locales/vi.yml
config/locales/zh-CN.yml
config/locales/zh-TW.yml
db/functions/Makefile
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/fa.json
vendor/assets/iD/iD/locales/fi.json
vendor/assets/iD/iD/locales/fil.json [deleted file]
vendor/assets/iD/iD/locales/fr.json
vendor/assets/iD/iD/locales/gl.json
vendor/assets/iD/iD/locales/gu.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/hr.json
vendor/assets/iD/iD/locales/hu.json
vendor/assets/iD/iD/locales/id.json
vendor/assets/iD/iD/locales/is.json
vendor/assets/iD/iD/locales/it.json
vendor/assets/iD/iD/locales/ja.json
vendor/assets/iD/iD/locales/kn.json
vendor/assets/iD/iD/locales/ko-KR.json [deleted file]
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/ml.json [new file with mode: 0644]
vendor/assets/iD/iD/locales/nl.json
vendor/assets/iD/iD/locales/no.json
vendor/assets/iD/iD/locales/pl.json
vendor/assets/iD/iD/locales/pt-BR.json
vendor/assets/iD/iD/locales/pt.json
vendor/assets/iD/iD/locales/ru.json
vendor/assets/iD/iD/locales/sk.json
vendor/assets/iD/iD/locales/sl.json
vendor/assets/iD/iD/locales/sr.json
vendor/assets/iD/iD/locales/sv.json
vendor/assets/iD/iD/locales/ta.json
vendor/assets/iD/iD/locales/tl.json
vendor/assets/iD/iD/locales/tr.json
vendor/assets/iD/iD/locales/uk.json
vendor/assets/iD/iD/locales/vi.json
vendor/assets/iD/iD/locales/yue.json
vendor/assets/iD/iD/locales/zh-CN.json
vendor/assets/iD/iD/locales/zh-HK.json
vendor/assets/iD/iD/locales/zh-TW.json
vendor/assets/iD/iD/locales/zh.json
vendor/assets/iD/imagery.js
vendor/assets/iD/presets.js

index 055702a..53a7838 100644 (file)
@@ -81,9 +81,9 @@ and adding:
 Installing other dependencies:
 
 * Install Homebrew from http://mxcl.github.io/homebrew/
-* Install the latest version of Ruby: brew install ruby
-* Install ImageMagick: brew install imagemagick
-* Install Bundler: gem install bundler
+* Install the latest version of Ruby: `brew install ruby`
+* Install ImageMagick: `brew install imagemagick`
+* Install Bundler: `gem install bundler`
 
 Note that OS X does not have a /home directory by default, so if you are using the GPX functions, you will need to change the directories specified in config/application.yml.
 
diff --git a/app/assets/images/banners/fossgis-2016.jpg b/app/assets/images/banners/fossgis-2016.jpg
deleted file mode 100644 (file)
index 4615d80..0000000
Binary files a/app/assets/images/banners/fossgis-2016.jpg and /dev/null differ
diff --git a/app/assets/images/banners/sotmasia-2016.jpg b/app/assets/images/banners/sotmasia-2016.jpg
new file mode 100644 (file)
index 0000000..fa5f1f0
Binary files /dev/null and b/app/assets/images/banners/sotmasia-2016.jpg differ
diff --git a/app/assets/images/banners/sotmus-2016.jpg b/app/assets/images/banners/sotmus-2016.jpg
deleted file mode 100644 (file)
index ea67d5a..0000000
Binary files a/app/assets/images/banners/sotmus-2016.jpg and /dev/null differ
diff --git a/app/assets/images/key/cyclemap/bicycle_parking.png b/app/assets/images/key/cyclemap/bicycle_parking.png
new file mode 100644 (file)
index 0000000..c900a44
Binary files /dev/null and b/app/assets/images/key/cyclemap/bicycle_parking.png differ
diff --git a/app/assets/images/key/cyclemap/bicycle_shop.png b/app/assets/images/key/cyclemap/bicycle_shop.png
new file mode 100644 (file)
index 0000000..5ccf714
Binary files /dev/null and b/app/assets/images/key/cyclemap/bicycle_shop.png differ
diff --git a/app/assets/images/key/cyclemap/common.png b/app/assets/images/key/cyclemap/common.png
new file mode 100644 (file)
index 0000000..7c10815
Binary files /dev/null and b/app/assets/images/key/cyclemap/common.png differ
diff --git a/app/assets/images/key/cyclemap/cycleway.png b/app/assets/images/key/cyclemap/cycleway.png
new file mode 100644 (file)
index 0000000..13bed4a
Binary files /dev/null and b/app/assets/images/key/cyclemap/cycleway.png differ
diff --git a/app/assets/images/key/cyclemap/cycleway_local.png b/app/assets/images/key/cyclemap/cycleway_local.png
new file mode 100644 (file)
index 0000000..2a29331
Binary files /dev/null and b/app/assets/images/key/cyclemap/cycleway_local.png differ
diff --git a/app/assets/images/key/cyclemap/cycleway_local13.png b/app/assets/images/key/cyclemap/cycleway_local13.png
new file mode 100644 (file)
index 0000000..3f2c535
Binary files /dev/null and b/app/assets/images/key/cyclemap/cycleway_local13.png differ
diff --git a/app/assets/images/key/cyclemap/cycleway_national.png b/app/assets/images/key/cyclemap/cycleway_national.png
new file mode 100644 (file)
index 0000000..0f5455f
Binary files /dev/null and b/app/assets/images/key/cyclemap/cycleway_national.png differ
diff --git a/app/assets/images/key/cyclemap/cycleway_national13.png b/app/assets/images/key/cyclemap/cycleway_national13.png
new file mode 100644 (file)
index 0000000..252b07a
Binary files /dev/null and b/app/assets/images/key/cyclemap/cycleway_national13.png differ
diff --git a/app/assets/images/key/cyclemap/cycleway_regional.png b/app/assets/images/key/cyclemap/cycleway_regional.png
new file mode 100644 (file)
index 0000000..7e3306e
Binary files /dev/null and b/app/assets/images/key/cyclemap/cycleway_regional.png differ
diff --git a/app/assets/images/key/cyclemap/cycleway_regional13.png b/app/assets/images/key/cyclemap/cycleway_regional13.png
new file mode 100644 (file)
index 0000000..9b3409f
Binary files /dev/null and b/app/assets/images/key/cyclemap/cycleway_regional13.png differ
diff --git a/app/assets/images/key/cyclemap/footway.png b/app/assets/images/key/cyclemap/footway.png
new file mode 100644 (file)
index 0000000..c78756f
Binary files /dev/null and b/app/assets/images/key/cyclemap/footway.png differ
diff --git a/app/assets/images/key/cyclemap/forest.png b/app/assets/images/key/cyclemap/forest.png
new file mode 100644 (file)
index 0000000..a7ebe8e
Binary files /dev/null and b/app/assets/images/key/cyclemap/forest.png differ
diff --git a/app/assets/images/key/cyclemap/lake.png b/app/assets/images/key/cyclemap/lake.png
new file mode 100644 (file)
index 0000000..918d496
Binary files /dev/null and b/app/assets/images/key/cyclemap/lake.png differ
diff --git a/app/assets/images/key/cyclemap/motorway.png b/app/assets/images/key/cyclemap/motorway.png
new file mode 100644 (file)
index 0000000..296f176
Binary files /dev/null and b/app/assets/images/key/cyclemap/motorway.png differ
diff --git a/app/assets/images/key/cyclemap/motorway12.png b/app/assets/images/key/cyclemap/motorway12.png
new file mode 100644 (file)
index 0000000..749493a
Binary files /dev/null and b/app/assets/images/key/cyclemap/motorway12.png differ
diff --git a/app/assets/images/key/cyclemap/primary.png b/app/assets/images/key/cyclemap/primary.png
new file mode 100644 (file)
index 0000000..78ae0e4
Binary files /dev/null and b/app/assets/images/key/cyclemap/primary.png differ
diff --git a/app/assets/images/key/cyclemap/primary12.png b/app/assets/images/key/cyclemap/primary12.png
new file mode 100644 (file)
index 0000000..fed37d0
Binary files /dev/null and b/app/assets/images/key/cyclemap/primary12.png differ
diff --git a/app/assets/images/key/cyclemap/rail.png b/app/assets/images/key/cyclemap/rail.png
new file mode 100644 (file)
index 0000000..0abf0c1
Binary files /dev/null and b/app/assets/images/key/cyclemap/rail.png differ
diff --git a/app/assets/images/key/cyclemap/rail14.png b/app/assets/images/key/cyclemap/rail14.png
new file mode 100644 (file)
index 0000000..957f17c
Binary files /dev/null and b/app/assets/images/key/cyclemap/rail14.png differ
diff --git a/app/assets/images/key/cyclemap/secondary.png b/app/assets/images/key/cyclemap/secondary.png
new file mode 100644 (file)
index 0000000..7928b18
Binary files /dev/null and b/app/assets/images/key/cyclemap/secondary.png differ
diff --git a/app/assets/images/key/cyclemap/secondary12.png b/app/assets/images/key/cyclemap/secondary12.png
new file mode 100644 (file)
index 0000000..cde0085
Binary files /dev/null and b/app/assets/images/key/cyclemap/secondary12.png differ
diff --git a/app/assets/images/key/cyclemap/toilets.png b/app/assets/images/key/cyclemap/toilets.png
new file mode 100644 (file)
index 0000000..d1c7a00
Binary files /dev/null and b/app/assets/images/key/cyclemap/toilets.png differ
diff --git a/app/assets/images/key/cyclemap/track.png b/app/assets/images/key/cyclemap/track.png
new file mode 100644 (file)
index 0000000..f294edc
Binary files /dev/null and b/app/assets/images/key/cyclemap/track.png differ
diff --git a/app/assets/images/key/cyclemap/trunk.png b/app/assets/images/key/cyclemap/trunk.png
new file mode 100644 (file)
index 0000000..d312a65
Binary files /dev/null and b/app/assets/images/key/cyclemap/trunk.png differ
diff --git a/app/assets/images/key/cyclemap/trunk12.png b/app/assets/images/key/cyclemap/trunk12.png
new file mode 100644 (file)
index 0000000..51230a0
Binary files /dev/null and b/app/assets/images/key/cyclemap/trunk12.png differ
index 42ec7b4..079f4dd 100644 (file)
Binary files a/app/assets/images/routing-sprite.png and b/app/assets/images/routing-sprite.png differ
diff --git a/app/assets/images/routing-sprite.svg b/app/assets/images/routing-sprite.svg
new file mode 100644 (file)
index 0000000..15aa57b
--- /dev/null
@@ -0,0 +1,573 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+   xmlns:dc="http://purl.org/dc/elements/1.1/"
+   xmlns:cc="http://creativecommons.org/ns#"
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+   xmlns:svg="http://www.w3.org/2000/svg"
+   xmlns="http://www.w3.org/2000/svg"
+   xmlns:xlink="http://www.w3.org/1999/xlink"
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+   width="520"
+   height="20"
+   viewBox="0 0 520.00001 20"
+   id="svg2"
+   version="1.1"
+   inkscape:version="0.91 r13725"
+   sodipodi:docname="routing-sprite.svg"
+   inkscape:export-filename="/home/patrick/Code/openstreetmap-website/app/assets/images/routing-sprite.png"
+   inkscape:export-xdpi="90"
+   inkscape:export-ydpi="90">
+  <defs
+     id="defs4" />
+  <sodipodi:namedview
+     id="base"
+     pagecolor="#ffffff"
+     bordercolor="#666666"
+     borderopacity="1.0"
+     inkscape:pageopacity="0.0"
+     inkscape:pageshadow="2"
+     inkscape:zoom="5.6568542"
+     inkscape:cx="131.24519"
+     inkscape:cy="13.736603"
+     inkscape:document-units="px"
+     inkscape:current-layer="layer1"
+     showgrid="true"
+     inkscape:showpageshadow="false"
+     inkscape:window-width="1920"
+     inkscape:window-height="1080"
+     inkscape:window-x="0"
+     inkscape:window-y="0"
+     inkscape:window-maximized="0"
+     showguides="false"
+     inkscape:guide-bbox="true"
+     units="px">
+    <inkscape:grid
+       type="xygrid"
+       id="grid4224" />
+    <sodipodi:guide
+       position="20.000001,31"
+       orientation="1,0"
+       id="guide4226" />
+    <sodipodi:guide
+       position="40.000001,19"
+       orientation="1,0"
+       id="guide4245" />
+    <sodipodi:guide
+       position="60.000002,29"
+       orientation="1,0"
+       id="guide4299" />
+    <sodipodi:guide
+       position="80.000002,35"
+       orientation="1,0"
+       id="guide4388" />
+    <sodipodi:guide
+       position="71.000002,10"
+       orientation="-0.7193398,-0.69465837"
+       id="guide4432"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="100,15"
+       orientation="1,0"
+       id="guide4499" />
+    <sodipodi:guide
+       position="120,15"
+       orientation="1,0"
+       id="guide4578" />
+    <sodipodi:guide
+       position="140,16"
+       orientation="1,0"
+       id="guide4580" />
+    <sodipodi:guide
+       position="160,21"
+       orientation="1,0"
+       id="guide4582" />
+    <sodipodi:guide
+       position="180,15"
+       orientation="1,0"
+       id="guide4729" />
+    <sodipodi:guide
+       position="200.00001,15"
+       orientation="1,0"
+       id="guide4731" />
+    <sodipodi:guide
+       position="220.00001,11"
+       orientation="1,0"
+       id="guide4747" />
+    <sodipodi:guide
+       position="78.000002,12"
+       orientation="-0.70710678,0.70710678"
+       id="guide4212"
+       inkscape:label=""
+       inkscape:color="rgb(0,0,255)" />
+    <sodipodi:guide
+       position="240.00001,19"
+       orientation="1,0"
+       id="guide4264" />
+    <sodipodi:guide
+       position="260.00001,19"
+       orientation="1,0"
+       id="guide4266" />
+    <sodipodi:guide
+       position="280.00001,5"
+       orientation="1,0"
+       id="guide4280" />
+    <sodipodi:guide
+       position="300.00001,10"
+       orientation="1,0"
+       id="guide4297" />
+    <sodipodi:guide
+       position="320.00001,24"
+       orientation="1,0"
+       id="guide4305" />
+    <sodipodi:guide
+       position="340.00001,28"
+       orientation="1,0"
+       id="guide4335" />
+    <sodipodi:guide
+       position="360.00001,30"
+       orientation="1,0"
+       id="guide4337" />
+    <sodipodi:guide
+       position="380.00001,19"
+       orientation="1,0"
+       id="guide4376" />
+    <sodipodi:guide
+       position="400.00001,19"
+       orientation="1,0"
+       id="guide4382" />
+    <sodipodi:guide
+       position="420.00001,36"
+       orientation="1,0"
+       id="guide4394" />
+    <sodipodi:guide
+       position="440.00001,20"
+       orientation="1,0"
+       id="guide4449" />
+    <sodipodi:guide
+       position="460.00001,22"
+       orientation="1,0"
+       id="guide4451" />
+    <sodipodi:guide
+       position="480.00001,20"
+       orientation="1,0"
+       id="guide4485" />
+    <sodipodi:guide
+       position="500.00001,40"
+       orientation="1,0"
+       id="guide4487" />
+  </sodipodi:namedview>
+  <metadata
+     id="metadata7">
+    <rdf:RDF>
+      <cc:Work
+         rdf:about="">
+        <dc:format>image/svg+xml</dc:format>
+        <dc:type
+           rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+        <dc:title />
+      </cc:Work>
+    </rdf:RDF>
+  </metadata>
+  <g
+     inkscape:label="Layer 1"
+     inkscape:groupmode="layer"
+     id="layer1"
+     transform="translate(0,-1032.3622)">
+    <image
+       y="1002.3622"
+       x="1.7763568e-15"
+       id="image4217"
+       xlink:href="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAWgAAAAUCAMAAACXrFfpAAABOFBMVEUAAAB/f39/f39/f39/f396 enoAAAB7e3t7e3t4eHh5eXl5eXl6enp3d3d4eHgAAAB3d3d1dXVzc3MAAABwcHBvb29ubm4AAABt bW1sbGxsbGxsbGxra2tra2toaGhoaGhqamoAAABmZmZoaGgAAABnZ2dkZGQAAABiYmJXV1dXV1cA AAAAAABMTEwAAAAAAABDQ0MAAAA1NTU1NTUxMTEAAAAxMTEAAAAAAAAmJiYlJSUkJCQjIyMiIiIA AAAcHBwAAAAAAAAAAAAAAAAUFBQAAAAAAAAQEBAPDw8AAAAPDw8AAAAAAAANDQ0MDAwAAAAAAAAM DAwKCgoAAAAAAAAICAgICAgAAAAHBwcAAAAHBwcGBgYAAAAAAAAAAAAAAAADAwMAAAAAAAAAAAAA AAAAAAAAAAAAAABULW3yAAAAZ3RSTlMAAQIGCw4QEBIUFhcZGh0gICItMDQ5PEBAQUJERUZHSEhK SkxMTU9QUFZXWGBgZGZpcHl6f4CAiJCRk5SXmaCmrLC1uLzAxMXIyMrM0NDT09TU29zg4OLk5ebm 6fDx8/T09vf4+/z9ttm2NwAABH9JREFUeF7tV+9zFTUUzQOMFZUAiwZbkB9bXYEU3UI0FVhcNQVx rQpbsBopFuX8//+BMy/vvd3k7mRnio8PHc/HOyc35545yWbZkYOQtKYSvDeOgg/Xs4JR8OI/kDnc Q6jX02wqqtZlKR7tN47MWtNfOMRZOZ/n+fmVuNwMD6hRhDmQSlcNXCCpJAKVtbYiRnIViAVspQsp w9Wo0+OmNXMHQWeoUjzabxwSsP1mNDMn1/KHAB7ma+9EK9uhfi1CPdxgijJMggtjnzWeZViSVnmW jqaF0yyBtGYNVNRTiEEe7Xc4oxXtxS78Co+fVoO6BSTpZgEgKt78GyCCHGxvFN5iBh12a6kD+OsK C2EBtCqR6pRm8SdI0QCwMQ8AsvF+FGLA6HkcpV64cOwz5B7Iw3B492gsXVgtp0XVXRFTPANQyX5S jSya/iyyBvDMs1WfCFeQrNGqrOFqyRjRTL0CGh7SDnAANcQb7Uf3FS01ugRQe+kL6uRT5Jfu/nb3 UmR04++DENmTOAu8jszXmKMbUMxa8WZxPHmDHnSQK8AQo1+uswDKExUb0VyUN4B1VQSBLixspnnI W/c82m9k3woqMtofTMjI6E9waxfA7i3kE5IiQcYLjc5aAO0VmCGj3fzclPOsyO48CO0GjGa1KxyA RgRG/wPU8UH3EGxM8w3gJovQ4BdvM+Wl+9F9BdDGRvvwtbxv9MnVTcyxufruwkBX/Qh8VTfkCq2t DZ4JQM1ZkwXfFCnlE7guMvUiFw5YULl2aKSUVd9oVTHRRPeTdp8DCEMJdNlPajYziXE6XMEor2Is 3Y/ua19iX4dGq9YAKJuqb/SFB+jwYG2RmNmHQPDoUeA4r8NLrAzf/3pqm0AtyDeFfF2EhfArupKc jdM3WjILOHKjzo5XUrMGtrcBE8Zl77s9H0rKS/aj+4pCY12FRgvGpgOIvtFn76HDvbPpL64F1HQ9 edPERpeK0ValySywrqquQ1lGRnuERnN/ZAeNrkdeCQ5qKrNnVjk91DUqwisATvsl9/VeclNIwApT BAPw5gd8Y33L41efYo6nV48nRJNSyujhdRYHwD6K0RUA0pUSM5RpgZk/CE2/rOGPuiUPZs8j/ZL7 +tAW2Aeew0ZyZe+ZdeY25rh9hi3XaOH8RXhYo+nDvB1JIPcZbUOjDWNMBcqF/7N1yGi/9L7eaP/9 cyKWa7tpJznmyCdLNdp7CscPazR90zfZiEDWoBa8ggtFl0y68DC0nteO9aP7ash5hjSRK3tfgouP XuHF9y/w6tFFtmyjufNqDmd0iELrgrFRYzBFwKww8BPT8Ui/9L7KZrMpHKdyy0WgT63lG1vX8+tb G/naqcmSjWYajr+e0RRpzdm3wM9RUe/hueGUt50cOA3uoFNyz23uPL6zcf+P+xt3Hu9snluC0ZEc zZZvdKxRUp5lKR7tNw7jeEpujp3Z1YHd35Ev22hmxFE1Wpik3MubH324sXXtg2tff7H68ZeX2dFD Zm1G0mdNgrcUrLw/YW+dPsFOnH6bHXtvhb0p/I9/AQmEF7Y+Eo3CAAAAAElFTkSuQmCC "
+       preserveAspectRatio="none"
+       height="20.000017"
+       width="360" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 9,1039.3309 3.6e-5,10.0313 1.999964,0 -3.5e-5,-10.0313 z"
+       id="path4446"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:nodetypes="cccc"
+       inkscape:connector-curvature="0"
+       id="path4448"
+       d="m 15,1039.3466 -5,-4.9844 -5,5 z"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 87.125,4.984375 87.125,5 86,5 86,12.005859 82,12 l 5,5 5,-4.984375 -4,-0.0059 0,-5.025391 7,0 L 95,17 l 2,0 0,-12 -0.46875,0 0,-0.015625 -9.40625,0 z"
+       transform="translate(0,1032.3622)"
+       id="path4509"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 28,3.9882812 2.814453,2.8203126 -4.777344,4.7460942 0,0.04297 -0.03711,0 L 26,17 28,17 28,12.423828 32.228516,8.2226562 35,11 35,4 28,3.9882812 Z"
+       transform="translate(0,1032.3622)"
+       id="path4450"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 53,4 0.0059,3.984375 -6.005859,0 0,2 L 47,17 l 2,0 0,-7.015625 4.009766,0 L 53.015625,14 58,9 53,4 Z"
+       transform="translate(0,1032.3622)"
+       id="path4208"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="M 67.025391,4.4101562 67.003906,17 l 2,0 0,-7.5527344 3.685547,3.8710934 -2.683114,2.694508 6.989812,0.05505 0.01101,-7.0846724 -2.854816,2.9210504 z"
+       transform="translate(0,1032.3622)"
+       id="path4424"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccccc" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 170,1035.3622 -4,5 3,0 0,5 2,0 0,-5 3,0 z"
+       id="path4735"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccccccc" />
+    <g
+       id="g4237">
+      <path
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 189,1039.3309 4e-5,10.0313 1.99996,0 -3e-5,-10.0313 z"
+         id="path4233"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccc" />
+      <path
+         sodipodi:nodetypes="cccc"
+         inkscape:connector-curvature="0"
+         id="path4235"
+         d="m 195,1039.3466 -5,-4.9844 -5,5 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+    <path
+       id="path4221"
+       d="m 112.00001,1036.3505 -2.81445,2.8203 4.77734,4.7461 0,0.043 0.0371,0 0,5.4023 -2,0 0,-4.5762 -4.22852,-4.2011 -2.77148,2.7773 0,-7 7,-0.012 z"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       id="path4223"
+       d="m 128.00028,1036.3622 -0.006,3.9844 6.00586,0 0,2 0,7.0156 -2,0 0,-7.0156 -4.00977,0 -0.006,4.0156 -4.98437,-5 5,-5 z"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <path
+       sodipodi:nodetypes="cccccccccc"
+       inkscape:connector-curvature="0"
+       id="path4225"
+       d="m 153.98575,1036.7724 0.0215,12.5898 -2,0 0,-7.5527 -3.68555,3.8711 2.68312,2.6945 -6.98982,0.055 -0.011,-7.0847 2.85482,2.9211 z"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <g
+       id="g4254"
+       transform="translate(-2.0000461,0)">
+      <circle
+         r="3"
+         transform="scale(1,-1)"
+         cy="-1044.3622"
+         cx="210.04105"
+         id="path4231"
+         style="opacity:1;fill:none;fill-opacity:0.43824702;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         id="path4247"
+         transform="translate(0,1032.3622)"
+         d="m 211,3.9882812 2.81445,2.8203126 -1.76562,1.7539062 c 0.58436,0.3442274 1.07073,0.8277607 1.41797,1.4101562 l 1.76172,-1.75 L 218,11 218,4 211,3.9882812 Z M 209,15.84375 209,17 l 2,0 0,-1.130859 C 210.69097,15.946541 210.3729,16 210.04102,16 209.67912,16 209.3342,15.935262 209,15.84375 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       transform="translate(17.999954,0)"
+       id="g4258">
+      <circle
+         style="opacity:1;fill:none;fill-opacity:0.43824702;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1"
+         id="circle4260"
+         cx="210.04105"
+         cy="-1044.3622"
+         transform="scale(1,-1)"
+         r="3" />
+      <path
+         inkscape:connector-curvature="0"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 211,3.9882812 2.81445,2.8203126 -1.76562,1.7539062 c 0.58436,0.3442274 1.07073,0.8277607 1.41797,1.4101562 l 1.76172,-1.75 L 218,11 218,4 211,3.9882812 Z M 209,15.84375 209,17 l 2,0 0,-1.130859 C 210.69097,15.946541 210.3729,16 210.04102,16 209.67912,16 209.3342,15.935262 209,15.84375 Z"
+         transform="translate(0,1032.3622)"
+         id="path4262" />
+    </g>
+    <g
+       id="g4268"
+       transform="translate(37.999954,0)">
+      <circle
+         r="3"
+         transform="scale(1,-1)"
+         cy="-1044.3622"
+         cx="210.04105"
+         id="circle4270"
+         style="opacity:1;fill:none;fill-opacity:0.43824702;stroke:#000000;stroke-width:2;stroke-linecap:butt;stroke-linejoin:round;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1" />
+      <path
+         id="path4272"
+         transform="translate(0,1032.3622)"
+         d="m 211,3.9882812 2.81445,2.8203126 -1.76562,1.7539062 c 0.58436,0.3442274 1.07073,0.8277607 1.41797,1.4101562 l 1.76172,-1.75 L 218,11 218,4 211,3.9882812 Z M 209,15.84375 209,17 l 2,0 0,-1.130859 C 210.69097,15.946541 210.3729,16 210.04102,16 209.67912,16 209.3342,15.935262 209,15.84375 Z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         inkscape:connector-curvature="0" />
+    </g>
+    <g
+       id="g4274"
+       transform="translate(80,0)">
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="path4276"
+         d="m 189,1039.3309 4e-5,10.0313 1.99996,0 -3e-5,-10.0313 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 195,1039.3466 -5,-4.9844 -5,5 z"
+         id="path4278"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccc" />
+    </g>
+    <path
+       id="path4295"
+       d="m 290,1035.3622 a 2,2 0 0 0 -2,2 2,2 0 0 0 2,2 2,2 0 0 0 2,-2 2,2 0 0 0 -2,-2 z m 0,4 -4,5 3,0 0,5 2,0 0,-5 3,0 -4,-5 z"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       inkscape:connector-curvature="0" />
+    <g
+       id="g4313">
+      <g
+         id="g4299"
+         transform="translate(115.01146,2)">
+        <path
+           sodipodi:nodetypes="ccccc"
+           inkscape:connector-curvature="0"
+           id="path4301"
+           d="m 189,1037.3422 4e-5,7.9763 1.99996,0 -3e-5,-7.9763 z"
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+        <path
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="M 192.99451,1037.3474 190,1034.3622 l -3.01146,3.0115 z"
+           id="path4303"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccc" />
+      </g>
+      <g
+         transform="matrix(1,0,0,-1,123.01146,2083.7244)"
+         id="g4307">
+        <path
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="m 189,1039.3309 4e-5,10.0313 1.99996,0 -3e-5,-10.0313 z"
+           id="path4309"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccc" />
+        <path
+           sodipodi:nodetypes="cccc"
+           inkscape:connector-curvature="0"
+           id="path4311"
+           d="m 195,1039.3466 -5,-4.9844 -5,5 z"
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      </g>
+    </g>
+    <g
+       id="g4321"
+       transform="matrix(-1,0,0,-1,640.01146,2083.7244)">
+      <g
+         transform="translate(115.01146,2)"
+         id="g4323">
+        <path
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="m 189,1037.3422 4e-5,7.9763 1.99996,0 -3e-5,-7.9763 z"
+           id="path4325"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="ccccc" />
+        <path
+           sodipodi:nodetypes="cccc"
+           inkscape:connector-curvature="0"
+           id="path4327"
+           d="M 192.99451,1037.3474 190,1034.3622 l -3.01146,3.0115 z"
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      </g>
+      <g
+         id="g4329"
+         transform="matrix(1,0,0,-1,123.01146,2083.7244)">
+        <path
+           sodipodi:nodetypes="ccccc"
+           inkscape:connector-curvature="0"
+           id="path4331"
+           d="m 189,1039.3309 4e-5,10.0313 1.99996,0 -3e-5,-10.0313 z"
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+        <path
+           style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+           d="m 195,1039.3466 -5,-4.9844 -5,5 z"
+           id="path4333"
+           inkscape:connector-curvature="0"
+           sodipodi:nodetypes="cccc" />
+      </g>
+    </g>
+    <path
+       style="color:#000000;font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:medium;line-height:normal;font-family:sans-serif;text-indent:0;text-align:start;text-decoration:none;text-decoration-line:none;text-decoration-style:solid;text-decoration-color:#000000;letter-spacing:normal;word-spacing:normal;text-transform:none;direction:ltr;block-progression:tb;writing-mode:lr-tb;baseline-shift:baseline;text-anchor:start;white-space:normal;clip-rule:nonzero;display:inline;overflow:visible;visibility:visible;opacity:1;isolation:auto;mix-blend-mode:normal;color-interpolation:sRGB;color-interpolation-filters:linearRGB;solid-color:#000000;solid-opacity:1;fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-miterlimit:4;stroke-dasharray:none;stroke-dashoffset:0;stroke-opacity:1;color-rendering:auto;image-rendering:auto;shape-rendering:auto;text-rendering:auto;enable-background:accumulate"
+       d="m 349,3 0,1 -3,0 0,5.2265625 L 343.95508,10 347,13 l 0,0.904297 1.61133,1.425781 1.88867,-1.671875 1.89062,1.671875 L 354,13.90625 354,13 357.04492,10.044922 355,9.2617188 355,4 l -3,0 0,-1 -3,0 z m -2,2 7,0 0,3.8769531 L 350.48633,7.53125 347,8.8496094 347,5 Z m -0.2793,9.992188 -2.2207,1.966796 0.66211,0.748047 1.55859,-1.378906 L 348.61133,18 350.5,16.328125 352.39062,18 l 1.88868,-1.671875 1.55859,1.378906 0.66211,-0.748047 -2.2207,-1.966796 -1.88868,1.673828 -1.89062,-1.673828 -1.88867,1.673828 -1.89063,-1.673828 z"
+       transform="translate(0,1032.3622)"
+       id="path4341"
+       inkscape:connector-curvature="0" />
+    <g
+       id="g4384">
+      <path
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 370,1036.3505 2.81445,2.8203 -4.77734,4.7461 0,0.043 -0.0371,0 0,5.4023 2,0 0,-4.5762 4.22852,-4.2011 2.77148,2.7773 0,-7 -7,-0.012 z"
+         id="path4374"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="ccccccccc"
+         inkscape:connector-curvature="0"
+         id="path4378"
+         d="m 365.18556,1039.1708 4.77734,4.7461 0,0.043 0.0371,0 0,5.4023 -2,0 0,-4.5762 -4.22852,-4.2011 z"
+         style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+    <g
+       id="g4388"
+       transform="matrix(-1,0,0,1,760.00001,0)">
+      <path
+         inkscape:connector-curvature="0"
+         id="path4390"
+         d="m 370,1036.3505 2.81445,2.8203 -4.77734,4.7461 0,0.043 -0.0371,0 0,5.4023 2,0 0,-4.5762 4.22852,-4.2011 2.77148,2.7773 0,-7 -7,-0.012 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 365.18556,1039.1708 4.77734,4.7461 0,0.043 0.0371,0 0,5.4023 -2,0 0,-4.5762 -4.22852,-4.2011 z"
+         id="path4392"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccccccc" />
+    </g>
+    <g
+       id="g4438">
+      <path
+         id="path4421"
+         transform="translate(0,1032.3622)"
+         d="m 407.0293,3.9882812 0,5.4023438 0.0371,0 0,0.042969 1.95117,1.9375 0,5.638672 2.8164,-2.820313 2.72657,2.796875 1.44531,-1.382812 -2.76758,-2.837891 0.0195,-0.02148 2.75977,-2.7460939 -5.5293,0.00977 -1.45898,-1.4433584 0,-4.5761719 -2,0 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         inkscape:connector-curvature="0" />
+      <path
+         sodipodi:nodetypes="ccccccccc"
+         inkscape:connector-curvature="0"
+         id="path4423"
+         d="m 404.21408,1046.5416 4.77734,-4.7461 0,-0.043 0.0371,0 0,-5.4023 -2,0 0,4.5762 -4.22852,4.2011 z"
+         style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+    <g
+       id="g4442"
+       transform="matrix(-1,0,0,1,840.01754,0)">
+      <path
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 407.0293,3.9882812 0,5.4023438 0.0371,0 0,0.042969 1.95117,1.9375 0,5.638672 2.8164,-2.820313 2.72657,2.796875 1.44531,-1.382812 -2.76758,-2.837891 0.0195,-0.02148 2.75977,-2.7460939 -5.5293,0.00977 -1.45898,-1.4433557 0,-4.5761719 -2,0 z"
+         transform="translate(0,1032.3622)"
+         id="path4444"
+         inkscape:connector-curvature="0" />
+      <path
+         style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 404.21408,1046.5416 4.77734,-4.7461 0,-0.043 0.0371,0 0,-5.4023 -2,0 0,4.5762 -4.22852,4.2011 z"
+         id="path4447"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccccccc" />
+    </g>
+    <g
+       id="g4465"
+       transform="translate(-0.99975,0)">
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="path4455"
+         d="m 449,1041.3622 4e-5,8 1.99996,0 -3e-5,-8 z"
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+      <path
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 454.0156,1045.3622 4.9844,-5 -5,-5 z"
+         id="path4457"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="cccc" />
+      <path
+         style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+         d="m 455,1039.3466 -6,0 0,2 6,-10e-5 z"
+         id="path4461"
+         inkscape:connector-curvature="0"
+         sodipodi:nodetypes="ccccc" />
+      <path
+         sodipodi:nodetypes="ccccc"
+         inkscape:connector-curvature="0"
+         id="path4463"
+         d="m 451.01565,1039.3466 -7.9629,0 0,2 7.9629,-10e-5 z"
+         style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    </g>
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       id="path4473"
+       d="m 472.053,1041.3622 -4e-5,8 -1.99996,0 3e-5,-8 z"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 467.0374,1045.3622 -4.9844,-5 5,-5 z"
+       id="path4475"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="cccc" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 466.053,1039.3466 6,0 0,2 -6,-10e-5 z"
+       id="path4477"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       id="path4479"
+       d="m 470.03735,1039.3466 7.9629,0 0,2 -7.9629,-10e-5 z"
+       style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 490,1036.3505 2.81445,2.8203 -4.77734,4.7461 0,0.043 -0.0371,0 0,5.4023 2,0 0,-4.5762 4.22852,-4.2011 2.77148,2.7773 0,-7 -7,-0.012 z"
+       id="path4491"
+       inkscape:connector-curvature="0" />
+    <path
+       style="fill:#000000;fill-opacity:0.50980392;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 490,1038.3622 -4e-5,11 -1.99996,0 3e-5,-11 z"
+       id="path4505"
+       inkscape:connector-curvature="0"
+       sodipodi:nodetypes="ccccc" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4510"
+       d="m 490,1036.3505 2.81445,2.8203 -4.77734,4.7461 0,0.043 -0.0371,0 0,5.4023 2,0 0,-4.5762 4.22852,-4.2011 2.77148,2.7773 0,-7 -7,-0.012 z"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       inkscape:connector-curvature="0"
+       id="path4514"
+       d="m 510.00001,1036.3505 -2.81445,2.8203 4.77734,4.7461 0,0.043 0.0371,0 0,5.4023 -2,0 0,-4.5762 -4.22852,-4.2011 -2.77148,2.7773 0,-7 7,-0.012 z"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       sodipodi:nodetypes="ccccc"
+       inkscape:connector-curvature="0"
+       id="path4516"
+       d="m 510.00001,1038.3622 4e-5,11 1.99996,0 -3e-5,-11 z"
+       style="fill:#000000;fill-opacity:0.5098038;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1" />
+    <path
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 510.00001,1036.3505 -2.81445,2.8203 4.77734,4.7461 0,0.043 0.0371,0 0,5.4023 -2,0 0,-4.5762 -4.22852,-4.2011 -2.77148,2.7773 0,-7 7,-0.012 z"
+       id="path4518"
+       inkscape:connector-curvature="0" />
+    <text
+       xml:space="preserve"
+       style="font-style:normal;font-variant:normal;font-weight:normal;font-stretch:normal;font-size:12px;line-height:125%;font-family:'Times New Roman';-inkscape-font-specification:'Times New Roman';letter-spacing:0px;word-spacing:0px;fill:#000000;fill-opacity:1;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       x="7.5"
+       y="1065.3622"
+       id="text4238"
+       sodipodi:linespacing="125%"><tspan
+         sodipodi:role="line"
+         id="tspan4240"
+         x="7.5"
+         y="1065.3622">0    1     2     3    4     5     6     7    8     9   10  11   12    13   14  15   16  17   18  19   20   21   22  23   24  25</tspan></text>
+    <path
+       inkscape:connector-curvature="0"
+       style="fill:#000000;fill-opacity:1;fill-rule:evenodd;stroke:none;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
+       d="m 170,1045.3622 c -1.10457,0 -2,0.8954 -2,2 0,1.1046 0.89543,2 2,2 1.10457,0 2,-0.8954 2,-2 0,-1.1046 -0.89543,-2 -2,-2 z"
+       id="path3440"
+       sodipodi:nodetypes="sssss" />
+  </g>
+</svg>
index c35085b..88a9c15 100644 (file)
@@ -1,15 +1,15 @@
 function GraphHopperEngine(id, vehicleType) {
   var GH_INSTR_MAP = {
-    "-3": 6, // sharp left
-    "-2": 7, // left
-    "-1": 8, // slight left
+    "-3": 7, // sharp left
+    "-2": 6, // left
+    "-1": 5, // slight left
     0: 0, // straight
     1: 1, // slight right
     2: 2, // right
     3: 3, // sharp right
-    4: -1, // finish reached
-    5: -1, // via reached
-    6: 11 // roundabout
+    4: 14, // finish reached
+    5: 14, // via reached
+    6: 10 // roundabout
   };
 
   return {
@@ -44,7 +44,7 @@ function GraphHopperEngine(id, vehicleType) {
           var len = path.instructions.length;
           for (var i = 0; i < len; i++) {
             var instr = path.instructions[i];
-            var instrCode = (i === len - 1) ? 15 : GH_INSTR_MAP[instr.sign];
+            var instrCode = (i === len - 1) ? 14 : GH_INSTR_MAP[instr.sign];
             var instrText = "<b>" + (i + 1) + ".</b> ";
             instrText += instr.text;
             var latLng = line[instr.interval[0]];
index 0f645ce..fcc47f1 100644 (file)
@@ -5,25 +5,25 @@
 
 function MapQuestEngine(id, routeType) {
   var MQ_SPRITE_MAP = {
-    0: 1, // straight
-    1: 2, // slight right
-    2: 3, // right
-    3: 4, // sharp right
-    4: 5, // reverse
-    5: 6, // sharp left
-    6: 7, // left
-    7: 8, // slight left
-    8: 5, // right U-turn
-    9: 5, // left U-turn
-    10: 2, // right merge
-    11: 8, // left merge
-    12: 2, // right on-ramp
-    13: 8, // left on-ramp
-    14: 2, // right off-ramp
-    15: 8, // left off-ramp
-    16: 2, // right fork
-    17: 8, // left fork
-    18: 1  // straight fork
+    0: 0, // straight
+    1: 1, // slight right
+    2: 2, // right
+    3: 3, // sharp right
+    4: 4, // reverse
+    5: 7, // sharp left
+    6: 6, // left
+    7: 5, // slight left
+    8: 4, // right U-turn
+    9: 4, // left U-turn
+    10: 21, // right merge
+    11: 20, // left merge
+    12: 21, // right on-ramp
+    13: 20, // left on-ramp
+    14: 24, // right off-ramp
+    15: 25, // left off-ramp
+    16: 18, // right fork
+    17: 19, // left fork
+    18: 0  // straight fork
   };
 
   return {
index 1b775ba..2639388 100644 (file)
@@ -1,35 +1,35 @@
 function MapzenEngine(id, costing) {
   var MZ_INSTR_MAP = [
-    1,  // kNone = 0;
-    14, // kStart = 1;
-    14, // kStartRight = 2;
-    14, // kStartLeft = 3;
-    15, // kDestination = 4;
-    15, // kDestinationRight = 5;
-    15, // kDestinationLeft = 6;
-    1,  // kBecomes = 7;
-    1,  // kContinue = 8;
-    2,  // kSlightRight = 9;
-    3,  // kRight = 10;
-    4,  // kSharpRight = 11;
-    5,  // kUturnRight = 12;
-    5,  // kUturnLeft = 13;
-    6,  // kSharpLeft = 14;
-    7,  // kLeft = 15;
-    8,  // kSlightLeft = 16;
-    1,  // kRampStraight = 17;
-    2 // kRampRight = 18;
-    8,  // kRampLeft = 19;
-    2 // kExitRight = 20;
-    8,  // kExitLeft = 21;
-    1,  // kStayStraight = 22;
-    2,  // kStayRight = 23;
-    8,  // kStayLeft = 24;
-    1,  // kMerge = 25;
-    11, // kRoundaboutEnter = 26;
-    12, // kRoundaboutExit = 27;
-    18, // kFerryEnter = 28;
-    1   // kFerryExit = 29;
+    0,  // kNone = 0;
+    8, // kStart = 1;
+    8, // kStartRight = 2;
+    8, // kStartLeft = 3;
+    14,  // kDestination = 4;
+    14,  // kDestinationRight = 5;
+    14,  // kDestinationLeft = 6;
+    0,  // kBecomes = 7;
+    0,  // kContinue = 8;
+    1,  // kSlightRight = 9;
+    2,  // kRight = 10;
+    3,  // kSharpRight = 11;
+    4,  // kUturnRight = 12;
+    4,  // kUturnLeft = 13;
+    7,  // kSharpLeft = 14;
+    6,  // kLeft = 15;
+    5,  // kSlightLeft = 16;
+    0,  // kRampStraight = 17;
+    24, // kRampRight = 18;
+    25, // kRampLeft = 19;
+    24, // kExitRight = 20;
+    25, // kExitLeft = 21;
+    0,  // kStayStraight = 22;
+    1,  // kStayRight = 23;
+    5,  // kStayLeft = 24;
+    20, // kMerge = 25;
+    10, // kRoundaboutEnter = 26;
+    11, // kRoundaboutExit = 27;
+    17, // kFerryEnter = 28;
+    0   // kFerryExit = 29;
   ];
 
   return {
@@ -46,7 +46,8 @@ function MapzenEngine(id, costing) {
             locations: points.map(function (p) { return { lat: p.lat, lon: p.lng }; }),
             costing: costing,
             directions_options: {
-              units: "km"
+              units: "km",
+              language: I18n.currentLocale()
             }
           })
         },
index 2ee9da1..6d2d587 100644 (file)
 // Doesn't yet support hints
 
 function OSRMEngine() {
-  var previousPoints, hintData;
+  var cachedHints = [];
 
   return {
     id: "osrm_car",
     creditline: '<a href="http://project-osrm.org/" target="_blank">OSRM</a>',
     draggable: true,
 
+    _transformSteps: function(input_steps, line) {
+      var INSTRUCTION_TEMPLATE = {
+        'continue': 'javascripts.directions.instructions.continue',
+        'merge right': 'javascripts.directions.instructions.merge_right',
+        'merge left': 'javascripts.directions.instructions.merge_left',
+        'off ramp right': 'javascripts.directions.instructions.offramp_right',
+        'off ramp left': 'javascripts.directions.instructions.offramp_left',
+        'on ramp right': 'javascripts.directions.instructions.onramp_right',
+        'on ramp left': 'javascripts.directions.instructions.onramp_left',
+        'fork right': 'javascripts.directions.instructions.fork_right',
+        'fork left': 'javascripts.directions.instructions.fork_left',
+        'end of road right': 'javascripts.directions.instructions.endofroad_right',
+        'end of road left': 'javascripts.directions.instructions.endofroad_left',
+        'turn straight': 'javascripts.directions.instructions.continue',
+        'turn slight right': 'javascripts.directions.instructions.slight_right',
+        'turn right': 'javascripts.directions.instructions.turn_right',
+        'turn sharp right': 'javascripts.directions.instructions.sharp_right',
+        'turn uturn': 'javascripts.directions.instructions.uturn',
+        'turn sharp left': 'javascripts.directions.instructions.sharp_left',
+        'turn left': 'javascripts.directions.instructions.turn_left',
+        'turn slight left': 'javascripts.directions.instructions.slight_left',
+        'trun straight': 'javascripts.directions.instructions.follow',
+        'roundabout': 'javascripts.directions.instructions.roundabout',
+        'rotary': 'javascripts.directions.instructions.roundabout',
+        'depart': 'javascripts.directions.instructions.start',
+        'arrive': 'javascripts.directions.instructions.destination',
+      };
+      var ICON_MAP = {
+        'continue': 0,
+        'merge right': 21,
+        'merge left': 20,
+        'off ramp right': 24,
+        'off ramp left': 25,
+        'on ramp right': 2,
+        'on ramp left': 6,
+        'fork right': 18,
+        'fork left': 19,
+        'end of road right': 22,
+        'end of road left': 23,
+        'turn straight': 0,
+        'turn slight right': 1,
+        'turn right': 2,
+        'turn sharp right': 3,
+        'turn uturn': 4,
+        'turn slight left': 5,
+        'turn left': 6,
+        'turn sharp left': 7,
+        'trun straight': 0,
+        'roundabout': 10,
+        'rotary': 10,
+        'depart': 8,
+        'arrive': 14
+      };
+      var transformed_steps = input_steps.map(function(step, idx) {
+        var maneuver_id;
+
+        // special case handling
+        switch (step.maneuver.type) {
+          case 'on ramp':
+          case 'off ramp':
+          case 'merge':
+          case 'end of road':
+          case 'fork':
+            maneuver_id = step.maneuver.type + ' ' + (step.maneuver.modifier.indexOf('left') >= 0 ? 'left' : 'right');
+            break;
+          case 'depart':
+          case 'arrive':
+          case 'roundabout':
+          case 'rotary':
+            maneuver_id = step.maneuver.type;
+            break;
+          case 'roundabout turn':
+          case 'turn':
+            maneuver_id = "turn " + step.maneuver.modifier;
+            break;
+          // for unknown types the fallback is turn
+          default:
+            maneuver_id = "turn " + step.maneuver.modifier;
+            break;
+        }
+        var template = INSTRUCTION_TEMPLATE[maneuver_id];
+
+        // convert lat,lng pairs to LatLng objects
+        var step_geometry = L.PolylineUtil.decode(step.geometry, { precision: 5 }).map(function(a) { return L.latLng(a); }) ;
+        // append step_geometry on line
+        Array.prototype.push.apply(line, step_geometry);
+
+        var instText = "<b>" + (idx + 1) + ".</b> ";
+        var name = step.name ? "<b>" + step.name + "</b>" : I18n.t('javascripts.directions.instructions.unnamed');
+        if (step.maneuver.type.match(/rotary|roundabout/)) {
+          instText += I18n.t(template + '_with_exit', { exit: step.maneuver.exit, name: name } );
+        } else {
+          instText += I18n.t(template + '_without_exit', { name: name });
+        }
+        return [[step.maneuver.location[1], step.maneuver.location[0]], ICON_MAP[maneuver_id], instText, step.distance, step_geometry];
+      });
+
+      return transformed_steps;
+    },
+
     getRoute: function (points, callback) {
-      var TURN_INSTRUCTIONS = [
-        "",
-        'javascripts.directions.instructions.continue',         // 1
-        'javascripts.directions.instructions.slight_right',     // 2
-        'javascripts.directions.instructions.turn_right',       // 3
-        'javascripts.directions.instructions.sharp_right',      // 4
-        'javascripts.directions.instructions.uturn',            // 5
-        'javascripts.directions.instructions.sharp_left',       // 6
-        'javascripts.directions.instructions.turn_left',        // 7
-        'javascripts.directions.instructions.slight_left',      // 8
-        'javascripts.directions.instructions.via_point',        // 9
-        'javascripts.directions.instructions.follow',           // 10
-        'javascripts.directions.instructions.roundabout',       // 11
-        'javascripts.directions.instructions.leave_roundabout', // 12
-        'javascripts.directions.instructions.stay_roundabout',  // 13
-        'javascripts.directions.instructions.start',            // 14
-        'javascripts.directions.instructions.destination',      // 15
-        'javascripts.directions.instructions.against_oneway',   // 16
-        'javascripts.directions.instructions.end_oneway',       // 17
-        'javascripts.directions.instructions.ferry'             // 18
-      ];
 
       var params = [
-        { name: "z", value: "14" },
-        { name: "output", value: "json" },
-        { name: "instructions", value: true }
+        { name: "overview", value: "false" },
+        { name: "geometries", value: "polyline" },
+        { name: "steps", value: true }
       ];
 
-      for (var i = 0; i < points.length; i++) {
-        params.push({ name: "loc", value: points[i].lat + "," + points[i].lng });
 
-        if (hintData && previousPoints && previousPoints[i].equals(points[i])) {
-          params.push({ name: "hint", value: hintData.locations[i] });
-        }
+      if (cachedHints.length === points.length) {
+        params.push({name: "hints", value: cachedHints.join(";")});
+      } else {
+        // invalidate cache
+        cachedHints = [];
       }
 
-      if (hintData && hintData.checksum) {
-        params.push({ name: "checksum", value: hintData.checksum });
-      }
+      var encoded_coords = points.map(function(p) {
+        return p.lng + ',' + p.lat;
+      }).join(';');
+
+      var req_url = document.location.protocol + OSM.OSRM_URL + encoded_coords;
+
+      var onResponse = function (data) {
+        if (data.code !== 'Ok')
+          return callback(true);
+
+        cachedHints = data.waypoints.map(function(wp) {
+          return wp.hint;
+        });
+
+        var line = [];
+        var transformLeg = function (leg) {
+          return this._transformSteps(leg.steps, line);
+        };
+
+        var steps = [].concat.apply([], data.routes[0].legs.map(transformLeg.bind(this)));
+
+        callback(false, {
+          line: line,
+          steps: steps,
+          distance: data.routes[0].distance,
+          time: data.routes[0].duration
+        });
+      };
 
       return $.ajax({
-        url: document.location.protocol + OSM.OSRM_URL,
+        url: req_url,
         data: params,
         dataType: "json",
-        success: function (data) {
-          if (data.status === 207)
-            return callback(true);
-
-          previousPoints = points;
-          hintData = data.hint_data;
-
-          var line = L.PolylineUtil.decode(data.route_geometry, {
-            precision: 6
-          });
-
-          var steps = [];
-          for (i = 0; i < data.route_instructions.length; i++) {
-            var s = data.route_instructions[i];
-            var linesegend;
-            var instCodes = s[0].split('-');
-            if (s[8] === 2) {
-              /* indicates a ferry in car routing mode, see https://github.com/Project-OSRM/osrm-backend/blob/6cbbd1e5a1b441eb27055f56956e1bac14832a58/profiles/car.lua#L151 */
-              instCodes = ["18"];
-            }
-            var instText = "<b>" + (i + 1) + ".</b> ";
-            var name = s[1] ? "<b>" + s[1] + "</b>" : I18n.t('javascripts.directions.instructions.unnamed');
-            if (instCodes[0] === "11" && instCodes[1]) {
-              instText += I18n.t(TURN_INSTRUCTIONS[instCodes[0]] + '_with_exit', { exit: instCodes[1], name: name } );
-            } else {
-              instText += I18n.t(TURN_INSTRUCTIONS[instCodes[0]] + '_without_exit', { name: name });
-            }
-            if ((i + 1) < data.route_instructions.length) {
-              linesegend = data.route_instructions[i + 1][3] + 1;
-            } else {
-              linesegend = s[3] + 1;
-            }
-            steps.push([line[s[3]], instCodes[0], instText, s[2], line.slice(s[3], linesegend)]);
-          }
-
-          callback(false, {
-            line: line,
-            steps: steps,
-            distance: data.route_summary.total_distance,
-            time: data.route_summary.total_time
-          });
-        },
+        success: onResponse.bind(this),
         error: function () {
           callback(true);
         }
index 9481e27..52af38c 100644 (file)
@@ -95,15 +95,18 @@ OSM.Search = function(map) {
     $(this).closest("li").removeClass("selected");
   }
 
-  function clickSearchResult(e) {
-    var data = $(this).data(),
-      center = L.latLng(data.lat, data.lon);
-
+  function panToSearchResult(data) {
     if (data.minLon && data.minLat && data.maxLon && data.maxLat) {
       map.fitBounds([[data.minLat, data.minLon], [data.maxLat, data.maxLon]]);
     } else {
-      map.setView(center, data.zoom);
+      map.setView([data.lat, data.lon], data.zoom);
     }
+  }
+
+  function clickSearchResult(e) {
+    var data = $(this).data();
+
+    panToSearchResult(data);
 
     // Let clicks to object browser links propagate.
     if (data.type && data.id) return;
@@ -124,7 +127,7 @@ OSM.Search = function(map) {
   };
 
   page.load = function() {
-    $(".search_results_entry").each(function() {
+    $(".search_results_entry").each(function(index) {
       var entry = $(this);
       $.ajax({
         url: entry.data("href"),
@@ -138,6 +141,13 @@ OSM.Search = function(map) {
         },
         success: function(html) {
           entry.html(html);
+          // go to first result of first geocoder
+          if (index === 0) {
+            var firstResult = entry.find('*[data-lat][data-lon]:first').first();
+            if (firstResult.length) {
+              panToSearchResult(firstResult.data());
+            }
+          }
         }
       });
     });
index 68e822e..5223b14 100644 (file)
@@ -60,7 +60,7 @@ L.OSM.key = function (options) {
     }
 
     function updateButton() {
-      var disabled = map.getMapBaseLayerId() !== 'mapnik';
+      var disabled = ['mapnik', 'cyclemap'].indexOf(map.getMapBaseLayerId()) === -1;
       button
         .toggleClass('disabled', disabled)
         .attr('data-original-title',
index b54b49f..b2b6057 100644 (file)
@@ -1036,8 +1036,8 @@ div.direction {
   height: 20px;
   background-repeat: no-repeat;
 }
-@for $i from 1 through 18 {
-div.direction.i#{$i} { background-position: #{($i)*-20+20}px 0px; }
+@for $i from 0 through 25 {
+div.direction.i#{$i} { background-position: #{($i)*-20}px 0px; }
 }
 
 p#routing_summary {
index e5515f7..c8abb4d 100644 (file)
@@ -131,6 +131,10 @@ class UserController < ApplicationController
         session[:new_user_settings] = params
         redirect_to auth_url(params[:user][:auth_provider], params[:user][:auth_uid])
       end
+    elsif errors = session.delete(:user_errors)
+      errors.each do |attribute, error|
+        @user.errors.add(attribute, error)
+      end
     end
   end
 
@@ -501,31 +505,14 @@ class UserController < ApplicationController
       email_verified = false
     end
 
-    user = User.find_by_auth_provider_and_auth_uid(provider, uid)
-
-    if user.nil? && provider == "google"
-      openid_url = auth_info[:extra][:id_info]["openid_id"]
-      user = User.find_by_auth_provider_and_auth_uid("openid", openid_url) if openid_url
-      user.update(:auth_provider => provider, :auth_uid => uid) if user
-    end
-
-    if user
-      case user.status
-      when "pending" then
-        unconfirmed_login(user)
-      when "active", "confirmed" then
-        successful_login(user, env["omniauth.params"]["referer"])
-      when "suspended" then
-        failed_login t("user.login.account is suspended", :webmaster => "mailto:#{SUPPORT_EMAIL}")
-      else
-        failed_login t("user.login.auth failure")
-      end
-    elsif settings = session.delete(:new_user_settings)
+    if settings = session.delete(:new_user_settings)
       @user.auth_provider = provider
       @user.auth_uid = uid
 
       update_user(@user, settings)
 
+      session[:user_errors] = @user.errors.as_json
+
       redirect_to :action => "account", :display_name => @user.display_name
     elsif session[:new_user]
       session[:new_user].auth_provider = provider
@@ -537,8 +524,29 @@ class UserController < ApplicationController
 
       redirect_to :action => "terms"
     else
-      redirect_to :action => "new", :nickname => name, :email => email,
-                  :auth_provider => provider, :auth_uid => uid
+      user = User.find_by_auth_provider_and_auth_uid(provider, uid)
+
+      if user.nil? && provider == "google"
+        openid_url = auth_info[:extra][:id_info]["openid_id"]
+        user = User.find_by_auth_provider_and_auth_uid("openid", openid_url) if openid_url
+        user.update(:auth_provider => provider, :auth_uid => uid) if user
+      end
+
+      if user
+        case user.status
+        when "pending" then
+          unconfirmed_login(user)
+        when "active", "confirmed" then
+          successful_login(user, env["omniauth.params"]["referer"])
+        when "suspended" then
+          failed_login t("user.login.account is suspended", :webmaster => "mailto:#{SUPPORT_EMAIL}")
+        else
+          failed_login t("user.login.auth failure")
+        end
+      else
+        redirect_to :action => "new", :nickname => name, :email => email,
+                    :auth_provider => provider, :auth_uid => uid
+      end
     end
   end
 
index e255dc2..a550b9f 100644 (file)
@@ -52,6 +52,8 @@ class User < ActiveRecord::Base
   validates :home_zoom, :allow_nil => true, :numericality => { :only_integer => true }
   validates :preferred_editor, :inclusion => Editors::ALL_EDITORS, :allow_nil => true
   validates :image, :attachment_content_type => { :content_type => %r{\Aimage/.*\Z} }
+  validates :auth_uid, :unless => proc { |u| u.auth_provider.nil? },
+                       :uniqueness => { :scope => :auth_provider }
 
   validates_email_format_of :email, :if => proc { |u| u.email_changed? }
   validates_email_format_of :new_email, :allow_blank => true, :if => proc { |u| u.new_email_changed? }
index 350ecbe..48c7b8f 100644 (file)
@@ -1,10 +1,3 @@
-sotmus2016:
-  id: sotmus2016
-  alt: State of the Map US 2016
-  link: http://stateofthemap.us/
-  img: banners/sotmus-2016.jpg
-  enddate: 2016-jul-23
-
 sotm2016:
   id: sotm2016
   alt: State of the Map 2016
@@ -12,9 +5,9 @@ sotm2016:
   img: banners/sotm-2016.jpg
   enddate: 2016-sep-23
 
-fossgis2016:
-  id: fossgis2016
-  alt: FOSSGIS conference 2016
-  link: http://www.fossgis-konferenz.de/2016/
-  img: banners/fossgis-2016.jpg
-  enddate: 2016-jul-04
+sotmasia2016:
+  id: sotmasia2016
+  alt: State of the Map Asia 2016
+  link: http://stateofthemap.asia/
+  img: banners/sotmasia-2016.jpg
+  enddate: 2016-oct-01
index 8956019..9234099 100644 (file)
@@ -87,16 +87,16 @@ defaults: &defaults
   require_terms_agreed: false
   # Imagery to return in capabilities as blacklisted
   imagery_blacklist:
-    - ".*\\.googleapis\\.com/.*"
-    - ".*\\.google\\.com/.*"
-    - ".*\\.google\\.ru/.*"
+    # Current Google imagery URLs have google or googleapis in the domain
+    # with a vt or kh endpoint, and x, y and z query parameters
+    - ".*\\.google(apis)?\\..*/(vt|kh)[\\?/].*([xyz]=.*){3}.*"
   # URL of Overpass instance to use for feature queries
   overpass_url: "//overpass-api.de/api/interpreter"
   # Routing endpoints
   graphhopper_url: "//graphhopper.com/api/1/route"
   mapquest_directions_url: "//open.mapquestapi.com/directions/v2/route"
   mapzen_valhalla_url: "//valhalla.mapzen.com/route"
-  osrm_url: "//router.project-osrm.org/viaroute"
+  osrm_url: "//router.project-osrm.org/route/v1/driving/"
   # External authentication credentials
   #google_auth_id: ""
   #google_auth_secret: ""
index b6c9b50..4446fbe 100644 (file)
@@ -44,3 +44,29 @@ mapnik:
   - { min_zoom: 15, max_zoom: 19, name: private, image: private.png }
   - { min_zoom: 15, max_zoom: 19, name: destination, image: destination.png }
   - { min_zoom: 12, max_zoom: 19, name: construction, image: construction.png }
+cyclemap:
+  - { min_zoom: 0, max_zoom: 11, name: motorway, image: motorway.png }
+  - { min_zoom: 12, max_zoom: 19, name: motorway, image: motorway12.png }
+  - { min_zoom: 0, max_zoom: 11, name: trunk, image: trunk.png }
+  - { min_zoom: 12, max_zoom: 19, name: trunk, image: trunk12.png }
+  - { min_zoom: 7, max_zoom: 11, name: primary, image: primary.png }
+  - { min_zoom: 12, max_zoom: 19, name: primary, image: primary12.png }
+  - { min_zoom: 9, max_zoom: 11, name: secondary, image: secondary.png }
+  - { min_zoom: 12, max_zoom: 19, name: secondary, image: secondary12.png }
+  - { min_zoom: 13, max_zoom: 19, name: track, image: track.png }
+  - { min_zoom: 8, max_zoom: 19, name: cycleway, image: cycleway.png }
+  - { min_zoom: 5, max_zoom: 12, name: cycleway_national, image: cycleway_national.png }
+  - { min_zoom: 13, max_zoom: 19, name: cycleway_national, image: cycleway_national13.png }
+  - { min_zoom: 5, max_zoom: 12, name: cycleway_regional, image: cycleway_regional.png }
+  - { min_zoom: 13, max_zoom: 19, name: cycleway_regional, image: cycleway_regional13.png }
+  - { min_zoom: 8, max_zoom: 12, name: cycleway_local, image: cycleway_local.png }
+  - { min_zoom: 13, max_zoom: 19, name: cycleway_local, image: cycleway_local13.png }
+  - { min_zoom: 13, max_zoom: 19, name: footway, image: footway.png }
+  - { min_zoom: 7, max_zoom: 13, name: rail, image: rail.png }
+  - { min_zoom: 14, max_zoom: 19, name: rail, image: rail14.png }
+  - { min_zoom: 9, max_zoom: 19, name: forest, image: forest.png }
+  - { min_zoom: 10, max_zoom: 19, name: common, image: common.png }
+  - { min_zoom: 7, max_zoom: 19, name: lake, image: lake.png }
+  - { min_zoom: 14, max_zoom: 19, name: bicycle_shop, image: bicycle_shop.png }
+  - { min_zoom: 14, max_zoom: 19, name: bicycle_parking, image: bicycle_parking.png }
+  - { min_zoom: 16, max_zoom: 19, name: toilets, image: toilets.png }
index eaacc98..1512675 100644 (file)
@@ -143,6 +143,7 @@ ar:
         مضت</abbr>
       commented_by: تعليق من %{user} <abbr title='%{exact_time}'>%{when} مضت</abbr>
       changesetxml: حزمة التغييرات إكس إم أل
+      osmchangexml: osmChange XML
       feed:
         title: حزمة التغييرات %{id}
         title_comment: حزمة التغييرات %{id} - %{comment}
@@ -702,7 +703,7 @@ ar:
           volcano: بركان
           water: ماء
           wetland: أرض رطبة
-          wood: Ø­Ø±Ø¬
+          wood: ØºØ§Ø¨Ø©
         office:
           accountant: محاسب
           administrative: إدارة
index d395590..ce40976 100644 (file)
@@ -1766,6 +1766,9 @@ ast:
         windowslive:
           title: Anicia sesión con Windows Live
           alt: Anicia sesión con una cuenta de Windows Live
+        github:
+          title: Aniciar sesión con GitHub
+          alt: Aniciar sesión con una cuenta de GitHub
         yahoo:
           title: Aniciar sesión con Yahoo
           alt: Aniciar sesión con una OpenID de Yahoo
index 8278eb7..494aac4 100644 (file)
@@ -1825,6 +1825,9 @@ ca:
         windowslive:
           title: Inici de sessió amb Windows Live
           alt: Inici de sessió amb un Compte de Windows Live
+        github:
+          title: Inicia la sessió amb GitHub
+          alt: Inicia la sessió amb un compte de GitHub
         yahoo:
           title: Inicieu la sessió amb Yahoo
           alt: Inici de sessió amb un compte OpenID de Yahoo
index 8f8fe24..6824723 100644 (file)
@@ -13,6 +13,7 @@
 # Author: Kuvaly
 # Author: Luk
 # Author: LukasJandera
+# Author: Martin Urbanec
 # Author: Masox
 # Author: Matěj Grabovský
 # Author: Michaelbrabec
@@ -1795,6 +1796,9 @@ cs:
         windowslive:
           title: Přihlásit se přes Windows Live
           alt: Přihlášení pomocí účtu služeb Windows Live
+        github:
+          title: Přihlásit se přes GitHub
+          alt: Přihlásit se pomocí GitHub účtu
         yahoo:
           title: Přihlásit se prostřednictvím Yahoo
           alt: Přihlášení pomocí Yahoo OpenID
@@ -2350,11 +2354,17 @@ cs:
       instructions:
         continue_without_exit: Pokračujte na %{name}
         slight_right_without_exit: Mírně vpravo na %{name}
+        offramp_right_without_exit: Jeďte nájezdem na pravo na %{name}
+        onramp_right_without_exit: Odbočit vpravo na nájezd na %{name}
+        endofroad_right_without_exit: Na konci silnice odbočit vpravo na %{name}
+        merge_right_without_exit: Odbočte vpravo na %{name}
+        fork_right_without_exit: Na rozcestí odbočte doprava na %{name}
         turn_right_without_exit: Odbočte vpravo na %{name}
         sharp_right_without_exit: Ostře vpravo na %{name}
         uturn_without_exit: Otočte se na %{name}
         sharp_left_without_exit: Ostře vlevo na %{name}
         turn_left_without_exit: Odbočte vlevo na %{name}
+        offramp_left_without_exit: Jeďte nájezdem na levé straně na %{name}
         slight_left_without_exit: Mírně vlevo na %{name}
         via_point_without_exit: (zastávka)
         follow_without_exit: Jeďte po %{name}
index 7d5a254..ba010be 100644 (file)
@@ -1861,6 +1861,9 @@ de:
         windowslive:
           title: Mit Windows Live anmelden
           alt: Mit einem Windows-Live-Konto anmelden
+        github:
+          title: Mit GitHub anmelden
+          alt: Mit einem GitHub-Konto anmelden
         yahoo:
           title: Mit Yahoo anmelden
           alt: Mit einer Yahoo-OpenID anmelden
@@ -2438,11 +2441,21 @@ de:
       instructions:
         continue_without_exit: Weiter auf %{name}
         slight_right_without_exit: Leicht rechts auf %{name}
+        offramp_right_without_exit: Die rechte Auffahrt auf %{name} nehmen
+        onramp_right_without_exit: Bei der Auffahrt rechts abbiegen auf %{name}
+        endofroad_right_without_exit: Am Straßenende rechts abbiegen auf %{name}
+        merge_right_without_exit: Rechts einfädeln in %{name}
+        fork_right_without_exit: Bei der Gabelung rechts abbiegen auf %{name}
         turn_right_without_exit: Rechts abbiegen auf %{name}
         sharp_right_without_exit: Scharf rechts auf %{name}
         uturn_without_exit: Umkehren entlang %{name}
         sharp_left_without_exit: Scharf links auf %{name}
         turn_left_without_exit: Links abbiegen auf %{name}
+        offramp_left_without_exit: Die linke Auffahrt auf %{name} nehmen
+        onramp_left_without_exit: Bei der Auffahrt links abbiegen auf %{name}
+        endofroad_left_without_exit: Am Straßenende links abbiegen auf %{name}
+        merge_left_without_exit: Links einfädeln in %{name}
+        fork_left_without_exit: Bei der Gabelung links abbiegen auf %{name}
         slight_left_without_exit: Leicht links auf %{name}
         via_point_without_exit: (über Punkt)
         follow_without_exit: '%{name} folgen'
index 7707a42..19df51c 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: phpyaml
 # Author: Erdemaslancan
 # Author: Gorizon
+# Author: Gırd
 # Author: Kumkumuk
 # Author: Marmase
 # Author: Mirzali
@@ -126,7 +127,11 @@ diq:
       title: Noqta:%{name}
     way:
       title: Ray:%{name}
+      history_title: Verora rayer:%{name}
       nodes: Noqtey
+      also_part_of:
+        one: letey ray %{related_ways}
+        other: letey rayer %{related_ways}
     relation:
       title: Eleqe:%{name}
       history_title: 'Verorê eleqey: %{name}'
@@ -141,6 +146,7 @@ diq:
       entry: Eleqe %{relation_name}
       entry_role: Eleqe %{relation_name} (%{relation_role} deye)
     not_found:
+      sorry: 'Qısur mewni,  #%{id} numreya %{type} nêvine yê.'
       type:
         node: qedyin
         way: ray
@@ -176,6 +182,7 @@ diq:
       next: Peyên »
       previous: « Verên
     changeset:
+      anonymous: Anonim
       no_edits: (vurnayış çıniyo)
     changesets:
       id: ID
@@ -185,9 +192,14 @@ diq:
       area: Erz
     list:
       title: Seta vurnayışan
+      load_more: Dehana vêşi
+    rss:
+      full: Vaten pêro
   diary_entry:
     new:
       publish_button: Vıla ke
+    list:
+      user_title: '%{user} (Rocek)'
     edit:
       subject: 'Mewzu:'
       body: 'Vêrey mesaci:'
@@ -217,8 +229,12 @@ diq:
       newer_comments: Mışewreyê Tewr Neweyi
       older_comments: Vatışo Tewr Kehan
   export:
+    title: Teber de
     start:
       area_to_export: Cayo ke cıra bıvciyo
+      manually_select: Be desti ra yew cayo bin weçıne
+      format_to_export: Formatê teberi ra eştışi
+      osm_xml_data: OpenStreetMap XML Data
       licence: Lisans
       options: Weçinegi
       format: Format
@@ -261,6 +277,7 @@ diq:
           bicycle_parking: Perka Bisiklet
           bicycle_rental: Bisiklet İcar kerden
           biergarten: Hegay Bira
+          boat_rental: Bot icar
           brothel: Kerxane
           bureau_de_change: Buroye Dovizan
           bus_station: Otogar
@@ -270,8 +287,10 @@ diq:
           car_wash: Wesayıt Şuwayış
           casino: Kasino
           charging_station: İstasyona Pırkerden
+          childcare: Qeç weynayış
           cinema: Sinema
           clinic: Klinik
+          clock: Saete
           college: Lise
           community_centre: Merkezê Cemeati
           courthouse: Adliye
@@ -281,6 +300,7 @@ diq:
           dormitory: Ware
           drinking_water: Awa Şımıtışi
           driving_school: Kursa Ramenan
+          embassy: Sefirey
           emergency_phone: Vistren Telefon
           fast_food: Fast Food
           ferry_terminal: Terminala Feriboter
@@ -289,6 +309,7 @@ diq:
           food_court: Kerwanseray
           fountain: Fıskiye
           fuel: Petrol
+          gambling: Kumarxane
           grave_yard: Mezla ser
           gym: Merkeza Fitnessi / Salona Spori
           health_centre: Merkeza Weşiney
@@ -299,11 +320,14 @@ diq:
           library: Kıtıbxane
           market: Market
           marketplace: Heruna bazari
+          monastery: Manastır
+          motorcycle_parking: Motorpiskilet park kerdış
           nightclub: Kluba Şewer
           nursery: Kreş
           nursing_home: Rehatxane
           office: Ofis
           parking: Otopark
+          parking_entrance: Keyberê par kerdışi
           pharmacy: Eczaxane
           place_of_worship: Bawerxane
           police: Pulis
@@ -324,6 +348,7 @@ diq:
           shower: Çımecek
           social_centre: Merkezo Sosyal
           social_club: Kluba Sosyal
+          social_facility: Tesiso sosyal
           studio: Studyo
           swimming_pool: Dola Asnawkerdışi
           taxi: Taksi
@@ -336,23 +361,50 @@ diq:
           veterinary: Veteriner
           village_hall: Wedey Dewer
           waste_basket: Tenkey Sıloy
+          waste_disposal: Cay sıloy
           youth_centre: Merkezê Gencan
         boundary:
           administrative: Sinorê İdari
+          census: Sinora amora nıfusi
           national_park: Perka Milli
+          protected_area: Star biyaye erd
         bridge:
+          aqueduct: Kemerê awer
+          suspension: Pırdo layın
           swing: Pırde Asnawi
+          viaduct: Viyaduk
           "yes": Pırd
         building:
           "yes": Bina
+        craft:
+          brewery: Fabriqay bira
+          carpenter: Merengoz
+          electrician: Ceyranwan
+          gardener: Bahçıvan
+          painter: Dawtewan
+          photographer: Fotrafkar
+          plumber: Tesisatwan
+          shoemaker: Postalwan
+          tailor: Deştoğ
+          "yes": Dukanê çiy
+        emergency:
+          ambulance_station: İstasyona ambulans
+          defibrillator: Defibrillator ( makinay qelbi)
+          landing_site: Cay war amyayışi
+          phone: Vistren Telefon
         highway:
+          abandoned: Raya kehan
           bridleway: Raya Estoran
+          bus_guideway: İsleg raya otobosan
           bus_stop: İstasyonê Otobozan
+          construction: Vıraziyê weziyet de ray
           cycleway: Raya Bisikleter
+          elevator: Esansor
           emergency_access_point: Cayê vistra resnayışi
           footway: Raya geyrayışi
           ford: Balan
           living_street: Kuçey Cıwiyayışi
+          milestone: Siyê kilometri
           motorway: Otoray
           motorway_junction: Kewşaxa Otorayer
           motorway_link: Raya Otoray
@@ -361,15 +413,27 @@ diq:
           platform: Platform
           primary: Raya Dewlet
           primary_link: Raya Dewlet
+          proposed: Plan bıyayi ray
           raceway: Raya Vestışi
           residential: Are Ray
           rest_area: Cay solıxgrotışi
           road: Ray
+          secondary: Raya wılayeti
+          secondary_link: Grey raya wılayeti
+          service: Raya serwisi
+          services: Tesisê mêli
           speed_camera: Kemeraya Vıstrın
           steps: Merwani
+          street_lamp: Lumbay kuçi
           tertiary: Raya Dewan
+          tertiary_link: Raya Dewan
           track: Raya Herın
+          traffic_signals: Signalê trafiki
           trail: Şop
+          trunk: Letebıyayi ser ray
+          trunk_link: Lwtebıyayi ser ray
+          unclassified: Nêrêzbıyayi ray
+          unsurfaced: Raya xam
           "yes": Ray
         historic:
           archaeological_site: Arkeolojik Ca
@@ -420,10 +484,32 @@ diq:
           orchard: Hêga
           railway: Rayatiran
           reservoir: Dola Beraci
+          retail: Esnaf
+          road: Cay ray
+          village_green: Cayo kıho
+          vineyard: Rez
+          "yes": Karıyayışa erdi
         leisure:
+          beach_resort: Dewa plajın
+          bird_hide: Cay mıriçık weynayışi
+          club: Klüb
+          common: Umumi erd
+          dog_park: Parka kutıkan
+          fishing: Heruna masan
+          fitness_centre: Fitness Merkezi
+          fitness_station: Spor Merkezi
           garden: Hega
+          golf_course: Sağay golfi
+          horse_riding: Bergir cınayış
+          ice_rink: Patena cemedi
           marina: Marina
+          miniature_golf: Minyatür Golf
+          nature_reserve: Cay gem starnayışi
           park: Perk
+          pitch: Seğay spori
+          playground: Parka qeçkan
+          resort: Resort
+          sauna: Sauna
           stadium: Stadyum
         military:
           bunker: Stare
index 10316e3..b0e6a03 100644 (file)
@@ -1245,6 +1245,14 @@ el:
       Το OpenStreetMap υπογραμμίζει την τοπική γνώση. Οι συνεισφέροντες χρησιμοποιούν αεροφωτογραφίες, συσκευές GPS, και τοπικούς χάρτες χαμηλής τεχνολογίας για να σιγουρευτούν πως το OSM
       είναι ακριβής και ενημερωμένο.
     community_driven_title: Βασίζεται Στην Κοινότητα
+    community_driven_html: |-
+      Η κοινότητα του OpenStreetMap είναι ποικίλη, παθιασμένη, και μεγαλώνει κάθε μέρα.
+      Στους συνεισφέροντές μας περιλαμβάνονται ενθουσιώδεις χαρτογράφοι, επαγγελματίες GIS, μηχανικοί
+      που τρέχουν τους εξυπηρετητές OSM, ανθρωπιστές που χαρτογραφούν κατεστραμμένες-πληγείσες περιοχές,
+      και πολλούς περισσότερους.
+      Για να μάθετε περισσότερα για την κοινότητα, ανατρέξτε στα <a href="%{diary_path}">ημερολόγια χρηστών</a>, τα
+      <a href="http://blogs.openstreetmap.org/">ιστολόγια της κοινότητας</a>και
+      την ιστοσελίδα του <a href="http://www.osmfoundation.org/">Ιδρύματος OSM</a>.
     open_data_title: Ανοικτά Δεδομένα
     open_data_html: 'Το OpenStreetMap είναι βάση <i>ανοικτών δεδομένων</i>: είστε
       ελεύθεροι να την χρησιμοποιήστε για οποιονδήποτε σκοπό, εφόσον μνημονεύετε το
@@ -1292,6 +1300,8 @@ el:
         more_info_2: 'μπορούν να βρεθούν στο:'
       success:
         subject: '[OpenStreetMap] Η εισαγωγή GPX πέτυχε'
+        loaded_successfully: φόρτωσε επιτυχώς με %{trace_points} από %{possible_points}
+          πιθανά σημεία.
     signup_confirm:
       subject: '[OpenStreetMap] Καλώς ήλθατε στο OpenStreetMap'
       greeting: Γεια σου!
@@ -1586,6 +1596,9 @@ el:
       trackable: Ανιχνέυσιμο(κοινοποιείται ανώνυμα, διατάσσονται τα σημεία με χρονοσημάνσεις)
     create:
       upload_trace: Αποστολή Ίχνους GPS
+      trace_uploaded: Το GPX αρχείο σας έχει μεταμορφωθεί και αναμένει την εισαγωγή
+        στη βάση δεδομένων. Συνήθως αυτό θα συμβεί μέσα σε μισή ώρα, και μετά την
+        ολοκλήρωση θα σας αποσταλεί ένα email.
     edit:
       title: Επεξεργασία ίχνους %{name}
       heading: Επεξεργασία ίχνους %{name}
@@ -1683,6 +1696,9 @@ el:
     georss:
       title: OpenStreetMap Ίχνη GPS
     description:
+      description_with_count:
+        one: αρχείο GPX με %{count} σημείο από %{user}
+        other: αρχείο GPX με %{count} σημεία από %{user}
       description_without_count: Αρχείο GPX από τον χρήστη %{user}
   application:
     require_cookies:
@@ -1743,6 +1759,7 @@ el:
       title: Οι λεπτομέρειες του OAuth μου
       my_tokens: Οι Εξουσιοδοτημένες Εφαρμογές μου
       application: Όνομα Εφαρμογής
+      issued_at: Εκδόθηκε Στις
       revoke: Ανακαλέστε!
       my_apps: Οι Εφαρμογές Πελάτη Μου
       registered_apps: 'Έχετε τις παρακάτω εφαρμογές πελάτη καταχωρημένες:'
@@ -1803,6 +1820,9 @@ el:
         windowslive:
           title: Σύνδεση με το Windows Live
           alt: Σύνδεση με ένα Λογαριασμό Windows Live
+        github:
+          title: Σύνδεση με το GitHub
+          alt: Σύνδεση με λογαριασμό GitHub
         yahoo:
           title: Σύνδεση με το Yahoo
           alt: Σύνδεση με ένα Yahoo OpenID
@@ -1891,6 +1911,7 @@ el:
       body: Λυπάμαι, δεν υπάρχει χρήστης με το όνομα %{user}. Είναι πιθανό να υπάρχουν
         ορθογραφικά λάθη ή να είναι λάθος ο σύνδεσμος μέσω του οποίου φτάσατε σε αυτήν
         τη σελίδα.
+      deleted: διεγράφη
     view:
       my diary: Το Ημερολόγιό Μου
       new diary entry: νέα καταχώρηση ημερολογίου
@@ -2039,6 +2060,12 @@ el:
       reconfirm_html: Εάν θέλετε να σας ξαναστείλουμε το email επιβεβαίωσης <a href="%{reconfirm}">πατήστε
         εδώ</a>.
     confirm_resend:
+      success: Έχουμε στείλει ένα νέο σημείωμα επιβεβαίωσης στο %{email} και μόλις
+        επιβεβαιώσετε τον λογαριασμό σας, θα μπορείτε να αρχίσετε τη χαρτογράφηση.<br
+        /><br />Εάν χρησιμοποιείτε ένα σύστημα αποκλεισμού ανεπιθύμητων μηνυμάτων,
+        το οποίο στέλνει αιτήματα επιβεβαίωσης, βεβαιωθείτε ότι έχετε προσθέσει σε
+        λίστα επιτρεπόμενων το %{sender} καθώς δεν μπορούμε να απαντάμε σε κανένα
+        αίτημα επιβεβαίωσης.
       failure: Ο χρήστης %{name} δεν βρέθηκε.
     confirm_email:
       heading: Επιβεβαίωση αλλαγής της διεύθυνσης ηλεκτρονικού ταχυδρομείου
@@ -2093,8 +2120,18 @@ el:
         </p>
     auth_failure:
       unknown_signature_algorithm: Άγνωστος αλγόριθμος υπογραφής
+    auth_association:
+      heading: Το ID σας δεν σχετίζεται ακόμα με λογαριασμό στο OpenStreetMap.
+      option_1: |-
+        Εάν είστε νέοι στο OpenStreetMap, παρακαλούμε να δημιουργήσετε έναν νέο λογαριασμό
+        χρησιμοποιώντας την παρακάτω φόρμα.
+      option_2: Αν έχετε ήδη λογαριασμό, μπορείτε να συνδεθείτε στον λογαριασμό σας
+        χρησιμοποιώντας το όνομα χρήστη και τον κωδικό πρόσβασης και, στη συνέχεια,
+        να συσχετίσετε τον λογαριασμό με το ID σας στις ρυθμίσεις χρήστη.
   user_role:
     filter:
+      not_an_administrator: Μόνο οι διαχειριστές μπορούν να εκτελέσουν διαχείριση
+        ρόλων χρηστών και δεν είστε διαχειριστής.
       not_a_role: Το αλφαριθμητικό `%{role}' δεν είναι ένας έγκυρος ρόλος.
       already_has_role: Ο χρήστης έχει ήδη ρόλο %{role}.
       doesnt_have_role: Ο χρήστης δεν έχει ρόλο %{role}.
@@ -2111,20 +2148,36 @@ el:
         «%{name}»;
       confirm: Επιβεβαίωση
   user_block:
+    model:
+      non_moderator_update: Πρέπει να είστε συντονιστής για να δημιουργήσετε ή να
+        ενημερώσετε μία φραγή.
+      non_moderator_revoke: Πρέπει να είστε συντονιστής για να ανακαλέσετε μία φραγή.
     not_found:
       sorry: Συγγνώμη, δε βρέθηκε φραγή χρήστη με ID %{id}.
       back: Επιστροφή στο ευρετήριο
     new:
       title: Δημιουργία φραγής στον %{name}
       heading: Δημιουργία φραγής στον %{name}
+      reason: Η αιτία αποκλεισμού του/της %{name}. Παρακαλώ να είστε όσο το δυνατόν
+        πιο ήρεμος/-η και λογικός/-ή, δίνοντας όσες περισσότερες λεπτομέρειες μπορείτε
+        για την κατάσταση και σκεπτόμενος/-η ότι το μήνυμα θα είναι δημόσια ορατό.
+        Να έχετε υπόψη σας ότι δεν κατανοούν όλοι οι χρήστες την ορολογία της κοινότητας,
+        γι' αυτό προσπαθήστε να χρησιμοποιήσετε εκλαϊκευμένους όρους.
       period: Για πόσο καιρό από τώρα θα είναι αποκλεισμένος ο χρήστης από το API.
       submit: Δημιουργία φραγής
       tried_contacting: Επικοινώνησα με τον χρήστη και του ζήτησα να σταματήσει.
+      tried_waiting: Έχω δώσει ένα εύλογο χρονικό διάστημα στον χρήστη να απαντήσει
+        σε αυτές τις επικοινωνίες.
       needs_view: Ο χρήστης πρέπει να συνδεθεί προτού εκκαθαριστεί αυτή η φραγή.
       back: Προβολή όλων των φραγών
     edit:
       title: Επεξεργασία φραγής στον %{name}
       heading: Επεξεργασία φραγής στον %{name}
+      reason: Η αιτία αποκλεισμού του/της %{name}. Παρακαλώ να είστε όσο το δυνατόν
+        πιο ήρεμος/-η και λογικός/-ή, δίνοντας όσες περισσότερες λεπτομέρειες μπορείτε
+        για την κατάσταση. Να έχετε υπόψη σας ότι δεν κατανοούν όλοι οι χρήστες την
+        ορολογία της κοινότητας, γι' αυτό προσπαθήστε να χρησιμοποιήσετε εκλαϊκευμένους
+        όρους.
       period: Για πόσο καιρό από τώρα θα είναι αποκλεισμένος ο χρήστης από το API.
       submit: Ενημέρωση φραγής
       show: Προβολή αυτής της φραγής
@@ -2149,6 +2202,11 @@ el:
       heading: Λίστα φραγών του χρήστη
       empty: Δεν έχουν γίνει ακόμα φραγές.
     revoke:
+      title: Ανάκληση φραγής του/της %{block_on}
+      heading: Ανάκληση φραγής του/της %{block_on} από τον/την %{block_by}
+      time_future: Αυτή η φραγή θα λήξει στις %{time}.
+      past: Αυτή η φραγή τελείωσε πριν από %{time} και δεν μπορεί να ανακληθεί τώρα.
+      confirm: Είστε σίγουρος πως επιθυμείτε να ανακαλέσετε αυτή τη φραγή;
       revoke: Ανακαλέστε!
       flash: Αυτή η φραγή έχει ανακληθεί.
     period:
@@ -2159,7 +2217,7 @@ el:
       edit: Επεξεργασία
       revoke: Ανακαλέστε!
       confirm: Είσαστε σίγουροι;
-      display_name: Î¥Ï\80Ï\8c Î¦Ï\81αγή Χρήστης
+      display_name: Î\91Ï\80οκλειÏ\83μένοÏ\82 Χρήστης
       creator_name: Δημιουργός
       reason: Αιτία φραγής
       status: Κατάσταση
@@ -2248,6 +2306,7 @@ el:
       center_marker: Κεντράρισμα χάρτη στο δείκτη
       paste_html: Επικόλληση HTML για ενσωμάτωση στην ιστοσελίδα
       view_larger_map: Προβολή Μεγαλύτερου Χάρτη
+      only_standard_layer: Μόνο το τυπικό στρώμα μπορεί να εξαχθεί ως εικόνα
     embed:
       report_problem: Αναφορά προβλήματος
     key:
index 57ffe9f..c4ea035 100644 (file)
@@ -1806,6 +1806,9 @@ en-GB:
         windowslive:
           title: Login with Windows Live
           alt: Login with a Windows Live Account
+        github:
+          title: Login with GitHub
+          alt: Login with a GitHub Account
         yahoo:
           title: Login with Yahoo
           alt: Login with a Yahoo OpenID
@@ -2365,11 +2368,21 @@ en-GB:
       instructions:
         continue_without_exit: Continue on %{name}
         slight_right_without_exit: Slight right onto %{name}
+        offramp_right_without_exit: Take the sliproad on the right onto %{name}
+        onramp_right_without_exit: Turn right on the sliproad onto %{name}
+        endofroad_right_without_exit: At the end of the road turn right onto %{name}
+        merge_right_without_exit: Merge right onto %{name}
+        fork_right_without_exit: At the fork turn right onto %{name}
         turn_right_without_exit: Turn right onto %{name}
         sharp_right_without_exit: Sharp right onto %{name}
         uturn_without_exit: U-turn along %{name}
         sharp_left_without_exit: Sharp left onto %{name}
         turn_left_without_exit: Turn left onto %{name}
+        offramp_left_without_exit: Take the sliproad on the left onto %{name}
+        onramp_left_without_exit: Turn left on the sliproad onto %{name}
+        endofroad_left_without_exit: At the end of the road turn left onto %{name}
+        merge_left_without_exit: Merge left onto %{name}
+        fork_left_without_exit: At the fork turn left onto %{name}
         slight_left_without_exit: Slight left onto %{name}
         via_point_without_exit: (via point)
         follow_without_exit: Follow %{name}
index 321821d..c8731ee 100644 (file)
@@ -1433,6 +1433,9 @@ en:
           track: "Track"
           bridleway: "Bridleway"
           cycleway: "Cycleway"
+          cycleway_national: "National cycleway"
+          cycleway_regional: "Regional cycleway"
+          cycleway_local: "Local cycleway"
           footway: "Footway"
           rail: "Railway"
           subway: "Subway"
@@ -1485,6 +1488,9 @@ en:
           private: "Private access"
           destination: "Destination access"
           construction: "Roads under construction"
+          bicycle_shop: "Bicycle shop"
+          bicycle_parking: "Bicycle parking"
+          toilets: "Toilets"
     richtext_area:
       edit: Edit
       preview: Preview
@@ -2249,11 +2255,21 @@ en:
       instructions:
         continue_without_exit: Continue on %{name}
         slight_right_without_exit: Slight right onto %{name}
+        offramp_right_without_exit: Take the ramp on the right onto %{name}
+        onramp_right_without_exit: Turn right on the ramp onto %{name}
+        endofroad_right_without_exit: At the end of the road turn right onto %{name}
+        merge_right_without_exit: Merge right onto %{name}
+        fork_right_without_exit: At the fork turn right onto %{name}
         turn_right_without_exit: Turn right onto %{name}
         sharp_right_without_exit: Sharp right onto %{name}
         uturn_without_exit: U-turn along %{name}
         sharp_left_without_exit: Sharp left onto %{name}
         turn_left_without_exit: Turn left onto %{name}
+        offramp_left_without_exit: Take the ramp on the left onto %{name}
+        onramp_left_without_exit: Turn left on the ramp onto %{name}
+        endofroad_left_without_exit: At the end of the road turn left onto %{name}
+        merge_left_without_exit: Merge left onto %{name}
+        fork_left_without_exit: At the fork turn left onto %{name}
         slight_left_without_exit: Slight left onto %{name}
         via_point_without_exit: (via point)
         follow_without_exit: Follow %{name}
index fa8c6a5..2025299 100644 (file)
@@ -1815,6 +1815,9 @@ es:
         windowslive:
           title: Inicia sesión con Windows Live
           alt: Inicia sesión con una cuenta de Windows Live
+        github:
+          title: Accede con GitHub
+          alt: Accede con una cuenta de GitHub
         yahoo:
           title: Iniciar sesión con Yahoo
           alt: Iniciar sesión con una OpenID de Yahoo
index cbeef07..7c5bdd2 100644 (file)
@@ -411,11 +411,11 @@ fr:
         overpass:
           title: API Overpass
           description: Télécharger ce cadre englobant depuis un miroir de la base
-            de données d’OpenStreetMap
+            de données OpenStreetMap
         geofabrik:
           title: Téléchargements de Geofabrik
-          description: Extractions régulièrement mises à jour des continents, pays
-            et villes sélectionnées
+          description: Extractions régulièrement mises à jour des continents, des
+            pays et des villes sélectionnées
         metro:
           title: Extractions de Metro
           description: Extractions des principales villes du monde et de leurs environs
@@ -1854,6 +1854,9 @@ fr:
         windowslive:
           title: Connexion avec Windows Live
           alt: Se connecter avec un compte Windows Live
+        github:
+          title: Connexion avec GitHub
+          alt: Connexion avec un Compte GitHub
         yahoo:
           title: Se connecter avec Yahoo
           alt: Se connecter avec l’OpenID de Yahoo
@@ -2427,11 +2430,21 @@ fr:
       instructions:
         continue_without_exit: Continuez sur %{name}
         slight_right_without_exit: Tournez légèrement à droite sur %{name}
+        offramp_right_without_exit: Prendre la bretelle à droite sur %{name}
+        onramp_right_without_exit: Tourner à droite sur la bretelle sur %{name}
+        endofroad_right_without_exit: À la fin de la route, tourner à droite sur %{name}
+        merge_right_without_exit: Rejoindre à droite sur %{name}
+        fork_right_without_exit: À la bifurcation, tourner à droite sur %{name}
         turn_right_without_exit: Tournez à droite sur %{name}
         sharp_right_without_exit: Tournez vivement à droite sur %{name}
         uturn_without_exit: Faites demi-tour sur %{name}
         sharp_left_without_exit: Tournez vivement à gauche sur %{name}
         turn_left_without_exit: Tournez à gauche sur %{name}
+        offramp_left_without_exit: Prendre la bretelle de gauche jusque %{name}
+        onramp_left_without_exit: Tourner à gauche sur la bretelle sur %{name}
+        endofroad_left_without_exit: À la fin de la route, tourner à gauche sur %{name}
+        merge_left_without_exit: Rejoindre à gauche sur %{name}
+        fork_left_without_exit: À la bifurcation, tourner à gauche sur %{name}
         slight_left_without_exit: Tournez légèrement à gauche sur %{name}
         via_point_without_exit: (par le point)
         follow_without_exit: Suivez %{name}
index 0865edc..da41adb 100644 (file)
@@ -1805,6 +1805,9 @@ gl:
         windowslive:
           title: Iniciar sesión co Windows Live
           alt: Iniciar sesión cunha conta de Windows Live
+        github:
+          title: Acceder con GitHub
+          alt: Acceder cunha conta de GitHub
         yahoo:
           title: Acceder ao sistema con Yahoo
           alt: Acceder ao sistema cun OpenID de Yahoo
@@ -2370,11 +2373,21 @@ gl:
       instructions:
         continue_without_exit: Continuar en %{name}
         slight_right_without_exit: Xire un pouco cara á dereita en %{name}
+        offramp_right_without_exit: Colla a rampla á dereita en %{name}
+        onramp_right_without_exit: Xire á dereita na rampla en %{name}
+        endofroad_right_without_exit: Ó final da estrada xire á dereita en %{name}
+        merge_right_without_exit: Únase á dereita en %{name}
+        fork_right_without_exit: Na bifurcación xire á dereita en %{name}
         turn_right_without_exit: Xire á dereita en %{name}
         sharp_right_without_exit: Xiro brusco á dereita en %{name}
         uturn_without_exit: Cambio de sentido en %{name}
         sharp_left_without_exit: Xiro brusco á esquerda en %{name}
         turn_left_without_exit: Xire á esquerda cara %{name}
+        offramp_left_without_exit: Colla a rampla á esquerda en %{name}
+        onramp_left_without_exit: Xire á esquerda na rampla en %{name}
+        endofroad_left_without_exit: Ó final da estrada xire á esquerda en %{name}
+        merge_left_without_exit: Únase á esquerda en %{name}
+        fork_left_without_exit: Na bifurcación xire á esquerda en %{name}
         slight_left_without_exit: Xire un pouco cara á esquerda en %{name}
         via_point_without_exit: (punto intermedio)
         follow_without_exit: Siga %{name}
index d9fe641..d34e532 100644 (file)
@@ -8,6 +8,7 @@
 # Author: Ex-Diktator
 # Author: ExampleTomer
 # Author: GilCahana
+# Author: Guycn2
 # Author: Inkbug
 # Author: Itay naor
 # Author: LaG roiL
@@ -1768,6 +1769,9 @@ he:
         windowslive:
           title: כניסה עם Windows Live
           alt: כניסה עם חשבון Windows Live
+        github:
+          title: כניסה באמצעות GitHub
+          alt: כניסה עם חשבון GitHub
         yahoo:
           title: כניסה עם יאהו
           alt: כניסה עם OpenID של יאהו
index ab1f9c8..204819d 100644 (file)
@@ -247,6 +247,9 @@ hsb:
     timeout:
       sorry: Bohužel je předołho trało, skupiny změny, kotrež sy požadał, wotwołać.
     rss:
+      title_all: Diskusija wo sadźbje změnow OpenStreetMap
+      title_particular: Diskusija wo sadźbje změnow čo. %{changeset_id} OpenStreetMap
+      comment: Nowy komentar k sadźbje změnow čo. %{changeset_id} wot %{author}
       commented_at_html: Zaktualizowane před %{when}
       commented_at_by_html: Před %{when} wot %{user} nahraty
       full: Dospołna diskusija
@@ -1069,8 +1072,9 @@ hsb:
         za wotstronjenje wobsaha</a>abo zdźěl to direktnje na našej <a href="http://dmca.openstreetmap.org/">formularnej
         stronje</a>.
       trademarks_title_html: <span id="trademarks"></span>markowe znamjo
-      trademarks_1_html: OpenStreetMap a logo z lupu stej registrowanej znamjeni załožby
-        OpenStreetMap. Maš-li prašenja wo wužiwanju znamjo, pósćel je prošu <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">dźěłowej
+      trademarks_1_html: OpenStreetMap, logo z lupu a staw karty su registrowane znamjenja
+        załožby OpenStreetMap. Maš-li prašenja wo wužiwanju znamjo, pósćel je prošu
+        <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">dźěłowej
         skupinje "licency"</a>.
   welcome_page:
     title: Witaj!
@@ -1299,8 +1303,15 @@ hsb:
       greeting: Witaj,
       commented:
         subject_own: '[OpenStreetMap] %{commenter} je jednu z twojich změnow komentował(a)'
+        subject_other: '[OpenStreetMap] %{commenter} je sadźbu změnow komentował,
+          za kotruž so zajimuješ'
+        your_changeset: '%{commenter} je jednu z twojich sadźbow změnow komentował,
+          wutworjenu %{time}'
+        commented_changeset: '%{commenter} je sadźbu změnow karty komentował, kotruž
+          wobkedźbuješ a kotraž je so wot %{changeset_author} %{time} wutworiła'
         partial_changeset_with_comment: z komentarom „%{changeset_comment}“
         partial_changeset_without_comment: bjez komentara
+      details: Dalše podrobnosće wo sadźbje změnow móžeš na %{url} namakać.
   message:
     inbox:
       title: Póstowy kašćik
@@ -1764,6 +1775,9 @@ hsb:
         windowslive:
           title: Přizjewjenje z Windows Live
           alt: Přizjewjenje z kontom Windows Live
+        github:
+          title: Z GitHub přizjewić
+          alt: Z kontom GitHub přizjewić
         yahoo:
           title: Přizjewjenje z Yahoo
           alt: Přizjewjenje z Yahoo OpenID
@@ -2050,6 +2064,8 @@ hsb:
         Tutón rozsud budźe so bórze wot administratora pruwować, abo móžeš so z %{webmaster} do zwiska stajić, jeli chceš wo tym diskutować.
         </p>
     auth_failure:
+      connection_failed: Zwisk z awtentifikaciskim poskićowarjom je so nimokulił
+      invalid_credentials: Njepłaćiwe awtentifikaciske informacije
       no_authorization_code: Žadyn kod za awtorizowanje
       unknown_signature_algorithm: Njeznaty signaturowy algoritmus
       invalid_scope: Njepłaćiwy wobłuk
@@ -2057,6 +2073,9 @@ hsb:
       heading: Waš ID hišće z kontom OpenStreetMap zwjazany njeje.
       option_1: Jeli sy nowy na OpenStreetMap, załož nowe konto z pomocu slědowaceho
         formulara.
+      option_2: Jeli konto hižo maš, móžeš so pola swojeho konta z pomocu swojeho
+        wužiwarskeho mjena a hesła přizjewić a potom konto ze swojim ID w swojich
+        wužiwarskich nastajenjach zwjazać.
   user_role:
     filter:
       not_an_administrator: Jenož administratorojo móžeja wužiwarske róle zrjadować,
index 6a8faaa..a416899 100644 (file)
@@ -1105,9 +1105,9 @@ id:
          ditambahkan ke OpenStreetMap database atau situs ini, silakan lihat <a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">prosedur takedown</a> kami atau kirimkan file langsung pada
         <a href="http://dmca.openstreetmap.org/">pengajuan halaman on-line</a>.
       trademarks_title_html: <span id="trademarks"></span>Merek dagang
-      trademarks_1_html: OpenStreetMap dan logo magnifying glass adalah merek dagang
-        terdaftar dari OpenStreetMap Foundation. Jika Anda memiliki pertanyaan tentang
-        penggunaan merek tersebut, silakan kirim pertanyaan Anda ke <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licensing
+      trademarks_1_html: OpenStreetMap, logo lup, dan State of the Map adalah merek
+        dagang terdaftar dari OpenStreetMap Foundation. Jika Anda memiliki pertanyaan
+        tentang penggunaan merek tersebut, silakan kirim pertanyaan Anda ke <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licence
         Working Group</a>.
   welcome_page:
     title: Selamat datang!
@@ -1137,6 +1137,12 @@ id:
         jalan, seperti \nnama restoran atau batas kecepatan jalan"
     rules:
       title: Aturan!
+      paragraph_1_html: OpenStreetMap memiliki sedikit aturan formal tetapi kami mengharapkan
+        semua pesertanya untuk bekerja sama dan berkomunikasi dalam komunitas. Jika
+        Anda memikirkan aktivitas selain menyunting secara langsung, mohon baca dan
+        ikuti panduan pada<a href='http://wiki.openstreetmap.org/wiki/Import/Guidelines'>Impor</a>
+        dan <a href='http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>Penyuntingan
+        otomatis</a>.
     questions:
       title: Ada pertanyaan?
       paragraph_1_html: "OpenStreetMap memiliki beberapa sumber daya untuk belajar
@@ -1810,6 +1816,9 @@ id:
         windowslive:
           title: Masuk dengan Windows Live
           alt: Masuk dengan akun Windows Live
+        github:
+          title: Masuk dengan GitHub.
+          alt: Masuk dengan Akun GitHub.
         yahoo:
           title: Masuk log dengan Yahoo
           alt: Masuk log dengan Yahoo OpenID
index 0026f8b..9b2e7ea 100644 (file)
@@ -1827,6 +1827,9 @@ it:
         windowslive:
           title: Accedi con Windows Live
           alt: Accedi con un Account Windows Live
+        github:
+          title: Accedi con GitHub
+          alt: Effettua l'acceso con un'utenza GitHub
         yahoo:
           title: Accedi con Yahoo
           alt: Accedi con un OpenID di Yahoo
@@ -2393,11 +2396,21 @@ it:
       instructions:
         continue_without_exit: Prosegui su %{name}
         slight_right_without_exit: Svolta leggermente a destra in %{name}
+        offramp_right_without_exit: Prendi la rampa sulla destra in %{name}
+        onramp_right_without_exit: Gira a destra sulla rampa in %{name}
+        endofroad_right_without_exit: Alla fine della strada svolta a destra in %{name}
+        merge_right_without_exit: Immettiti a destra in %{name}
+        fork_right_without_exit: Al bivio svolta a destra in %{name}
         turn_right_without_exit: Svolta a destra in %{name}
         sharp_right_without_exit: Svolta tutto a destra in %{name}
         uturn_without_exit: Effettua un'inversione a U lungo %{name}
         sharp_left_without_exit: Svolta tutto a sinistra in %{name}
         turn_left_without_exit: Svolta a sinistra in %{name}
+        offramp_left_without_exit: Prendi la rampa sulla sinistra in %{name}
+        onramp_left_without_exit: Gira a sinistra sulla rampa in %{name}
+        endofroad_left_without_exit: Alla fine della strada svolta a sinistra in %{name}
+        merge_left_without_exit: Immettiti a sinistra in %{name}
+        fork_left_without_exit: Al bivio svolta a sinistra in %{name}
         slight_left_without_exit: Svolta leggermente a sinistra in %{name}
         via_point_without_exit: (punto di passaggio)
         follow_without_exit: Segui %{name}
index d4a4cd0..05f4d9e 100644 (file)
@@ -272,6 +272,7 @@ ja:
   diary_entry:
     new:
       title: 日記エントリの新規作成
+      publish_button: 公開
     list:
       title: ユーザーの日記
       title_friends: 友達の日記
@@ -457,6 +458,7 @@ ja:
           food_court: フードコート
           fountain: 噴水
           fuel: 燃料
+          gambling: ギャンブル
           grave_yard: 墓地
           gym: フィットネス センター/ジム
           health_centre: 保健所
@@ -661,6 +663,9 @@ ja:
           pitch: 運動場
           playground: 遊び場
           recreation_ground: 遊園地
+          resort: |2-
+
+            リゾート
           sauna: サウナ
           slipway: 造船台
           sports_centre: スポーツ センター
@@ -668,10 +673,13 @@ ja:
           swimming_pool: 水泳用プール
           track: 陸上競技用トラック
           water_park: 親水公園
+          "yes": レジャー
         man_made:
           lighthouse: 灯台
+          pipeline: パイプライン
           tower: 塔
           works: 工房
+          "yes": 人工
         military:
           airfield: 軍用飛行場
           barracks: バラック
@@ -691,6 +699,7 @@ ja:
           forest: 森林
           geyser: 間欠泉
           glacier: 氷河
+          grassland: 草地
           heath: 荒れ地
           hill: 丘陵
           island: 島
@@ -703,6 +712,7 @@ ja:
           reef: 砂州
           ridge: 海嶺
           rock: 岩場
+          saddle: 鞍部
           sand: 砂
           scree: がれ場
           scrub: 低木林
@@ -998,16 +1008,16 @@ ja:
         title: 権利表示の例
       more_title_html: 詳細を見る
       more_1_html: |-
-        ã\83\87ã\83¼ã\82¿ã\81®å\88©ç\94¨ã\81«ã\81¤ã\81\84ã\81¦ã\82\84ã\82¯ã\83¬ã\82¸ã\83\83ã\83\88æ\96¹æ³\95ã\81«ã\81¤ã\81\84ã\81¦ã\80\81詳細は<a
+        ã\83\87ã\83¼ã\82¿ã\81®å\88©ç\94¨ã\82\84ã\82¯ã\83¬ã\82¸ã\83\83ã\83\88æ\96¹æ³\95ã\81«ã\81¤ã\81\84ã\81¦ã\81®詳細は<a
         href="http://osmfoundation.org/Licence">OSMF Licence page</a> and the community <a
         href="http://wiki.openstreetmap.org/wiki/JA:Legal_FAQ">Legal
         FAQ</a>をお読みください。
       more_2_html: OpenStreetMap はオープンデータですが、サードパーティーの開発者のための無料の地図 API は提供できません。 <a
         href="http://wiki.openstreetmap.org/wiki/API_usage_policy">API Usage Policy</a>、<a
-        href="http://wiki.openstreetmap.org/wiki/JA:タイル利用規約">タイル利用規約</a>、<a href="http://wiki.openstreetmap.org/wiki/JA:Nominatim#利用ポリシー">Nominatim
+        href="http://wiki.openstreetmap.org/wiki/JA:タイル利用規約">タイル利用規約</a>、<a href="http://wiki.openstreetmap.org/wiki/JA:Nominatim#利用ポリシー">Nominatim
         Usage Policy</a>をお読みください。
       contributors_title_html: 協力者
-      contributors_intro_html: 協力者は数千人もの個人です。それに加え、国立の地図作成組織や、次のようなその他の情報源による公開できるライセンスによるデータを含みます。
+      contributors_intro_html: 数千人もの個人が協力者となっています。それに加え、各国の地図作成機関や、以下のように、その他の情報源も含め、公開されたライセンスによるデータを含みます。
       contributors_at_html: '<strong>オーストリア</strong>: <a href="http://data.wien.gv.at/">Stadt
         Wien</a> (ライセンス <a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC
         BY</a>)、<a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
@@ -1023,11 +1033,11 @@ ja:
       contributors_nl_html: '<strong>オランダ</strong>: &copy; AND データ、2007 (<a href="http://www.and.com">www.and.com</a>)
         を含みます。'
       contributors_nz_html: '<strong>ニュージーランド</strong>: Land Information New Zealand
-        によるデータを含みます。Crown が著作権を保持します。'
+        によるデータを含みます。著作権はクラウン・コピーライトになります。'
       contributors_za_html: '<strong>南アフリカ</strong>: <a href="http://www.ngi.gov.za/">Chief
-        Directorate: National Geo-Spatial Information</a>, State によるデータを含み、著作権を保持します。'
-      contributors_gb_html: '<strong>イギリス</strong>: 陸地測量データ &copy; Crown copyright
-        and database right 2010-12 を含みます。'
+        Directorate: National Geo-Spatial Information</a>,政府によるデータを含み、著作権を保持します。'
+      contributors_gb_html: '<strong>イギリス</strong>: 陸地測量データ &copy;著作権はクラウン・コピーライト及びdatabase
+        right 2010-12 を含みます。'
       contributors_footer_1_html: これらの詳細について、またOpenStreetMapの向上に使用されたその他のソースについては、OpenStreetMap
         Wikiの<a href="http://wiki.openstreetmap.org/wiki/JA:Contributors">協力者ページ</a>をご覧ください。
       contributors_footer_2_html: OpenStreetMapのデータに含めることは、元データの提供者がOpenStreetMapを支持したり、何かしらの保証を行ったり、何かしらの責任を負ったりすることを意味するものではありません。
@@ -1037,6 +1047,7 @@ ja:
       infringement_2_html: もし著作権のある素材がOpenStreetMapのデータベースや本サイトに不正に追加されたとお考えの場合は、<a
         href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">却下手順</a>をお読みになるか、<a
         href="http://dmca.openstreetmap.org/">on-line filing page</a>から直接申し立てを行ってください。
+      trademarks_title_html: <span id="trademarks"></span>商標
   welcome_page:
     title: ようこそ!
     introduction_html: フリーで編集可能な世界地図、OpenStreetMapへようこそ。サインアップしたので、マッピングの準備はすべて整いました。知っておかなければならない重要事項を簡単に説明します。
@@ -1092,6 +1103,7 @@ ja:
     beginners_guide:
       url: http://wiki.openstreetmap.org/wiki/JA:%E5%88%9D%E5%BF%83%E8%80%85%E3%82%AC%E3%82%A4%E3%83%89
       title: 初心者向けの手引き
+      description: コミュニティは、初心者向けガイドが整備しています。
     help:
       url: https://help.openstreetmap.org/
       title: help.openstreetmap.org
@@ -1680,6 +1692,7 @@ ja:
       title: 存在しないユーザーです
       heading: ユーザー %{user} は存在しません
       body: 申し訳ありませんが、%{user} という名前のユーザーは存在しません。スペルを確認してください。またはクリックしたリンクが間違っている可能性があります。
+      deleted: 削除済
     view:
       my diary: 自分の日記
       new diary entry: 新しい日記エントリ
@@ -1730,12 +1743,12 @@ ja:
         revoke:
           administrator: 管理者権限を剥奪
           moderator: モデレーター権限を剥奪
-      block_history: 受けたブロック
+      block_history: 有効なブロック
       moderator_history: 実行したブロック
       comments: コメント
       create_block: このユーザーをブロック
-      activate_user: このユーザーを有効にする
-      deactivate_user: このユーザーを無効にする
+      activate_user: このユーザーを有効
+      deactivate_user: このユーザーを無効
       confirm_user: このユーザーを確認
       hide_user: このユーザーを隠す
       unhide_user: このユーザーを再表示
@@ -1755,6 +1768,7 @@ ja:
       current email address: '現在のメール アドレス:'
       new email address: '新しいメール アドレス:'
       email never displayed publicly: (非公開)
+      external auth: '外部認証:'
       openid:
         link: http://wiki.openstreetmap.org/wiki/JA:OpenID?uselang=ja
         link text: これは何ですか?
@@ -1821,6 +1835,7 @@ ja:
       button: 確認
       success: メール アドレスが変更されたことを確認しました。
       failure: このトークンは、メール アドレスの確認に使用済みです。
+      unknown_token: その確認コードは期限切れ、または存在しません。
     set_home:
       flash success: ホーム地点を保存しました。
     go_public:
@@ -1958,6 +1973,7 @@ ja:
       heading: '%{block_by} が %{block_on} をブロックしました'
       time_future: '%{time} に終了'
       time_past: '%{time}前に終了しました'
+      ago: '%{time}前'
       status: 状態
       show: 表示
       edit: 編集
@@ -2019,6 +2035,8 @@ ja:
       center_marker: マーカーを地図の中心にする
       paste_html: 以下の HTML をあなたのサイトに貼り付けてください
       view_larger_map: 大きな地図を表示
+    embed:
+      report_problem: 問題を報告
     key:
       title: 凡例
       tooltip: 凡例
@@ -2053,6 +2071,8 @@ ja:
     changesets:
       show:
         comment: コメント
+        subscribe: 購読
+        unsubscribe: 購読停止
         hide_comment: 非表示
         unhide_comment: 非表示を解除
     notes:
index 0810826..17b1753 100644 (file)
@@ -20,6 +20,7 @@
 # Author: Ykhwong
 # Author: Ysjbserver
 # Author: 고솜
+# Author: 밥풀떼기
 # Author: 아라
 ---
 ko:
@@ -29,7 +30,7 @@ ko:
       blog: '%Y년 %B %e일'
   activerecord:
     models:
-      acl: 접근 통제 목록
+      acl: 접근 제어 목록
       changeset: 바뀜집합
       changeset_tag: 바뀜집합 태그
       country: 국가
@@ -91,7 +92,7 @@ ko:
       user:
         email: 이메일
         active: 활성
-        display_name: 보여줄 이름
+        display_name: 표시 이름
         description: 설명
         languages: 언어
         pass_crypt: 비밀번호
@@ -114,14 +115,14 @@ ko:
     closed: 닫힘
     created_html: <abbr title='%{title}'>%{time} 전</abbr>에 만들어짐
     closed_html: <abbr title='%{title}'>%{time} 전</abbr>에 닫힘
-    created_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user} 사용자가 만듦
-    deleted_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user} 사용자가 삭제함
-    edited_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user} 사용자가 편집함
-    closed_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user} 사용자가 닫음
+    created_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user}님이 만듦
+    deleted_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user}님이 삭제함
+    edited_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user}님이 편집함
+    closed_by_html: <abbr title='%{title}'>%{time} 전</abbr>에 %{user}님이 닫음
     version: 버전
     in_changeset: 바뀜집합
     anonymous: 익명
-    no_comment: (코멘트 없음)
+    no_comment: (댓글 없음)
     part_of: '다음의 일부:'
     download_xml: XML 다운로드
     view_history: 역사 보기
@@ -136,11 +137,11 @@ ko:
       way_paginated: 길 (%{count} 중 %{x}-%{y})
       relation: 관계 (%{count})
       relation_paginated: 관계 (%{count} 중 %{x}-%{y})
-      comment: 코멘트 (%{count})
-      hidden_commented_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에
+      comment: 댓글 (%{count})
+      hidden_commented_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에
         남긴 숨겨진 댓글'
-      commented_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에
-        ë\8c\93ê¸\80ì\9d\84 ë\82¨ê¹\80'
+      commented_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 댓글을
+        남김'
       changesetxml: 바뀜집합 XML
       osmchangexml: osmChange XML
       feed:
@@ -172,7 +173,7 @@ ko:
       entry: 관계 %{relation_name}
       entry_role: (%{relation_role}로서) 관계 %{relation_name}
     not_found:
-      sorry: '죄송하지만, %{type} #%{id}(을)를 찾지 못했습니다.'
+      sorry: '죄송하지만, %{type} #%{id}을(를) 찾지 못했습니다.'
       type:
         node: 노드
         way: 길
@@ -189,7 +190,7 @@ ko:
         note: 참고
     redacted:
       redaction: 개정 %{id}
-      message_html: 이 %{type}의 %{version}판은 비공개 처리되었기 때문에 볼 수 없습니다. 자세한 내용은 %{redaction_link}(을)를
+      message_html: 이 %{type}의 %{version}판은 비공개 처리되었기 때문에 볼 수 없습니다. 자세한 내용은 %{redaction_link}을(를)
         참조하세요.
       type:
         node: 노드
@@ -207,32 +208,31 @@ ko:
         tag: '%{key}=%{value} 태그에 대한 위키 설명 문서'
       wikidata_link: 위키데이터 %{page} 항목
       wikipedia_link: 위키백과 %{page} 문서
-      telephone_link: '%{phone_number}로 전화 걸기'
+      telephone_link: '%{phone_number}(으)로 전화 걸기'
     note:
       title: '참고: %{id}'
-      new_note: 새 참고
+      new_note: 새로운 참고
       description: 설명
       open_title: '해결되지 않은 참고 #%{note_name}'
       closed_title: '해결된 참고 #%{note_name}'
       hidden_title: '숨겨진 참고 #%{note_name}'
-      open_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 만듦'
-      open_by_anonymous: 익명 사용자가 <abbr title='%{exact_time}'>%{when} 전</abbr>에 만듦
-      commented_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에
-        댓글을 남김'
-      commented_by_anonymous: 익명 사용자가 <abbr title='%{exact_time}'>%{when} 전</abbr>에
-        댓글을 남김
-      closed_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 해결함'
-      closed_by_anonymous: 익명 사용자가 <abbr title='%{exact_time}'>%{when} 전</abbr>에 해결함
-      reopened_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 다시
-        활성화함'
-      reopened_by_anonymous: 익명 사용자가 <abbr title='%{exact_time}'>%{when} 전</abbr>에
-        다시 활성화함
-      hidden_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 숨김'
+      open_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 만듦'
+      open_by_anonymous: 익명이 <abbr title='%{exact_time}'>%{when} 전</abbr>에 만듦
+      commented_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 댓글을
+        남김'
+      commented_by_anonymous: 익명이 <abbr title='%{exact_time}'>%{when} 전</abbr>에 댓글을
+        남김
+      closed_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 해결함'
+      closed_by_anonymous: 익명이 <abbr title='%{exact_time}'>%{when} 전</abbr>에 해결함
+      reopened_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 다시 활성화함'
+      reopened_by_anonymous: 익명이 <abbr title='%{exact_time}'>%{when} 전</abbr>에 다시
+        활성화함
+      hidden_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 숨김'
     query:
       title: 지물 정보
       introduction: 근처의 지물을 찾으려면 지도에서 클릭하세요.
       nearby: 근처 지물
-      enclosing: 둘러싸는 지물
+      enclosing: 근접 지역 내 지물
   changeset:
     changeset_paging_nav:
       showing_page: 페이지 %{page}
@@ -250,7 +250,7 @@ ko:
       area: 구역
     list:
       title: 바뀜집합
-      title_user: '%{user} 사용자의 바뀜집합'
+      title_user: '%{user}의 바뀜집합'
       title_friend: 내 친구의 바뀜집합
       title_nearby: 근처 사용자의 바뀜집합
       empty: 찾은 바뀜집합이 없습니다.
@@ -267,7 +267,7 @@ ko:
       title_particular: 'OpenStreetMap 바뀜집합 #%{changeset_id} 토론'
       comment: '바뀜집합 #%{changeset_id}에 %{author}님이 새 댓글을 남김'
       commented_at_html: '%{when} 전에 업데이트함'
-      commented_at_by_html: '%{user} 사용자가 %{when} 전에 업데이트함'
+      commented_at_by_html: '%{user}님이 %{when} 전에 업데이트함'
       full: 전체 토론
   diary_entry:
     new:
@@ -308,7 +308,7 @@ ko:
       heading: 'id에 항목 없음: %{id}'
       body: 죄송합니다, %{id} id로 된 일기 항목이나 댓글이 없습니다. 맞춤법이나 클릭한 링크가 잘못됐는지 확인하세요.
     diary_entry:
-      posted_by: '%{link_user} 사용자가 %{language_link}로 %{created}에 게시함'
+      posted_by: '%{link_user}님이 %{language_link}로 %{created}에 게시함'
       comment_link: 이 항목에 댓글 남기기
       reply_link: 이 항목에 답변하기
       comment_count:
@@ -328,8 +328,8 @@ ko:
       edit: 편집
     feed:
       user:
-        title: '%{user} 사용자에 대한 OpenStreetMap 일기 항목'
-        description: '%{user} 사용자의 최근 OpenStreetMap 일기 항목'
+        title: '%{user}님의 OpenStreetMap 일기 항목'
+        description: '%{user}의 최근 OpenStreetMap 일기 항목'
       language:
         title: '%{language_name}의 OpenStreetMap 일기 항목'
         description: '%{language_name}로 된 OpenStreetMap 최근 일기 항목'
@@ -337,7 +337,7 @@ ko:
         title: OpenStreetMap 일기 항목
         description: OpenStreetMap의 사용자의 최근 일기 항목
     comments:
-      has_commented_on: '%{display_name} 사용자가 다음 일기 항목에 댓글을 남겼습니다'
+      has_commented_on: '%{display_name}님이 다음 일기 항목에 댓글을 남겼습니다'
       post: 게시물
       when: 날짜
       comment: 댓글
@@ -358,8 +358,8 @@ ko:
         데이터 커먼즈 오픈 데이터베이스 라이선스</a>(ODbL)에 따라 사용할 수 있습니다.
       too_large:
         advice: '위의 내보내기가 실패하면, 아래에 나열된 원본 중 하나를 사용하는 것을 고려해주세요:'
-        body: '이 지역은 OpenStreetMap XML 데이터로 내보내는 데 너무 넓습니다. 확대하거나 작은 지역을 선택하거나, 대량
-          데이터 다운로드에 대한 다음 소스 중 하나를 사용하세요:'
+        body: 이 지역은 OpenStreetMap XML 데이터로 내보내는 데 너무 넓습니다. 확대하거나 작은 지역을 선택하거나, 대량
+          데이터 다운로드에 대한 아래에 나열된 자료 중 하나를 사용하세요.
         planet:
           title: 플래닛 OSM
           description: 완전한 OpenStreetMap 데이터베이스가 정기적으로 업데이트되는 복사본
@@ -418,7 +418,7 @@ ko:
           taxiway: 유도로
           terminal: 터미널
         amenity:
-          animal_shelter: 동물 쉼터
+          animal_shelter: 동물 보호소
           arts_centre: 예술 회관
           atm: ATM
           bank: 은행
@@ -465,14 +465,14 @@ ko:
           gym: 피트니스 센터 / 체육관
           health_centre: 보건소
           hospital: 병원
-          hunting_stand: 사냥 스탠드
+          hunting_stand: 사냥
           ice_cream: 아이스크림
           kindergarten: 유치원
           library: 도서관
           market: 시장
           marketplace: 시장
           monastery: 수도원
-          motorcycle_parking: ì\9d´ë¥\9cì\9e\90ë\8f\99ì°¨(ì\98¤í\86 ë°\94ì\9d´) 주차장
+          motorcycle_parking: ì\98¤í\86 ë°\94ì\9d´ 주차장
           nightclub: 나이트 클럽
           nursery: 보육원
           nursing_home: 복지관
@@ -516,7 +516,7 @@ ko:
           youth_centre: 청소년 센터
         boundary:
           administrative: 행정 구역 경계
-          census: 국세 조사 경계
+          census: 국세조사 구역 경계
           national_park: 국립 공원
           protected_area: 보호 구역
         bridge:
@@ -561,7 +561,7 @@ ko:
           motorway_link: 고속도로
           path: 보행로
           pedestrian: 보행자 도로
-          platform: 플랫폼
+          platform: 승강장
           primary: 대로 또는 국도, 지방도
           primary_link: 주요 도로
           proposed: 제안된 도로
@@ -597,7 +597,7 @@ ko:
           city_gate: 성문
           citywalls: 성벽
           fort: 성채
-          heritage: 문화 유산
+          heritage: 문화 유산
           house: 주택
           icon: 아이콘
           manor: 장원
@@ -873,7 +873,7 @@ ko:
           apartment: 아파트먼트
           artwork: 예술 작품
           attraction: 견인
-          bed_and_breakfast: 잠자기와 아침 식사(민박)
+          bed_and_breakfast: 민박
           cabin: 오두막
           camp_site: 캠프장
           caravan_site: 캐러밴 사이트
@@ -934,7 +934,7 @@ ko:
   layouts:
     logo:
       alt_text: OpenStreetMap 로고
-    home:  위치로 가기
+    home: 현재 위치로 가기
     logout: 로그아웃
     log_in: 로그인
     log_in_tooltip: 기존 계정으로 로그인
@@ -951,7 +951,7 @@ ko:
     user_diaries: 사용자 일기
     user_diaries_tooltip: 사용자 일기 보기
     edit_with: '%{editor}(으)로 편집'
-    tag_line: ì\9a°ë¦¬ ëª¨ë\91\90ì\9d\98 ì\9c\84í\82¤ ì\84¸ê³\84 ì§\80ë\8f\84
+    tag_line: ì\9a°ë¦¬ ëª¨ë\91\90ì\9d\98 ì\84¸ê³\84ì§\80ë\8f\84 ì\9c\84í\82¤
     intro_header: OpenStreetMap에 오신 것을 환영합니다!
     intro_text: OpenStreetMap은 여러분과 같은 사람들이 만들고 자유롭게 오픈 라이선스에 따라 사용할 수 있는, 세계 지도입니다.
     intro_2_create_account: 사용자 계정을 만드세요
@@ -1064,6 +1064,10 @@ ko:
       contributors_nz_html: |-
         <strong>뉴질랜드</strong>: Land Information New Zealand에서의
         데이터를 포함합니다. Crown이 저작권을 소유합니다.
+      contributors_si_html: |-
+        <strong>슬로베니아</strong>: <a href="http://www.gu.gov.si/en/">Surveying and Mapping Authority</a>와
+        <a href="http://www.mkgp.gov.si/en/">Ministry of Agriculture, Forestry and Food</a>
+        (슬로베니아의 공개 정보)에서의 데이터를 포함합니다.
       contributors_za_html: |-
         <strong>남아프리카 공화국</strong>: <a href="http://www.ngi.gov.za/">Chief Directorate:
         National Geo-Spatial Information</a>에서의 데이터를
@@ -1104,25 +1108,27 @@ ko:
     whats_on_the_map:
       title: 지도는 무엇입니까
       on_html: |-
-        OpenStreetMap은 <em>현실과 현재</em> 둘 다를 매핑하기 위한 장소입니다 -
-        장소에 대한 건물, 도로와 기타 자세한 수백만 정보를 포함합니다. 흥미있는
+        OpenStreetMap은 <em>현실과 현재</em>를 전부 매핑하기 위한 장소입니다 -
+        장소에 대한 건물, 도로, 그리고 그밖의 자세한 수백만 가지 정보를 포함합니다. 흥미있는
         현실 세계 지물은 무엇이든 매핑할 수 있습니다.
       off_html: |-
-        평점, 역사적이거나 가설적인 기능, 그리고 저작권이 있는 데이터와 같은
-        고집된 데이터는 포함되지 <em>않습니다</em>. 특별한 허가가 없으면,
-        온라인이나 종이 지도에서 복사하지 마십시오.
+        장소에 대한 평가, 역사에 관한 것이나 추측에 의한 정보, 그리고 저작권이 있는 정보처럼
+        독단적인 데이터는 들어갈 수 <em>없습니다</em>. 특별히 허용받지 않으셨다면
+        온라인 지도나 종이 지도에서 복사해오지 마십시오.
     basic_terms:
-      title: 매핑에 대한 기본 용어
-      paragraph_1_html: OpenStreetMapì\9d\80 ì\9e\90ì\8b ì\9d\98 ì\9a©ì\96´ ì¤\91 ì\9d¼ë¶\80ê°\80 ì\9e\88ì\8aµë\8b\88ë\8b¤. ì\97¬ê¸°ì\97\90 í\8e¸ë¦¬í\95\98ê²\8c ì\82¬ì\9a©í\95  ì\88\98 ì\9e\88ë\8a\94 ëª\87 ê°\80ì§\80 í\95µì\8b¬
-        단어가 있습니다.
+      title: 매핑하는데 필요한 기본 용어
+      paragraph_1_html: OpenStreetMapì\97\90ì\84\9cë\8a\94 ì\9e\90ì²´ ì\9a©ì\96´ê°\80 ëª\87 ê°\80ì§\80 ì\82¬ì\9a©ë\90©ë\8b\88ë\8b¤. ì\97¬ê¸°ì\97\90 í\8e¸ë¦¬í\95\98ê²\8c ì\82¬ì\9a©í\95  ì\88\98 ì\9e\88ë\8a\94 ëª\87 ê°\80ì§\80
+        핵심 단어가 있습니다.
       editor_html: <strong>편집기</strong>는 지도를 편집하는 데 사용할 수 있는 프로그램이나 웹사이트입니다.
-      node_html: <strong>노드</strong>는 음식점 한 곳이나 나무와 같은, 지도에 있는 점입니다.
-      way_html: <strong>길</strong>은 도로, 개울, 호수나 건물과 같은, 선이나 지역입니다.
-      tag_html: |-
-        <strong>태그</strong>는 음식점의 이름이나 도로의 속도 제한과 같은,
-        노드나 길에 대해 보충하는 데이터입니다.
+      node_html: <strong>노드</strong>는 지도상의 어느 한 지점으로, 음식점 한 곳이나 나무 한 그루 같은 것을 말합니다.
+      way_html: <strong>길</strong>은 지도상의 선이나 구역을 말하며, 도로, 개울, 호수나 건물을 나타냅니다.
+      tag_html: <strong>태그</strong>는 노드나 길을 보충하는 데이터로, 음식점의 이름이나 도로의 속도 제한 같은 것을 말합니다.
     rules:
-      title: 규칙
+      title: 여기서 규칙!
+      paragraph_1_html: "OpenStreetMap은 몇 가지 형식적인 규칙이 있지만 우리는 모든 참가자가 협력하고, 공동체와 소통하기를
+        바랍니다.\n여러분이 직접 편집하지 않는 다른 활동을 고려한다면, \n<a href='http://wiki.openstreetmap.org/wiki/Import/Guidelines'>가져오기</a>와
+        \n<a href='http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>자동화된
+        편집</a>에서의\n다음 가이드라인을 읽고 따라주시기 바랍니다."
     questions:
       title: 질문 있나요?
       paragraph_1_html: |-
@@ -1133,8 +1139,8 @@ ko:
     add_a_note:
       title: 편집할 시간이 없습니까? 참고를 추가하세요!
       paragraph_1_html: |-
-        작은 무언가를 고치기를 원하고 가입하고 편집하는 방법을 배울 시간이 없다면,
-        ì°¸ê³ ë¥¼ ì¶\94ê°\80í\95\98ë\8a\94 ê²\83ì\9d\80 ì\89½습니다.
+        그냥 한 가지 간단한 것이 고칠 게 있다거나 가입하면서 편집하는 방법을 배우기에 시간이 없다면,
+        ì°¸ê³ ë¥¼ ì¶\94ê°\80í\95\98ë\8a\94 ê²\83ì\9d´ ë\82«습니다.
       paragraph_2_html: |-
         <a href='%{map_url}'>지도</a>로 가고 나서 참고 아이콘을 클릭하세요:
         <span class='icon note'></span>. 드래그하여 이동할 수 있는 표시가 지도에 추가됩니다.
@@ -1178,10 +1184,13 @@ ko:
       description: OSM의 질문 및 답변 사이트에서 질문하거나 답변을 찾아보세요.
     mailing_lists:
       title: 메일링 리스트
+      description: 국소 또는 지역의 메일링 리스트의 넓은 범위에서 관심사에 대해 질문하거나 토론을 합니다.
     forums:
       title: 포럼들
+      description: 게시판 스타일 인터페이스를 선호하는 것에 대한 질문과 토론입니다.
     irc:
       title: IRC
+      description: 다양한 주제에서 많은 다른 언어로 된 대화형 채트입니다.
     switch2osm:
       title: switch2osm
       description: 회사나 단체가 OpenStreetMap와 다른 서비스를 기반으로 전환하는 것에 도움을 주십시오.
@@ -1217,6 +1226,9 @@ ko:
       자세한 내용은 <a href='%{copyright_path}'>저작권 및 라이선스 페이지</a>를
       참조하세요.
     legal_title: 법률
+    legal_html: "이 사이트와 많은 다른 관련된 서비스는 공동체 뒤의 <a href='http://osmfoundation.org/'>OpenStreetMap
+      재단</a> (OSMF)에\n의해 공식적으로 운영하고 있습니다.\n<br> \n라이선싱, 저작권 또는 다른 법률 질문과 이슈가 있다면 <a
+      href='http://osmfoundation.org/Contact'>OSMF에 문의</a>하시기 바랍니다."
     partners_title: 파트너
   notifier:
     diary_comment_notification:
@@ -1259,11 +1271,11 @@ ko:
       subject: '[OpenStreetMap] 이메일 주소 확인'
     email_confirm_plain:
       greeting: 안녕하세요,
-      hopefully_you: 누군가가 아마 자신이 %{server_url} 에 %{new_address} 로 이메일 주소를 바꾸고 싶습니다.
+      hopefully_you: 누군가가 아마 자신이 %{server_url} 에 %{new_address} (으)로 이메일 주소를 바꾸고 싶습니다.
       click_the_link: 만약 당신이라면 바뀜을 확인하기 위해 아래 링크를 클릭하세요.
     email_confirm_html:
       greeting: 안녕하세요,
-      hopefully_you: 누군가가 아마 자신이 %{server_url} 에 %{new_address} 로 이메일 주소를 바꾸고 싶습니다.
+      hopefully_you: 누군가가 아마 자신이 %{server_url} 에 %{new_address} (으)로 이메일 주소를 바꾸고 싶습니다.
       click_the_link: 만약 당신이라면 바뀜을 확인하기 위해 아래 링크를 클릭하세요.
     lost_password:
       subject: '[OpenStreetMap] 비밀번호 재설정 요청'
@@ -1279,32 +1291,32 @@ ko:
       anonymous: 익명 사용자
       greeting: 안녕하세요,
       commented:
-        subject_own: '[OpenStreetMap] %{commenter} 사용자가 당신의 참고에 댓글을 남겼습니다'
-        subject_other: '[OpenStreetMap] %{commenter} 사용자가 당신이 관심 있는 참고에 댓글을 남겼습니다'
-        your_note: '%{commenter} 사용자가 %{place} 근처의 당신의 지도에 댓글을 남겼습니다.'
-        commented_note: '%{commenter} 사용자가 당신이 댓글을 남긴 지도 참고에 댓글을 남겼습니다. 참고는 %{place}
+        subject_own: '[OpenStreetMap] %{commenter}님이 당신의 참고 중 하나에 댓글을 남겼습니다'
+        subject_other: '[OpenStreetMap] %{commenter}님이 당신이 관심 있는 참고에 댓글을 남겼습니다'
+        your_note: '%{commenter}님이 %{place} 근처의 당신의 지도 중 하나에 댓글을 남겼습니다.'
+        commented_note: '%{commenter}님이 당신이 댓글을 남긴 지도 참고에 댓글을 남겼습니다. 참고는 %{place}
           근처에 있습니다.'
       closed:
-        subject_own: '[OpenStreetMap] %{commenter} 사용자가 당신의 참고 중 하나를 해결했습니다'
-        subject_other: '[OpenStreetMap] %{commenter} 사용자가 당신이 관심 있는 참고를 해결했습니다'
-        your_note: '%{commenter} 사용자가 %{place} 근처의 당신의 지도 참고 중 하나를 해결했습니다.'
-        commented_note: '%{commenter} 사용자가 당신이 댓글을 남긴 지도 참고를 해결했습니다. 참고는 %{place}
-          근처에 있습니다.'
+        subject_own: '[OpenStreetMap] %{commenter}님이 당신의 참고 중 하나를 해결했습니다'
+        subject_other: '[OpenStreetMap] %{commenter}님이 당신이 관심 있는 참고를 해결했습니다'
+        your_note: '%{commenter}님이 %{place} 근처의 당신의 지도 참고 중 하나를 해결했습니다.'
+        commented_note: '%{commenter}님이 당신이 댓글을 남긴 지도 참고를 해결했습니다. 참고는 %{place} 근처에
+          있습니다.'
       reopened:
-        subject_own: '[OpenStreetMap] %{commenter} 사용자가 당신의 참고 중 하나를 다시 활성했습니다'
-        subject_other: '[OpenStreetMap] %{commenter} 사용자가 당신이 관심 있는 참고를 다시 활성했습니다'
-        your_note: '%{commenter} 사용자가 %{place} 근처의 당신의 지도 참고 중 하나를 다시 활성했습니다.'
-        commented_note: '%{commenter} 사용자가 당신이 댓글을 남긴 지도 참고를 다시 활성했습니다. 참고는 %{place}
+        subject_own: '[OpenStreetMap] %{commenter}님이 당신의 참고 중 하나를 다시 활성했습니다'
+        subject_other: '[OpenStreetMap] %{commenter}님이 당신이 관심 있는 참고를 다시 활성했습니다'
+        your_note: '%{commenter}님이 %{place} 근처의 당신의 지도 참고 중 하나를 다시 활성했습니다.'
+        commented_note: '%{commenter}님이 당신이 댓글을 남긴 지도 참고를 다시 활성했습니다. 참고는 %{place}
           근처에 있습니다.'
       details: 참고에 대한 자세한 사항은 %{url} 에서 찾을 수 있습니다.
     changeset_comment_notification:
       greeting: 안녕하세요,
       commented:
-        subject_own: '[OpenStreetMap] %{commenter} 사용자가 당신의 바뀜집합에 댓글을 남겼습니다'
-        subject_other: '[OpenStreetMap] %{commenter} 사용자가 당신이 관심 있는 바뀜집합에 댓글을 남겼습니다'
-        your_changeset: '%{commenter} 사용자가 당신이 %{time}에 만든 바뀜집합에 댓글을 달았습니다'
-        commented_changeset: '%{commenter} 사용자가 %{changeset_author}이 %{time}에 만든,
-          ì£¼ì\8b\9c ì¤\91ì\9d¸ ì§\80ë\8f\84 ë°\94ë\80\9cì§\91í\95©ì\97\90 ë\8c\93ê¸\80ì\9d\84 ë\8b¬ì\95\98ì\8aµë\8b\88ë\8b¤'
+        subject_own: '[OpenStreetMap] %{commenter}님이 당신의 바뀜집합 중 하나에 댓글을 남겼습니다'
+        subject_other: '[OpenStreetMap] %{commenter}님이 당신이 관심 있는 바뀜집합에 댓글을 남겼습니다'
+        your_changeset: '%{commenter}님이 당신이 %{time}에 만든 바뀜집합 중 하나에 댓글을 달았습니다'
+        commented_changeset: '%{commenter}님이 %{changeset_author}이 %{time}에 만든, 주시
+          중인 지도 바뀜집합에 댓글을 달았습니다'
         partial_changeset_with_comment: '''%{changeset_comment}'' 덧글로'
         partial_changeset_without_comment: 댓글 없이
       details: 바뀜집합에 대한 자세한 사항은 %{url} 에서 찾을 수 있습니다.
@@ -1359,7 +1371,7 @@ ko:
         찾아보는 것은 어떨까요?
       people_mapping_nearby: 근처에 매핑한 사람
     reply:
-      wrong_user: '''%{user}'' 사용자로 로그인하고 있지만 답장을 요청한 메시지가 해당 사용자에게 보내지지 않았습니다. 답장을
+      wrong_user: '''%{user}''님으로 로그인하고 있지만 답장을 요청한 메시지가 해당 사용자에게 보내지지 않았습니다. 답장을
         하려면 올바른 사용자로 로그인하세요.'
     read:
       title: 메시지 읽기
@@ -1370,7 +1382,7 @@ ko:
       unread_button: 읽지 않음으로 표시
       back: 뒤로
       to: 받는이
-      wrong_user: '''%{user}'' 사용자로 로그인하고 있지만 읽기를 요청한 메시지가 해당 사용자에게 보내지지 않았습니다. 읽으려면
+      wrong_user: '''%{user}''님으로 로그인하고 있지만 읽기를 요청한 메시지가 해당 사용자에게 보내지지 않았습니다. 읽으려면
         올바른 사용자로 로그인하세요.'
     sent_message_summary:
       delete_button: 삭제
@@ -1588,9 +1600,9 @@ ko:
     list:
       public_traces: 공개 GPS 추적
       your_traces: 내 GPS 추적
-      public_traces_from: '%{user} 사용자의 공중 GPS 추적'
+      public_traces_from: '%{user}님의 공개 GPS 추적'
       description: 최근 GPS 추적 올리기 찾아보기
-      tagged_with: '%{tags}로 태그함'
+      tagged_with: '%{tags}(으)로 태그함'
       empty_html: 여기에 아직 아무 것도 없습니다. <a href='%{upload_link}'>새 추적을 올리거나</a> <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>위키
         문서</a>에 GPS 추적에 대한 자세한 내용을 알아보세요.
     delete:
@@ -1660,7 +1672,7 @@ ko:
       edit: 자세한 사항 편집
       delete: 클라이언트 삭제
       confirm: 확실합니까?
-      requests: '사용자 다음 권한을 요청합니다:'
+      requests: '사용자로부터 다음 권한을 요청합니다:'
       allow_read_prefs: 사용자 환경 설정을 읽습니다.
       allow_write_prefs: 사용자 환경 설정을 수정합니다.
       allow_write_diary: 일기 항목을 만들고 댓글을 달고 친구를 만듭니다.
@@ -1686,7 +1698,7 @@ ko:
       url: 주요 애플리케이션 URL
       callback_url: 연락 URL
       support_url: 지원 URL
-      requests: '사용자 다음 권한을 요청합니다:'
+      requests: '사용자로부터 다음 권한을 요청합니다:'
       allow_read_prefs: 사용자 환경 설정을 읽습니다.
       allow_write_prefs: 사용자 환경 설정을 수정합니다.
       allow_write_diary: 일기 항목을 만들고 댓글을 달고 친구를 만듭니다.
@@ -1695,7 +1707,7 @@ ko:
       allow_write_gpx: GPS 추적을 올립니다.
       allow_write_notes: 참고를 수정합니다.
     not_found:
-      sorry: 죄송합니다, 해당 %{type}(을)를 찾을 수 없습니다.
+      sorry: 죄송합니다, 해당 %{type}을(를) 찾을 수 없습니다.
     create:
       flash: 성공적으로 정보를 등록했습니다
     update:
@@ -1738,6 +1750,9 @@ ko:
         windowslive:
           title: 윈도 라이브로 로그인하기
           alt: 윈도 라이브 계정으로 로그인하기
+        github:
+          title: GitHub로 로그인
+          alt: GitHub 계정으로 로그인
         yahoo:
           title: 야후로 로그인
           alt: Yahoo OpenID로 로그인하기
@@ -1752,7 +1767,7 @@ ko:
       heading: OpenStreetMap에서 로그아웃
       logout_button: 로그아웃
     lost_password:
-      title: 잊어버 비밀번호
+      title: 잊어버 비밀번호
       heading: 비밀번호를 잊으셨나요?
       email address: '이메일 주소:'
       new password button: 비밀번호 재설정
@@ -1761,7 +1776,7 @@ ko:
       notice email cannot find: 이메일 주소를 찾지 못해 죄송합니다.
     reset_password:
       title: 비밀번호 재설정
-      heading: '%{user} 사용자 비밀번호 재설정'
+      heading: '%{user} 비밀번호 재설정'
       password: '비밀번호:'
       confirm password: 비밀번호 확인
       reset: 비밀번호 재설정
@@ -1784,7 +1799,7 @@ ko:
       confirm email address: '이메일 주소 확인:'
       not displayed publicly: 공개적으로 표시되지 않습니다 (<a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
         title="이메일 주소 부분을 포함한 위키 개인정보 정책">개인 정보 정책</a>을 참조하세요)
-      display name: '보여줄 이름:'
+      display name: '표시 이름:'
       display name description: 공개적으로 표시되는 사용자 이름입니다. 나중에 환경 설정에서 바꿀 수 있습니다.
       external auth: '제3자 인증:'
       password: '비밀번호:'
@@ -1866,8 +1881,8 @@ ko:
         revoke:
           administrator: 관리자 권한 해제
           moderator: 운영자 권한 해제
-      block_history: 사용자가 차단을 받았습니다
-      moderator_history: ì\82¬ì\9a©ì\9e\90ê°\80 ì°¨ë\8b¨ì\9d\84 ì£¼ì\97\88ì\8aµë\8b\88ë\8b¤
+      block_history: 활성화된 차단
+      moderator_history: ì\8b¤í\96\89ë\90\9c ì°¨ë\8b¨
       comments: 댓글
       create_block: 이 사용자를 차단
       activate_user: 이 사용자 활성화
@@ -1907,8 +1922,8 @@ ko:
         text: 현재 편집은 익명으로 나타나며, 다른 사람에게서 메시지를 받을 수 없고 자신의 위치가 공개되지 않습니다. 자신이 편집한 것을
           드러내고 다른 사람이 웹 사이트를 통해 연락할 수 있게 하려면 아래 버튼을 클릭하세요. <b>0.6 API 개편 이후 공개 사용자만
           지도 데이터를 편집할 수 있습니다</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">이유
-          알아보기</a>).<ul><li>공개 사용자가 되더라도 이메일 주소는 공개되지 않습니다.</li><li>이 조치는 취소할 수 없으며,
-          ëª¨ë\93  ì\8b ê·\9c 사용자는 현재 기본적으로 공개 계정입니다.</li></ul>
+          알아보기</a>).<ul><li>공개 사용자가 되더라도 이메일 주소는 공개되지 않습니다.</li><li>이 동작은 취소할 수 없으며,
+          ëª¨ë\93  ì\83\88ë¡\9cì\9a´ 사용자는 현재 기본적으로 공개 계정입니다.</li></ul>
       contributor terms:
         heading: '기여자 약관:'
         agreed: 새 기여자 약관에 동의했습니다.
@@ -1933,7 +1948,7 @@ ko:
       latitude: '위도:'
       longitude: '경도:'
       update home location on click: 지도에서 클릭하면 집 위치로 업데이트할까요?
-      save changes button: ë°\94ë\80\9c 저장
+      save changes button: ë³\80ê²½ ì\82¬í\95­ 저장
       make edits public button: 내 편집을 공개하기
       return to profile: 프로필로 돌아가기
       flash update success confirm needed: 사용자 정보를 성공적으로 업데이트했습니다. 새 이메일 주소를 확인하기
@@ -1950,8 +1965,8 @@ ko:
       unknown token: 확인 코드가 만료되었거나 존재하지 않습니다.
       reconfirm_html: 확인 이메일을 다시 보낼 필요가 있다면, <a href="%{reconfirm}">여기를 클릭하세요</a>.
     confirm_resend:
-      success: '%{email} 로 새 확인 쪽지를 보냈는데 즉시 계정을 확인하는 대로 매핑을 할 수 있습니다.<br /><br />확인
-        요청을 보낼 때 스팸 방지 시스템을 사용한다면 어떤 확인 요청에 답변할 수 없으므로 화이트리스트에 %{sender} 가 있는지 확인하세요.'
+      success: '%{email}(으)로 새 확인 쪽지를 보냈는데 즉시 계정을 확인하는 대로 매핑을 할 수 있습니다.<br /><br />확인
+        요청을 보낼 때 스팸 방지 시스템을 사용한다면 어떤 확인 요청에 답변할 수 없으므로 화이트리스트에 %{sender}이(가) 있는지 확인하세요.'
       failure: '%{name} 사용자를 찾을 수 없습니다.'
     confirm_email:
       heading: 이메일 주소 바꾸기 확인
@@ -1965,26 +1980,26 @@ ko:
     go_public:
       flash success: 지금 모든 편집을 공개하고, 편집을 허용하지 않습니다.
     make_friend:
-      heading: '%{user} 사용자를 친구로 추가할까요?'
+      heading: '%{user}님을 친구로 추가할까요?'
       button: 친구 추가
-      success: '%{name} 사용자는 이제 친구입니다!'
-      failed: 죄송합니다, %{name} 사용자를 친구로 추가하는 데 실패했습니다.
-      already_a_friend: 이미 %{name} 사용자와 친구입니다.
+      success: '%{name}님은 이제 친구입니다!'
+      failed: 죄송합니다, %{name}님을 친구로 추가하는 데 실패했습니다.
+      already_a_friend: 이미 %{name}님과 친구입니다.
     remove_friend:
-      heading: '%{user} 사용자를 친구 제거할까요?'
+      heading: '%{user}님을 친구 제거할까요?'
       button: 친구 제거
-      success: '%{name} 사용자를 친구에서 제거했습니다.'
-      not_a_friend: '%{name} 사용자는 친구가 아닙니다.'
+      success: '%{name}님을 친구에서 제거했습니다.'
+      not_a_friend: '%{name}님은 친구 중 하나가 아닙니다.'
     filter:
       not_an_administrator: 해당 동작을 수행하려면 관리자 권한이 필요합니다.
     list:
       title: 사용자
       heading: 사용자
       showing:
-        one: 페이지 %{page} (%{items} 중 %{first_item})
-        other: 페이지 %{page} (%{items} 중 %{first_item}-%{last_item})
-      summary: '%{name}(이)가 %{date}에 %{ip_address}에서 만들어짐'
-      summary_no_ip: '%{name}(이)가 %{date}에 만들어짐'
+        one: '%{page}페이지 (%{items} 중 %{first_item})'
+        other: '%{page}페이지 (%{items} 중 %{first_item}-%{last_item})'
+      summary: '%{name}님이 %{date}에 %{ip_address}에서 만들어짐'
+      summary_no_ip: '%{name}이(가) %{date}에 만들어짐'
       confirm: 선택한 사용자 확인
       hide: 선택한 사용자 숨기기
       empty: 일치하는 사용자를 찾을 수 없습니다
@@ -2021,15 +2036,15 @@ ko:
     grant:
       title: 역할 부여 확인
       heading: 역할 부여 확인
-      are_you_sure: '''%{name}'' 사용자í\95\9cí\85\8c ''%{role}'' ì\97­í\95 ì\9d\84 ë¶\80ì\97¬í\95\98ê² ì\8aµë\8b\88ê¹\8c?'
+      are_you_sure: '''%{name}'' 사용자ì\97\90ê²\8c ''%{role}'' ì\97­í\95 ì\9d\84 ë¶\80ì\97¬í\95\98ê² ì\8aµë\8b\88ê¹\8c?'
       confirm: 확인
       fail: '''%{name} 사용자에게 ''%{role}'' 역할을 부여할 수 없습니다. 사용자와 역할이 모두 올바른지 확인하세요.'
     revoke:
       title: 역할 해제 확인
       heading: 역할 해제 확인
-      are_you_sure: '''%{name}'' 사용자한테 ''%{role}'' 역할을 해제하겠습니까?'
+      are_you_sure: '''%{name}'' 사용자로부터 ''%{role}'' 역할을 해제하겠습니까?'
       confirm: 확인
-      fail: '''%{name} 사용자에게 ''%{role}'' 역할을 해제할 수 없습니다. 사용자와 역할이 모두 올바른지 확인하세요.'
+      fail: '''%{name} 사용자로부터 ''%{role}'' 역할을 해제할 수 없습니다. 사용자와 역할이 모두 올바른지 확인하세요.'
   user_block:
     model:
       non_moderator_update: 차단을 만들거나 바꾸려면 운영자여야 합니다.
@@ -2040,7 +2055,7 @@ ko:
     new:
       title: '%{name} 사용자 차단'
       heading: '%{name} 사용자 차단'
-      reason: '%{name} 사용자를 차단한 이유입니다. 메시지가 대중에 공개적으로 보이기 때문에, 상황에 대해 가능한 한 냉정하고 합리적으로
+      reason: '%{name}님을 차단한 이유입니다. 메시지가 대중에 공개적으로 보이기 때문에, 상황에 대해 가능한 한 냉정하고 합리적으로
         최대한 정중하게 상황을 설명하도록 하세요. 모든 사용자가 공동체 내에서의 전문 용어를 이해하고 있는 것인 아니기 때문에 알기 쉬운 용어를
         사용하도록 노력하세요.'
       period: 사용자가 지금부터 얼마나 오랫동안 API에서 차단하나요.
@@ -2052,8 +2067,8 @@ ko:
     edit:
       title: '%{name} 사용자에 대한 차단 편집'
       heading: '%{name} 사용자에 대한 차단 편집'
-      reason: '%{name} 사용자를 차단한 이유입니다. 상황에 대해 가능한 한 냉정하고 합리적으로 최대한 정중하게 상황을 설명하도록
-        하세요. 모든 사용자가 공동체 내에서의 전문 용어를 이해하고 있는 것인 아니기 때문에 알기 쉬운 용어를 사용하도록 노력하세요.'
+      reason: '%{name}님을 차단한 이유입니다. 상황에 대해 가능한 한 냉정하고 합리적으로 최대한 정중하게 상황을 설명하도록 하세요.
+        모든 사용자가 공동체 내에서의 전문 용어를 이해하고 있는 것인 아니기 때문에 알기 쉬운 용어를 사용하도록 노력하세요.'
       period: 사용자가 지금부터 얼마나 오랫동안 API에서 차단하나요.
       submit: 차단 업데이트
       show: 이 차단 보기
@@ -2103,16 +2118,16 @@ ko:
       until_login: 사용자가 로그인할 때까지 활성합니다.
       time_past: '%{time} 전에 끝났습니다.'
     blocks_on:
-      title: '%{name} 사용자에 대해 차단'
+      title: '%{name}에 대해 차단'
       heading: '%{name} 사용자에 대한 차단 목록'
-      empty: '%{name} 사용자는 아직 차단되지 않았습니다.'
+      empty: '%{name}님은 아직 차단되지 않았습니다.'
     blocks_by:
-      title: '%{name} 사용자에 의해 차단'
+      title: '%{name}에 의해 차단'
       heading: '%{name} 사용자에 의한 차단 목록'
-      empty: '%{name} 사용자는 아직 어떠한 차단도 하지 않았습니다.'
+      empty: '%{name}님은 아직 어떠한 차단도 하지 않았습니다.'
     show:
-      title: '%{block_on} 사용자가 %{block_by} 사용자에 의해 차단됨'
-      heading: '%{block_on} 사용자가 %{block_by} 사용자에 의해 차단됨'
+      title: '%{block_on}님이 %{block_by}님에 의해 차단됨'
+      heading: '%{block_on}님이 %{block_by}님에 의해 차단됨'
       time_future: '%{time}에 끝남'
       time_past: '%{time} 전에 끝남'
       created: 만들어짐
@@ -2129,13 +2144,13 @@ ko:
   note:
     description:
       opened_at_html: '%{when} 전에 만듦'
-      opened_at_by_html: '%{user} 사용자가 %{when} 전에 만듦'
+      opened_at_by_html: '%{user}님이 %{when} 전에 만듦'
       commented_at_html: '%{when} 전에 바꿈'
-      commented_at_by_html: '%{user} 사용자가 %{when} 전에 바꿈'
+      commented_at_by_html: '%{user}님이 %{when} 전에 업데이트함'
       closed_at_html: '%{when} 전에 해결함'
-      closed_at_by_html: '%{user} 사용자가 %{when} 전에 해결함'
+      closed_at_by_html: '%{user}님이 %{when} 전에 해결함'
       reopened_at_html: '%{when} 전에 다시 활성화함'
-      reopened_at_by_html: '%{user} 사용자가 %{when} 전에 다시 활성화함'
+      reopened_at_by_html: '%{user}님이 %{when} 전에 다시 활성화함'
     rss:
       title: OpenStreetMap 참고
       description_area: 내 지역[(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]에
@@ -2149,9 +2164,9 @@ ko:
       comment: 댓글
       full: 전체 참고
     mine:
-      title: '%{user} 사용자가 제출했거나 댓글을 남긴 참고'
+      title: '%{user}님이 제출했거나 댓글을 남긴 참고'
       heading: '%{user}의 참고'
-      subheading: '%{user} 사용자가 제출했거나 댓글을 남긴 참고'
+      subheading: '%{user}님이 제출했거나 댓글을 남긴 참고'
       id: ID
       creator: 만든이
       description: 설명
@@ -2224,7 +2239,7 @@ ko:
         unhide_comment: 숨기기 취소
     notes:
       new:
-        intro: ì\8b¤ì\88\98í\96\88ê±°ë\82\98 ì\97\86ë\8a\94 ë¬´ì\96¸ê°\80를 ë°\9c견í\96\88ë\82\98ì\9a\94? ë\8b¤ë¥¸ ë§¤í\8d¼ì\97\90ê²\8c ì\95\8c려주ì\96´ ê³ ì¹  ì\88\98 ì\9e\88ê²\8c í\95´ì£¼ì\84¸ì\9a\94. ë§\88커를 ì\98¬ë°\94른 ì\9c\84ì¹\98ë¡\9c ì\98®ê¸°고, 참고를
+        intro: ì\8b¤ì\88\98í\96\88ê±°ë\82\98 ì\97\86ë\8a\94 ë¬´ì\96¸ê°\80를 ë°\9c견í\96\88ë\82\98ì\9a\94? ë\8b¤ë¥¸ ë§¤í\8d¼ì\97\90ê²\8c ì\95\8c려주ì\96´ ê³ ì¹  ì\88\98 ì\9e\88ê²\8c í\95´ì£¼ì\84¸ì\9a\94. ë§\88커를 ì\98¬ë°\94른 ì\9c\84ì¹\98ë¡\9c ì\9d´ë\8f\99í\95\98고, 참고를
           남겨 문제를 설명해주세요. (개인 정보나 저작권이 있는 지도나 디렉터리 목록에서의 정보를 입력하지 마세요.)
         add: 참고 추가
       show:
@@ -2252,7 +2267,7 @@ ko:
         no_route: 두 장소 사이의 경로를 찾을 수 없습니다.
         no_place: 죄송합니다 - 그 장소를 찾을 수 없습니다.
       instructions:
-        continue_without_exit: '%{name}로 계속가세요'
+        continue_without_exit: '%{name}(으)로 계속 가세요'
         slight_right_without_exit: '%{name}을(를) 따라 오른쪽으로 완만하게 도세요'
         turn_right_without_exit: '%{name}을(를) 따라 오른쪽으로 도세요'
         sharp_right_without_exit: '%{name}을(를) 따라 오른쪽으로 꺾으세요'
@@ -2306,7 +2321,7 @@ ko:
     create:
       flash: 교정을 만들었습니다.
     update:
-      flash: ë°\94ë\80\9c을 저장했습니다.
+      flash: ë³\80ê²½ë\90\9c ì\82¬í\95­을 저장했습니다.
     destroy:
       not_empty: 교정이 비어 있지 않습니다. 파기하기 전에 이 교정에 속하는 모든 판을 교정 취소하세요.
       flash: 교정을 파기했습니다.
index 647f89c..cc8d533 100644 (file)
@@ -905,6 +905,9 @@ lb:
         windowslive:
           title: Mat Windows Live aloggen
           alt: Mat engem Windows-Live Benotzerkont aloggen
+        github:
+          title: Mat GitHub aloggen
+          alt: Mat engem GitHub-Konto aloggen
         yahoo:
           title: Alogge mat Yahoo
           alt: Alogge mat enger Yahoo OpenID
@@ -1196,8 +1199,18 @@ lb:
       distance: Distanz
       instructions:
         continue_without_exit: Virun op %{name}
+        offramp_right_without_exit: Déi riets Opfaart op %{name} huelen
+        onramp_right_without_exit: Bei der Opfaart riets ofbéien op %{name}
+        endofroad_right_without_exit: Um Ënn vun der Strooss riets ofbéien op %{name}
+        merge_right_without_exit: Riets areien op %{name}
+        fork_right_without_exit: Um Ënn vun der Strooss riets ofbéien op %{name}
         sharp_right_without_exit: Schaarf riets op %{name}
         sharp_left_without_exit: Schaarf lénks op %{name}
+        offramp_left_without_exit: Déi lénks Opfaart op %{name} huelen
+        onramp_left_without_exit: Bei der Opfaart lénks ofbéien op %{name}
+        endofroad_left_without_exit: Um Ënn vun der Strooss lénks ofbéien op %{name}
+        merge_left_without_exit: Lénks areien op %{name}
+        fork_left_without_exit: Um Ënn vun der Strooss lénks ofbéien op %{name}
         via_point_without_exit: (iwwer de Punkt)
         roundabout_without_exit: Am Kreesverkéier huelt %{name}
         leave_roundabout_without_exit: Aus dem Kreesverkéier erausgoen - %{name}
index 935404f..c514248 100644 (file)
@@ -1786,6 +1786,9 @@ lt:
         windowslive:
           title: Prisijungti su Windows Live
           alt: Prisijungti su Windows Live paskyra
+        github:
+          title: Prisijungti su GitHub
+          alt: Prisijungti su GitHub Paskyra
         yahoo:
           title: Prisijunkite su Yahoo
           alt: Prisijunkite su Yahoo OpenID
index f551172..520b27f 100644 (file)
@@ -400,6 +400,7 @@ lv:
           taxiway: Manevrēšanas ceļš
           terminal: Terminālis
         amenity:
+          animal_shelter: Dzīvnieku patversme
           arts_centre: Mākslas centrs
           atm: Bankomāts
           bank: Banka
@@ -421,6 +422,7 @@ lv:
           charging_station: Uzlādēšanas stacija
           cinema: Kino
           clinic: Klīnika
+          clock: Pulkstenis
           college: Koledža
           community_centre: Sabiedriskais centrs
           courthouse: Tiesa
@@ -517,6 +519,7 @@ lv:
           tailor: Drēbnieks
           "yes": Amatnieks
         emergency:
+          defibrillator: Defibrilators
           phone: Telefons ārkārtas situācijai
         highway:
           bridleway: Izjādes taka
@@ -583,6 +586,8 @@ lv:
           wayside_cross: Krusts ceļmalā
           wayside_shrine: Ceļmalas svētnīca
           wreck: Vraks
+        junction:
+          "yes": Krustojums
         landuse:
           allotments: Mazdārziņi
           basin: Rezervuārs
@@ -617,6 +622,7 @@ lv:
         leisure:
           beach_resort: Pludmales kūrorts
           bird_hide: Putnu Slēptuve
+          club: Klubs
           common: Koplietošanas zeme
           dog_park: Suņu laukums
           fishing: Zvejas apgabals
@@ -642,6 +648,7 @@ lv:
           track: Skrejceļš
           water_park: Ūdens atrakciju parks
         man_made:
+          lighthouse: Bāka
           pipeline: Cauruļvads
           tower: Tornis
           works: Rūpnīca
@@ -664,6 +671,7 @@ lv:
           forest: Mežs
           geyser: Geizers
           glacier: Ledājs
+          grassland: Pļava
           heath: Tīrelis
           hill: Kalns
           island: Sala
@@ -746,7 +754,7 @@ lv:
           spur: Dzelzceļa Atradze
           station: Dzelzceļa stacija
           stop: Dzelzceļa Pietura
-          subway: Metro stacija
+          subway: Metro
           subway_entrance: Metro ieeja
           switch: Dzelzceļa punkti
           tram: Tramvajs
@@ -1239,6 +1247,7 @@ lv:
           kur esi komentējis. Piezīme ir netālu no %{place}.'
       details: Vairāk informācijas par piezīmēm var atrast %{url}.
     changeset_comment_notification:
+      greeting: Sveicināti,
       commented:
         partial_changeset_without_comment: bez komentāra
   message:
@@ -2149,6 +2158,7 @@ lv:
       map_data_zoom_in_tooltip: Pietuvināt, lai redzētu kartes datus
     changesets:
       show:
+        comment: Komentēt
         hide_comment: paslēpt
     notes:
       new:
index 57e3ee5..5bb4d2b 100644 (file)
@@ -1795,6 +1795,9 @@ mk:
         windowslive:
           title: Најава со Windows Live
           alt: Најава со сметка на Windows Live
+        github:
+          title: Најава со GitHub
+          alt: Најава со сметка на GitHub
         yahoo:
           title: Најава со Yahoo
           alt: Најава со OpenID од Yahoo
@@ -2361,13 +2364,23 @@ mk:
         no_place: За жал, не можев да го најдам тоа место.
       instructions:
         continue_without_exit: Продолжете на %{name}
-        slight_right_without_exit: Малку надесно во %{name}
-        turn_right_without_exit: Свртете десно во %{name}
-        sharp_right_without_exit: Остро надесно во %{name}
+        slight_right_without_exit: Малку надесно на %{name}
+        offramp_right_without_exit: На десниот исклучок, свртете на %{name}
+        onramp_right_without_exit: Исклучете се десно, одејќи на %{name}
+        endofroad_right_without_exit: На крајот од патот свртете десно на %{name}
+        merge_right_without_exit: Навлезете десно во %{name}
+        fork_right_without_exit: На разгранокот свртете десно на %{name}
+        turn_right_without_exit: Свртете десно на %{name}
+        sharp_right_without_exit: Остро надесно на %{name}
         uturn_without_exit: Полукружно свртете долж %{name}
-        sharp_left_without_exit: Остро налево во %{name}
-        turn_left_without_exit: Свртете лево во %{name}
-        slight_left_without_exit: Малку налево во %{name}
+        sharp_left_without_exit: Остро налево на %{name}
+        turn_left_without_exit: Свртете лево на %{name}
+        offramp_left_without_exit: На левиот исклучок, свртете на %{name}
+        onramp_left_without_exit: Исклучете се лево, одејќи на %{name}
+        endofroad_left_without_exit: На крајот од патот свртете лево на %{name}
+        merge_left_without_exit: Навлезете лево во %{name}
+        fork_left_without_exit: На разгранокот свртете лево на %{name}
+        slight_left_without_exit: Малку налево на %{name}
         via_point_without_exit: (преку точката)
         follow_without_exit: Следете го %{name}
         roundabout_without_exit: На кружниот тек свртете на %{name}
index 31c1789..cec6d81 100644 (file)
@@ -20,6 +20,7 @@
 # Author: MatthiasS
 # Author: McDutchie
 # Author: MedShot
+# Author: MrLeopold
 # Author: Pje335
 # Author: Robin van der Vliet
 # Author: Robin0van0der0vliet
@@ -2397,11 +2398,21 @@ nl:
       instructions:
         continue_without_exit: Verder op %{name}
         slight_right_without_exit: Flauwe bocht naar rechts naar %{name}
+        offramp_right_without_exit: Neem de oprit aan de rechterkant naar %{name}
+        onramp_right_without_exit: Sla rechtsaf op de oprit naar %{name}
+        endofroad_right_without_exit: Sla op het einde van de weg rechtsaf naar %{name}
+        merge_right_without_exit: Voeg rechts in naar %{name}
+        fork_right_without_exit: Sla bij de splitsing rechtsaf naar %{name}
         turn_right_without_exit: Sla rechtsaf naar %{name}
         sharp_right_without_exit: Scherp rechtsaf naar %{name}
         uturn_without_exit: U-bocht langs %{name}
         sharp_left_without_exit: Scherp linksaf naar %{name}
         turn_left_without_exit: Sla linksaf naar %{name}
+        offramp_left_without_exit: Neem de oprit aan de linkerkant naar %{name}
+        onramp_left_without_exit: Sla linksaf op de oprit naar %{name}
+        endofroad_left_without_exit: Sla op het einde van de weg linksaf naar %{name}
+        merge_left_without_exit: Voeg links in naar %{name}
+        fork_left_without_exit: Sla bij de splitsing linksaf naar %{name}
         slight_left_without_exit: Flauwe bocht naar links naar %{name}
         via_point_without_exit: (via punt)
         follow_without_exit: Volg %{name}
index 10ab2fb..523c45e 100644 (file)
@@ -4,6 +4,7 @@
 # Author: Aalam
 # Author: Babanwalia
 # Author: Jimidar
+# Author: Tow
 ---
 pa:
   time:
@@ -12,6 +13,8 @@ pa:
   activerecord:
     models:
       acl: ਅਸੈੱਸ ਕੰਟਰੋਲ ਲਿਸਟ
+      changeset: ਤਬਦੀਲੀ ਲੜੀ
+      changeset_tag: ਤਬਦੀਲੀ ਲੜੀ ਨਿਸ਼ਾਨ
       country: ਮੁਲਕ
       diary_comment: ਡਾਇਰੀ ਟਿੱਪਣੀ
       diary_entry: ਡਾਇਰੀ ਇੰਦਰਾਜ
@@ -33,6 +36,9 @@ pa:
       relation_member: ਸਬੰਧ ਮੈਂਬਰ
       relation_tag: ਸਬੰਧ ਟੈਗ
       session: ਸੈਸ਼ਨ
+      trace: ਟਰੇਸ
+      tracepoint: ਟਰੇਸ ਪੁਆਇੰਟ
+      tracetag: ਟਰੇਸ ਨਿਸ਼ਾਨ
       user: ਵਰਤੋਂਕਾਰ
       user_preference: ਵਰਤੋਂਕਾਰ ਤਰਜੀਹਾਂ
       user_token: ਵਰਤੋਂਕਾਰ ਟੋਕਨ
@@ -74,20 +80,32 @@ pa:
         pass_crypt: ਪਛਾਣ-ਸ਼ਬਦ
   editor:
     default: ਮੂਲ (ਮੌਜੂਦਾ %{name})
+    id:
+      name: ਆਈਡੀ
     remote:
       name: ਰਿਮੋਟ ਕੰਟਰੋਲ
   browse:
     created: ਬਣਾਇਆ ਗਿਆ
     closed: ਬੰਦ ਹੋਇਆ
     created_html: <abbr title='%{title}'>%{time} ਪਹਿਲਾਂ ਬਣਾਇਆ ਗਿਆ</abbr>
+    version: ਵਰਜਨ
+    in_changeset: ਤਬਦੀਲੀਆਂ
     anonymous: ਬੇਪਛਾਣ
     no_comment: (ਕੋਈ ਟਿੱਪਣੀ ਨਹੀਂ)
     part_of: ਦਾ ਹਿੱਸਾ
+    download_xml: XML ਲਾਹੋ
     view_history: ਅਤੀਤ ਵੇਖੋ
     view_details: ਵੇਰਵੇ ਵੇਖੋ
     location: 'ਸਥਿਤੀ:'
     changeset:
+      title: 'ਤਬਦੀਲੀ ਲੜੀ: %{id}'
       belongs_to: ਲੇਖਕ
+      comment: ਟਿੱਪਣੀਆਂ (%{count})
+      changesetxml: ਤਬਦੀਲੀ ਲੜੀ XML
+      feed:
+        title: ਤਬਦੀਲੀ ਲੜੀ %{id}
+        title_comment: ਤਬਦੀਲੀ ਲੜੀ %{id} - %{comment}
+      discussion: ਚਰਚਾ
     relation:
       members: ਜੀਅ
     relation_member:
@@ -102,12 +120,14 @@ pa:
         way: ਰਾਹ
         relation: ਸਬੰਧ
         changeset: ਚੇਂਜ਼ਸੈੱਟ
+        note: ਟਿੱਪਣੀ
     timeout:
       type:
         node: ਨੋਡ
         way: ਰਾਹ
         relation: ਸਬੰਧ
         changeset: ਚੇਂਜ਼ਸੈੱਟ
+        note: ਟਿੱਪਣੀ
     redacted:
       type:
         node: ਨੋਡ
@@ -118,8 +138,11 @@ pa:
       loading: ਲੋਡ ਹੋ ਰਿਹਾ ਹੈ…
     tag_details:
       tags: ਟੈਗ
+      wikipedia_link: '%{page} ਲੇਖ ਵਿਕਿਪੀਡਿਆ ਉੱਤੇ'
+      telephone_link: '%{phone_number} ਨੂੰ ਫੋਨ ਕਰੋ'
     note:
       title: 'ਟਿੱਪਣੀ: %{id}'
+      new_note: ਨਵੀੰ ਟਿੱਪਣੀ
       description: ਵੇਰਵਾ
   changeset:
     changeset_paging_nav:
@@ -130,12 +153,19 @@ pa:
       anonymous: ਬੇਪਛਾਣ
       no_edits: (ਕੋਈ ਸੋਧ ਨਹੀਂ)
     changesets:
+      id: ਸ਼ਨਾਖ਼ਤ
       user: ਵਰਤੋਂਕਾਰ
       comment: ਟਿੱਪਣੀ
       area: ਇਲਾਕਾ
+    list:
+      title: ਤਬਦੀਲੀਆਂ
+      load_more: ਹੋਰ ਲੋਡ ਕਰੋ
   diary_entry:
+    new:
+      publish_button: ਛਾਪੋ
     edit:
       subject: 'ਵਿਸ਼ਾ:'
+      body: 'ਧੜ੍ਹ:'
       language: 'ਬੋਲੀ:'
       location: 'ਸਥਿਤੀ:'
       latitude: 'ਅਕਸ਼ਾਂਸ਼:'
@@ -163,6 +193,7 @@ pa:
       view: ਵੇਖੋ
       edit: ਸੋਧੋ
     comments:
+      post: ਡਾਕ
       when: ਕਦੋਂ
       comment: ਟਿੱਪਣੀ
       ago: '%{ago} ਪਹਿਲਾਂ'
@@ -210,6 +241,7 @@ pa:
           bicycle_parking: ਸਾਈਕਲ ਪਾਰਕਿੰਗ
           bicycle_rental: ਕਿਰਾਏ 'ਤੇ ਸਾਈਕਲ
           biergarten: ਬੀਅਰ ਬਾਗ਼
+          boat_rental: ਕਿਸ਼ਤੀ ਕਿਰਾਇਆ
           brothel: ਕੋਠਾ
           bureau_de_change: ਮੁਦਰਾ ਵਟਾਂਦਰਾ
           bus_station: ਬਸ ਅੱਡਾ
@@ -219,8 +251,10 @@ pa:
           car_wash: ਕਾਰ ਧੁਆਈ
           casino: ਕੈਸੀਨੋ
           charging_station: ਚਾਰਜਿੰਗ ਸਟੇਸ਼ਨ
+          childcare: ਬਾਲ ਸੰਭਾਲ
           cinema: ਸਿਨੇਮਾ
           clinic: ਕਲੀਨਿਕ
+          clock: ਘੜੀ
           college: ਕਾਲਜ
           community_centre: ਭਾਈਚਾਰਾ ਕੇਂਦਰ
           courthouse: ਕਚਹਿਰੀ
@@ -239,6 +273,7 @@ pa:
           food_court: ਖਾਣਾ ਦਰਬਾਰ
           fountain: ਫ਼ੁਹਾਰਾ
           fuel: ਤੇਲ
+          gambling: ਜੂਆ
           grave_yard: ਕਬਰਿਸਤਾਨ
           gym: ਜਿਮ/ਦਰੁਸਤੀ ਕੇਂਦਰ
           health_centre: ਸਿਹਤ ਕੇਂਦਰ
@@ -249,11 +284,14 @@ pa:
           library: ਪੁਸਤਕਾਲਾ
           market: ਮੰਡੀ
           marketplace: ਮੰਡੀ ਦੀ ਥਾਂ
+          monastery: ਮੱਠ
+          motorcycle_parking: ਮੋਟਰਸਾਈਕਲ ਪਾਰਕਿੰਗ
           nightclub: ਰਾਤ ਦਾ ਕਲੱਬ
           nursery: ਨਰਸਰੀ
           nursing_home: ਨਰਸਿੰਗ ਹੋਮ
           office: ਦਫ਼ਤਰ
           parking: ਪਾਰਕਿੰਗ
+          parking_entrance: ਪਾਰਕਿੰਗ ਪਰਵੇਸ਼
           pharmacy: ਫ਼ਾਰਮੇਸੀ
           place_of_worship: ਭਗਤੀ ਦਾ ਘਰ
           police: ਪੁਲਿਸ
@@ -274,6 +312,7 @@ pa:
           shower: ਸ਼ਾਵਰ
           social_centre: ਸਮਾਜਕ ਕੇਂਦਰ
           social_club: ਸਮਾਜਕ ਕਲੱਬ
+          social_facility: ਸਮਾਜਕ ਸਹੂਲਤ
           studio: ਸਟੂਡੀਉ
           swimming_pool: ਤੈਰਾਕੀ ਤਲਾਅ
           taxi: ਟੈਕਸੀ
@@ -286,6 +325,7 @@ pa:
           veterinary: ਡੰਗਰਾਂ ਦਾ ਹਸਪਤਾਲ
           village_hall: ਪਿੰਡ ਦਾ ਹਾਲ
           waste_basket: ਕੂੜਾਦਾਨ
+          waste_disposal: ਕੂੜੇਦਾਨ
           youth_centre: ਨੌਜਵਾਨ ਕੇਂਦਰ
         boundary:
           administrative: ਪ੍ਰਸ਼ਾਸਕੀ ਸਰਹੱਦ
@@ -300,13 +340,29 @@ pa:
           "yes": ਪੁਲ
         building:
           "yes": ਇਮਾਰਤ
+        craft:
+          brewery: ਬਰੂਅਰੀ
+          carpenter: ਤਰਖਾਣ
+          electrician: ਇਲੈਕਟਰੀਸ਼ਨ
+          gardener: ਮਾਲੀ
+          painter: ਚਿੱਤਰਕਾਰ
+          photographer: ਫ਼ੋਟੋਗ੍ਰਾਫ਼ਰ
+          plumber: ਨਲਸਾਜ਼
+          shoemaker: ਮੋਚੀ
+          tailor: ਦਰਜੀ
+          "yes": ਕਰਾਫਟ ਦੁਕਾਨ
         emergency:
+          ambulance_station: ਐਂਬੂਲੈਂਸ ਸਟੇਸ਼ਨ
+          defibrillator: ਡੀਫਿਬ੍ਰੀਲੇਟਰ
+          landing_site: ਸੰਕਟਕਾਲੀਨ ਉਤਰ ਸਥਾਨ
           phone: ਐਮਰਜੈਂਸੀ ਫ਼ੋਨ
         highway:
+          abandoned: ਨਿਕਾਸੀ ਹਾਈਵੇਅ
           bridleway: ਘੋੜ-ਰਾਹ
           bus_stop: ਬੱਸ ਅੱਡਾ
           construction: ਉਸਾਰੀ ਹੇਠ ਹਾਈਵੇ
           cycleway: ਸਾਈਕਲ ਰਾਹ
+          elevator: ਲਿਫਟ
           emergency_access_point: ਐਮਰਜੈਂਸੀ ਪਹੁੰਚ ਬਿੰਦੂ
           footway: ਪੈਦਲ ਰਾਹ
           ford: ਫ਼ੋਰਡ
@@ -321,7 +377,7 @@ pa:
           primary: ਮੁੱਢਲੀ ਸੜਕ
           primary_link: ਮੁੱਢਲੀ ਸੜਕ
           raceway: ਰੇਸਵੇ
-          residential: ਰਿਹਾਇਸ਼ੀ
+          residential: ਰਿਹਾਇਸ਼ੀ ਸੜਕ
           rest_area: ਅਰਾਮ ਖੇਤਰ
           road: ਸੜਕ
           secondary: ਸਕੈਂਡਰੀ ਸੜਕ
@@ -330,17 +386,26 @@ pa:
           services: ਮੋਟਰਵੇ ਸੇਵਾਵਾਂ
           speed_camera: ਗਤੀ ਕੈਮਰਾ
           steps: ਪੌੜੀਆਂ
+          street_lamp: ਗਲੀ ਬੱਤੀ
           tertiary: ਤੀਜੇ ਪੱਧਰ ਦੀ ਸੜਕ
           tertiary_link: ਤੀਜੇ ਪੱਧਰ ਦੀ ਸੜਕ
           track: ਟਰੈਕ
+          traffic_signals: ਟਰੈਫਿਕ ਸਿਗਨਲ
           trail: ਡੰਡੀ
           trunk: ਟਰੰਕ ਸੜਕ
           trunk_link: ਟਰੰਕ ਸੜਕ
+          unclassified: ਅਵਰਗੀਕ੍ਰਿਤ ਰੋਡ
+          "yes": ਸੜਕ
         historic:
-          building: ਇਮਾਰਤ
+          archaeological_site: ਪੁਰਾਤੱਤਵ ਸਥਾਨ
+          battlefield: ਜੰਗ ਦਾ ਮੈਦਾਨ
+          building: ਇਤਿਹਾਸਕ ਇਮਾਰਤ
           castle: ਗੜ੍ਹੀ
           church: ਗਿਰਜਾ
+          city_gate: ਸ਼ਹਿਰ ਗੇਟ
+          citywalls: ਸ਼ਹਿਰ ਦੀਆੰ ਕੰਧਾੰ
           fort: ਕਿਲ਼ਾ
+          heritage: ਵਿਰਾਸਤ ਸਥਾਨ
           house: ਘਰ
           icon: ਆਈਕਨ
           manor: ਮੈਨਰ
@@ -348,10 +413,14 @@ pa:
           mine: ਖਾਨ
           monument: ਸਮਾਰਕ
           ruins: ਖੰਡਰ
+          stone: ਪੱਥਰ
           tomb: ਮਕਬਰਾ
           tower: ਬੁਰਜ
+        junction:
+          "yes": ਜੰਕਸ਼ਨ
         landuse:
           basin: ਹੌਜ਼ੀ
+          cemetery: ਸ਼ਮਸ਼ਾਨ
           commercial: ਵਪਾਰਕ ਖੇਤਰ
           conservation: ਰੱਖ
           construction: ਉਸਾਰੀ
@@ -367,14 +436,19 @@ pa:
           mine: ਖਾਨ
           orchard: ਬਗ਼ੀਚਾ
           railway: ਰੇਲਵੇ
+          recreation_ground: ਮਨੋਰੰਜਨ ਮੈਦਾਨ
+          reservoir: ਸਰੋਵਰ
           residential: ਰਿਹਾਇਸ਼ੀ ਇਲਾਕਾ
           retail: ਪਰਚੂਨ
           road: ਸੜਕ ਇਲਾਕਾ
           village_green: ਪੇਂਡੂ ਹਰਿਆਵਲ
           vineyard: ਅੰਗੂਰਾਂ ਦਾ ਬਾਗ਼
         leisure:
+          club: ਕਲੱਬ
           common: ਸ਼ਾਮਲਾਟ
+          dog_park: ਕੁੱਤਾ ਪਾਰਕ
           fishing: ਮੱਛੀ-ਖੋਜ ਇਲਾਕਾ
+          fitness_centre: ਫਿੱਟਨੈੱਸ ਕੇੰਦਰ
           fitness_station: ਤੰਦਰੁਸਤੀ ਅੱਡਾ
           garden: ਬਾਗ਼
           golf_course: ਗੋਲਫ਼ ਮੈਦਾਨ
@@ -391,6 +465,11 @@ pa:
           swimming_pool: ਤੈਰਾਕੀ ਤਲਾਅ
           track: ਭੱਜਣ ਲਈ ਟਰੈਕ
           water_park: ਜਲ ਪਾਰਕ
+        man_made:
+          lighthouse: ਲਾਈਟਹਾਊਸ
+          pipeline: ਪਾਈਪਲਾਈਨ
+          tower: ਬੁਰਜ
+          works: ਫੈਕਟਰੀ
         military:
           airfield: ਫ਼ੌਜੀ ਉਡਾਣ-ਖੇਤਰ
           barracks: ਬੈਰਕ
@@ -419,6 +498,7 @@ pa:
           reef: ਰੀਫ਼
           ridge: ਰਿੱਜ
           rock: ਚਟਾਨ
+          sand: ਰੇਤ
           scree: ਰੇੜ੍ਹ
           scrub: ਝਾੜ ਬਰੋਟਾ
           spring: ਸੋਮਾ
@@ -432,6 +512,7 @@ pa:
           wood: ਜੰਗਲ
         office:
           accountant: ਅਕਾਊਂਟੈਂਟ
+          administrative: ਪ੍ਰਸ਼ਾਸਨ
           architect: ਨਕਸ਼ਾਕਾਰ
           company: ਕੰਪਨੀ
           employment_agency: ਰੁਜ਼ਗਾਰ ਏਜੰਸੀ
@@ -444,6 +525,7 @@ pa:
           travel_agent: ਟਰੈਵਲ ਏਜੰਸੀ
           "yes": ਦਫ਼ਤਰ
         place:
+          block: ਬਲਾਕ
           airport: ਹਵਾਈ ਅੱਡਾ
           city: ਸ਼ਹਿਰ
           country: ਮੁਲਕ
@@ -468,6 +550,7 @@ pa:
           town: ਕਸਬਾ
           unincorporated_area: ਗ਼ੈਰ-ਸੰਮਿਲਤ ਇਲਾਕਾ
           village: ਪਿੰਡ
+          "yes": ਥਾੰ
         railway:
           abandoned: ਛੱਡਿਆ ਹੋਇਆ ਰੇਲਵੇ
           construction: ਉਸਾਰੀ ਹੇਠ ਰੇਲਵੇ
@@ -483,11 +566,12 @@ pa:
           narrow_gauge: ਭੀੜੀ ਰੇਲ
           platform: ਰੇਲਵੇ ਪਲੇਟਫਾਰਮ
           station: ਰੇਲਵੇ ਸਟੇਸ਼ਨ
-          subway: à¨¸à¨¬à¨µà©\87 à¨¸à¨\9fà©\87ਸ਼ਨ
+          subway: à¨¸à©±à¨¬à¨µà©\87
           subway_entrance: ਸਬਵੇ ਪ੍ਰਵੇਸ਼
           tram: ਟਰਾਮਵੇ
           tram_stop: ਟਰਾਮ ਅੱਡਾ
         shop:
+          antiques: ਪ੍ਰਾਚੀਨ
           art: ਕਲਾ ਹੱਟੀ
           bakery: ਨਾਨਬਾਈ ਦੀ ਹੱਟੀ
           beauty: ਬਿਊਟੀ ਪਾਰਲਰ
@@ -558,6 +642,7 @@ pa:
           video: ਵੀਡੀਓ ਦੀ ਦੁਕਾਨ
           "yes": ਹੱਟੀ
         tourism:
+          apartment: ਅਪਾਰਟਮੈਂਟ
           artwork: ਕਾਰੀਗਰੀ
           attraction: ਖਿੱਚ
           bed_and_breakfast: ਮੰਜਾ ਤੇ ਨਾਸ਼ਤਾ
@@ -565,6 +650,7 @@ pa:
           camp_site: ਛਾਉਣੀ
           caravan_site: ਕਾਫ਼ਲਾ ਟਿਕਾਣਾ
           chalet: ਲੱਕੜ ਦਾ ਘਰ
+          gallery: ਗੈਲਰੀ
           guest_house: ਸਰਾਂ
           hostel: ਹੋਸਟਲ
           hotel: ਹੋਟਲ
@@ -595,6 +681,7 @@ pa:
           wadi: ਬਰਸਾਤੀ ਨਾਲਾ
           waterfall: ਝਰਨਾ
           weir: ਬੰਨ੍ਹ
+          "yes": ਜਲਮਾਰਗ
       admin_levels:
         level2: ਦੇਸ਼ ਦੀ ਹੱਦ
         level4: ਰਾਜ ਦੀ ਹੱਦ
@@ -626,8 +713,10 @@ pa:
     export: ਬਰਾਮਦ
     data: ਸਮੱਗਰੀ
     export_data: ਸਮੱਗਰੀ ਬਰਾਮਦ ਕਰੋ
+    edit_with: '%{editor} ਨਾਲ ਸੋਧੋ'
     intro_2_create_account: ਇੱਕ ਵਰਤੋਂਕਾਰ ਖਾਤਾ ਬਣਾਉ
     partners_ic: ਇੰਪੀਰੀਅਲ ਕਾਲਜ ਲੰਡਨ
+    partners_bytemark: ਬਾਈਟਮਾਰਕ ਹੋਸਟਿੰਗ
     partners_partners: ਜੋੜੀਦਾਰ
     help: ਮਦਦ
     about: ਬਾਬਤ
@@ -647,6 +736,7 @@ pa:
       english_link: ਮੂਲ ਅੰਗਰੇਜ਼ੀ
     native:
       title: ਇਸ ਵਰਕੇ ਬਾਰੇ
+      native_link: ਪੰਜਾਬੀ ਵਰਜਨ
       mapping_link: ਨਕਸ਼ਾਬੰਦੀ ਸ਼ੁਰੂ ਕਰੋ
     legal_babble:
       title_html: ਨਕਲ-ਹੱਕ ਤੇ ਲਾਇਸੰਸ
@@ -656,6 +746,8 @@ pa:
     title: ਜੀ ਆਇਆਂ ਨੂੰ!
     whats_on_the_map:
       title: ਨਕਸ਼ੇ ਉੱਤੇ ਕੀ ਹੈ
+    rules:
+      title: ਨਿਯਮ!
     questions:
       title: ਕੋਈ ਸੁਆਲ?
     start_mapping: ਨਕਸ਼ਾਬੰਦੀ ਸ਼ੁਰੂ ਕਰੋ
@@ -674,9 +766,15 @@ pa:
     welcome:
       url: /ਜੀ ਆਇਆਂ ਨੂੰ
       title: ਓ.ਐੱਸ.ਐੱਮ. 'ਤੇ ਜੀ ਆਇਆਂ ਨੂੰ
+    beginners_guide:
+      title: ਸ਼ੁਰੂਆਤੀ ਗਾਈਡ
     help:
       url: https://help.openstreetmap.org/
       title: help.openstreetmap.org
+    forums:
+      title: ਮੰਚ
+    irc:
+      title: ਆਈ.ਆਰ.ਸੀ
     wiki:
       url: http://wiki.openstreetmap.org/
       title: wiki.openstreetmap.org
@@ -684,17 +782,34 @@ pa:
     next: ਅੱਗੇ
     copyright_html: <span>&copy;</span>ਓਪਨ-ਸਟਰੀਟ-ਮੈਪ<br>ਯੋਗਦਾਨੀ
     local_knowledge_title: ਸਥਾਨੀ ਗਿਆਨ
+    open_data_title: ਓਪਨ ਡਾਟਾ
+    legal_title: ਕਾਨੂੰਨੀ
     partners_title: ਸਾਂਝੀਦਾਰ
   notifier:
     gpx_notification:
       greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
     signup_confirm:
       greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ ਜੀ!
+    email_confirm_plain:
+      greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
+    email_confirm_html:
+      greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
+    lost_password_plain:
+      greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
+    lost_password_html:
+      greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
     note_comment_notification:
       anonymous: ਇੱਕ ਗੁੰਮਨਾਮ ਵਰਤੋਂਕਾਰ
       greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
+    changeset_comment_notification:
+      greeting: ਸਤਿ ਸ੍ਰੀ ਅਕਾਲ,
+      commented:
+        partial_changeset_without_comment: ਬਿਨਾ ਟਿੱਪਣੀ
   message:
     inbox:
+      title: ਇਨਬਾਕਸ
+      my_inbox: ਮੇਰਾ ਇਨਬਾਕਸ
+      outbox: ਆਊਟਬਾਕਸ
       from: ਵੱਲੋਂ
       subject: ਵਿਸ਼ਾ
       date: ਮਿਤੀ
@@ -704,12 +819,17 @@ pa:
     new:
       title: ਸੁਨੇਹਾ ਘੱਲੋ
       subject: ਵਿਸ਼ਾ
+      body: ਧੜ੍ਹ
       send_button: ਭੇਜੋ
       message_sent: ਸੁਨੇਹਾ ਭੇਜਿਆ ਗਿਆ
     no_such_message:
       title: ਅਜਿਹਾ ਕੋਈ ਸੁਨੇਹਾ ਨਹੀਂ
       heading: ਅਜਿਹਾ ਕੋਈ ਸੁਨੇਹਾ ਨਹੀਂ
     outbox:
+      title: ਆਊਟਬਾਕਸ
+      my_inbox: ਮੇਰਾ %{inbox_link}
+      inbox: ਇਨਬਾਕਸ
+      outbox: ਆਊਟਬਾਕਸ
       to: ਵੱਲ
       subject: ਵਿਸ਼ਾ
       date: ਮਿਤੀ
@@ -728,6 +848,8 @@ pa:
       deleted: ਸੁਨੇਹਾ ਮਿਟਾਇਆ ਗਿਆ
   site:
     index:
+      permalink: ਪੱਕੀ ਕੜੀ
+      shortlink: ਛੋਟੀ ਕੜੀ
       createnote: ਟਿੱਪਣੀ ਜੋੜੋ
     edit:
       user_page_link: ਵਰਤੋਂਕਾਰ ਵਰਕਾ
@@ -737,6 +859,9 @@ pa:
       close: ਬੰਦ ਕਰੋ
     search:
       search: ਖੋਜੋ
+      get_directions: ਦਿਸ਼ਾਵਾਂ ਪ੍ਰਾਪਤ ਕਰੋ
+      from: ਵੱਲੋਂ
+      to: ਵੱਲ
       where_am_i: ਮੈਂ ਕਿੱਥੇ ਹਾਂ?
       submit_text: ਜਾਉ
     key:
@@ -801,9 +926,14 @@ pa:
       headings: ਸਿਰਨਾਵੇਂ
       heading: ਸਿਰਨਾਵਾਂ
       subheading: ਉਪਸਿਰਨਾਵਾਂ
+      ordered: ਕ੍ਰਮਬੱਧ ਸੂਚੀ
+      first: ਪਹਿਲੀ ਚੀਜ਼
+      second: ਦੂਜੀ ਚੀਜ਼
       link: ਕੜੀ
       text: ਲਿਖਤ
       image: ਤਸਵੀਰ
+      alt: ਵਿਕਲਪਿਕ ਲਿਖਤ
+      url: ਯੂ.ਆਰ.ਐੱਲ.
   trace:
     edit:
       filename: 'ਫ਼ਾਈਲ ਦਾ ਨਾਂ:'
@@ -816,6 +946,7 @@ pa:
       description: 'ਵੇਰਵਾ:'
       tags: 'ਟੈਗ:'
       save_button: ਤਬਦੀਲੀਆਂ ਸਾਂਭੋ
+      visibility: 'ਦਿੱਸਣਯੋਗਤਾ:'
       visibility_help: ਇਹਦਾ ਕੀ ਮਤਲਬ ਹੈ?
     trace_form:
       description: 'ਵੇਰਵਾ:'
@@ -870,6 +1001,9 @@ pa:
       map: ਨਕਸ਼ਾ
     list:
       tagged_with: '%{tags} ਨਾਲ਼ ਨਿਸ਼ਾਨਦੇਹ'
+  oauth:
+    oauthorize:
+      allow_write_notes: ਟਿੱਪਣੀਆੰ ਸੋਧੋ।
   oauth_clients:
     new:
       title: ਕਿਸੇ ਨਵੀਂ ਅਰਜ਼ੀ ਦਾ ਇੰਦਰਾਜ ਕਰਾਉ
@@ -881,11 +1015,14 @@ pa:
       edit: ਵੇਰਵੇ ਸੋਧੋ
       confirm: ਕੀ ਤੁਹਾਨੂੰ ਯਕੀਨ ਹੈ?
       allow_write_api: ਨਕਸ਼ੇ 'ਚ ਫੇਰ-ਬਦਲ ਕਰੋ
+      allow_write_notes: ਟਿੱਪਣੀਆੰ ਸੋਧੋ।
     index:
+      revoke: ਪਰਤਾਉ!
       register_new: ਆਪਣੀ ਅਰਜ਼ੀ ਦਾ ਇੰਦਰਾਜ ਕਰਾਓ
     form:
       name: ਨਾਂ
       required: ਲੋੜੀਂਦਾ
+      support_url: ਮਦਦ URL
   user:
     login:
       title: ਦਾਖ਼ਲਾ
index 0ec4d4c..e355300 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Polish (polski)
 # Exported from translatewiki.net
 # Export driver: phpyaml
+# Author: "Behemot"
 # Author: Ajank
 # Author: Alan ffm
 # Author: Andrzej aa
@@ -23,6 +24,7 @@
 # Author: Odie2
 # Author: Pio387
 # Author: Przemub
+# Author: Psokol
 # Author: Py64
 # Author: RafalR
 # Author: Rezonansowy
 # Author: Zbigniew.czernik
 ---
 pl:
+  html:
+    dir: ltr
   time:
     formats:
       friendly: '%Y-%m-%d o %H:%M'
+      blog: '%dm %m %rok'
   activerecord:
     models:
       acl: Lista kontroli dostępu
-      changeset: Zestaw zmian
-      changeset_tag: Znacznik zestawu zmian
-      country: Państwo
-      diary_comment: Komentarz dziennika
-      diary_entry: Wpis w dzienniku
-      friend: Znajomy
-      language: Język
-      message: Wiadomość
-      node: Węzeł
-      node_tag: Znacznik węzła
+      changeset: zestaw zmian
+      changeset_tag: znacznik zestawu zmian
+      country: państwo
+      diary_comment: komentarz do dziennika
+      diary_entry: wpis w dzienniku
+      friend: przyjaciel
+      language: język
+      message: wiadomość
+      node: węzeł
+      node_tag: znacznik węzła
       notifier: Zgłaszający
       old_node: Wcześniejszy węzeł
-      old_node_tag: Tag wcześniejszego węzła
+      old_node_tag: Znacznik wcześniejszego węzła
       old_relation: Stara relacja
       old_relation_member: Członek starej relacji
-      old_relation_tag: Tag wcześniejszej relacji
-      old_way: Wcześniejsza droga
+      old_relation_tag: Znacznik wcześniejszej relacji
+      old_way: Wcześniejsza linia
       old_way_node: Węzeł starej linii
-      old_way_tag: Tag starej linii
+      old_way_tag: Znacznik starej linii
       relation: Relacja
       relation_member: Członek relacji
       relation_tag: Tag relacji
       session: Sesja
       trace: Ślad
       tracepoint: Punkt śladu
-      tracetag: Tag śladu
+      tracetag: Znacznik śladu
       user: Użytkownik
       user_preference: Preferencje użytkownika
       user_token: Token użytkownika
@@ -111,6 +116,9 @@ pl:
         description: Opis
         languages: Języki
         pass_crypt: Hasło
+  printable_name:
+    with_version: '%{id}, wersja%{version}'
+    with_name_html: '%{name}(%{id})'
   editor:
     default: Domyślnie (obecnie %{name})
     potlatch:
@@ -142,7 +150,7 @@ pl:
     download_xml: Pobierz XML
     view_history: Wyświetl historię
     view_details: Wyświetl szczegóły
-    location: 'Lokalizacja:'
+    location: 'Położenie:'
     changeset:
       title: 'Zestaw zmian: %{id}'
       belongs_to: Autor
@@ -178,6 +186,7 @@ pl:
       history_title: 'Historia relacji: %{name}'
       members: Członkowie
     relation_member:
+      entry: '%{type} %{name}'
       entry_role: '%{type} %{name} jako %{role}'
       type:
         node: Węzeł
@@ -187,7 +196,7 @@ pl:
       entry: Relacja %{relation_name}
       entry_role: Relacja %{relation_name} (jako %{relation_role})
     not_found:
-      sorry: 'Przepraszamy, %{type} #%{id} nie został znaleziony.'
+      sorry: 'Niestety, %{type} #%{id} nie został znaleziony.'
       type:
         node: węzeł
         way: linia
@@ -205,22 +214,22 @@ pl:
         note: Uwaga
     redacted:
       redaction: Poprawka %{id}
-      message_html: Ten %{type} w wersji %{version} nie może być pokazany, ponieważ
-        został poddany poprawce. Zapoznaj się z %{redaction_link}, aby uzyskać więcej
+      message_html: Ten %{type} w wersji %{version} nie może zostać wyświetlony, ponieważ
+        został poprawiony. Proszę zapoznać się z %{redaction_link}, aby uzyskać więcej
         informacji.
       type:
         node: węzeł
         way: linia
         relation: relacja
     start_rjs:
-      feature_warning: Ładowanie %{num_features} rzeczy, może spowolnić lub zawiesić
-        twoją przeglądarkę. Jesteś pewien, że chcesz wyświetlić te dane?
+      feature_warning: Wczytywanie %{num_features} obiektów, może spowolnić lub zawiesić
+        przeglądarkę. Wyświetlić te dane?
       load_data: Wczytaj dane
       loading: Wczytywanie...
     tag_details:
       tags: Tagi
       wiki_link:
-        key: 'Opis na wiki dla znacznika: %{key}'
+        key: Strona wiki dla znacznika %{key}
         tag: Strona wiki dla znacznika %{key}=%{value}
       wikidata_link: '%{page} element na Wikidata'
       wikipedia_link: Artykuł %{page} w Wikipedii
@@ -237,19 +246,20 @@ pl:
       commented_by: Komentarz od %{user} <abbr title='%{exact_time}'>%{when} temu</abbr>
       commented_by_anonymous: Skomentowana anonimowo <abbr title='%{exact_time}'>%{when}
         temu</abbr>
-      closed_by: 'Zamknięta przez: %{user} <abbr title=''%{exact_time}''>%{when} temu</abbr>'
+      closed_by: 'Rozwiązana przez: %{user} <abbr title=''%{exact_time}''>%{when}
+        temu</abbr>'
       closed_by_anonymous: Rozwiązana anonimowo <abbr title='%{exact_time}'>%{when}
         temu</abbr>
-      reopened_by: Ponownie aktywowane przez %{user} <abbr title='%{exact_time}'>%{when}
+      reopened_by: Ponownie aktywowana przez %{user} <abbr title='%{exact_time}'>%{when}
         temu</abbr>
-      reopened_by_anonymous: Reaktywowana anonimowo <abbr title='%{exact_time}'>%{when}
+      reopened_by_anonymous: Ponownie aktywowana anonimowo <abbr title='%{exact_time}'>%{when}
         temu</abbr>
       hidden_by: Ukryte przez %{user} <abbr title='%{exact_time}'>%{when} temu</abbr>
     query:
       title: Dane obiektu
-      introduction: Kliknij na mapie, by sprawdzić obiekty w pobliżu
+      introduction: Kliknij na mapie, by wyszukać obiekty w pobliżu.
       nearby: Obiekty w pobliżu
-      enclosing: Większe, zakrywające obiekty
+      enclosing: Większe, otaczające obiekty
   changeset:
     changeset_paging_nav:
       showing_page: Strona %{page}
@@ -270,16 +280,15 @@ pl:
       title_user: Zestawy zmian użytkownika %{user}
       title_friend: Zestawy zmian twoich znajomych
       title_nearby: Zestawy zmian pobliskich użytkowników
-      empty: Brak znalezionych zestawów zmian.
-      empty_area: Brak zestawów zmian w tym obszarze.
+      empty: Nie odnaleziono zestawów zmian.
+      empty_area: Brak zestawów zmian na tym obszarze.
       empty_user: Brak zestawów zmian tego użytkownika.
-      no_more: Nie znaleziono więcej zestawów zmian.
-      no_more_area: Brak zestawów zmian w tym obszarze.
+      no_more: Nie odnaleziono więcej zestawów zmian.
+      no_more_area: Brak zestawów zmian na tym obszarze.
       no_more_user: Brak zestawów zmian tego użytkownika.
-      load_more: Załaduj więcej
+      load_more: Wczytaj więcej
     timeout:
-      sorry: Niestety, pobieranie listy zestawów zmian, którą chciałeś zobaczyć, trwało
-        zbyt długo.
+      sorry: Niestety, pobieranie listy żądanych zestawów zmian trwało zbyt długo.
     rss:
       title_all: Dyskusja na temat zestawu zmian
       title_particular: 'Dyskusja na temat zestawu zmian #%{changeset_id}'
@@ -297,8 +306,8 @@ pl:
       title_nearby: Dzienniki pobliskich użytkowników
       user_title: Dziennik użytkownika %{user}
       in_language_title: Wpisy w języku %{language}
-      new: Nowy wpis do dziennika
-      new_title: Stwórz nowy wpis w Twoim dzienniku użytkownika
+      new: Nowy wpis dziennika
+      new_title: Tworzy nowy wpis w dzienniku użytkownika
       no_entries: Brak wpisów dziennika
       recent_entries: Ostatnie wpisy do dziennika
       older_entries: Starsze wpisy
@@ -323,17 +332,17 @@ pl:
       save_button: Zapisz
     no_such_entry:
       title: Nie ma takiego wpisu
-      heading: 'Brak wpisu o id: %{id}'
-      body: Niestety nie znaleziono wpisu dziennika / komentarza o id %{id}, sprawdź
-        pisownię.  Byc może użyłeś(aś) linku który był niepoprawny.
+      heading: Brak wpisu o identyfikatorze %{id}
+      body: Niestety nie odnaleziono wpisu dziennika lub komentarza o identyfikatorze
+        %{id}. Proszę sprawdzić pisownię. Być może kliknięty odnośnik jest niepoprawny.
     diary_entry:
-      posted_by: Wpis od %{link_user} z %{created} w języku %{language_link}
+      posted_by: Opublikowany przez %{link_user}, %{created} w języku %{language_link}
       comment_link: Skomentuj ten wpis
       reply_link: Odpowiedz na ten wpis
       comment_count:
-        few: '%{count} komentarze'
-        one: 1 komentarz
         zero: Brak komentarzy
+        one: '%{count} komentarz'
+        few: '%{count} komentarze'
         other: '%{count} komentarzy'
       edit_link: Edytuj ten wpis
       hide_link: Ukryj ten wpis
@@ -357,7 +366,7 @@ pl:
         title: Wpisy OpenStreetMap
         description: Ostatnie wpisy od użytkowników OpenStreetMap
     comments:
-      has_commented_on: '%{display_name} skomentował następujące wpisy dziennika'
+      has_commented_on: Użytkownik %{display_name} skomentował następujące wpisy dziennika
       post: Wpis
       when: Kiedy
       comment: Komentarz
@@ -367,21 +376,21 @@ pl:
   export:
     title: Eksportuj
     start:
-      area_to_export: Obszar do eksportu
+      area_to_export: Obszar do wyeksportowania
       manually_select: Ręcznie zaznacz inny obszar
       format_to_export: Format eksportu
       osm_xml_data: Dane XML OpenStreetMap
-      map_image: Plik graficzny (standardowa warstwa)
+      map_image: Obraz mapy (standardowa warstwa)
       embeddable_html: Kod HTML do osadzenia
       licence: Licencja
       export_details: Dane OpenStreetMap udostępnione są na licencji <a href="http://opendatacommons.org/licenses/odbl/1.0/">Open
         Data Commons Open Database License</a> (ODbL).
       too_large:
-        advice: 'Jeśli eksport się nie powiedzie, rozważ użycie jedno z podanych niżej
-          źródeł:'
+        advice: 'Jeśli eksportowanie się nie uda, proszę rozważyć użycie jednego z
+          podanych zasobów:'
         body: 'Ten obszar jest zbyt duży, aby go wyeksportować jako dane XML OpenStreetMap.
-          Przybliż się, wybierz mniejszy obszar, lub użyj jednego ze następujących
-          źródeł aby objąć pobierane dane:'
+          Proszę przybliżyć widok, wybrać  mniejszy obszar lub użyć jednego z następujących
+          zasobów, aby pobrać większą ilość danych:'
         planet:
           title: Planeta OSM
           description: Regularnie aktualizowane kopie całej bazy danych OpenStreetMap
@@ -397,20 +406,20 @@ pl:
           title: Metro Extracts
           description: Migawki dużych miast i otaczających je obszarów
         other:
-          title: Inne źródła
-          description: Dodatkowe źródła wymienione w OpenStreetMap wiki
+          title: Inne zasoby
+          description: Dodatkowe zasoby wymienione w OpenStreetMap wiki
       options: Opcje
       format: Format
       scale: Skala
-      max: max
-      image_size: Rozmiar obrazka
-      zoom: Zoom
-      add_marker: Dodaj pinezkę na mapie
+      max: maks
+      image_size: Rozmiar obrazu
+      zoom: Przybliżenie
+      add_marker: Dodaj znacznik na mapie
       latitude: 'Szer:'
       longitude: 'Dł:'
       output: Wynik
       paste_html: Wklej podany kod HTML do swojej strony
-      export_button: Eksportuj
+      export_button: Wyeksportuj
   geocoder:
     search:
       title:
@@ -426,6 +435,7 @@ pl:
           Nominatim</a>
         geonames_reverse: Wyniki z <a href="http://www.geonames.org/">GeoNames</a>
     search_osm_nominatim:
+      prefix_format: '%{name}'
       prefix:
         aerialway:
           cable_car: Kolejka linowa
@@ -455,7 +465,7 @@ pl:
           boat_rental: Wypożyczalnia łodzi
           brothel: Dom publiczny
           bureau_de_change: Kantor
-          bus_station: Stacja autobusowa
+          bus_station: stacja autobusowa
           cafe: Kawiarnia
           car_rental: Wynajem samochodów
           car_sharing: Dzielenie się samochodami
@@ -580,9 +590,9 @@ pl:
           ford: Bród
           living_street: Strefa zamieszkania
           milestone: Punkt kontrolny
-          motorway: Autostrada
-          motorway_junction: Skrzyżowanie autostrad
-          motorway_link: Autostrada – dojazd
+          motorway: autostrada
+          motorway_junction: węzeł autostradowy
+          motorway_link: droga dojazdowa do autostrady
           path: Ścieżka
           pedestrian: Droga dla pieszych
           platform: Miejsce oczekiwania dla pasażerów
@@ -749,7 +759,7 @@ pl:
           volcano: Wulkan
           water: Woda
           wetland: Obszar podmokły
-          wood: Puszcza
+          wood: Drzewa
         office:
           accountant: Księgowy
           administrative: Administracja
@@ -895,7 +905,7 @@ pl:
         tourism:
           alpine_hut: Chata alpejska
           apartment: Mieszkanie
-          artwork: Sztuka
+          artwork: Dzieło sztuki
           attraction: Atrakcja turystyczna
           bed_and_breakfast: Bed and Breakfast
           cabin: Kabina
@@ -953,13 +963,16 @@ pl:
         towns: Miasta
         places: Miejsca
     results:
-      no_results: Nie znaleziono
+      no_results: Nie odnaleziono wyników
       more_results: Więcej wyników
   layouts:
+    project_name:
+      title: '"Otwarta Mapa Drogowa"'
+      h1: '"Otwarta Mapa Drogowa"'
     logo:
       alt_text: Logo OpenStreetMap
-    home: Przejdź do lokalizacji domu
-    logout: Wyloguj się
+    home: Przejdź do położenia domu
+    logout: Wyloguj
     log_in: Zaloguj się
     log_in_tooltip: Zaloguj się
     sign_up: Zarejestruj się
@@ -967,13 +980,13 @@ pl:
     sign_up_tooltip: Załóż konto, aby edytować
     edit: Edycja
     history: Zmiany
-    export: Eksport
+    export: Eksportowanie
     data: Dane
     export_data: Eksportuj dane
     gps_traces: Ślady GPS
     gps_traces_tooltip: Zarządzanie śladami GPS
-    user_diaries: Dzienniczki
-    user_diaries_tooltip: Przeglądaj dzienniczki użytkownika
+    user_diaries: Dzienniki
+    user_diaries_tooltip: Przeglądaj dzienniki użytkownika
     edit_with: Edytuj w %{editor}
     tag_line: Wolna wikimapa świata
     intro_header: Witamy w OpenStreetMap!
@@ -985,6 +998,7 @@ pl:
     partners_ic: Imperial College London
     partners_bytemark: Hosting Bytemark
     partners_partners: partnerzy
+    partners_url: http://wiki.openstreetmap.org/wiki/partners
     osm_offline: Baza danych OpenStreetMap jest niedostępna na czas ważnych zadań
       administracyjnych, które są w tym momencie wykonywane.
     osm_read_only: Baza danych OpenStreetMap jest w trybie tylko-do-odczytu na czas
@@ -1056,7 +1070,7 @@ pl:
         korzystania z API</a>, <a href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">Polityką
         korzystania z kafelków</a> oraz <a href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">Polityką
         korzystania z Nominatima</a>.
-      contributors_title_html: Dane włączone do OpenStreetMap
+      contributors_title_html: Współtwórcy
       contributors_intro_html: 'Autorami są tysiące osób. Uwzględniamy również licencjonowane
         dane na otwartej zasadzie z krajowych agencji kartograficznych i innych źródeł,
         wśród nich:'
@@ -1095,7 +1109,7 @@ pl:
         aby udoskonalić OpenStreetMap, są dostępne na stronie
         <a href="http://wiki.openstreetmap.org/wiki/Contributors">Contributors (en)</a>.
       contributors_footer_2_html: Włączenie danych do OpenStreetMap nie musi oznaczać,
-        że podmiot będący ich źródłem popiera OpenStreetMap, udziela jakiejkolwiek
+        że udostępniający je podmiot popiera OpenStreetMap, udziela jakiejkolwiek
         gwarancji lub ponosi jakąkolwiek odpowiedzialność.
       infringement_title_html: Naruszenia praw autorskich
       infringement_1_html: Użytkownicy OpenStreetMap powinni pamiętać, aby nigdy nie
@@ -1107,13 +1121,12 @@ pl:
         usuwania danych</a> lub <a href="http://dmca.openstreetmap.org/">wypełnij
         formularz on-line</a>.
       trademarks_title_html: <span id="trademarks"></span>Znaki towarowe
-      trademarks_1_html: OpenStreetMap i jej logo są zastrzeżonymi znakami towarowymi
-        fundacji OpenStreetMap. Jeśli masz pytania dotyczące używania znaków, prosimy,
-        prz<a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group"></a>eślij
-        Swoje pytania do <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">grupy
+      trademarks_1_html: OpenStreetMap, logo i nazwa State of the Map są zastrzeżonymi
+        znakami towarowymi Fundacji OpenStreetMap. Jeśli masz pytania dotyczące ich
+        używania, prześlij swoje pytania do <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">grupy
         roboczej ds. licencji</a>.
   welcome_page:
-    title: Witaj!
+    title: Witamy!
     introduction_html: Witamy w OpenStreetMap, wolnej mapie świata. Teraz gdy masz
       już konto, możesz przystąpić do mapowania. Oto krótki przewodnik z najważniejszymi
       rzeczami, o których musisz wiedzieć.
@@ -1244,13 +1257,14 @@ pl:
     partners_title: Partnerzy
   notifier:
     diary_comment_notification:
-      subject: '[OpenStreetMap] Użytkownik %{user} skomentował Twój wpis w pamiętniku'
+      subject: '[OpenStreetMap] Użytkownik %{user} skomentował wpis dziennika'
       hi: Witaj %{to_user},
       header: '%{from_user} zostawił(a) komentarz do twojego wpisu w dziennikach OpenStreetMap
         o temacie %{subject}:'
       footer: Możesz również przeczytać komentarz pod %{readurl}, skomentować go pod
         %{commenturl} lub odpowiedzieć pod %{replyurl}
     message_notification:
+      subject_header: '["Otwarta Mapa Drogowa"] %{subject}'
       hi: Witaj %{to_user},
       header: '%{from_user} wysłał do Ciebie wiadomość z OpenStreetMap o temacie %{subject}:'
       footer_html: Możesz również przeczytać wiadomość na %{readurl} i odpowiedzieć
@@ -1272,9 +1286,10 @@ pl:
         more_info_1: Więcej informacji na temat błędów przesyłania danych GPX i sposobach
           ich
         more_info_2: 'uniknięcia można znaleźć na stronie:'
+        import_failures_url: http://wiki.openstreetmap.org/wiki/GPX_Import_Failures
       success:
         subject: '[OpenStreetMap] Sukces importu pliku GPX'
-        loaded_successfully: udało się wczytać, wraz z %{trace_points} z %{possible_points}
+        loaded_successfully: wczytano wraz z %{trace_points} z %{possible_points}
           punktów łącznie.
     signup_confirm:
       subject: '[OpenStreetMap] Witamy w OpenStreetMap'
@@ -1312,20 +1327,20 @@ pl:
       anonymous: Anonimowy użytkownik
       greeting: Witaj,
       commented:
-        subject_own: '[OpenStreetMap] %{commenter} skomentował Twoją uwagę'
+        subject_own: '[OpenStreetMap] Użytkownik %{commenter} skomentował uwagę'
         subject_other: '[OpenStreetMap] %{commenter} skomentował interesującą Cię
           uwagę'
         your_note: '%{commenter} zostawił komentarz do jednej z Twoich uwag na mapie
           w lokalizacji: %{place}.'
-        commented_note: '%{commenter} zostawił komentarz do uwagę, którą skomentowałeś.
-          Znajduje się ona w lokalizacji: %{place}.'
+        commented_note: Użytkownik %{commenter} zostawił komentarz do skomentowanej
+          uwagi. Znajduje się ona w położeniu %{place}.
       closed:
         subject_own: '[OpenStreetMap] %{commenter} rozwiązał Twoją uwagę'
         subject_other: '[OpenStreetMap] %{commenter} rozwiązał interesującą Cię uwagę'
         your_note: '%{commenter} rozwiązał jedną z Twoich uwag na mapie w lokalizacji:
           %{place}.'
-        commented_note: '%{commenter} rozwiązał uwagę, którą skomentowałeś. Znajduje
-          się ona w lokalizacji: %{place}.'
+        commented_note: 'Użytkonik %{commenter} rozwiązał skomentowaną uwagę. Znajduje
+          się ona w położeniu: %{place}.'
       reopened:
         subject_own: '[OpenStreetMap] %{commenter} ponownie aktywował jedną z Twoich
           uwag'
@@ -1333,8 +1348,8 @@ pl:
           Cię uwagę'
         your_note: '%{commenter} ponownie aktywował jedną z Twoich uwag na mapie w
           lokalizacji: %{place}'
-        commented_note: '%{commenter} ponownie aktywował uwagę, którą skomentowałeś.
-          Znajduje się ona w lokalizacji: %{place}.'
+        commented_note: Użytkownik %{commenter} ponownie aktywował skomentowaną uwagę.
+          Znajduje się ona w położeniu %{place}.
       details: 'Więcej informacji na temat uwagi można znaleźć pod adresem: %{url}.'
     changeset_comment_notification:
       greeting: Cześć,
@@ -1354,7 +1369,7 @@ pl:
     inbox:
       title: Wiadomości odebrane
       my_inbox: skrzynka odbiorcza
-      outbox: nadawcza
+      outbox: skrzynka nadawcza
       messages: Masz %{new_messages} i %{old_messages}
       new_messages:
         few: '%{count} nowe wiadomości'
@@ -1368,7 +1383,7 @@ pl:
         other: '%{count} starych wiadomości'
       from: Od
       subject: Temat
-      date: Nadano
+      date: Data
       no_messages_yet: Nie masz jeszcze wiadomości. Może skontaktujesz się z %{people_mapping_nearby_link}?
       people_mapping_nearby: użytkownikami z Twojej okolicy
     message_summary:
@@ -1382,7 +1397,7 @@ pl:
       subject: Temat
       body: Treść
       send_button: Wyślij
-      back_to_inbox: Powrót do skrzynki
+      back_to_inbox: Wróć do skrzynki
       message_sent: Wiadomość wysłana
       limit_exceeded: Masz ostatnio wiele wysłanych wiadomości. Proszę poczekać chwilę
         przed powtórzeniem wysłania.
@@ -1396,8 +1411,9 @@ pl:
       inbox: odbiorcza
       outbox: nadawcza
       messages:
-        one: Masz %{count} wysłaną wiadomość
-        other: Masz %{count} wysłanych wiadomości
+        one: '%{count} wysłana wiadomość'
+        few: '%{count} wysłane wiadomości'
+        other: '%{count} wysłanych wiadomości'
       to: Do
       subject: Temat
       date: Nadano
@@ -1418,8 +1434,8 @@ pl:
       back: Cofnij
       to: Do
       wrong_user: Jesteś zalogowany jako „%{user}”, ale wiadomość, którą chcesz przeczytać,
-        nie została wysłana przez ani do tego użytkownika. Zaloguj się jako właściwy
-        użytkownik, aby ją przeczytać.
+        nie została wysłana przez tego użytkownika ani do niego. Proszę zalogować
+        się jako właściwy użytkownik, aby ją przeczytać.
     sent_message_summary:
       delete_button: Usuń
     mark:
@@ -1438,13 +1454,14 @@ pl:
       license:
         copyright: Prawa autorskie należą do OpenStreetMap i jego autorów na warunkach
           otwartej licencji
-      remote_failed: Edycja nie powiodła się – sprawdź, czy JOSM lub Merkaartor jest
-        uruchomiony i funkcja Remote Control jest włączona
+      remote_failed: Nieudane edytowanie – proszę sprawdzić czy program JOSM lub Merkaartor
+        jest uruchomiony i funkcja Remote Control jest włączona
     edit:
       not_public: Nie wybrałeś(aś) by twoje edycje były publiczne.
       not_public_description: W tym trybie nie można już zmieniać mapy.  Możesz ustawić
         je na publiczne na Twojej %{user_page}.
       user_page_link: stronie użytkownika
+      anon_edits: (%{link})
       anon_edits_link_text: Tu dowiesz się dlaczego.
       flash_player_required: Aby korzystać z Potlacza, edytora OpenStreetMap, niezbędna
         jest wtyczka Flash. Możesz <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">ściągnąć
@@ -1458,15 +1475,15 @@ pl:
       potlatch2_unsaved_changes: Nie zapisałeś zmian. (Jeśli chcesz zapisać zmiany
         w Potlatch 2 powinieneś kliknąć przycisk „zapisz”.)
       id_not_configured: iD nie został skonfigurowany
-      no_iframe_support: Przeglądarka, której używasz nie obsługuje HTML iframes,
-        które są niezbędne dla tej funkcji.
+      no_iframe_support: Używana przeglądarka nie obsługuje HTML iframes, które są
+        niezbędne dla tej funkcji.
     sidebar:
       search_results: Wyniki wyszukiwania
       close: Zamknij
     search:
-      search: Szukaj
+      search: Wyszukiwanie
       get_directions: Wyznacz trasę
-      get_directions_title: Znajdź trasę pomiędzy dwoma punktami
+      get_directions_title: Wyznacza trasę pomiędzy dwoma punktami
       from: Początek
       to: Koniec
       where_am_i: Gdzie jestem?
@@ -1475,7 +1492,7 @@ pl:
     key:
       table:
         entry:
-          motorway: Autostrada
+          motorway: autostrada
           main_road: Główna droga
           trunk: Droga główna
           primary: Droga pierwszorzędna
@@ -1501,7 +1518,7 @@ pl:
           - terminal
           admin: 'Granica:'
           forest: Las
-          wood: Puszcza
+          wood: Drzewa
           golf: Pole golfowe
           park: Park
           resident: Teren mieszkalny
@@ -1527,7 +1544,7 @@ pl:
           - Szkoła
           - uniwersytet
           building: Ważny budynek
-          station: Dworzec kolejowy
+          station: stacja kolejowa
           summit:
           - Góra
           - szczyt
@@ -1548,7 +1565,7 @@ pl:
       ordered: Uporządkowana lista
       first: Pierwszy element
       second: Drugi element
-      link: Łącze
+      link: Odnośnik
       text: Tekst
       image: Obraz
       alt: Tekst alternatywny
@@ -1556,24 +1573,23 @@ pl:
   trace:
     visibility:
       private: Prywatny (udostępniany jedynie jako anonimowy, nieuporządkowane punkty)
-      public: Publiczny (pokazywany na liście śladów i jako anonimowy, nieuporządkowane
+      public: Publiczny (wyświetlany na liście śladów i jako anonimowy, nieuporządkowane
         punkty)
       trackable: Niezidentyfikowany (udostępniany jedynie jako anonimowy, uporządkowane
         punkty ze znacznikami czasu)
-      identifiable: Zidentyfikowany (pokazywany w liście śladów i jako zidentyfikowany,
+      identifiable: Zidentyfikowany (wyświetlany na liście śladów i jako zidentyfikowany,
         uporządkowane punkty ze znacznikami czasu)
     create:
-      upload_trace: Wgraj ślad GPS
-      trace_uploaded: Twój plik GPX został wczytany i czeka na dodanie do bazy danych.
-        Powinno to nastąpić w ciągu 30 minut. Wtedy też dostaniesz wiadomość z informacją
-        o tym fakcie.
+      upload_trace: Wyślij ślad GPS
+      trace_uploaded: Plik GPX został wysłany i czeka na dodanie do bazy danych. Powinno
+        to nastąpić w ciągu 30 minut, a informacja o tym fakcie zostanie wysłana wiadomością.
     edit:
       title: Edycja śladu %{name}
       heading: Edycja śladu %{name}
       filename: 'Nazwa pliku:'
       download: pobierz
       uploaded_at: 'Wysłano:'
-      points: 'Punkty:'
+      points: 'Liczba punktów:'
       start_coord: 'Współrzędne początkowe:'
       map: mapa
       edit: edytuj
@@ -1584,6 +1600,7 @@ pl:
       save_button: Zapisz zmiany
       visibility: 'Widoczność:'
       visibility_help: co to znaczy?
+      visibility_help_url: http://wiki.openstreetmap.org/wiki/Pl:Visibility_of_GPS_traces
     trace_form:
       upload_gpx: Prześlij plik GPX
       description: Opis
@@ -1591,34 +1608,31 @@ pl:
       tags_help: rozdzielone przecinkami
       visibility: Widoczność
       visibility_help: co to znaczy?
-      upload_button: Wgrywaj
+      visibility_help_url: http://wiki.openstreetmap.org/wiki/Pl:Visibility_of_GPS_traces
+      upload_button: Wyślij
       help: Pomoc
+      help_url: http://wiki.openstreetmap.org/wiki/Pl:Upload
     trace_header:
       upload_trace: Wyślij ślad
-      see_all_traces: Zobacz wszystkie ślady
-      see_your_traces: Zobacz wszystkie Twoje ślady
+      see_all_traces: Wyświetl wszystkie ślady
+      see_your_traces: Wyświetl swoje ślady
       traces_waiting:
-        few: Masz %{count} ślady oczekujące na dodanie. Poczekaj aż wgrywanie ich
-          zostanie zakończone przed dodaniem kolejnych, aby nie blokować kolejki innym
-          użytkownikom.
-        many: Masz %{count} oczekujących na dodanie śladów. Poczekaj aż wgrywanie
-          ich zostanie zakończone przed dodaniem kolejnych, aby nie blokować kolejki
-          innym użytkownikom.
-        one: Masz %{count} ślad oczekujący na dodanie. Poczekaj aż wgrywanie go zostanie
-          zakończone przed dodaniem kolejnych, aby nie blokować kolejki innym użytkownikom.
-        other: Masz %{count} oczekujących na dodanie śladów. Poczekaj aż wgrywanie
-          ich zostanie zakończone przed dodaniem kolejnych, aby nie blokować kolejki
-          innym użytkownikom.
+        one: '%{count} ślad oczekuje na wysłanie. Proszę zaczekać na zakończenie jego
+          wysyłania przed dodaniem kolejnych, aby nie blokować kolejki innym użytkownikom.'
+        few: '%{count} ślady oczekują na wysłanie. Proszę zaczekać na zakończenie
+          ich wysyłania przed dodaniem kolejnych, aby nie blokować kolejki innym użytkownikom.'
+        other: '%{count} śladów oczekuje na wysłanie. Proszę zaczekać na zakończenie
+          ich wysyłania przed dodaniem kolejnych, aby nie blokować kolejki innym użytkownikom.'
     trace_optionals:
       tags: Tagi
     view:
       title: Przeglądanie śladu %{name}
       heading: Przeglądanie śladu %{name}
       pending: OCZEKUJE
-      filename: 'Plik:'
+      filename: 'Nazwa pliku:'
       download: pobierz
-      uploaded: 'Dodano:'
-      points: 'Punktów:'
+      uploaded: 'Czas dodania:'
+      points: 'Liczba punktów:'
       start_coordinates: 'Współrzędne początkowe:'
       map: mapa
       edit: edycja
@@ -1627,8 +1641,8 @@ pl:
       tags: 'Tagi:'
       none: Brak
       edit_track: Edytuj ten ślad
-      delete_track: Wykasuj ten ślad
-      trace_not_found: Ślad nie znaleziony!
+      delete_track: Usuń ten ślad
+      trace_not_found: Nie odnaleziono śladu!
       visibility: 'Widoczność:'
     trace_paging_nav:
       showing_page: Strona %{page}
@@ -1639,10 +1653,10 @@ pl:
       count_points: '%{count} punktów'
       ago: '%{time_in_words_ago} temu'
       more: więcej
-      trace_details: Pokaż szczegóły śladu
-      view_map: Pokaż mapę
+      trace_details: Wyświetl szczegóły śladu
+      view_map: Wyświetl mapę
       edit: edycja
-      edit_map: Edytuj Mapę
+      edit_map: Edytuj mapę
       public: PUBLICZNY
       identifiable: IDENTYFIKOWALNY
       private: PRYWATNY
@@ -1652,15 +1666,15 @@ pl:
       map: mapa
     list:
       public_traces: Publiczne ślady GPS
-      your_traces: Twoje ślady GPS
+      your_traces: Własne ślady GPS
       public_traces_from: Publiczne ślady GPS użytkownika %{user}
-      description: Przeglądaj najnowsze dodane ścieżki GPS
+      description: Przeglądanie ostatnio dodanych śladów GPS
       tagged_with: ' otagowane %{tags}'
       empty_html: Nic tu jeszcze nie ma. <a href='%{upload_link}'>Prześlij nowy ślad</a>
         lub dowiedz się więcej o śledzeniu GPS na <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>stronie
         wiki</a>.
     delete:
-      scheduled_for_deletion: Ślad oczekuje na skasowanie
+      scheduled_for_deletion: Ślad oczekuje na usunięcie
     make_public:
       made_public: Ślad stał się publicznie dostępny
     offline_warning:
@@ -1677,8 +1691,8 @@ pl:
       description_without_count: Plik GPX od %{user}
   application:
     require_cookies:
-      cookies_needed: Wydaje się, że masz wyłączoną obsługę cookies (ciasteczek) w
-        swojej przeglądarce internetowej – włącz ją, zanim przejdziesz dalej.
+      cookies_needed: Wygląda na to, że wyłączono obsługę ciasteczek w przeglądarce.
+        Proszę ją włączyć przed kontynuowaniem.
     require_moderator:
       not_a_moderator: Musisz być moderatorem, aby wykonać tą akcję.
     setup_user_auth:
@@ -1690,32 +1704,32 @@ pl:
   oauth:
     oauthorize:
       title: Autoryzuj dostęp do Twojego konta
-      request_access: Aplikacja %{app_name} żąda dostępu do Twojego konta użytkownika
-        - %{user}. Sprawdź, czy chcesz pozwolić aplikacji na poniższe działania. Możesz
-        wybrać dowolną liczbę opcji.
+      request_access: Aplikacja %{app_name} żąda dostępu do konta użytkownika %{user}.
+        Proszę potwierdzić przyznanie aplikacji poniższych uprawnień. Można wybrać
+        dowolną liczbę opcji.
       allow_to: 'Zezwól aplikacji klienckiej na:'
       allow_read_prefs: odczytywanie preferencji konta
-      allow_write_prefs: modyfikowanie preferencji Twojego konta
+      allow_write_prefs: modyfikowanie preferencji konta
       allow_write_diary: tworzenie wpisów w dzienniku, dopisywanie komentarzy i nawiązywanie
         kontaktów.
-      allow_write_api: modyfikuj mapę
-      allow_read_gpx: odczytywanie Twoich osobistych śladów GPS
-      allow_write_gpx: prześlij ślady GPS
+      allow_write_api: modyfikowanie mapy
+      allow_read_gpx: odczytywanie prywatnych śladów GPS
+      allow_write_gpx: przesyłanie śladów GPS
       allow_write_notes: modyfikowanie uwag.
       grant_access: Zezwól dostęp
     oauthorize_success:
-      title: Żądanie autoryzacji dozwolone
-      allowed: Dałeś aplikacji %{app_name} dostęp do twojego konta.
+      title: Dozwolone żądanie uwierzytelnienia
+      allowed: Przyznano dostęp do konta aplikacji %{app_name}.
       verification: Kod weryfikacyjny to %{code}.
     oauthorize_failure:
-      title: Żądanie autoryzacji nie powiodło się
-      denied: Zakazano aplikacji %{app_name} dostępu do twojego konta.
-      invalid: Nieprawidłowy token do autoryzacji.
+      title: Nieudane żądanie uwierzytelnienia
+      denied: Odmówiono dostępu do konta aplikacji %{app_name}.
+      invalid: Token uwierzytelnienia jest nieprawidłowy.
     revoke:
-      flash: Cofnąłeś prawa dostępu dla aplikacji %{application}
+      flash: Odwołano uprawnienia aplikacji %{application}
   oauth_clients:
     new:
-      title: Rejestracja nowej aplikacji
+      title: Rejestrowanie nowej aplikacji
       submit: Zarejestruj
     edit:
       title: Edycja aplikacji
@@ -1732,26 +1746,25 @@ pl:
       delete: Usuń klienta
       confirm: Jesteś pewien?
       requests: 'Zapytanie następujących uprawnień ze strony użytkownika:'
-      allow_read_prefs: odczytywanie ich ustawień.
-      allow_write_prefs: modyfikacja ich ustawień.
-      allow_write_diary: tworzenie wpisów w dzienniku, dopisywanie komentarzy i nawiązywanie
-        kontaktów.
-      allow_write_api: modyfikacja mapy.
-      allow_read_gpx: odczytywanie ich śladów GPS.
-      allow_write_gpx: przesyłanie śladów GPS.
-      allow_write_notes: modyfikowanie uwag.
+      allow_read_prefs: Odczytywanie ustawień użytkownika
+      allow_write_prefs: Modyfikowanie ustawień użytkownika
+      allow_write_diary: Tworzenie wpisów w dzienniku, komentowanie i dodawanie znajomych
+      allow_write_api: Modyfikowanie mapy
+      allow_read_gpx: Odczytywanie prywatnych śladów GPS
+      allow_write_gpx: Przesyłanie śladów GPS.
+      allow_write_notes: Modyfikowanie uwag
     index:
-      title: Szczegóły autoryzacji OAuth
+      title: Szczegóły uwierzytelnienia OAuth
       my_tokens: Zarejestrowane programy
-      list_tokens: 'Następujące tokeny zostały wydane do aplikacji w twoim imieniu:'
+      list_tokens: 'Wydano następujące tokeny aplikacjom w imieniu użytkownika:'
       application: Nazwa aplikacji
-      issued_at: Wydane
+      issued_at: Czas wydania
       revoke: Odwołaj!
       my_apps: Programy klienckie
-      no_apps: Czy chcesz zarejestrować programy korzystające ze standardu %{oauth}?
+      no_apps: Poniżej zarejestrować można programy korzystające ze standardu %{oauth}.
         Programy muszą być wcześniej zarejestrowane, nim będzie można skorzystać z
-        zapytań OAuth do tego serwisu.
-      registered_apps: 'Masz zarejestrowane następujące aplikacje klienckie:'
+        zapytań OAuth do tej usługi.
+      registered_apps: 'Zarejestrowano następujące aplikacje klienckie:'
       register_new: Zarejestruj swoją aplikację
     form:
       name: Nazwa
@@ -1783,7 +1796,7 @@ pl:
       email or username: 'Adres email lub nazwa użytkownika:'
       password: Hasło
       openid: '%{logo} OpenID:'
-      remember: 'Pamiętaj mnie:'
+      remember: Zapamiętanie danych uwierzytelniających
       lost password link: Zapomniałeś hasła?
       login_button: Zaloguj się
       register now: Zarejestruj się
@@ -1815,6 +1828,9 @@ pl:
         windowslive:
           title: Zaloguj przez Windows Live
           alt: Zaloguj przez konto Windows Live
+        github:
+          title: Loguje za pomocą GitHub
+          alt: Zaloguj przy użyciu konta GitHub
         yahoo:
           title: Zaloguj używając Yahoo
           alt: Zaloguj używając Yahoo OpenID
@@ -1878,6 +1894,7 @@ pl:
       terms declined: Jest nam przykro, że zdecydowałeś się nie przyjmować nowych
         Warunków uczestnictwa. Więcej informacji możesz znaleźć <a href="%{url}">na
         tej stronie</a>.
+      terms declined url: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
     terms:
       title: Warunki uczestnictwa
       heading: Warunki uczestnictwa
@@ -1886,10 +1903,12 @@ pl:
       consider_pd: Oprócz powyższych warunków, stwierdzam również, że mój wkład jest
         w domenie publicznej
       consider_pd_why: co to oznacza?
+      consider_pd_why_url: http://wiki.osmfoundation.org/w/index.php?title=Licence_and_Legal_FAQ/Why_would_I_want_my_contributions_to_be_public_domain&redirect=no
       guidance: 'Informacje, które pomogą zrozumieć te warunki: <a href="%{summary}">w
         formie czytelnego podsumowania</a> oraz <a href="%{translations}">nieoficjalne
         tłumaczenia</a>'
       agree: Akceptuję
+      declined: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
       decline: Nie akceptuję
       you need to accept or decline: Prosimy przeczytać i następnie przyjąć lub odrzucić
         nowe Warunki uczestnictwa, aby kontynuować.
@@ -1905,15 +1924,15 @@ pl:
         może skorzystano z nieprawidłowego odnośnika.
       deleted: usunięty
     view:
-      my diary: mój dziennik
+      my diary: Dziennik
       new diary entry: nowy wpis w dzienniku
-      my edits: moje zmiany
-      my traces: moje ślady
-      my notes: moje uwagi
-      my messages: moje wiadomości
-      my profile: mój profil
-      my settings: moje ustawienia
-      my comments: moje komentarze
+      my edits: Zmiany
+      my traces: Ślady
+      my notes: Uwagi
+      my messages: Wiadomości
+      my profile: Profil
+      my settings: Ustawienia
+      my comments: Komentarze
       oauth settings: ustawienia oauth
       blocks on me: Otrzymane blokady
       blocks by me: Nałożone blokady
@@ -1936,7 +1955,7 @@ pl:
       status: 'Stan:'
       spam score: 'Punktacja spamu:'
       description: Opis
-      user location: Lokalizacja użytkownika
+      user location: Położenie użytkownika
       if set location: Podaj swoją lokalizację na stronie %{settings_link}, aby zobaczyć
         użytkowników blisko ciebie.
       settings_link_text: stronie ustawień
@@ -1977,7 +1996,7 @@ pl:
       friend: Znajomy
     account:
       title: Zmiana ustawień konta
-      my settings: moje ustawienia
+      my settings: Ustawienia
       current email address: 'Aktualny adres e-mail:'
       new email address: 'Nowy adres e-mail:'
       email never displayed publicly: (nie jest wyświetlany publicznie)
@@ -1987,7 +2006,7 @@ pl:
         link text: co to jest?
       public editing:
         heading: 'Edycje publiczne:'
-        enabled: Włączone.  Nie anonimowy i uprawniony do edycji danych.
+        enabled: Włączone. Nie anonimowy i uprawniony do edycji danych.
         enabled link: http://wiki.openstreetmap.org/wiki/Disabling_anonymous_edits
         enabled link text: co to jest?
         disabled: Wyłączone i nieuprawniony do edycji danych, wszystkie wcześniejsze
@@ -2010,28 +2029,30 @@ pl:
         review link text: Na tej stronie możesz zapoznać się z nowymi Warunkami uczestnictwa
           i je zaakceptować.
         agreed_with_pd: Zadeklarowałeś, że twoje edycje publikujesz w domenie publicznej.
+        link: http://wiki.osmfoundation.org/w/index.php?title=Licence/Contributor_Terms&redirect=no
         link text: co to jest?
       profile description: 'Opis profilu:'
       preferred languages: 'Preferowane języki:'
       preferred editor: 'Preferowany edytor:'
-      image: 'Grafika:'
+      image: 'Obraz:'
       gravatar:
-        gravatar: Użyj Gravatara
+        gravatar: Użycie Gravatara
+        link: http://wiki.openstreetmap.org/wiki/Gravatar
         link text: co to jest?
-      new image: Dodaj grafikę
+      new image: Dodanie obrazu
       keep image: Pozostaw dotychczasową ilustrację
-      delete image: Usuń obecną grafikę
+      delete image: Usunięcie aktualnego obrazu
       replace image: Zmień obecną grafikę
       image size hint: (najlepiej sprawdzają się kwadratowe obrazy o rozmiarach przynajmniej
         100x100)
-      home location: 'Lokalizacja domowa:'
+      home location: 'Położenie domu:'
       no home location: Nie wpisałeś swojej lokalizacji domowej.
       latitude: 'Szerokość:'
       longitude: 'Długość geograficzna:'
-      update home location on click: Aktualizować lokalizację, kiedy klikam na mapie?
+      update home location on click: Uaktualnianie położenia kliknięciem na mapie
       save changes button: Zapisz zmiany
       make edits public button: Niech wszystkie edycje będą publiczne.
-      return to profile: Powrót do profilu
+      return to profile: Wróć do profilu
       flash update success confirm needed: Zaktualizowano profil użytkownika.  Sprawdź
         czy przyszedł już mail potwierdzający nowy adres mailowy.
       flash update success: Zaktualizowano profil użytkownika.
@@ -2040,7 +2061,7 @@ pl:
       introduction_1: Wysłaliśmy ci e-mail z potwierdzeniem.
       introduction_2: Potwierdź swoje konto klikając na link w wiadomości i zacznij
         mapować.
-      press confirm button: Użyj poniższego przycisku aby aktywować Twoje konto.
+      press confirm button: Proszę kliknąć poniższy przycisk, aby aktywować konto.
       button: Potwierdzam
       success: Twoje konto zostało zatwierdzone, cieszymy się że do nas dołączyłeś!
       already active: To konto zostało potwierdzone.
@@ -2052,31 +2073,31 @@ pl:
         aktywujesz swoje konto, będziesz mógł zacząć edytować mapę.<br /><br />Jeśli
         używasz systemu antyspamowego, upewnij się, że do swojej białej listy dodałeś
         adres %{sender}. Dzięki temu będziemy mogli skontaktować się z tobą bez problemów.
-      failure: Brak użytkownika %{name}.
+      failure: Nie odnaleziono użytkownika %{name}.
     confirm_email:
       heading: Porwierdzenie zmiany adresu mailowego
-      press confirm button: Użyj poniższego przycisku aby potwierdzić Twój nowy adres
-        e-mail.
+      press confirm button: Proszę kliknąć poniższy przycisk, aby potwierdzić nowy
+        adres e-mail.
       button: Potwierdzam
       success: Potwierdzenie zmiany adresu mailowego
       failure: Adres email o tym kodzie był już potwierdzony.
       unknown_token: Ten kod potwierdzający wygasł lub nie istnieje.
     set_home:
-      flash success: Nowa lokalizacja domowa zapisana
+      flash success: Zapisano nowe położenie domu
     go_public:
       flash success: Wszystkie Twoje modyfikacje są od teraz publiczne i jesteś uprawniony/a
         do edycji.
     make_friend:
-      heading: Dodać %{user} do listy przyjaciół?
+      heading: Dodać %{user} do grona znajomych?
       button: Dodaj do listy przyjaciół
-      success: '%{name} jest teraz twoim znajomym!'
-      failed: Niestety dodanie %{name} jako znajomego nie powiodło się.
-      already_a_friend: '%{name} już jest Twoim gronie znajomych.'
+      success: '%{name} należy teraz do grona znajomych!'
+      failed: Nie udało się dodać %{name} do grona znajomych.
+      already_a_friend: '%{name} już jest znajomym.'
     remove_friend:
-      heading: Usunąć %{user} z przyjaciół?
+      heading: Usunąć %{user} z grona znajomych?
       button: Usuń z przyjaciół
-      success: '%{name} został wyłączony z grona Twoich znajomych.'
-      not_a_friend: '%{name} nie był Twoim znajomym.'
+      success: Usunięto %{name} z grona znajomych.
+      not_a_friend: '%{name} nie należy do grona znajomych.'
     filter:
       not_an_administrator: Musisz mieć uprawnienia administratora do wykonania tego
         działania.
@@ -2143,7 +2164,7 @@ pl:
     not_found:
       sorry: Niestety, nie udało się odnaleźć blokady użytkownika o identyfikatorze
         %{id}.
-      back: Powrót do spisu
+      back: Wróć do spisu
     new:
       title: Tworzenie blokady użytkownika %{name}
       heading: Tworzenie blokady użytkownika %{name}
@@ -2159,7 +2180,7 @@ pl:
       tried_waiting: Dałem(-am) użytkownikowi  rozsądny czas, aby odpowiedzieć na
         te komunikaty.
       needs_view: Użytkownik musi się zalogować, zanim blokada zostanie wyczyszczona
-      back: Zobacz wszystkie blokady
+      back: Wyświetl wszystkie blokady
     edit:
       title: Edycja blokady dla użytkownika %{name}
       heading: Edycja blokady dla użytkownika %{name}
@@ -2172,7 +2193,7 @@ pl:
         do API.
       submit: Uaktualnij blokadę
       show: Zobacz tę blokadę
-      back: Zobacz wszystkie blokady
+      back: Wyświetl wszystkie blokady
       needs_view: Czy użytkownik musi zalogować się zanim blokada ulegnie wyczyszczeniu?
     filter:
       block_expired: Blokada zakończyła się i nie można jej edytować.
@@ -2279,18 +2300,18 @@ pl:
   javascripts:
     close: Zamknij
     share:
-      title: Udostępnij
+      title: Udostępnia położenie
       cancel: Anuluj
       image: Obraz
-      link: Link lub HTML
-      long_link: Link
+      link: Odnośnik lub HTML
+      long_link: Odnośnik
       short_link: Krótki link
       geo_uri: Geo URI
       embed: HTML
-      custom_dimensions: Ustaw własne wymiary
+      custom_dimensions: Własne wymiary
       format: 'Format:'
       scale: 'Skala:'
-      image_size: Obraz będzie pokazywał standardową warstwę w rozdzielczości
+      image_size: Obraz będzie przedstawiał podstawową warstwę w rozdzielczości
       download: Pobierz
       short_url: Krótki URL
       include_marker: Dołącz pinezkę
@@ -2302,14 +2323,14 @@ pl:
       report_problem: Zgłoś błąd
     key:
       title: Legenda
-      tooltip: Legenda
+      tooltip: Wyświetla legendę
       tooltip_disabled: Legenda jest dostępna tylko dla warstwy podstawowej
     map:
       zoom:
-        in: Powiększ
-        out: Pomniejsz
+        in: Przybliża
+        out: Oddala
       locate:
-        title: Pokaż moje położenie
+        title: Wyświetla aktualne położenie
         popup: Jesteś w promieniu {distance} {unit} od tego punktu
       base:
         standard: Podstawowa
@@ -2320,19 +2341,19 @@ pl:
         header: Warstwy mapy
         notes: Uwagi
         data: Dane mapy
-        overlays: Włącz nakładki do rozwiązywania problemów na mapie
-        title: Warstwy
+        overlays: Nakładki do rozwiązywania problemów na mapie
+        title: Przełącza warstwy
       copyright: © <a href='%{copyright_url}'>autorzy OpenStreetMap</a>
       donate_link_text: <a class='donate-attr' href='%{donate_url}'>Przekaż darowiznę</a>
     site:
       edit_tooltip: Edytuje mapę
-      edit_disabled_tooltip: Powiększ, aby edytować mapę
-      createnote_tooltip: Zgłoś błąd lub dodaj uwagę na mapie
+      edit_disabled_tooltip: Przybliż mapę, aby ją edytować
+      createnote_tooltip: Zgłasza błąd lub dodaje uwagę na mapie
       createnote_disabled_tooltip: Przybliż mapę, by dodać uwagę
       map_notes_zoom_in_tooltip: Powiększ, aby zobaczyć uwagi
-      map_data_zoom_in_tooltip: Powiększ, aby zobaczyć dane mapy
-      queryfeature_tooltip: Obejrzyj dane obiektu
-      queryfeature_disabled_tooltip: Użyj powiększenia, aby obejrzeć dane obiektu
+      map_data_zoom_in_tooltip: Przybliż mapę, aby zobaczyć jej dane
+      queryfeature_tooltip: Wyświetla dane obiektu
+      queryfeature_disabled_tooltip: Przybliż mapę, aby obejrzeć dane obiektu
     changesets:
       show:
         comment: Komentarz
@@ -2355,8 +2376,8 @@ pl:
         reactivate: Ponownie aktywuj
         comment_and_resolve: Skomentuj i rozwiąż
         comment: Dodaj komentarz
-    edit_help: Przesuń mapę i powiększ miejsce, które chcesz edytować, a następnie
-      kliknij tutaj.
+    edit_help: Proszę przesunąć mapę i przybliżyć modyfikowane położenie, a następnie
+      kliknąć tutaj.
     directions:
       engines:
         graphhopper_bicycle: Rower (GraphHopper)
@@ -2366,7 +2387,7 @@ pl:
         mapquest_foot: Pieszo (MapQuest)
         osrm_car: Samochód (OSRM)
         mapzen_bicycle: Rower (Mapzen)
-        mapzen_car: Auto (Mapzen)
+        mapzen_car: Samochód (Mapzen)
         mapzen_foot: Pieszo (Mapzen)
       directions: Opis trasy
       distance: Odległość
@@ -2376,11 +2397,22 @@ pl:
       instructions:
         continue_without_exit: Kontynuuj na %{name}
         slight_right_without_exit: Lekko w prawo w %{name}
+        offramp_right_without_exit: Jedź objazdem w prawo do %{name}.
+        onramp_right_without_exit: Skręć w prawo do objazdu do %{name}.
+        endofroad_right_without_exit: Na końcu tej drogi skręć w prawo w kierunku
+          %{name}.
+        merge_right_without_exit: Skręć w prawo w kierunku %{name}.
+        fork_right_without_exit: W rozwidleniu dróg skręć w prawo w kierunku %{name}.
         turn_right_without_exit: Skręć w prawo w %{name}
         sharp_right_without_exit: Ostro w prawo w %{name}
         uturn_without_exit: Zawróć wzdłuż %{name}
         sharp_left_without_exit: Ostro w lewo w %{name}
         turn_left_without_exit: Skręć w lewo w %{name}
+        offramp_left_without_exit: Jedź objazdem w lewo do %{name}.
+        onramp_left_without_exit: Skręć w lewo do objazdu do %{name}.
+        endofroad_left_without_exit: Na końcu tej drogi skręć w lewo w kierunku %{name}.
+        merge_left_without_exit: Skręć w lewo w kierunku %{name}.
+        fork_left_without_exit: W rozwidleniu dróg skręć w prawo w kierunku %{name}.
         slight_left_without_exit: Lekko w lewo w %{name}
         via_point_without_exit: (przez punkt)
         follow_without_exit: Jedź wzdłuż %{name}
index 8f2f29a..82d2b1e 100644 (file)
@@ -1812,6 +1812,9 @@ pt-PT:
         windowslive:
           title: Iniciar sessão com Windows Live
           alt: Iniciar sessão com uma conta do Windows Live
+        github:
+          title: Iniciar sessão com GitHub
+          alt: Iniciar sessão com uma conta GitHub
         yahoo:
           title: Iniciar sessão com Yahoo
           alt: Iniciar sessão com OpenID Yahoo
index 1567d07..4fccc39 100644 (file)
@@ -7,6 +7,7 @@
 # Author: Lesko987
 # Author: Macofe
 # Author: Mateju
+# Author: Peter Klofutar
 # Author: Ruila
 # Author: Skalcaa
 # Author: Stefanb
@@ -213,7 +214,9 @@ sl:
         nazaj</abbr>
       hidden_by: Skril %{user} <abbr title='%{exact_time}'>%{when} nazaj</abbr>
     query:
+      title: Poišči značilnosti
       nearby: Značilnosti v neposredni bližini
+      enclosing: Vsebujoče značilnosti
   changeset:
     changeset_paging_nav:
       showing_page: Stran %{page}
@@ -1273,6 +1276,7 @@ sl:
       table:
         entry:
           motorway: Avtocesta
+          main_road: Glavna cesta
           trunk: Hitra cesta
           primary: Glavna cesta
           secondary: Regionalna cesta
index e8e4886..de2ba29 100644 (file)
@@ -107,7 +107,7 @@ sv:
       user:
         email: E-post
         active: Aktiv
-        display_name: Synligt namn
+        display_name: Visa namn
         description: Beskrivning
         languages: Språk
         pass_crypt: Lösenord
@@ -429,7 +429,7 @@ sv:
           cable_car: Linbana
           chair_lift: Stollift
           drag_lift: Släplift
-          gondola: Gondolbanan
+          gondola: Gondolbana
           station: Linbanestation
         aeroway:
           aerodrome: Flygfält
@@ -572,7 +572,7 @@ sv:
           bridleway: Ridstig
           bus_guideway: Spårbussväg
           bus_stop: Busshållplats
-          construction: Väg under konstruktion
+          construction: Motorväg under konstruktion
           cycleway: Cykelspår
           elevator: Hiss
           emergency_access_point: Utryckningsplats
@@ -618,7 +618,7 @@ sv:
           bunker: Bunker
           castle: Slott
           church: Kyrka
-          city_gate: stadsporten
+          city_gate: Stadsport
           citywalls: Stadsmurar
           fort: Fort
           heritage: Världsarv
@@ -1679,7 +1679,7 @@ sv:
     offline_warning:
       message: GPX-uppladdningssystemet är för tillfället otillgängligt.
     offline:
-      heading: GPX förvaring är offlien
+      heading: GPX-lagring offline
       message: GPX-uppladdningssystemet är för närvarande inte tillgängligt.
     georss:
       title: OpenStreetMap GPS-spår
@@ -1698,7 +1698,7 @@ sv:
         för att få reda på mer.
       need_to_see_terms: Din tillgång till API:t är tillfälligt avstängd. Logga in
         på webbgränssnittet för att se bidragsvillkor. Du behöver inte godkänna dem,
-        men du måste se dem.
+        men du måste titta på dem.
   oauth:
     oauthorize:
       title: Auktorisera tillgång till ditt konto
@@ -1826,6 +1826,9 @@ sv:
         windowslive:
           title: Logga in med Windows Live
           alt: Logga in med ett Windows Live-konto
+        github:
+          title: Logga in med GitHub
+          alt: Logga in med ett GitHub-Konto
         yahoo:
           title: Logga in med Yahoo
           alt: Logga in med ett Yahoo OpenID
@@ -1972,7 +1975,7 @@ sv:
       deactivate_user: Inaktivera denna användare
       confirm_user: Bekräfta denna användare
       hide_user: Dölj denna användare
-      unhide_user: Sluta dölja användaren
+      unhide_user: Sluta dölja användare
       delete_user: Radera denna användare
       confirm: Bekräfta
       friends_changesets: vänners ändringsset
@@ -2051,7 +2054,7 @@ sv:
       press confirm button: Klicka på bekräftelseknappen nedan för att aktivera ditt
         konto.
       button: Bekräfta
-      success: Ditt konto är bekräftat, tack för att du registrerade dig.
+      success: Ditt konto är bekräftat, tack för att du registrerade dig!
       already active: Detta konto har redan bekräftats.
       unknown token: Denna bekräftelsekod har gått ut eller finns inte.
       reconfirm_html: Om du vill att vi ska skicka bekräftelsemailet igen, <a href="%{reconfirm}">klicka
@@ -2384,11 +2387,21 @@ sv:
       instructions:
         continue_without_exit: Fortsätt på %{name}
         slight_right_without_exit: Svag högersväng in på %{name}
+        offramp_right_without_exit: Ta rampen till höger in på %{name}
+        onramp_right_without_exit: Sväng vänster på rampen till %{name}
+        endofroad_right_without_exit: Vid slutet av vägen, sväng höger in på %{name}
+        merge_right_without_exit: Sväng rakt in på %{name}
+        fork_right_without_exit: Vid vägskälet sväng höger in på %{name}
         turn_right_without_exit: Högersväng in på %{name}
         sharp_right_without_exit: Skarp högersväng in på %{name}
         uturn_without_exit: U-sväng längs %{name}
         sharp_left_without_exit: Skarp vänstersväng in på %{name}
         turn_left_without_exit: Vänstersväng in på %{name}
+        offramp_left_without_exit: Ta rampen till vänster in på %{name}
+        onramp_left_without_exit: Sväng vänster på rampen in till %{name}
+        endofroad_left_without_exit: Vid slutet av vägen, sväng vänster in på %{name}
+        merge_left_without_exit: Sväng vänster in på %{name}
+        fork_left_without_exit: Vid vägskälet sväng vänster in på %{name}
         slight_left_without_exit: Svag vänstersväng in på %{name}
         via_point_without_exit: (via punkt)
         follow_without_exit: Följ %{name}
index a74250d..b892c2b 100644 (file)
@@ -1798,6 +1798,9 @@ uk:
         windowslive:
           title: Увійти з Windows Live
           alt: Увійти з облікового запису Windows Live
+        github:
+          title: Увійти через GitHub
+          alt: Увійти через обліковий запис GitHub
         yahoo:
           title: Увійти з облікового запису Yahoo
           alt: Увійти з Yahoo OpenID
@@ -2370,11 +2373,21 @@ uk:
       instructions:
         continue_without_exit: Рухайтесь далі по %{name}
         slight_right_without_exit: Плавно поверніть праворуч на %{name}
+        offramp_right_without_exit: Візьміть правий об'їзд на %{name}
+        onramp_right_without_exit: Поверніть праворуч на об'їзд в напрямку %{name}
+        endofroad_right_without_exit: В кінці дороги поверніть праворуч на %{name}
+        merge_right_without_exit: Влийтесь в потік праворуч у %{name}
+        fork_right_without_exit: На розвилці поверніть праворуч на %{name}
         turn_right_without_exit: Поверніть праворуч на %{name}
         sharp_right_without_exit: Різко поверніть праворуч на %{name}
         uturn_without_exit: Розверніться на %{name}
         sharp_left_without_exit: Різко поверніть ліворуч на %{name}
         turn_left_without_exit: Поверніть ліворуч на %{name}
+        offramp_left_without_exit: Візьміть лівий об'їзд на %{name}
+        onramp_left_without_exit: Поверніть ліворуч на об'їзд в напрямку %{name}
+        endofroad_left_without_exit: В кінці дороги поверніть ліворуч на %{name}
+        merge_left_without_exit: Влийтесь в потік ліворуч у %{name}
+        fork_left_without_exit: На розвилці поверніть ліворуч на %{name}
         slight_left_without_exit: Плавно поверніть ліворуч на %{name}
         via_point_without_exit: (проміжний пункт)
         follow_without_exit: Рухайтесь далі по %{name}
index 47c9b31..0bdf611 100644 (file)
@@ -627,7 +627,7 @@ vi:
           orchard: Vườn Cây
           quarry: Mỏ Đá
           railway: Đường sắt
-          recreation_ground: Sân chơi
+          recreation_ground: Sân Giải trí
           reservoir: Bể nước
           reservoir_watershed: Lưu vực Hồ Nhân tạo
           residential: Khu vực Nhà ở
@@ -1766,6 +1766,9 @@ vi:
         windowslive:
           title: Đăng nhập qua Windows Live
           alt: Đăng nhập dùng tài khoản Windows Live
+        github:
+          title: Đăng nhập qua GitHub
+          alt: Đăng nhập dùng tài khoản GitHub
         yahoo:
           title: Đăng nhập qua Yahoo!
           alt: Đăng nhập dùng OpenID của Yahoo!
index fd3f67c..3fb6f00 100644 (file)
@@ -472,7 +472,7 @@ zh-CN:
           kindergarten: 幼儿园
           library: 图书馆
           market: 市场
-          marketplace: å¸\82
+          marketplace: å\95\86
           monastery: 修道院
           motorcycle_parking: 摩托车停放处
           nightclub: 夜总会
@@ -1648,6 +1648,9 @@ zh-CN:
         windowslive:
           title: 使用Windows Live登录
           alt: 使用一个Windows Live账户登录
+        github:
+          title: 使用GitHub登录
+          alt: 通过GitHub账户登录
         yahoo:
           title: 使用Yahoo登录
           alt: 使用Yahoo OpenID登录
@@ -2154,11 +2157,21 @@ zh-CN:
       instructions:
         continue_without_exit: 在%{name}上直走
         slight_right_without_exit: 稍向右转至%{name}
+        offramp_right_without_exit: 在右侧上坡前往%{name}
+        onramp_right_without_exit: 右转上坡至%{name}
+        endofroad_right_without_exit: 在道路尽头右转至%{name}
+        merge_right_without_exit: 向右并线至%{name}
+        fork_right_without_exit: 在交叉口右转至%{name}
         turn_right_without_exit: 右转至%{name}
         sharp_right_without_exit: 向右急转至%{name}
         uturn_without_exit: 沿着%{name}掉头
         sharp_left_without_exit: 向左急转至%{name}
         turn_left_without_exit: 左转至%{name}
+        offramp_left_without_exit: 在左侧上坡前往%{name}
+        onramp_left_without_exit: 左转上坡至%{name}
+        endofroad_left_without_exit: 在道路尽头左转至%{name}
+        merge_left_without_exit: 向左并线至%{name}
+        fork_left_without_exit: 在交叉口左转至%{name}
         slight_left_without_exit: 稍向左转至%{name}
         via_point_without_exit: (通过点)
         follow_without_exit: 关注%{name}
index 9937563..8f1e344 100644 (file)
@@ -9,6 +9,7 @@
 # Author: Impersonator 1
 # Author: Jiazheng0609
 # Author: Justincheng12345
+# Author: Kly
 # Author: LNDDYL
 # Author: Liuxinyu970226
 # Author: Mikepanhu
@@ -1665,6 +1666,9 @@ zh-TW:
         windowslive:
           title: 使用 Windows Live 登入
           alt: 使用 Windows Live 帳號登入
+        github:
+          title: 使用 GitHub 登入
+          alt: 使用 GitHub 帳號登入
         yahoo:
           title: 使用 Yahoo 登入
           alt: 使用 Yahoo OpenID 登入
@@ -2162,11 +2166,21 @@ zh-TW:
       instructions:
         continue_without_exit: 繼續行駛 %{name}
         slight_right_without_exit: 靠右至 %{name}
+        offramp_right_without_exit: 在右側上坡前往%{name}
+        onramp_right_without_exit: 右轉上坡至%{name}
+        endofroad_right_without_exit: 在道路盡頭右轉至%{name}
+        merge_right_without_exit: 向右併線至%{name}
+        fork_right_without_exit: 在叉路口右轉至%{name}
         turn_right_without_exit: 右轉至 %{name}
         sharp_right_without_exit: 右急轉至 %{name}
         uturn_without_exit: 迴轉沿著 %{name}
         sharp_left_without_exit: 左急轉至 %{name}
         turn_left_without_exit: 左轉至 %{name}
+        offramp_left_without_exit: 在左側上坡前往%{name}
+        onramp_left_without_exit: 左轉上坡至%{name}
+        endofroad_left_without_exit: 在道路盡頭左轉至%{name}
+        merge_left_without_exit: 向左併線至%{name}
+        fork_left_without_exit: 在叉路口左轉至%{name}
         slight_left_without_exit: 靠左至 %{name}
         via_point_without_exit: (通過點)
         follow_without_exit: 延著 %{name}
index 231496d..dac1889 100644 (file)
@@ -1,3 +1,6 @@
+PG_CONFIG ?= pg_config
+DESTDIR ?= .
+
 QTDIR=../../lib/quad_tile
 
 OS=$(shell uname -s)
@@ -7,19 +10,15 @@ else
     LDFLAGS=-shared
 endif
 
-all: libpgosm.so
+all: ${DESTDIR}/libpgosm.so
 
 clean:
-       $(RM) *.so *.o
-
-libpgosm.so: quadtile-pgsql.o maptile-pgsql.o xid_to_int4-pgsql.o
-       cc ${LDFLAGS} -o libpgosm.so quadtile-pgsql.o maptile-pgsql.o xid_to_int4-pgsql.o
+       $(RM) ${DESTDIR}/*.so ${DESTDIR}/*.o
 
-quadtile-pgsql.o: quadtile.c ${QTDIR}/quad_tile.h
-       cc -I `pg_config --includedir` -I `pg_config --includedir-server` -I${QTDIR} -fPIC -O3 -DUSE_PGSQL -c -o quadtile-pgsql.o quadtile.c
+${DESTDIR}/libpgosm.so: ${DESTDIR}/quadtile.o ${DESTDIR}/maptile.o ${DESTDIR}/xid_to_int4.o
+       cc ${LDFLAGS} -o $@ $^
 
-maptile-pgsql.o: maptile.c
-       cc -I `pg_config --includedir` -I `pg_config --includedir-server` -fPIC -O3 -DUSE_PGSQL -c -o maptile-pgsql.o maptile.c
+${DESTDIR}/%.o: %.c
+       cc -I `${PG_CONFIG} --includedir` -I `${PG_CONFIG} --includedir-server` -I${QTDIR} -fPIC -O3 -DUSE_PGSQL -c -o $@ $<
 
-xid_to_int4-pgsql.o: xid_to_int4.c
-       cc -I `pg_config --includedir` -I `pg_config --includedir-server` -fPIC -O3 -DUSE_PGSQL -c -o xid_to_int4-pgsql.o xid_to_int4.c
+${DESTDIR}/quadtile.o: ${QTDIR}/quad_tile.h
index 099a76c..f0a1441 100644 (file)
@@ -1947,6 +1947,7 @@ input[type=url],
 input[type=tel],
 input[type=email] {
     background-color: white;
+    color: #333;
     border:1px solid #ccc;
     padding:5px 10px;
     height:30px;
@@ -3946,7 +3947,7 @@ div.full-screen > button:hover {
     float:right;
     margin-left: 20px;
     margin-bottom: 20px;
-    padding-left: 5px
+    padding-left: 5px;
 }
 
 .help-wrap .toc li a,
@@ -4100,7 +4101,6 @@ img.tile-removing {
 
 /* Map-In-Map
 ------------------------------------------------------- */
-
 .map-in-map {
     position: absolute;
     overflow: hidden;
@@ -4126,8 +4126,8 @@ img.tile-removing {
     user-select: none;
 }
 
-.map-in-map-svg,
-.map-in-map-gpx {
+.map-in-map-viewport,
+.map-in-map-data {
     top: 0;
     left: 0;
     overflow: hidden;
@@ -4135,16 +4135,15 @@ img.tile-removing {
     width: 100%;
 }
 
-.map-in-map-svg {
+.map-in-map-viewport {
     position: absolute;
 }
 
-.map-in-map-gpx {
+.map-in-map-data {
     position: relative;
     z-index: 10;
 }
 
-.bbox,
 .map-in-map-bbox {
     fill: none;
     stroke: rgba(255, 255, 0, 0.75);
@@ -4156,6 +4155,45 @@ img.tile-removing {
     stroke-width: 5;
 }
 
+
+/* Debug
+------------------------------------------------------- */
+.debug {
+    stroke: currentColor;
+    fill: none;
+    stroke-width: 2;
+}
+.map-in-map-data .debug {
+    stroke-width: 1;
+}
+
+.red     { color: rgba(255, 0, 0, 0.75); }
+.green   { color: rgba(0, 255, 0, 0.75); }
+.blue    { color: rgba(0, 0, 255, 0.75); }
+.yellow  { color: rgba(255, 255, 0, 0.75); }
+.cyan    { color: rgba(0, 255, 255, 0.75); }
+.magenta { color: rgba(255, 0, 255, 0.75); }
+.orange  { color: rgba(255, 153, 0, 0.75); }
+.pink    { color: rgba(255, 0, 153, 0.75); }
+.purple  { color: rgba(153, 0, 255, 0.75); }
+
+.debug-legend {
+    position: absolute;
+    top: 70px;
+    right: 80px;
+    padding: 5px;
+    border-radius: 4px;
+    pointer-events: none;
+}
+
+.debug-legend-item {
+    padding-right: 5px;
+}
+.debug-legend-item:before {
+    content: "\25A0";
+    padding: 0 5px;
+}
+
 /* Info Box
 ------------------------------------------------------- */
 .infobox {
index 9794c7c..8f8f661 100644 (file)
@@ -1996,8 +1996,7 @@ d3.behavior.zoom = function() {
   }
 
   function zoomended(dispatch) {
-    if (!--zooming) dispatch({type: "zoomend"});
-    center0 = null;
+    if (!--zooming) dispatch({type: "zoomend"}), center0 = null;
   }
 
   function mousedowned() {
@@ -2140,7 +2139,7 @@ d3.behavior.zoom = function() {
   function mousewheeled() {
     var dispatch = event.of(this, arguments);
     if (mousewheelTimer) clearTimeout(mousewheelTimer);
-    else translate0 = location(center0 = center || d3.mouse(this)), d3_selection_interrupt.call(this), zoomstarted(dispatch);
+    else d3_selection_interrupt.call(this), translate0 = location(center0 = center || d3.mouse(this)), zoomstarted(dispatch);
     mousewheelTimer = setTimeout(function() { mousewheelTimer = null; zoomended(dispatch); }, 50);
     d3_eventPreventDefault();
     scaleTo(Math.pow(2, d3_behavior_zoomDelta() * .002) * view.k);
@@ -20543,18 +20542,24 @@ window.iD = function () {
 
 
     /* Debug */
-    var debugTile = false, debugCollision = false;
-    context.debugTile = function(_) {
-        if (!arguments.length) return debugTile;
-        debugTile = _;
+    var debugFlags = {
+        tile: false,
+        collision: false,
+        imagery: false,
+        imperial: false,
+        driveLeft: false
+    };
+    context.debugFlags = function() {
+        return debugFlags;
+    };
+    context.setDebug = function(flag, val) {
+        if (arguments.length === 1) val = true;
+        debugFlags[flag] = val;
         dispatch.change();
         return context;
     };
-    context.debugCollision = function(_) {
-        if (!arguments.length) return debugCollision;
-        debugCollision = _;
-        dispatch.change();
-        return context;
+    context.getDebug = function(flag) {
+        return flag && debugFlags[flag];
     };
 
 
@@ -20706,7 +20711,7 @@ window.iD = function () {
 };
 
 
-iD.version = '1.9.6';
+iD.version = '1.9.7';
 
 (function() {
     var detected = {};
@@ -23627,7 +23632,7 @@ iD.actions.Move = function(moveIds, tryDelta, projection, cache) {
             if (parents.length < 3) return true;
 
             // Don't move a vertex where >2 ways meet, unless all parentWays are moving too..
-            var parentsMoving = _.all(parents, function(id) { return cache.moving[id]; });
+            var parentsMoving = _.every(parents, function(id) { return cache.moving[id]; });
             if (!parentsMoving) delete cache.moving[nodeId];
 
             return parentsMoving;
@@ -29310,6 +29315,15 @@ _.extend(iD.Node.prototype, {
         });
     },
 
+    isOnAddressLine: function(resolver) {
+        return resolver.transient(this, 'isOnAddressLine', function() {
+            return resolver.parentWays(this).filter(function(parent) {
+                return parent.tags.hasOwnProperty('addr:interpolation') &&
+                    parent.geometry(resolver) === 'line';
+            }).length > 0;
+        });
+    },
+
     asJXON: function(changeset_id) {
         var r = {
             node: {
@@ -31441,7 +31455,7 @@ iD.TileLayer = function(context) {
     // rentered when tiles load/error (see #644).
     function render(selection) {
         var requests = [];
-        var showDebug = context.debugTile() && !source.overlay;
+        var showDebug = context.getDebug('tile') && !source.overlay;
 
         if (source.validZoom(z)) {
             tile().forEach(function(d) {
@@ -31798,6 +31812,143 @@ iD.svg.Areas = function(projection) {
             .attr('d', path);
     };
 };
+iD.svg.Debug = function(projection, context) {
+
+    function multipolygons(imagery) {
+        return imagery.map(function(data) {
+            return {
+                type: 'MultiPolygon',
+                coordinates: [ data.polygon ]
+            };
+        });
+    }
+
+    function drawDebug(surface) {
+        var showsTile = context.getDebug('tile'),
+            showsCollision = context.getDebug('collision'),
+            showsImagery = context.getDebug('imagery'),
+            showsImperial = context.getDebug('imperial'),
+            showsDriveLeft = context.getDebug('driveLeft'),
+            path = d3.geo.path().projection(projection);
+
+
+        var debugData = [];
+        if (showsTile) {
+            debugData.push({ class: 'red', label: 'tile' });
+        }
+        if (showsCollision) {
+            debugData.push({ class: 'yellow', label: 'collision' });
+        }
+        if (showsImagery) {
+            debugData.push({ class: 'orange', label: 'imagery' });
+        }
+        if (showsImperial) {
+            debugData.push({ class: 'cyan', label: 'imperial' });
+        }
+        if (showsDriveLeft) {
+            debugData.push({ class: 'green', label: 'driveLeft' });
+        }
+
+
+        var legend = d3.select('#content')
+            .selectAll('.debug-legend')
+            .data(debugData.length ? [0] : []);
+
+        legend.enter()
+            .append('div')
+            .attr('class', 'fillD debug-legend');
+
+        legend.exit()
+            .remove();
+
+
+        var legendItems = legend.selectAll('.debug-legend-item')
+            .data(debugData, function(d) { return d.label; });
+
+        legendItems.enter()
+            .append('span')
+            .attr('class', function(d) { return 'debug-legend-item ' + d.class; })
+            .text(function(d) { return d.label; });
+
+        legendItems.exit()
+            .remove();
+
+
+        var layer = surface.selectAll('.layer-debug')
+            .data(showsImagery || showsImperial || showsDriveLeft ? [0] : []);
+
+        layer.enter()
+            .append('g')
+            .attr('class', 'layer-debug');
+
+        layer.exit()
+            .remove();
+
+
+        var extent = context.map().extent(),
+            availableImagery = showsImagery && multipolygons(iD.data.imagery.filter(function(source) {
+                if (!source.polygon) return false;
+                return source.polygon.some(function(polygon) {
+                    return iD.geo.polygonIntersectsPolygon(polygon, extent, true);
+                });
+            }));
+
+        var imagery = layer.selectAll('path.debug-imagery')
+            .data(showsImagery ? availableImagery : []);
+
+        imagery.enter()
+            .append('path')
+            .attr('class', 'debug-imagery debug orange');
+
+        imagery.exit()
+            .remove();
+
+
+        var imperial = layer
+            .selectAll('path.debug-imperial')
+            .data(showsImperial ? [iD.data.imperial] : []);
+
+        imperial.enter()
+            .append('path')
+            .attr('class', 'debug-imperial debug cyan');
+
+        imperial.exit()
+            .remove();
+
+
+        var driveLeft = layer
+            .selectAll('path.debug-drive-left')
+            .data(showsDriveLeft ? [iD.data.driveLeft] : []);
+
+        driveLeft.enter()
+            .append('path')
+            .attr('class', 'debug-drive-left debug green');
+
+        driveLeft.exit()
+            .remove();
+
+
+        // update
+        layer.selectAll('path')
+            .attr('d', path);
+    }
+
+    // This looks strange because `enabled` methods on other layers are
+    // chainable getter/setters, and this one is just a getter.
+    drawDebug.enabled = function() {
+        if (!arguments.length) {
+            return context.getDebug('tile') ||
+                context.getDebug('collision') ||
+                context.getDebug('imagery') ||
+                context.getDebug('imperial') ||
+                context.getDebug('driveLeft');
+        } else {
+            return this;
+        }
+    };
+
+    return drawDebug;
+};
 /*
     A standalone SVG element that contains only a `defs` sub-element. To be
     used once globally, since defs IDs must be unique within a document.
@@ -32512,7 +32663,7 @@ iD.svg.Labels = function(projection, context) {
         drawAreaIcons(label, labelled.area, filter, 'arealabel-icon', positions.area);
 
         // debug
-        var showDebug = context.debugCollision();
+        var showDebug = context.getDebug('collision');
         var debug = label.selectAll('.layer-label-debug')
             .data(showDebug ? [true] : []);
 
@@ -32534,11 +32685,11 @@ iD.svg.Labels = function(projection, context) {
                 ]]};
             });
 
-            var debugboxes = debug.selectAll('.bbox').data(gj);
+            var debugboxes = debug.selectAll('.debug').data(gj);
 
             debugboxes.enter()
                 .append('path')
-                .attr('class', 'bbox');
+                .attr('class', 'debug yellow');
 
             debugboxes.exit()
                 .remove();
@@ -32568,7 +32719,8 @@ iD.svg.Layers = function(projection, context) {
             { id: 'osm', layer: iD.svg.Osm(projection, context, dispatch) },
             { id: 'gpx', layer: iD.svg.Gpx(projection, context, dispatch) },
             { id: 'mapillary-images', layer: iD.svg.MapillaryImages(projection, context, dispatch) },
-            { id: 'mapillary-signs',  layer: iD.svg.MapillarySigns(projection, context, dispatch) }
+            { id: 'mapillary-signs',  layer: iD.svg.MapillarySigns(projection, context, dispatch) },
+            { id: 'debug', layer: iD.svg.Debug(projection, context, dispatch) }
         ];
 
 
@@ -37085,6 +37237,7 @@ iD.ui.MapInMap = function(context) {
             overlayLayers = {},
             projection = iD.geo.RawMercator(),
             gpxLayer = iD.svg.Gpx(projection, context).showLabels(false),
+            debugLayer = iD.svg.Debug(projection, context),
             zoom = d3.behavior.zoom()
                 .scaleExtent([ztok(0.5), ztok(24)])
                 .on('zoom', zoomPan),
@@ -37092,7 +37245,7 @@ iD.ui.MapInMap = function(context) {
             panning = false,
             hidden = true,
             zDiff = 6,    // by default, minimap renders at (main zoom - 6)
-            tStart, tLast, tCurr, kLast, kCurr, tiles, svg, timeoutId;
+            tStart, tLast, tCurr, kLast, kCurr, tiles, viewport, timeoutId;
 
         function ztok(z) { return 256 * Math.pow(2, z); }
         function ktoz(k) { return Math.log(k) / Math.LN2 - 8; }
@@ -37130,7 +37283,7 @@ iD.ui.MapInMap = function(context) {
                 tY = (tCurr[1] / scale - tLast[1]) * scale;
 
             iD.util.setTransform(tiles, tX, tY, scale);
-            iD.util.setTransform(svg, 0, 0, scale);
+            iD.util.setTransform(viewport, 0, 0, scale);
             transformed = true;
 
             queueRedraw();
@@ -37191,7 +37344,7 @@ iD.ui.MapInMap = function(context) {
 
             if (transformed) {
                 iD.util.setTransform(tiles, 0, 0);
-                iD.util.setTransform(svg, 0, 0);
+                iD.util.setTransform(viewport, 0, 0);
                 transformed = false;
             }
         }
@@ -37267,33 +37420,35 @@ iD.ui.MapInMap = function(context) {
                 .remove();
 
 
-            var gpx = tiles
-                .selectAll('.map-in-map-gpx')
-                .data(gpxLayer.enabled() ? [0] : []);
+            var dataLayers = tiles
+                .selectAll('.map-in-map-data')
+                .data([0]);
 
-            gpx.enter()
+            dataLayers.enter()
                 .append('svg')
-                .attr('class', 'map-in-map-gpx');
+                .attr('class', 'map-in-map-data');
 
-            gpx.exit()
+            dataLayers.exit()
                 .remove();
 
-            gpx.call(gpxLayer);
+            dataLayers
+                .call(gpxLayer)
+                .call(debugLayer);
 
 
-            // redraw bounding box
+            // redraw viewport bounding box
             if (!panning) {
                 var getPath = d3.geo.path().projection(projection),
                     bbox = { type: 'Polygon', coordinates: [context.map().extent().polygon()] };
 
-                svg = wrap.selectAll('.map-in-map-svg')
+                viewport = wrap.selectAll('.map-in-map-viewport')
                     .data([0]);
 
-                svg.enter()
+                viewport.enter()
                     .append('svg')
-                    .attr('class', 'map-in-map-svg');
+                    .attr('class', 'map-in-map-viewport');
 
-                var path = svg.selectAll('.map-in-map-bbox')
+                var path = viewport.selectAll('.map-in-map-bbox')
                     .data([bbox]);
 
                 path.enter()
@@ -37885,14 +38040,21 @@ iD.ui.preset = function(context) {
     return d3.rebind(presets, event, 'on');
 };
 iD.ui.PresetList = function(context) {
-    var event = d3.dispatch('choose'),
+    var dispatch = d3.dispatch('choose'),
         id,
         currentPreset,
         autofocus = false;
 
     function presetList(selection) {
-        var geometry = context.geometry(id),
-            presets = context.presets().matchGeometry(geometry);
+        var entity = context.entity(id),
+            geometry = context.geometry(id);
+
+        // Treat entities on addr:interpolation lines as points, not vertices (#3241)
+        if (geometry === 'vertex' && entity.isOnAddressLine(context.graph())) {
+            geometry = 'point';
+        }
+
+        var presets = context.presets().matchGeometry(geometry);
 
         selection.html('');
 
@@ -37905,7 +38067,7 @@ iD.ui.PresetList = function(context) {
         if (context.entity(id).isUsed(context.graph())) {
             messagewrap.append('button')
                 .attr('class', 'preset-choose')
-                .on('click', function() { event.choose(currentPreset); })
+                .on('click', function() { dispatch.choose(currentPreset); })
                 .append('span')
                 .html('&#9658;');
         } else {
@@ -38100,7 +38262,7 @@ iD.ui.PresetList = function(context) {
                 iD.actions.ChangePreset(id, currentPreset, preset),
                 t('operations.change_tags.annotation'));
 
-            event.choose(preset);
+            dispatch.choose(preset);
         };
 
         item.help = function() {
@@ -38133,7 +38295,7 @@ iD.ui.PresetList = function(context) {
         return presetList;
     };
 
-    return d3.rebind(presetList, event, 'on');
+    return d3.rebind(presetList, dispatch, 'on');
 };
 iD.ui.RadialMenu = function(context, operations) {
     var menu,
@@ -41044,7 +41206,7 @@ iD.ui.preset.maxspeed = function(field, context) {
 
         imperial = _.some(iD.data.imperial.features, function(f) {
             return _.some(f.geometry.coordinates, function(d) {
-                return iD.geo.pointInPolygon(loc, d[0]);
+                return iD.geo.pointInPolygon(loc, d);
             });
         });
 
@@ -42188,8 +42350,14 @@ iD.presets = function() {
     };
 
     all.match = function(entity, resolver) {
-        var geometry = entity.geometry(resolver),
-            geometryMatches = index[geometry],
+        var geometry = entity.geometry(resolver);
+
+        // Treat entities on addr:interpolation lines as points, not vertices (#3241)
+        if (geometry === 'vertex' && entity.isOnAddressLine(resolver)) {
+            geometry = 'point';
+        }
+
+        var geometryMatches = index[geometry],
             best = -1,
             match;
 
@@ -42770,4 +42938,4 @@ function t(s, o, loc) {
 
     return missing;
 }
-iD.introGraph = '{"n185954700":{"id":"n185954700","loc":[-85.642244,41.939081]},"n185964961":{"id":"n185964961","loc":[-85.6406588,41.942601]},"n185964962":{"id":"n185964962","loc":[-85.6394548,41.94261]},"n185970607":{"id":"n185970607","loc":[-85.641094,41.94006]},"n185970614":{"id":"n185970614","loc":[-85.641825,41.941316]},"n185970616":{"id":"n185970616","loc":[-85.641838,41.941556]},"n185973650":{"id":"n185973650","loc":[-85.639918,41.940064]},"n185973660":{"id":"n185973660","loc":[-85.640645,41.941339]},"n185973659":{"id":"n185973659","loc":[-85.6406115,41.9400658]},"n185974479":{"id":"n185974479","loc":[-85.639402,41.941344]},"n185974481":{"id":"n185974481","loc":[-85.643071,41.941288]},"n185976259":{"id":"n185976259","loc":[-85.642213,41.940043]},"n185976261":{"id":"n185976261","loc":[-85.643056,41.94001]},"n185964959":{"id":"n185964959","loc":[-85.6431031,41.9425754]},"n185964960":{"id":"n185964960","loc":[-85.6418749,41.9425864]},"n185981481":{"id":"n185981481","loc":[-85.6386827,41.9400828]},"n185981482":{"id":"n185981482","loc":[-85.6393664,41.9400854]},"n2138493844":{"id":"n2138493844","loc":[-85.6427969,41.940522]},"n2138493845":{"id":"n2138493845","loc":[-85.6425891,41.9405228]},"n2138493846":{"id":"n2138493846","loc":[-85.6425868,41.9402875]},"n2138493847":{"id":"n2138493847","loc":[-85.6427969,41.9402858]},"n2138493848":{"id":"n2138493848","loc":[-85.6425708,41.9405234]},"n2138493849":{"id":"n2138493849","loc":[-85.642568,41.9402855]},"n2138493850":{"id":"n2138493850","loc":[-85.6423157,41.9402886]},"n2138493851":{"id":"n2138493851","loc":[-85.6423212,41.9404362]},"n2138493852":{"id":"n2138493852","loc":[-85.6422923,41.9404578]},"n2138493853":{"id":"n2138493853","loc":[-85.6422868,41.9404834]},"n2138493854":{"id":"n2138493854","loc":[-85.6423226,41.9405091]},"n2138493855":{"id":"n2138493855","loc":[-85.6423847,41.9405111]},"n2138493856":{"id":"n2138493856","loc":[-85.6424081,41.9405265]},"n2140155811":{"id":"n2140155811","loc":[-85.6419547,41.9410956]},"n2140155814":{"id":"n2140155814","loc":[-85.6427577,41.9410884]},"n2140155816":{"id":"n2140155816","loc":[-85.6427545,41.9410052]},"n2140155818":{"id":"n2140155818","loc":[-85.6428057,41.9410028]},"n2140155821":{"id":"n2140155821","loc":[-85.6427993,41.9407339]},"n2140155823":{"id":"n2140155823","loc":[-85.6427385,41.9407339]},"n2140155825":{"id":"n2140155825","loc":[-85.6427417,41.9406435]},"n2140155827":{"id":"n2140155827","loc":[-85.6419515,41.9406482]},"n2140155828":{"id":"n2140155828","loc":[-85.6429368,41.9412407]},"n2140155829":{"id":"n2140155829","loc":[-85.6417756,41.9412526]},"n2140155830":{"id":"n2140155830","loc":[-85.641766,41.9405983]},"n2140155831":{"id":"n2140155831","loc":[-85.6419803,41.9405983]},"n2140155832":{"id":"n2140155832","loc":[-85.6419611,41.9401366]},"n2140155833":{"id":"n2140155833","loc":[-85.6429336,41.94012]},"n2140155834":{"id":"n2140155834","loc":[-85.6430697,41.9411732]},"n2140155835":{"id":"n2140155835","loc":[-85.6428411,41.9409974]},"n2140155837":{"id":"n2140155837","loc":[-85.6428388,41.9407211]},"n2140155839":{"id":"n2140155839","loc":[-85.6430624,41.9405521]},"n2140155840":{"id":"n2140155840","loc":[-85.6427323,41.9412396]},"n2140155842":{"id":"n2140155842","loc":[-85.6418147,41.9412457]},"n2140155844":{"id":"n2140155844","loc":[-85.641813,41.9411319]},"n2140155845":{"id":"n2140155845","loc":[-85.6418394,41.9411111]},"n2140155847":{"id":"n2140155847","loc":[-85.6418838,41.9410977]},"n2140155849":{"id":"n2140155849","loc":[-85.6427324,41.9410921]},"n2140155851":{"id":"n2140155851","loc":[-85.6427798,41.9412945]},"n2140155852":{"id":"n2140155852","loc":[-85.6427701,41.9411777]},"n2140155854":{"id":"n2140155854","loc":[-85.6427323,41.9411572]},"n2140155856":{"id":"n2140155856","loc":[-85.6418478,41.9411666]},"n2165942818":{"id":"n2165942818","loc":[-85.6437533,41.9415029]},"n2165942819":{"id":"n2165942819","loc":[-85.6437623,41.9421195]},"n2168510551":{"id":"n2168510551","loc":[-85.6423795,41.9422615]},"n2168510552":{"id":"n2168510552","loc":[-85.6423744,41.9419439]},"n2168510553":{"id":"n2168510553","loc":[-85.642518,41.9419427]},"n2168510554":{"id":"n2168510554","loc":[-85.6425186,41.9419801]},"n2168510555":{"id":"n2168510555","loc":[-85.6428314,41.9419773]},"n2168510556":{"id":"n2168510556","loc":[-85.6428368,41.9423116]},"n2168510557":{"id":"n2168510557","loc":[-85.6424947,41.9423146]},"n2168510558":{"id":"n2168510558","loc":[-85.6424938,41.9422605]},"n2189046007":{"id":"n2189046007","loc":[-85.6410866,41.9424327]},"n2189046009":{"id":"n2189046009","loc":[-85.6410805,41.9420061]},"n2189046011":{"id":"n2189046011","loc":[-85.6412443,41.9420048]},"n2189046012":{"id":"n2189046012","loc":[-85.6412505,41.9424314]},"n2189046014":{"id":"n2189046014","loc":[-85.6413311,41.942968]},"n2189046016":{"id":"n2189046016","loc":[-85.6413281,41.942713]},"n2189046018":{"id":"n2189046018","loc":[-85.641521,41.9427117]},"n2189046021":{"id":"n2189046021","loc":[-85.6415234,41.9429236]},"n2189046022":{"id":"n2189046022","loc":[-85.6415045,41.9429238]},"n2189046025":{"id":"n2189046025","loc":[-85.641505,41.9429668]},"n2189046053":{"id":"n2189046053","loc":[-85.6385988,41.942412]},"n2189046054":{"id":"n2189046054","loc":[-85.6385985,41.9423311]},"n2189046055":{"id":"n2189046055","loc":[-85.6387617,41.9423308]},"n2189046056":{"id":"n2189046056","loc":[-85.6387616,41.9423026]},"n2189046058":{"id":"n2189046058","loc":[-85.6388215,41.9423025]},"n2189046059":{"id":"n2189046059","loc":[-85.6388219,41.9424115]},"n2189046060":{"id":"n2189046060","loc":[-85.6391096,41.9424486]},"n2189046061":{"id":"n2189046061","loc":[-85.6391105,41.9423673]},"n2189046063":{"id":"n2189046063","loc":[-85.6392911,41.9423684]},"n2189046065":{"id":"n2189046065","loc":[-85.6392903,41.9424497]},"n2189046067":{"id":"n2189046067","loc":[-85.6397927,41.9423876]},"n2189046069":{"id":"n2189046069","loc":[-85.6397897,41.9422981]},"n2189046070":{"id":"n2189046070","loc":[-85.6399702,41.9422947]},"n2189046072":{"id":"n2189046072","loc":[-85.6399732,41.9423843]},"n2189046074":{"id":"n2189046074","loc":[-85.6396331,41.9430227]},"n2189046075":{"id":"n2189046075","loc":[-85.6398673,41.9430189]},"n2189046077":{"id":"n2189046077","loc":[-85.6398656,41.9429637]},"n2189046079":{"id":"n2189046079","loc":[-85.6398885,41.9429633]},"n2189046082":{"id":"n2189046082","loc":[-85.6398832,41.942779]},"n2189046083":{"id":"n2189046083","loc":[-85.6398513,41.9427796]},"n2189046085":{"id":"n2189046085","loc":[-85.6398502,41.9427401]},"n2189046087":{"id":"n2189046087","loc":[-85.6397889,41.9427411]},"n2189046089":{"id":"n2189046089","loc":[-85.6397892,41.942753]},"n2189046090":{"id":"n2189046090","loc":[-85.6396983,41.9427544]},"n2189046092":{"id":"n2189046092","loc":[-85.6396993,41.9427882]},"n2189046094":{"id":"n2189046094","loc":[-85.6396746,41.9427886]},"n2189046096":{"id":"n2189046096","loc":[-85.6396758,41.9428296]},"n2189046097":{"id":"n2189046097","loc":[-85.6397007,41.9428292]},"n2189046099":{"id":"n2189046099","loc":[-85.6397018,41.9428686]},"n2189046103":{"id":"n2189046103","loc":[-85.6396289,41.9428697]},"n2189046112":{"id":"n2189046112","loc":[-85.6435683,41.9429457]},"n2189046113":{"id":"n2189046113","loc":[-85.643568,41.9427766]},"n2189046115":{"id":"n2189046115","loc":[-85.6434011,41.9427767]},"n2189046116":{"id":"n2189046116","loc":[-85.6434012,41.9428631]},"n2189046117":{"id":"n2189046117","loc":[-85.643448,41.9428631]},"n2189046118":{"id":"n2189046118","loc":[-85.6434481,41.9429457]},"n2189046119":{"id":"n2189046119","loc":[-85.6428363,41.9429809]},"n2189046120":{"id":"n2189046120","loc":[-85.6429171,41.9429791]},"n2189046121":{"id":"n2189046121","loc":[-85.642914,41.9429041]},"n2189046122":{"id":"n2189046122","loc":[-85.6429385,41.9429035]},"n2189046123":{"id":"n2189046123","loc":[-85.6429348,41.9428126]},"n2189046124":{"id":"n2189046124","loc":[-85.6427746,41.9428163]},"n2189046125":{"id":"n2189046125","loc":[-85.6427783,41.942906]},"n2189046126":{"id":"n2189046126","loc":[-85.6428332,41.9429047]},"n2189046127":{"id":"n2189046127","loc":[-85.6423018,41.9428859]},"n2189046128":{"id":"n2189046128","loc":[-85.6422987,41.9427208]},"n2189046130":{"id":"n2189046130","loc":[-85.6424218,41.9427195]},"n2189046131":{"id":"n2189046131","loc":[-85.6424246,41.9428684]},"n2189046132":{"id":"n2189046132","loc":[-85.6423845,41.9428689]},"n2189046133":{"id":"n2189046133","loc":[-85.6423848,41.942885]},"n2189046134":{"id":"n2189046134","loc":[-85.641533,41.9429392]},"n2189046135":{"id":"n2189046135","loc":[-85.6416096,41.9428768]},"n2189046137":{"id":"n2189046137","loc":[-85.6416763,41.9429221]},"n2189046138":{"id":"n2189046138","loc":[-85.6415997,41.9429845]},"n2189046139":{"id":"n2189046139","loc":[-85.6420598,41.9428016]},"n2189046140":{"id":"n2189046140","loc":[-85.6420593,41.9427415]},"n2189046141":{"id":"n2189046141","loc":[-85.6421957,41.9427409]},"n2189046142":{"id":"n2189046142","loc":[-85.6421963,41.9428182]},"n2189046143":{"id":"n2189046143","loc":[-85.6421281,41.9428185]},"n2189046144":{"id":"n2189046144","loc":[-85.6421279,41.9428013]},"n2189046145":{"id":"n2189046145","loc":[-85.6409429,41.9429345]},"n2189046146":{"id":"n2189046146","loc":[-85.6410354,41.9429334]},"n2189046147":{"id":"n2189046147","loc":[-85.6410325,41.9427972]},"n2189046148":{"id":"n2189046148","loc":[-85.640997,41.9427976]},"n2189046149":{"id":"n2189046149","loc":[-85.6409963,41.9427643]},"n2189046150":{"id":"n2189046150","loc":[-85.6408605,41.9427659]},"n2189046152":{"id":"n2189046152","loc":[-85.6408623,41.9428482]},"n2189046153":{"id":"n2189046153","loc":[-85.640941,41.9428473]},"n2189152992":{"id":"n2189152992","loc":[-85.6437661,41.9422257]},"n2189152993":{"id":"n2189152993","loc":[-85.643768,41.9424067]},"n2189152994":{"id":"n2189152994","loc":[-85.6432176,41.9417705]},"n2189152995":{"id":"n2189152995","loc":[-85.6432097,41.941327]},"n2189152996":{"id":"n2189152996","loc":[-85.6436493,41.9413226]},"n2189152997":{"id":"n2189152997","loc":[-85.6436563,41.9417164]},"n2189152998":{"id":"n2189152998","loc":[-85.6435796,41.9417171]},"n2189152999":{"id":"n2189152999","loc":[-85.6435805,41.9417669]},"n2189153000":{"id":"n2189153000","loc":[-85.6438202,41.9414953]},"n2189153001":{"id":"n2189153001","loc":[-85.6438173,41.9413175]},"n2189153004":{"id":"n2189153004","loc":[-85.6432535,41.9418466]},"n2189153005":{"id":"n2189153005","loc":[-85.6433935,41.9418599]},"n2189153006":{"id":"n2189153006","loc":[-85.6434831,41.9418986]},"n2189153007":{"id":"n2189153007","loc":[-85.6435678,41.9419774]},"n2189153008":{"id":"n2189153008","loc":[-85.6435987,41.9420282]},"n2189153009":{"id":"n2189153009","loc":[-85.643438,41.9419573]},"n2189153010":{"id":"n2189153010","loc":[-85.6435284,41.9424676]},"n2189153011":{"id":"n2189153011","loc":[-85.6436207,41.9423631]},"n2189153012":{"id":"n2189153012","loc":[-85.6434957,41.9422973]},"n2189153013":{"id":"n2189153013","loc":[-85.6434457,41.9422458]},"n2189153014":{"id":"n2189153014","loc":[-85.6433976,41.9421772]},"n2189153015":{"id":"n2189153015","loc":[-85.6433861,41.9420785]},"n2189153016":{"id":"n2189153016","loc":[-85.6433765,41.9420313]},"n2189153017":{"id":"n2189153017","loc":[-85.6432207,41.9420284]},"n2189153018":{"id":"n2189153018","loc":[-85.6432245,41.9422759]},"n2189153019":{"id":"n2189153019","loc":[-85.6432649,41.9423474]},"n2189153020":{"id":"n2189153020","loc":[-85.6433226,41.9424132]},"n2189153021":{"id":"n2189153021","loc":[-85.6434111,41.9424704]},"n2189153022":{"id":"n2189153022","loc":[-85.6434591,41.9424347]},"n2189153025":{"id":"n2189153025","loc":[-85.6437669,41.9423073]},"n2189153026":{"id":"n2189153026","loc":[-85.6436611,41.942293]},"n2189153027":{"id":"n2189153027","loc":[-85.6435784,41.9422473]},"n2189153028":{"id":"n2189153028","loc":[-85.6435245,41.9421443]},"n2189153029":{"id":"n2189153029","loc":[-85.6435149,41.9420613]},"n2189153030":{"id":"n2189153030","loc":[-85.6433528,41.9419269]},"n2189153031":{"id":"n2189153031","loc":[-85.6432535,41.9419191]},"n2189153032":{"id":"n2189153032","loc":[-85.6430868,41.9419198]},"n2189153033":{"id":"n2189153033","loc":[-85.6434894,41.9420033]},"n2189153034":{"id":"n2189153034","loc":[-85.6432974,41.9419225]},"n2189153035":{"id":"n2189153035","loc":[-85.6433055,41.9421632]},"n2189153036":{"id":"n2189153036","loc":[-85.6433538,41.9422849]},"n2189153037":{"id":"n2189153037","loc":[-85.6434718,41.9423887]},"n2189153038":{"id":"n2189153038","loc":[-85.6436134,41.9422667]},"n2189153040":{"id":"n2189153040","loc":[-85.6438759,41.9414017]},"n2189153041":{"id":"n2189153041","loc":[-85.6438181,41.9413687]},"n2189153042":{"id":"n2189153042","loc":[-85.6436821,41.9413044]},"n2189153043":{"id":"n2189153043","loc":[-85.6435899,41.9412862]},"n2189153044":{"id":"n2189153044","loc":[-85.6433169,41.9417268]},"n2189153045":{"id":"n2189153045","loc":[-85.643301,41.9412859]},"n2189153046":{"id":"n2189153046","loc":[-85.6435531,41.9416981]},"n2189153047":{"id":"n2189153047","loc":[-85.6435427,41.9412863]},"n185948706":{"id":"n185948706","loc":[-85.6369439,41.940122]},"n185949348":{"id":"n185949348","loc":[-85.640039,41.931135]},"n185949870":{"id":"n185949870","loc":[-85.643195,41.949261]},"n185954680":{"id":"n185954680","loc":[-85.6337802,41.9401143]},"n185954784":{"id":"n185954784","loc":[-85.6487485,41.942527]},"n185958670":{"id":"n185958670","loc":[-85.637255,41.940104]},"n185958672":{"id":"n185958672","loc":[-85.636996,41.941355]},"n185960207":{"id":"n185960207","loc":[-85.634992,41.940118]},"n185963163":{"id":"n185963163","loc":[-85.638831,41.93398]},"n185963165":{"id":"n185963165","loc":[-85.640073,41.933968]},"n185963167":{"id":"n185963167","loc":[-85.641225,41.933972]},"n185963168":{"id":"n185963168","loc":[-85.642386,41.933952]},"n185964695":{"id":"n185964695","loc":[-85.6443608,41.9425645]},"n185964697":{"id":"n185964697","loc":[-85.644384,41.939941]},"n185964963":{"id":"n185964963","loc":[-85.6382347,41.9426146]},"n185964965":{"id":"n185964965","loc":[-85.637022,41.942622]},"n185964967":{"id":"n185964967","loc":[-85.6363706,41.9426606]},"n185964968":{"id":"n185964968","loc":[-85.6357988,41.9427748]},"n185964969":{"id":"n185964969","loc":[-85.6355409,41.9428465]},"n185964970":{"id":"n185964970","loc":[-85.6348729,41.9430443]},"n185966958":{"id":"n185966958","loc":[-85.641946,41.946413]},"n185966960":{"id":"n185966960","loc":[-85.643148,41.946389]},"n185967774":{"id":"n185967774","loc":[-85.641889,41.943852]},"n185967775":{"id":"n185967775","loc":[-85.641922,41.945121]},"n185967776":{"id":"n185967776","loc":[-85.641927,41.947544]},"n185967777":{"id":"n185967777","loc":[-85.641982,41.947622]},"n185969289":{"id":"n185969289","loc":[-85.63928,41.929221]},"n185969704":{"id":"n185969704","loc":[-85.6388186,41.9350099]},"n185969706":{"id":"n185969706","loc":[-85.6400709,41.9349957]},"n185969708":{"id":"n185969708","loc":[-85.6412214,41.9349827]},"n185969710":{"id":"n185969710","loc":[-85.6423509,41.934974]},"n185970602":{"id":"n185970602","loc":[-85.641293,41.931817]},"n185970604":{"id":"n185970604","loc":[-85.641258,41.932705]},"n185970605":{"id":"n185970605","loc":[-85.641148,41.936984]},"n185970606":{"id":"n185970606","loc":[-85.641112,41.938169]},"n185970906":{"id":"n185970906","loc":[-85.639454,41.943871]},"n185970908":{"id":"n185970908","loc":[-85.6394635,41.9450504]},"n185970909":{"id":"n185970909","loc":[-85.6394914,41.9451911]},"n185971368":{"id":"n185971368","loc":[-85.635769,41.940122]},"n185971978":{"id":"n185971978","loc":[-85.640003,41.936988]},"n185971980":{"id":"n185971980","loc":[-85.642299,41.936988]},"n185973633":{"id":"n185973633","loc":[-85.639023,41.92861]},"n185973635":{"id":"n185973635","loc":[-85.639153,41.928969]},"n185973637":{"id":"n185973637","loc":[-85.639213,41.929088]},"n185973639":{"id":"n185973639","loc":[-85.63935,41.929396]},"n185973641":{"id":"n185973641","loc":[-85.640143,41.931462]},"n185973644":{"id":"n185973644","loc":[-85.64019,41.931788]},"n185973646":{"id":"n185973646","loc":[-85.6401365,41.9327199]},"n185973648":{"id":"n185973648","loc":[-85.639983,41.938174]},"n185974477":{"id":"n185974477","loc":[-85.638206,41.941331]},"n185975928":{"id":"n185975928","loc":[-85.640683,41.94513]},"n185975930":{"id":"n185975930","loc":[-85.643102,41.945103]},"n185976255":{"id":"n185976255","loc":[-85.642424,41.931817]},"n185976257":{"id":"n185976257","loc":[-85.64242,41.932699]},"n185976258":{"id":"n185976258","loc":[-85.6422621,41.9381489]},"n185977452":{"id":"n185977452","loc":[-85.6457497,41.9398834]},"n185978772":{"id":"n185978772","loc":[-85.646656,41.939869]},"n185981472":{"id":"n185981472","loc":[-85.6388962,41.9321266]},"n185981474":{"id":"n185981474","loc":[-85.6388769,41.9327334]},"n185981476":{"id":"n185981476","loc":[-85.638829,41.934116]},"n185981478":{"id":"n185981478","loc":[-85.63876,41.937002]},"n185981480":{"id":"n185981480","loc":[-85.638682,41.93819]},"n185981999":{"id":"n185981999","loc":[-85.638194,41.9400866]},"n185982001":{"id":"n185982001","loc":[-85.646302,41.93988]},"n185982877":{"id":"n185982877","loc":[-85.640676,41.943867]},"n185982879":{"id":"n185982879","loc":[-85.640734,41.945887]},"n185985823":{"id":"n185985823","loc":[-85.643106,41.943841]},"n185985824":{"id":"n185985824","loc":[-85.643145,41.947641]},"n185985825":{"id":"n185985825","loc":[-85.643219,41.950829]},"n1475301385":{"id":"n1475301385","loc":[-85.6360612,41.9427042]},"n1475301397":{"id":"n1475301397","loc":[-85.6366651,41.9426328]},"n2139795811":{"id":"n2139795811","loc":[-85.6469154,41.9425427]},"n2139795830":{"id":"n2139795830","loc":[-85.6443194,41.9399444]},"n2139795834":{"id":"n2139795834","loc":[-85.6453506,41.9399002]},"n2139795837":{"id":"n2139795837","loc":[-85.645806,41.9398831]},"n2139858932":{"id":"n2139858932","loc":[-85.6351721,41.9429557]},"n2140019000":{"id":"n2140019000","loc":[-85.6359935,41.9427224]},"n2165942817":{"id":"n2165942817","loc":[-85.6442017,41.9414993]},"n2165942820":{"id":"n2165942820","loc":[-85.6442107,41.9421159]},"n2189152990":{"id":"n2189152990","loc":[-85.6442328,41.942404]},"n2189152991":{"id":"n2189152991","loc":[-85.6442309,41.9422229]},"n2189153002":{"id":"n2189153002","loc":[-85.6441329,41.9413147]},"n2189153003":{"id":"n2189153003","loc":[-85.6441357,41.9414925]},"n2189153023":{"id":"n2189153023","loc":[-85.6443453,41.9423074]},"n2189153024":{"id":"n2189153024","loc":[-85.6442318,41.9423045]},"n2189153039":{"id":"n2189153039","loc":[-85.6441343,41.9414025]},"w208643102":{"id":"w208643102","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153034","n2189153035","n2189153036","n2189153037","n2189153038"]},"w17966942":{"id":"w17966942","tags":{"highway":"residential","name":"Millard St"},"nodes":["n185954680","n185960207","n185971368","n185948706","n185958670","n185981999","n185981481","n185981482","n185973650","n185973659","n185970607","n185976259","n185976261","n2139795830","n185964697","n2139795834","n185977452","n2139795837","n185982001","n185978772"]},"w208643105":{"id":"w208643105","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153046","n2189153047"]},"w208631637":{"id":"w208631637","tags":{"area":"yes","building":"yes"},"nodes":["n2189046014","n2189046016","n2189046018","n2189046021","n2189046022","n2189046025","n2189046014"]},"w208643096":{"id":"w208643096","tags":{"amenity":"parking","area":"yes","fee":"no"},"nodes":["n2189152990","n2189153024","n2189152991","n2189152992","n2189153025","n2189152993","n2189152990"]},"w208631656":{"id":"w208631656","tags":{"area":"yes","building":"yes"},"nodes":["n2189046134","n2189046135","n2189046137","n2189046138","n2189046134"]},"w204003417":{"id":"w204003417","tags":{"area":"yes","building":"school"},"nodes":["n2140155811","n2140155814","n2140155816","n2140155818","n2140155821","n2140155823","n2140155825","n2140155827","n2140155811"]},"w208631654":{"id":"w208631654","tags":{"area":"yes","building":"yes"},"nodes":["n2189046127","n2189046128","n2189046130","n2189046131","n2189046132","n2189046133","n2189046127"]},"w17966327":{"id":"w17966327","tags":{"highway":"residential","name":"S Douglas Ave"},"nodes":["n185976261","n2140155839","n2140155834","n185974481","n2189153032","n185964959"]},"w41785752":{"id":"w41785752","tags":{"highway":"primary","name":"West Michigan Avenue","old_ref":"US 131","ref":"US 131 Business;M 60","access":"yes"},"nodes":["n185954784","n2139795811","n185964695","n185964959","n185964960","n185964961","n185964962","n185964963","n185964965","n1475301397","n185964967","n1475301385","n2140019000","n185964968","n185964969","n2139858932","n185964970"]},"w203841842":{"id":"w203841842","tags":{"area":"yes","leisure":"playground"},"nodes":["n2138493848","n2138493849","n2138493850","n2138493851","n2138493852","n2138493853","n2138493854","n2138493855","n2138493856","n2138493848"]},"w208643103":{"id":"w208643103","tags":{"highway":"service"},"nodes":["n2189153039","n2189153040","n2189153041","n2189153042","n2189153043","n2189153047","n2189153045","n185974481"]},"w208643098":{"id":"w208643098","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153000","n2189153041","n2189153001","n2189153002","n2189153039","n2189153003","n2189153000"]},"w208631646":{"id":"w208631646","tags":{"area":"yes","building":"yes"},"nodes":["n2189046067","n2189046069","n2189046070","n2189046072","n2189046067"]},"w208631653":{"id":"w208631653","tags":{"area":"yes","building":"yes"},"nodes":["n2189046119","n2189046120","n2189046121","n2189046122","n2189046123","n2189046124","n2189046125","n2189046126","n2189046119"]},"w17966041":{"id":"w17966041","tags":{"highway":"residential","name":"S Lincoln Ave"},"nodes":["n185973659","n185973660","n185964961"]},"w208631645":{"id":"w208631645","tags":{"area":"yes","building":"yes"},"nodes":["n2189046060","n2189046061","n2189046063","n2189046065","n2189046060"]},"w206803397":{"id":"w206803397","tags":{"area":"yes","building":"yes"},"nodes":["n2168510551","n2168510552","n2168510553","n2168510554","n2168510555","n2168510556","n2168510557","n2168510558","n2168510551"]},"w17965792":{"id":"w17965792","tags":{"highway":"residential","name":"N Hooker Ave"},"nodes":["n185964962","n185970906","n185970908","n185970909"]},"w208631651":{"id":"w208631651","tags":{"area":"yes","building":"yes"},"nodes":["n2189046112","n2189046113","n2189046115","n2189046116","n2189046117","n2189046118","n2189046112"]},"w208631643":{"id":"w208631643","tags":{"area":"yes","building":"yes"},"nodes":["n2189046053","n2189046054","n2189046055","n2189046056","n2189046058","n2189046059","n2189046053"]},"w17966878":{"id":"w17966878","tags":{"highway":"residential","name":"S Hooker Ave"},"nodes":["n185981472","n185981474","n185963163","n185981476","n185969704","n185981478","n185981480","n185981481"]},"w17966102":{"id":"w17966102","tags":{"highway":"residential","name":"South St"},"nodes":["n185958672","n185974477","n185974479","n185973660","n185970614"]},"w208631660":{"id":"w208631660","tags":{"area":"yes","building":"yes"},"nodes":["n2189046145","n2189046146","n2189046147","n2189046148","n2189046149","n2189046150","n2189046152","n2189046153","n2189046145"]},"w208643101":{"id":"w208643101","tags":{"highway":"service"},"nodes":["n2189153023","n2189153024","n2189153025","n2189153026","n2189153038","n2189153027","n2189153028","n2189153029","n2189153033","n2189153009","n2189153030","n2189153034","n2189153031","n2189153032"]},"w204000205":{"id":"w204000205","tags":{"highway":"residential","name":"South St","oneway":"yes"},"nodes":["n185974481","n2140155851","n185970614"]},"w203841841":{"id":"w203841841","tags":{"area":"yes","leisure":"pitch","pitch":"basketball"},"nodes":["n2138493844","n2138493845","n2138493846","n2138493847","n2138493844"]},"w17965444":{"id":"w17965444","tags":{"highway":"residential","name":"N Grant Ave"},"nodes":["n185964960","n185967774","n185967775","n185966958","n185967776","n185967777"]},"w208631648":{"id":"w208631648","tags":{"area":"yes","building":"yes"},"nodes":["n2189046074","n2189046075","n2189046077","n2189046079","n2189046082","n2189046083","n2189046085","n2189046087","n2189046089","n2189046090","n2189046092","n2189046094","n2189046096","n2189046097","n2189046099","n2189046103","n2189046074"]},"w208643100":{"id":"w208643100","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153010","n2189153011","n2189153012","n2189153013","n2189153014","n2189153015","n2189153016","n2189153017","n2189153018","n2189153019","n2189153020","n2189153021","n2189153022","n2189153010"]},"w17965749":{"id":"w17965749","tags":{"highway":"residential","name":"S Grant Ave"},"nodes":["n185970614","n185970616","n185964960"]},"w206574482":{"id":"w206574482","tags":{"amenity":"library","area":"yes","building":"yes","name":"Three Rivers Public Library"},"nodes":["n2165942817","n2165942818","n2165942819","n2165942820","n2165942817"]},"w208643097":{"id":"w208643097","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189152994","n2189152995","n2189152996","n2189152997","n2189152998","n2189152999","n2189152994"]},"w17966879":{"id":"w17966879","tags":{"highway":"residential","name":"S Hooker Ave"},"nodes":["n185981482","n185974479","n185964962"]},"w17966325":{"id":"w17966325","tags":{"highway":"residential","name":"S Douglas Ave"},"nodes":["n185976255","n185976257","n185963168","n185969710","n185971980","n185976258","n185954700","n185976259"]},"w17967390":{"id":"w17967390","tags":{"highway":"residential","name":"N Douglas Ave"},"nodes":["n185964959","n185985823","n185975930","n185966960","n185985824","n185949870","n185985825"]},"w208631635":{"id":"w208631635","tags":{"area":"yes","building":"yes"},"nodes":["n2189046007","n2189046009","n2189046011","n2189046012","n2189046007"]},"w208643099":{"id":"w208643099","tags":{"amenity":"parking","area":"yes"},"nodes":["n2189153031","n2189153004","n2189153005","n2189153006","n2189153007","n2189153008","n2189153029","n2189153033","n2189153009","n2189153030","n2189153031"]},"w208631658":{"id":"w208631658","tags":{"area":"yes","building":"yes"},"nodes":["n2189046139","n2189046140","n2189046141","n2189046142","n2189046143","n2189046144","n2189046139"]},"w208643104":{"id":"w208643104","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2189153044","n2189153045"]},"w17966039":{"id":"w17966039","tags":{"highway":"residential","name":"S Lincoln Ave"},"nodes":["n185973633","n185973635","n185973637","n185969289","n185973639","n185949348","n185973641","n185973644","n185973646","n185963165","n185969706","n185971978","n185973648","n185973650"]},"w204003420":{"id":"w204003420","tags":{"amenity":"parking","area":"yes"},"nodes":["n2140155840","n2140155842","n2140155844","n2140155845","n2140155847","n2140155849","n2140155854","n2140155840"]},"w204003419":{"id":"w204003419","tags":{"highway":"service"},"nodes":["n2140155834","n2140155835","n2140155837","n2140155839"]},"w204003418":{"id":"w204003418","tags":{"amenity":"school","area":"yes","name":"Andrews Elementary School"},"nodes":["n2140155828","n2140155829","n2140155830","n2140155831","n2140155832","n2140155833","n2140155828"]},"w17965747":{"id":"w17965747","tags":{"highway":"residential","name":"S Grant Ave"},"nodes":["n185970602","n185970604","n185963167","n185969708","n185970605","n185970606","n185970607"]},"w17967073":{"id":"w17967073","tags":{"highway":"residential","name":"N Lincoln Ave"},"nodes":["n185964961","n185982877","n185975928","n185982879"]},"w204003421":{"id":"w204003421","tags":{"highway":"service","service":"parking_aisle"},"nodes":["n2140155851","n2140155852","n2140155854","n2140155856"]},"r1943857":{"id":"r1943857","tags":{"modifier":"Business","name":"US 131 Business (Three Rivers, MI)","network":"US:US","ref":"131","route":"road","type":"route"},"members":[{"id":"w17966509","type":"way","role":"forward"},{"id":"w143497377","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w41785752","type":"way","role":""},{"id":"w17965146","type":"way","role":"forward"},{"id":"w17964031","type":"way","role":"forward"}]},"r270277":{"id":"r270277","tags":{"network":"US:MI","ref":"60","route":"road","state_id":"MI","type":"route","url":"http://en.wikipedia.org/wiki/M-60_%28Michigan_highway%29"},"members":[{"id":"w17751087","type":"way","role":"east"},{"id":"w117148312","type":"way","role":"east"},{"id":"w40942155","type":"way","role":"west"},{"id":"w17751017","type":"way","role":""},{"id":"w17751083","type":"way","role":""},{"id":"w17747780","type":"way","role":""},{"id":"w41068082","type":"way","role":""},{"id":"w197025212","type":"way","role":""},{"id":"w17743874","type":"way","role":""},{"id":"w17751044","type":"way","role":""},{"id":"w17752167","type":"way","role":""},{"id":"w17751089","type":"way","role":""},{"id":"w17743879","type":"way","role":""},{"id":"w17751064","type":"way","role":""},{"id":"w197057073","type":"way","role":""},{"id":"w167699963","type":"way","role":""},{"id":"w167699972","type":"way","role":""},{"id":"w17967584","type":"way","role":""},{"id":"w167699964","type":"way","role":""},{"id":"w17967582","type":"way","role":"west"},{"id":"w41260270","type":"way","role":"west"},{"id":"w17965146","type":"way","role":"west"},{"id":"w41785752","type":"way","role":""},{"id":"w134150795","type":"way","role":""},{"id":"w134150789","type":"way","role":""},{"id":"w134150800","type":"way","role":""},{"id":"w134150811","type":"way","role":""},{"id":"w134150836","type":"way","role":""},{"id":"w134150802","type":"way","role":""},{"id":"w41074896","type":"way","role":""},{"id":"w17966773","type":"way","role":""},{"id":"w17967415","type":"way","role":""},{"id":"w41074899","type":"way","role":""},{"id":"w17967581","type":"way","role":""},{"id":"w41074902","type":"way","role":""},{"id":"w41074906","type":"way","role":""},{"id":"w209707997","type":"way","role":""},{"id":"w209707998","type":"way","role":""},{"id":"w17964798","type":"way","role":""},{"id":"w17966034","type":"way","role":""},{"id":"w17967593","type":"way","role":""},{"id":"w41074888","type":"way","role":""},{"id":"w17733772","type":"way","role":""},{"id":"w41074813","type":"way","role":""},{"id":"w17742213","type":"way","role":""},{"id":"w17746863","type":"way","role":""},{"id":"w17745772","type":"way","role":""},{"id":"w17742222","type":"way","role":""},{"id":"w17745922","type":"way","role":""},{"id":"w17742198","type":"way","role":""},{"id":"w17747675","type":"way","role":""},{"id":"w17739927","type":"way","role":""},{"id":"w17745708","type":"way","role":""},{"id":"w41006323","type":"way","role":""},{"id":"w17744233","type":"way","role":""},{"id":"w17739436","type":"way","role":""},{"id":"w17742201","type":"way","role":""},{"id":"w151418616","type":"way","role":""},{"id":"w17750062","type":"way","role":""},{"id":"w17742227","type":"way","role":"east"},{"id":"w41006348","type":"way","role":"east"},{"id":"w41260984","type":"way","role":""},{"id":"w17832427","type":"way","role":""},{"id":"w17838408","type":"way","role":""},{"id":"w17835846","type":"way","role":""},{"id":"w17832923","type":"way","role":""},{"id":"w17839388","type":"way","role":""},{"id":"w17838390","type":"way","role":""},{"id":"w17831272","type":"way","role":""},{"id":"w17828581","type":"way","role":""},{"id":"w38240686","type":"way","role":""},{"id":"w17838405","type":"way","role":"east"},{"id":"w123323711","type":"way","role":"east"},{"id":"w17830167","type":"way","role":"east"},{"id":"w99011909","type":"way","role":"east"},{"id":"w41911361","type":"way","role":"east"},{"id":"w41911355","type":"way","role":"east"},{"id":"w41911356","type":"way","role":"east"},{"id":"w117148326","type":"way","role":"west"},{"id":"w41911352","type":"way","role":"west"},{"id":"w41911353","type":"way","role":"west"},{"id":"w41911354","type":"way","role":"west"},{"id":"w41911360","type":"way","role":"west"},{"id":"w38240676","type":"way","role":"west"},{"id":"w123323710","type":"way","role":"west"},{"id":"w41260271","type":"way","role":"east"},{"id":"w41260273","type":"way","role":"east"},{"id":"w17964031","type":"way","role":"east"},{"id":"w41006344","type":"way","role":"west"},{"id":"w41006351","type":"way","role":"west"}]},"n367813436":{"id":"n367813436","loc":[-85.63605205663384,41.94305506683346],"tags":{"amenity":"fire_station","name":"Three Rivers Fire Department"}},"n185948708":{"id":"n185948708","loc":[-85.6369828,41.9408789]},"n185948710":{"id":"n185948710","loc":[-85.6370184,41.9411346]},"n185954691":{"id":"n185954691","loc":[-85.634476,41.941475]},"n185954692":{"id":"n185954692","loc":[-85.635008,41.941846]},"n185954693":{"id":"n185954693","loc":[-85.635362,41.941962]},"n185954695":{"id":"n185954695","loc":[-85.63578,41.941978]},"n185972903":{"id":"n185972903","loc":[-85.63295,41.9430062]},"n185964971":{"id":"n185964971","loc":[-85.6346811,41.9431023]},"n1819805854":{"id":"n1819805854","loc":[-85.6331275,41.9404837]},"n1819805918":{"id":"n1819805918","loc":[-85.6331168,41.942798]},"n1819805762":{"id":"n1819805762","loc":[-85.6333034,41.9424123]},"n1819805907":{"id":"n1819805907","loc":[-85.6334819,41.9419121]},"n1819805915":{"id":"n1819805915","loc":[-85.6334554,41.9413588]},"n1819848888":{"id":"n1819848888","loc":[-85.6331625,41.942679]},"n1819848930":{"id":"n1819848930","loc":[-85.6338684,41.9431252]},"n1819858505":{"id":"n1819858505","loc":[-85.6346782,41.9429092]},"n1819858507":{"id":"n1819858507","loc":[-85.6339003,41.9414534]},"n1819858508":{"id":"n1819858508","loc":[-85.6345709,41.9427742]},"n1819858509":{"id":"n1819858509","loc":[-85.63419,41.9417322]},"n1819858511":{"id":"n1819858511","loc":[-85.6340666,41.9415652]},"n1819858512":{"id":"n1819858512","loc":[-85.6343295,41.9423027]},"n1819858514":{"id":"n1819858514","loc":[-85.6343241,41.942207]},"n1819858521":{"id":"n1819858521","loc":[-85.633391,41.941231]},"n1819858528":{"id":"n1819858528","loc":[-85.6343027,41.9419716]},"n185954683":{"id":"n185954683","loc":[-85.6335412,41.940147]},"n185954685":{"id":"n185954685","loc":[-85.6334296,41.9403023]},"n185954687":{"id":"n185954687","loc":[-85.6333988,41.9404704]},"n185954689":{"id":"n185954689","loc":[-85.6335511,41.9410225]},"n185954690":{"id":"n185954690","loc":[-85.6336721,41.9411669]},"n1820938802":{"id":"n1820938802","loc":[-85.6330671,41.941845]},"n1821006702":{"id":"n1821006702","loc":[-85.6344047,41.9395496]},"n2130304133":{"id":"n2130304133","loc":[-85.6349025,41.9427659]},"n2130304136":{"id":"n2130304136","loc":[-85.6346027,41.9422017]},"n2130304138":{"id":"n2130304138","loc":[-85.6348577,41.9421517]},"n2130304140":{"id":"n2130304140","loc":[-85.6348419,41.9422694]},"n2130304142":{"id":"n2130304142","loc":[-85.6349071,41.9423135]},"n2130304144":{"id":"n2130304144","loc":[-85.6350495,41.9423312]},"n2130304146":{"id":"n2130304146","loc":[-85.6351009,41.9422812]},"n2130304147":{"id":"n2130304147","loc":[-85.6351227,41.9421532]},"n2130304148":{"id":"n2130304148","loc":[-85.635526,41.9421547]},"n2130304149":{"id":"n2130304149","loc":[-85.6355339,41.9425768]},"n2130304150":{"id":"n2130304150","loc":[-85.6351582,41.9426562]},"n2130304151":{"id":"n2130304151","loc":[-85.6351207,41.9427032]},"n2138493807":{"id":"n2138493807","loc":[-85.6350923,41.9415216]},"n2138493808":{"id":"n2138493808","loc":[-85.6353603,41.9411061]},"n2138493809":{"id":"n2138493809","loc":[-85.6354421,41.9410942]},"n2138493810":{"id":"n2138493810","loc":[-85.6355079,41.9411044]},"n2138493811":{"id":"n2138493811","loc":[-85.6355693,41.9411246]},"n2138493812":{"id":"n2138493812","loc":[-85.6355829,41.9411061]},"n2138493813":{"id":"n2138493813","loc":[-85.6355624,41.9409777]},"n2138493814":{"id":"n2138493814","loc":[-85.6355011,41.9409152]},"n2138493815":{"id":"n2138493815","loc":[-85.635383,41.9409219]},"n2138493816":{"id":"n2138493816","loc":[-85.635299,41.9409658]},"n2138493817":{"id":"n2138493817","loc":[-85.6351695,41.941204]},"n2138493818":{"id":"n2138493818","loc":[-85.6348879,41.9415166]},"n2138493819":{"id":"n2138493819","loc":[-85.634897,41.9415757]},"n2138493820":{&qu