Merge remote-tracking branch 'openstreetmap/pull/1437'
authorTom Hughes <tom@compton.nu>
Sun, 5 Mar 2017 10:34:23 +0000 (10:34 +0000)
committerTom Hughes <tom@compton.nu>
Sun, 5 Mar 2017 10:34:23 +0000 (10:34 +0000)
192 files changed:
.rubocop.yml
.rubocop_todo.yml
Gemfile
Gemfile.lock
VAGRANT.md
Vendorfile
app/assets/javascripts/application.js
app/assets/javascripts/edit/id.js.erb [new file with mode: 0644]
app/assets/javascripts/edit/potlatch.js.erb [new file with mode: 0644]
app/assets/javascripts/edit/potlatch2.js.erb [new file with mode: 0644]
app/assets/javascripts/id.js
app/assets/javascripts/index.js
app/assets/javascripts/index/contextmenu.js [new file with mode: 0644]
app/assets/javascripts/index/directions/graphhopper.js
app/assets/javascripts/index/new_note.js
app/assets/javascripts/index/note.js
app/assets/javascripts/index/notes.js
app/assets/javascripts/index/query.js
app/assets/javascripts/leaflet.map.js
app/assets/javascripts/oauth.js
app/assets/javascripts/osm.js.erb
app/assets/javascripts/user.js
app/assets/stylesheets/leaflet-all.scss
app/controllers/application_controller.rb
app/controllers/site_controller.rb
app/helpers/application_helper.rb
app/helpers/notifier_helper.rb
app/helpers/user_blocks_helper.rb
app/models/notifier.rb
app/models/user_block.rb
app/views/layouts/_head.html.erb
app/views/layouts/map.html.erb
app/views/layouts/notifier.html.erb
app/views/notes/_note.rss.builder
app/views/notifier/_message_body.html.erb
app/views/notifier/changeset_comment_notification.html.erb
app/views/notifier/changeset_comment_notification.text.erb
app/views/notifier/email_confirm.html.erb
app/views/notifier/signup_confirm.html.erb
app/views/site/_id.html.erb
app/views/site/_potlatch.html.erb
app/views/site/_potlatch2.html.erb
app/views/site/about.html.erb
app/views/site/id.html.erb
app/views/user/confirm.html.erb
app/views/user/confirm_email.html.erb
app/views/user/list.html.erb
app/views/user/terms.html.erb
config/example.application.yml
config/i18n-js.yml
config/initializers/assets.rb
config/initializers/secure_headers.rb [new file with mode: 0644]
config/locales/ar.yml
config/locales/ast.yml
config/locales/be-Tarask.yml
config/locales/bg.yml
config/locales/bn.yml
config/locales/br.yml
config/locales/ca.yml
config/locales/cs.yml
config/locales/da.yml
config/locales/de.yml
config/locales/diq.yml
config/locales/el.yml
config/locales/en-GB.yml
config/locales/en.yml
config/locales/eo.yml
config/locales/es.yml
config/locales/et.yml
config/locales/fa.yml
config/locales/fi.yml
config/locales/fr.yml
config/locales/gd.yml
config/locales/he.yml
config/locales/hsb.yml
config/locales/ia.yml
config/locales/is.yml
config/locales/it.yml
config/locales/ka.yml
config/locales/ko.yml
config/locales/lb.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/mk.yml
config/locales/oc.yml
config/locales/pl.yml
config/locales/pt-BR.yml
config/locales/ru.yml
config/locales/sk.yml
config/locales/sl.yml
config/locales/sq.yml
config/locales/sv.yml
config/locales/te.yml
config/locales/tl.yml
config/locales/tr.yml
config/locales/uk.yml
config/locales/vi.yml
config/locales/zh-CN.yml
config/locales/zh-TW.yml
db/migrate/20170222134109_add_user_indexes.rb [new file with mode: 0644]
db/structure.sql
lib/potlatch2.rb
test/controllers/amf_controller_test.rb
test/controllers/api_controller_test.rb
test/controllers/browse_controller_test.rb
test/controllers/diary_entry_controller_test.rb
test/controllers/notes_controller_test.rb
test/controllers/oauth_clients_controller_test.rb
test/controllers/site_controller_test.rb
test/controllers/trace_controller_test.rb
test/controllers/user_controller_test.rb
test/factories/changeset_comments.rb
test/factories/diary_comments.rb
test/factories/diary_entries.rb
test/factories/friends.rb
test/factories/messages.rb
test/factories/traces.rb
test/factories/user.rb
test/factories/user_blocks.rb
test/factories/user_preferences.rb
test/helpers/user_blocks_helper_test.rb [new file with mode: 0644]
test/integration/user_creation_test.rb
test/integration/user_login_test.rb
test/models/diary_comment_test.rb
test/models/diary_entry_test.rb
test/models/user_preference_test.rb
vendor/assets/iD/iD.css.erb
vendor/assets/iD/iD.js
vendor/assets/iD/iD/locales/af.json
vendor/assets/iD/iD/locales/ar-AA.json
vendor/assets/iD/iD/locales/ar.json
vendor/assets/iD/iD/locales/ast.json
vendor/assets/iD/iD/locales/bg-BG.json
vendor/assets/iD/iD/locales/bn.json
vendor/assets/iD/iD/locales/bs.json
vendor/assets/iD/iD/locales/ca.json
vendor/assets/iD/iD/locales/cs.json
vendor/assets/iD/iD/locales/da.json
vendor/assets/iD/iD/locales/de.json
vendor/assets/iD/iD/locales/el.json
vendor/assets/iD/iD/locales/en-GB.json
vendor/assets/iD/iD/locales/en.json
vendor/assets/iD/iD/locales/eo.json
vendor/assets/iD/iD/locales/es.json
vendor/assets/iD/iD/locales/et.json
vendor/assets/iD/iD/locales/fa.json
vendor/assets/iD/iD/locales/fi.json
vendor/assets/iD/iD/locales/fr.json
vendor/assets/iD/iD/locales/gl.json
vendor/assets/iD/iD/locales/hr.json
vendor/assets/iD/iD/locales/hu.json
vendor/assets/iD/iD/locales/hy.json
vendor/assets/iD/iD/locales/id.json
vendor/assets/iD/iD/locales/is.json
vendor/assets/iD/iD/locales/it.json
vendor/assets/iD/iD/locales/ja.json
vendor/assets/iD/iD/locales/kn.json
vendor/assets/iD/iD/locales/ko.json
vendor/assets/iD/iD/locales/lt.json
vendor/assets/iD/iD/locales/lv.json
vendor/assets/iD/iD/locales/mk.json
vendor/assets/iD/iD/locales/nl.json
vendor/assets/iD/iD/locales/no.json
vendor/assets/iD/iD/locales/pl.json
vendor/assets/iD/iD/locales/pt-BR.json
vendor/assets/iD/iD/locales/pt.json
vendor/assets/iD/iD/locales/ro.json
vendor/assets/iD/iD/locales/ru.json
vendor/assets/iD/iD/locales/si.json
vendor/assets/iD/iD/locales/sk.json
vendor/assets/iD/iD/locales/sl.json
vendor/assets/iD/iD/locales/sr.json
vendor/assets/iD/iD/locales/sv.json
vendor/assets/iD/iD/locales/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/leaflet/leaflet.contextmenu.css [new file with mode: 0644]
vendor/assets/leaflet/leaflet.contextmenu.js [new file with mode: 0644]
vendor/assets/potlatch2/potlatch2.swf
vendor/assets/potlatch2/potlatch2/locales/bg.swf
vendor/assets/potlatch2/potlatch2/locales/eo.swf
vendor/assets/potlatch2/potlatch2/locales/fi.swf
vendor/assets/potlatch2/potlatch2/locales/fr_FR.swf
vendor/assets/potlatch2/potlatch2/locales/gd.swf
vendor/assets/potlatch2/potlatch2/locales/is.swf
vendor/assets/potlatch2/potlatch2/locales/pl_PL.swf

index 477b2ab02c152e3af3488a62eb8c0b79040d1db3..a31adf03bed73486bfb2c7f532ab61aad0cad8e3 100644 (file)
@@ -62,3 +62,8 @@ Rails/SkipsModelValidations:
   Exclude:
     - 'db/migrate/*.rb'
     - 'app/controllers/user_controller.rb'
+
+Lint/PercentStringArray:
+  Exclude:
+    - 'config/initializers/secure_headers.rb'
+    - 'app/controllers/site_controller.rb'
index a7b456aec43f5031f88cfa8d28b508aaaeeb61f9..4232b05744539300896ac8075dcd160793335402 100644 (file)
@@ -50,7 +50,7 @@ Lint/ShadowingOuterLocalVariable:
 
 # Offense count: 630
 Metrics/AbcSize:
-  Max: 271
+  Max: 280
 
 # Offense count: 35
 # Configuration parameters: CountComments.
diff --git a/Gemfile b/Gemfile
index 34768095f3ca07c2c7037df8fff3d531b992f8d5..72fc32683f2e02ee50f7a73b404735a40f8c4ab1 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -1,7 +1,7 @@
 source "https://rubygems.org"
 
 # Require rails
-gem "rails", "4.2.7.1"
+gem "rails", "4.2.8"
 
 # Require things which have moved to gems in ruby 1.9
 gem "bigdecimal", "~> 1.1.0", :platforms => :ruby_19
@@ -92,6 +92,9 @@ gem "rotp"
 gem "dalli"
 gem "kgio"
 
+# Load secure_headers for Content-Security-Policy support
+gem "secure_headers"
+
 # Used to generate logstash friendly log files
 gem "logstasher"
 
index a8c91f460cffcc1d140e492f806bd5c64541a473..b3768cb7499cd6079a6f85d0dcc1e798d49e2a9b 100644 (file)
@@ -2,40 +2,39 @@ GEM
   remote: https://rubygems.org/
   specs:
     SystemTimer (1.2.3)
-    actionmailer (4.2.7.1)
-      actionpack (= 4.2.7.1)
-      actionview (= 4.2.7.1)
-      activejob (= 4.2.7.1)
+    actionmailer (4.2.8)
+      actionpack (= 4.2.8)
+      actionview (= 4.2.8)
+      activejob (= 4.2.8)
       mail (~> 2.5, >= 2.5.4)
       rails-dom-testing (~> 1.0, >= 1.0.5)
-    actionpack (4.2.7.1)
-      actionview (= 4.2.7.1)
-      activesupport (= 4.2.7.1)
+    actionpack (4.2.8)
+      actionview (= 4.2.8)
+      activesupport (= 4.2.8)
       rack (~> 1.6)
       rack-test (~> 0.6.2)
       rails-dom-testing (~> 1.0, >= 1.0.5)
       rails-html-sanitizer (~> 1.0, >= 1.0.2)
     actionpack-page_caching (1.1.0)
       actionpack (>= 4.0.0, < 6)
-    actionview (4.2.7.1)
-      activesupport (= 4.2.7.1)
+    actionview (4.2.8)
+      activesupport (= 4.2.8)
       builder (~> 3.1)
       erubis (~> 2.7.0)
       rails-dom-testing (~> 1.0, >= 1.0.5)
-      rails-html-sanitizer (~> 1.0, >= 1.0.2)
-    activejob (4.2.7.1)
-      activesupport (= 4.2.7.1)
+      rails-html-sanitizer (~> 1.0, >= 1.0.3)
+    activejob (4.2.8)
+      activesupport (= 4.2.8)
       globalid (>= 0.3.0)
-    activemodel (4.2.7.1)
-      activesupport (= 4.2.7.1)
+    activemodel (4.2.8)
+      activesupport (= 4.2.8)
       builder (~> 3.1)
-    activerecord (4.2.7.1)
-      activemodel (= 4.2.7.1)
-      activesupport (= 4.2.7.1)
+    activerecord (4.2.8)
+      activemodel (= 4.2.8)
+      activesupport (= 4.2.8)
       arel (~> 6.0)
-    activesupport (4.2.7.1)
+    activesupport (4.2.8)
       i18n (~> 0.7)
-      json (~> 1.7, >= 1.7.7)
       minitest (~> 5.1)
       thread_safe (~> 0.3, >= 0.3.4)
       tzinfo (~> 1.1)
@@ -43,11 +42,11 @@ GEM
       public_suffix (~> 2.0, >= 2.0.2)
     arel (6.0.4)
     ast (2.3.0)
-    autoprefixer-rails (6.7.2)
+    autoprefixer-rails (6.7.5)
       execjs
     bigdecimal (1.1.0)
     builder (3.2.3)
-    capybara (2.12.0)
+    capybara (2.12.1)
       addressable
       mime-types (>= 1.16)
       nokogiri (>= 1.3.3)
@@ -92,18 +91,18 @@ GEM
       railties (>= 3.0.0)
     faraday (0.10.1)
       multipart-post (>= 1.2, < 3)
-    fspath (3.0.1)
+    fspath (3.0.3)
     geoip (1.6.3)
     globalid (0.3.7)
       activesupport (>= 4.1.0)
     hashdiff (0.3.2)
-    hashie (3.4.6)
+    hashie (3.5.5)
     htmlentities (4.3.4)
     http_accept_language (2.0.5)
-    i18n (0.8.0)
+    i18n (0.8.1)
     i18n-js (3.0.0.rc15)
       i18n (~> 0.6, >= 0.6.6)
-    image_optim (0.24.1)
+    image_optim (0.24.2)
       exifr (~> 1.2, >= 1.2.2)
       fspath (~> 3.0)
       image_size (~> 1.5)
@@ -123,7 +122,7 @@ GEM
       execjs (>= 1.4.0)
       multi_json (~> 1.0)
       therubyracer (~> 0.12.1)
-    json (1.8.6)
+    json (2.0.3)
     jsonify (0.3.1)
       multi_json (~> 1.0)
     jsonify-rails (0.3.2)
@@ -140,7 +139,7 @@ GEM
       sprockets-rails (>= 2, < 4)
       tilt
     libv8 (3.16.14.17)
-    libxml-ruby (2.9.0)
+    libxml-ruby (3.0.0)
     logstash-event (1.2.02)
     logstasher (1.1.1)
       activerecord (>= 4.0)
@@ -162,7 +161,7 @@ GEM
     multipart-post (2.0.0)
     nokogiri (1.7.0.1)
       mini_portile2 (~> 2.1.0)
-    nokogumbo (1.4.10)
+    nokogumbo (1.4.9)
       nokogiri
     oauth (0.4.7)
     oauth-plugin (0.5.1)
@@ -176,13 +175,13 @@ GEM
       multi_json (~> 1.3)
       multi_xml (~> 0.5)
       rack (>= 1.2, < 3)
-    omniauth (1.3.2)
-      hashie (>= 1.2, < 4)
-      rack (>= 1.0, < 3)
+    omniauth (1.6.1)
+      hashie (>= 3.4.6, < 3.6.0)
+      rack (>= 1.6.2, < 3)
     omniauth-facebook (4.0.0)
       omniauth-oauth2 (~> 1.2)
-    omniauth-github (1.2.0)
-      omniauth (~> 1.3.2)
+    omniauth-github (1.2.3)
+      omniauth (~> 1.5)
       omniauth-oauth2 (>= 1.4.0, < 2.0)
     omniauth-google-oauth2 (0.4.1)
       jwt (~> 1.5.2)
@@ -201,8 +200,8 @@ GEM
     omniauth-openid (1.0.1)
       omniauth (~> 1.0)
       rack-openid (~> 1.3.1)
-    omniauth-windowslive (0.0.11)
-      multi_json (>= 1.0.3)
+    omniauth-windowslive (0.0.12)
+      multi_json (~> 1.12)
       omniauth-oauth2 (~> 1.4)
     paperclip (4.3.7)
       activemodel (>= 3.2.0)
@@ -210,7 +209,7 @@ GEM
       cocaine (~> 0.5.5)
       mime-types
       mimemagic (= 0.3.0)
-    parser (2.3.3.1)
+    parser (2.4.0.0)
       ast (~> 2.2)
     pg (0.19.0)
     poltergeist (1.13.0)
@@ -218,8 +217,8 @@ GEM
       cliver (~> 0.3.1)
       websocket-driver (>= 0.2.0)
     powerpack (0.1.1)
-    progress (3.3.0)
-    psych (2.2.2)
+    progress (3.3.1)
+    psych (2.2.4)
     public_suffix (2.0.5)
     r2 (0.2.6)
     rack (1.6.5)
@@ -230,16 +229,16 @@ GEM
     rack-test (0.6.3)
       rack (>= 1.0)
     rack-uri_sanitizer (0.0.2)
-    rails (4.2.7.1)
-      actionmailer (= 4.2.7.1)
-      actionpack (= 4.2.7.1)
-      actionview (= 4.2.7.1)
-      activejob (= 4.2.7.1)
-      activemodel (= 4.2.7.1)
-      activerecord (= 4.2.7.1)
-      activesupport (= 4.2.7.1)
+    rails (4.2.8)
+      actionmailer (= 4.2.8)
+      actionpack (= 4.2.8)
+      actionview (= 4.2.8)
+      activejob (= 4.2.8)
+      activemodel (= 4.2.8)
+      activerecord (= 4.2.8)
+      activesupport (= 4.2.8)
       bundler (>= 1.3.0, < 2.0)
-      railties (= 4.2.7.1)
+      railties (= 4.2.8)
       sprockets-rails
     rails-deprecated_sanitizer (1.0.3)
       activesupport (>= 4.2.0.alpha)
@@ -252,9 +251,9 @@ GEM
     rails-i18n (4.0.9)
       i18n (~> 0.7)
       railties (~> 4.0)
-    railties (4.2.7.1)
-      actionpack (= 4.2.7.1)
-      activesupport (= 4.2.7.1)
+    railties (4.2.8)
+      actionpack (= 4.2.8)
+      activesupport (= 4.2.8)
       rake (>= 0.8.7)
       thor (>= 0.18.1, < 2.0)
     rainbow (2.2.1)
@@ -284,6 +283,8 @@ GEM
       sprockets (>= 2.8, < 4.0)
       sprockets-rails (>= 2.0, < 4.0)
       tilt (>= 1.1, < 3)
+    secure_headers (3.6.1)
+      useragent
     simplecov (0.12.0)
       docile (~> 1.1.0)
       json (>= 1.8, < 3)
@@ -302,7 +303,7 @@ GEM
       libv8 (~> 3.16.14.15)
       ref
     thor (0.19.4)
-    thread_safe (0.3.5)
+    thread_safe (0.3.6)
     tilt (2.0.6)
     timecop (0.8.1)
     tins (1.13.2)
@@ -311,6 +312,7 @@ GEM
     uglifier (3.0.4)
       execjs (>= 0.3.0, < 3)
     unicode-display_width (1.1.3)
+    useragent (0.16.8)
     validates_email_format_of (1.6.3)
       i18n
     vendorer (0.1.16)
@@ -369,7 +371,7 @@ DEPENDENCIES
   r2
   rack-cors
   rack-uri_sanitizer
-  rails (= 4.2.7.1)
+  rails (= 4.2.8)
   rails-i18n (~> 4.0.0)
   redcarpet
   rinku (>= 1.2.2)
@@ -377,6 +379,7 @@ DEPENDENCIES
   rubocop
   sanitize
   sass-rails (~> 5.0)
+  secure_headers
   timecop
   uglifier (>= 1.3.0)
   validates_email_format_of (>= 1.5.1)
index 549e06687f66216bd8d311e44833b2e5ffccbffe..3825ad988242567e0e4af260b1e850c8faf04f05 100644 (file)
@@ -6,10 +6,13 @@ On Ubuntu, it should be as simple as:
 sudo apt-get install vagrant
 ```
 
-Other Linux distributions should have similar installation instructions using `yum` or similar.
+Other Linux distributions should have similar installation instructions using `dnf`, `pacman`, or similar.
 
 Installers are available for Mac OS X and Windows, please see the [Vagrant project download page](http://www.vagrantup.com/downloads.html) for more information.
 
+Note than until there are suitable _xenial64_ [vagrant boxes](https://atlas.hashicorp.com/boxes/search?utf8=%E2%9C%93&sort=&provider=&q=xenial64) for other providers,
+the only virtualization provider supported is virtualbox. You might need to install it and specify `--provider virtualbox` when setting up your environment.
+
 # Setting up openstreetmap-website
 
 Once Vagrant has been installed, you can start an environment by checking out the openstreetmap-website code if you haven't already, then changing to the directory which contains the Vagrantfile by typing:
index 361f2c84361173bc6948a7c3e661a6a10e44bc8b..304be9e15de2ae9d92a8d237cb7281e36e3a0068 100644 (file)
@@ -20,6 +20,11 @@ folder 'vendor/assets' do
       file "images/#{image}", "https://unpkg.com/leaflet@1.0.3/dist/images/#{image}"
     end
 
+    from 'git://github.com/aratcliffe/Leaflet.contextmenu.git', :tag => 'v1.2.1' do
+      file 'leaflet.contextmenu.js', 'dist/leaflet.contextmenu.js'
+      file 'leaflet.contextmenu.css', 'dist/leaflet.contextmenu.css'
+    end
+
     from 'git://github.com/kajic/leaflet-locationfilter.git' do
       file 'leaflet.locationfilter.css', 'src/locationfilter.css'
       file 'leaflet.locationfilter.js', 'src/locationfilter.js'
index 5064d115b91ada67fd2198077b3ad9125a12cfd6..7d5b99f601e54ef8eacd9882c766a4305be356eb 100644 (file)
@@ -115,4 +115,24 @@ $(document).ready(function () {
   $("nav.primary li a").on("click", function() {
     $("header").toggleClass("closed");
   });
+
+  var application_data = $("head").data();
+
+  I18n.default_locale = OSM.DEFAULT_LOCALE;
+  I18n.locale = application_data.locale;
+  I18n.fallbacks = true;
+
+  OSM.preferred_editor = application_data.preferredEditor;
+
+  if (application_data.user) {
+    OSM.user = application_data.user;
+
+    if (application_data.userHome) {
+      OSM.home = application_data.userHome;
+    }
+  }
+
+  if (application_data.location) {
+    OSM.location = application_data.location;
+  }
 });
diff --git a/app/assets/javascripts/edit/id.js.erb b/app/assets/javascripts/edit/id.js.erb
new file mode 100644 (file)
index 0000000..bedabb1
--- /dev/null
@@ -0,0 +1,35 @@
+$(document).ready(function () {
+  var id = $("#id-embed");
+
+  if (id.data("key")) {
+    var hashParams = OSM.params(location.hash.substring(1)),
+        mapParams = OSM.mapParams(),
+        params = {};
+
+    if (mapParams.object) {
+      params.id = mapParams.object.type[0] + mapParams.object.id;
+      mapParams = OSM.parseHash(location.hash);
+      if (mapParams.center) {
+        params.map = mapParams.zoom + '/' + mapParams.center.lat + '/' + mapParams.center.lng;
+      }
+    } else if (id.data("lat") && id.data("lon")) {
+      params.map = "16/" + id.data("lat") + "/" + id.data("lon");
+    } else {
+      params.map = (mapParams.zoom || 17) + '/' + mapParams.lat + '/' + mapParams.lon;
+    }
+
+    if (hashParams.background) params.background = hashParams.background;
+    if (hashParams.comment) params.comment = hashParams.comment;
+    if (hashParams.offset) params.offset = hashParams.offset;
+
+    if (id.data("gpx")) {
+      params.gpx = id.data("gpx");
+    } else if (hashParams.gpx) {
+      params.gpx = hashParams.gpx;
+    }
+
+    id.attr("src", id.data("url") + "#" + querystring.stringify(params));
+  } else {
+    alert(I18n.t("site.edit.id_not_configured"));
+  }
+});
diff --git a/app/assets/javascripts/edit/potlatch.js.erb b/app/assets/javascripts/edit/potlatch.js.erb
new file mode 100644 (file)
index 0000000..d55d2ea
--- /dev/null
@@ -0,0 +1,61 @@
+//= require swfobject
+
+$(document).ready(function () {
+  window.changesaved = true;
+
+  window.markChanged = function (saved) {
+    window.changesaved = saved;
+  }
+
+  $(window).on("beforeunload", function() {
+    if (!window.changesaved) {
+      return I18n.t("site.edit.potlatch_unsaved_changes");
+    }
+  });
+
+  window.updatelinks = function (lon, lat, zoom, layers, minlon, minlat, maxlon, maxlat, object) {
+    var hash = OSM.formatHash({ lon: lon, lat: lat, zoom: zoom });
+
+    if (hash !== location.hash) {
+      location.replace(hash);
+    }
+
+    updateLinks({ lon: lon, lat: lat }, zoom);
+  }
+
+  var potlatch = $("#potlatch"),
+      urlparams = OSM.params(),
+      potlatch_swf = <%= asset_path("potlatch/potlatch.swf").to_json %>,
+      install_swf = <%= asset_path("expressInstall.swf").to_json %>,
+      flashvars = {},
+      params = {},
+      attributes = {};
+
+  flashvars.winie = document.all && window.print ? true : false;
+  flashvars.token = potlatch.data("token");
+
+  if (potlatch.data("lat") && potlatch.data("lon")) {
+    flashvars.lat = potlatch.data("lat");
+    flashvars.long = potlatch.data("lon");
+    flashvars.scale = potlatch.data("zoom");
+  } else {
+    var mapParams = OSM.mapParams();
+
+    flashvars.lat = mapParams.lat;
+    flashvars.long = mapParams.lon;
+    flashvars.scale = mapParams.zoom || 17;
+  }
+
+  if (flashvars.scale < 11) flashvars.scale = 11;
+
+  if (urlparams.gpx) flashvars.gpx = urlparams.gpx;
+  if (urlparams.way) flashvars.way = urlparams.way;
+  if (urlparams.node) flashvars.node = urlparams.node;
+  if (urlparams.custombg) flashvars.custombg = urlparams.custombg;
+
+  attributes.id = "potlatch";
+  attributes.bgcolor = "#FFFFFF";
+
+  swfobject.embedSWF(potlatch_swf, "potlatch", "100%", "100%", "6",
+                     install_swf, flashvars, params, attributes);
+});
diff --git a/app/assets/javascripts/edit/potlatch2.js.erb b/app/assets/javascripts/edit/potlatch2.js.erb
new file mode 100644 (file)
index 0000000..d5c6ecd
--- /dev/null
@@ -0,0 +1,83 @@
+//= require swfobject
+
+$(document).ready(function () {
+  window.changesaved = true;
+
+  window.markChanged = function (saved) {
+    window.changesaved = saved;
+  }
+
+  $(window).on("beforeunload", function() {
+    if (!window.changesaved) {
+      return I18n.t("site.edit.potlatch2_unsaved_changes");
+    }
+  });
+
+  window.mapMoved = $.throttle(250, function(lon, lat, zoom) {
+    var hash = OSM.formatHash({ lon: lon, lat: lat, zoom: zoom });
+
+    if (hash !== location.hash) {
+      location.replace(hash);
+    }
+
+    updateLinks({ lon: lon, lat: lat }, zoom);
+  });
+
+  var potlatch = $("#potlatch"),
+      urlparams = OSM.params(),
+      potlatch_swf = <%= asset_path("potlatch2.swf").to_json %>,
+      install_swf = <%= asset_path("expressInstall.swf").to_json %>,
+      flashvars = {},
+      params = {};
+      attributes = {};
+
+  if (potlatch.data("lat") && potlatch.data("lon")) {
+    flashvars.lat = potlatch.data("lat");
+    flashvars.lon = potlatch.data("lon");
+    flashvars.zoom = potlatch.data("zoom");
+  } else {
+    var mapParams = OSM.mapParams();
+
+    flashvars.lat = mapParams.lat;
+    flashvars.lon = mapParams.lon;
+    flashvars.zoom = mapParams.zoom || 17;
+  }
+  
+  if (potlatch.data("token")) {
+    flashvars.oauth_token = potlatch.data("token");
+    flashvars.oauth_token_secret = potlatch.data("token-secret");
+    flashvars.oauth_consumer_key = potlatch.data("consumer-key");
+    flashvars.oauth_consumer_secret = potlatch.data("consumer-secret");
+  } else {
+    alert(I18n.t("site.edit.potlatch2_not_configured"));
+  }
+
+  flashvars.assets = <%= asset_path("potlatch2/assets.zip").to_json %>;
+  flashvars.font_library = <%= asset_path("potlatch2/FontLibrary.swf").to_json %>;
+  flashvars.locale = potlatch.data("locale");
+  flashvars.locale_paths = potlatch.data("locale") + "=" + potlatch.data("locale-path");
+  flashvars.intro_image = <%= asset_path("help/introduction.jpg").to_json %>;
+  flashvars.intro_video = <%= asset_path("help/introduction.mp4").to_json %>;
+  if (urlparams.gpx) flashvars.gpx = urlparams.gpx;
+  if (urlparams.tileurl) flashvars.tileurl = urlparams.tileurl;
+  flashvars.api = location.protocol + "//" + location.host + "/api/" + OSM.API_VERSION + "/";
+  flashvars.policy = location.protocol + "//" + location.host + "/api/crossdomain.xml";
+  flashvars.connection = "XML";
+  flashvars.show_help = "once";
+  flashvars.user_check = "warn";
+  flashvars.maximise_function = "maximiseMap";
+  flashvars.minimise_function = "minimiseMap";
+  flashvars.move_function = "mapMoved";
+
+  params.base = "/potlatch2";
+
+  attributes.id = "potlatch";
+  attributes.bgcolor = "#FFFFFF";
+
+  swfobject.embedSWF(potlatch_swf, "potlatch", "100%", "100%", "10.1.102",
+                     install_swf, flashvars, params, attributes);
+
+  if (flashvars.lat && flashvars.lon) {
+    updateLinks({ lon: flashvars.lon, lat: flashvars.lat }, flashvars.scale);
+  }
+});
index 185717b32681e887476d8cff8614c588b84a6e76..b54532af270c8000b0ddddd418ef1b3f2847e8e0 100644 (file)
@@ -1 +1,58 @@
 //= require iD
+
+/* globals iD */
+
+document.addEventListener("DOMContentLoaded", function() {
+  var container = document.getElementById("id-container");
+
+  if (typeof iD === 'undefined' || !iD.Detect().support) {
+    container.innerHTML = 'This editor is supported ' +
+      'in Firefox, Chrome, Safari, Opera, Edge, and Internet Explorer 11. ' +
+      'Please upgrade your browser or use Potlatch 2 to edit the map.';
+    container.className = 'unsupported';
+  } else {
+    var id = iD.Context()
+      .embed(true)
+      .assetPath("iD/")
+      .assetMap(container.dataset.assetMap)
+      .locale(container.dataset.locale, container.dataset.localePath)
+      .preauth({
+        urlroot: location.protocol + "//" + location.host,
+        oauth_consumer_key: container.dataset.consumerKey,
+        oauth_secret: container.dataset.consumerSecret,
+        oauth_token: container.dataset.token,
+        oauth_token_secret: container.dataset.tokenSecret
+      });
+
+    id.map().on('move.embed', parent.$.throttle(250, function() {
+      if (id.inIntro()) return;
+      var zoom = ~~id.map().zoom(),
+        center = id.map().center(),
+        llz = { lon: center[0], lat: center[1], zoom: zoom };
+
+      parent.updateLinks(llz, zoom);
+
+      // Manually resolve URL to avoid iframe JS context weirdness.
+      // http://bl.ocks.org/jfirebaugh/5439412
+      var hash = parent.OSM.formatHash(llz);
+      if (hash !== parent.location.hash) {
+        parent.location.replace(parent.location.href.replace(/(#.*|$)/, hash));
+      }
+    }));
+
+    parent.$("body").on("click", "a.set_position", function (e) {
+      e.preventDefault();
+      var data = parent.$(this).data();
+
+      // 0ms timeout to avoid iframe JS context weirdness.
+      // http://bl.ocks.org/jfirebaugh/5439412
+      setTimeout(function() {
+        id.map().centerZoom(
+          [data.lon, data.lat],
+          Math.max(data.zoom || 15, 13));
+      }, 0);
+    });
+
+    id.ui()(container);
+  }
+});
index 9d7122e4da70013021b29f7801a5b5620c496a7e..b30564a1ae64b12ee3c7a98aff01b1c131da8c26 100644 (file)
@@ -7,6 +7,8 @@
 //= require leaflet.share
 //= require leaflet.polyline
 //= require leaflet.query
+//= require leaflet.contextmenu
+//= require index/contextmenu
 //= require index/search
 //= require index/browse
 //= require index/export
@@ -77,7 +79,8 @@ $(document).ready(function () {
 
   var map = new L.OSM.Map("map", {
     zoomControl: false,
-    layerControl: false
+    layerControl: false,
+    contextmenu: true
   });
 
   map.attributionControl.setPrefix('');
@@ -147,6 +150,8 @@ $(document).ready(function () {
   L.control.scale()
     .addTo(map);
 
+  OSM.initializeContextMenu(map);
+
   if (OSM.STATUS !== 'api_offline' && OSM.STATUS !== 'database_offline') {
     OSM.initializeNotes(map);
     if (params.layers.indexOf(map.noteLayer.options.code) >= 0) {
diff --git a/app/assets/javascripts/index/contextmenu.js b/app/assets/javascripts/index/contextmenu.js
new file mode 100644 (file)
index 0000000..148ccf9
--- /dev/null
@@ -0,0 +1,85 @@
+OSM.initializeContextMenu = function (map) {
+  map.contextmenu.addItem({
+    text: I18n.t("javascripts.context.directions_from"),
+    callback: function directionsFromHere(e) {
+      var precision = OSM.zoomPrecision(map.getZoom()),
+          latlng = e.latlng.wrap(),
+          lat = latlng.lat.toFixed(precision),
+          lng = latlng.lng.toFixed(precision);
+
+      OSM.router.route("/directions?" + querystring.stringify({
+        route: lat + "," + lng + ";" + $("#route_to").val()
+      }));
+    }
+  });
+
+  map.contextmenu.addItem({
+    text: I18n.t("javascripts.context.directions_to"),
+    callback: function directionsToHere(e) {
+      var precision = OSM.zoomPrecision(map.getZoom()),
+          latlng = e.latlng.wrap(),
+          lat = latlng.lat.toFixed(precision),
+          lng = latlng.lng.toFixed(precision);
+
+      OSM.router.route("/directions?" + querystring.stringify({
+        route: $("#route_from").val() + ";" + lat + "," + lng
+      }));
+    }
+  });
+
+  map.contextmenu.addItem({
+    text: I18n.t("javascripts.context.add_note"),
+    callback: function addNoteHere(e) {
+      var precision = OSM.zoomPrecision(map.getZoom()),
+          latlng = e.latlng.wrap(),
+          lat = latlng.lat.toFixed(precision),
+          lng = latlng.lng.toFixed(precision);
+
+      OSM.router.route("/note/new?lat=" + lat + "&lon=" + lng);
+    }
+  });
+
+  map.contextmenu.addItem({
+    text: I18n.t("javascripts.context.show_address"),
+    callback: function describeLocation(e) {
+      var precision = OSM.zoomPrecision(map.getZoom()),
+          latlng = e.latlng.wrap(),
+          lat = latlng.lat.toFixed(precision),
+          lng = latlng.lng.toFixed(precision);
+
+      OSM.router.route("/search?query=" + encodeURIComponent(lat + "," + lng));
+    }
+  });
+
+  map.contextmenu.addItem({
+    text: I18n.t("javascripts.context.query_features"),
+    callback: function queryFeatures(e) {
+      var precision = OSM.zoomPrecision(map.getZoom()),
+          latlng = e.latlng.wrap(),
+          lat = latlng.lat.toFixed(precision),
+          lng = latlng.lng.toFixed(precision);
+
+      OSM.router.route("/query?lat=" + lat + "&lon=" + lng);
+    }
+  });
+
+  map.contextmenu.addItem({
+    text: I18n.t("javascripts.context.centre_map"),
+    callback: function centreMap(e) {
+      map.panTo(e.latlng);
+    }
+  });
+
+  map.on("mousedown", function (e) {
+    if (e.originalEvent.shiftKey) map.contextmenu.disable();
+    else map.contextmenu.enable();
+  });
+
+  var updateMenu = function updateMenu () {
+    map.contextmenu.setDisabled(2, map.getZoom() < 12);
+    map.contextmenu.setDisabled(4, map.getZoom() < 14);
+  };
+
+  map.on("zoomend", updateMenu);
+  updateMenu();
+};
index 71161c59132ca2370d7e543c0c91e21e4789a442..4bb4e4ed6bc160870d50c4ae1e1845c04f42529c 100644 (file)
@@ -49,12 +49,16 @@ function GraphHopperEngine(id, vehicleType) {
             instrText += instr.text;
             var latLng = line[instr.interval[0]];
             var distInMeter = instr.distance;
+            var lineseg = [];
+            for (var j = instr.interval[0]; j <= instr.interval[1]; j++) {
+              lineseg.push({lat: line[j][0], lng: line[j][1]});
+            }
             steps.push([
-              {lat: latLng.lat, lng: latLng.lng},
+              {lat: latLng[0], lng: latLng[1]},
               instrCode,
               instrText,
               distInMeter,
-              []
+              lineseg
             ]); // TODO does graphhopper map instructions onto line indices?
           }
 
index 397daa637f4f7c2397b584a45339cda5a15d6231..54c0b0db150ff25bb2c36a02b540b55cf612ba83 100644 (file)
@@ -69,7 +69,7 @@ OSM.NewNote = function(map) {
     var marker = L.marker(feature.geometry.coordinates.reverse(), {
       icon: noteIcons[feature.properties.status],
       opacity: 0.9,
-      clickable: true
+      interactive: true
     });
     marker.id = feature.properties.id;
     marker.addTo(noteLayer);
@@ -77,7 +77,9 @@ OSM.NewNote = function(map) {
   }
 
   page.pushstate = page.popstate = function (path) {
-    OSM.loadSidebarContent(path, page.load);
+    OSM.loadSidebarContent(path, function () {
+      page.load(path);
+    });
   };
 
   function newHalo(loc, a) {
@@ -97,7 +99,7 @@ OSM.NewNote = function(map) {
     }
   }
 
-  page.load = function () {
+  page.load = function (path) {
     if (addNoteButton.hasClass("disabled")) return;
     if (addNoteButton.hasClass("active")) return;
 
@@ -105,12 +107,34 @@ OSM.NewNote = function(map) {
 
     map.addLayer(noteLayer);
 
-    var mapSize = map.getSize();
-    var markerPosition;
+    var params = querystring.parse(path.substring(path.indexOf('?') + 1));
+    var markerLatlng;
+
+    if (params.lat && params.lon) {
+      markerLatlng = L.latLng(params.lat, params.lon);
+
+      var markerPosition = map.latLngToContainerPoint(markerLatlng),
+          mapSize = map.getSize(),
+          panBy = L.point(0, 0);
+
+      if (markerPosition.x < 50) {
+        panBy.x = markerPosition.x - 50;
+      } else if (markerPosition.x > mapSize.x - 50) {
+        panBy.x = 50 - mapSize.x + markerPosition.x;
+      }
 
-    markerPosition = [mapSize.x / 2, mapSize.y / 2];
+      if (markerPosition.y < 50) {
+        panBy.y = markerPosition.y - 50;
+      } else if (markerPosition.y > mapSize.y - 50) {
+        panBy.y = 50 - mapSize.y + markerPosition.y;
+      }
+
+      map.panBy(panBy);
+    } else {
+      markerLatlng = map.getCenter();
+    }
 
-    newNote = L.marker(map.containerPointToLatLng(markerPosition), {
+    newNote = L.marker(markerLatlng, {
       icon: noteIcons["new"],
       opacity: 0.9,
       draggable: true
index 5bf3f543a3ed4cde9fddcd043eaa7da861195467..3973420bdd3d3536682aa0b87b6720c65b7e9874 100644 (file)
@@ -87,7 +87,7 @@ OSM.Note = function (map) {
     currentNote = L.marker(latLng, {
       icon: noteIcons[data.status],
       opacity: 1,
-      clickable: true
+      interactive: true
     });
 
     map.addLayer(currentNote);
index fd5cd3ae9288ad8ffed7e79d557a44242a0a9ae4..9feee888c1daca1820ad5cb3baee03b6f30c27e8 100644 (file)
@@ -47,7 +47,7 @@ OSM.initializeNotes = function (map) {
         icon: noteIcons[feature.properties.status],
         title: feature.properties.comments[0].text,
         opacity: 0.8,
-        clickable: true
+        interactive: true
       });
       marker.id = feature.properties.id;
       marker.addTo(noteLayer);
index 023e2a7f22069bba02babd5542246f0e711f0228..018aedf98a01df4c5bc3a4996611b9596edbd386 100644 (file)
@@ -12,7 +12,7 @@ OSM.Query = function(map) {
     weight: 4,
     opacity: 1,
     fillOpacity: 0.5,
-    clickable: false
+    interactive: false
   };
 
   queryButton.on("click", function (e) {
index 4b50cc78c4ca0660b3ff5cfe484b95a53e417b94..e8df0bd618ebfd1c64dead46e932843a19ca9769 100644 (file)
@@ -107,7 +107,7 @@ L.OSM.Map = L.Map.extend({
       params.mlon = latLng.lng.toFixed(precision);
     }
 
-    var url = 'http://' + OSM.SERVER_URL + '/',
+    var url = window.location.protocol + '//' + OSM.SERVER_URL + '/',
       query = querystring.stringify(params),
       hash = OSM.formatHash(this);
 
@@ -121,7 +121,8 @@ L.OSM.Map = L.Map.extend({
     var zoom = this.getZoom(),
       latLng = marker && this.hasLayer(marker) ? marker.getLatLng().wrap() : this.getCenter().wrap(),
       str = window.location.hostname.match(/^www\.openstreetmap\.org/i) ?
-        'http://osm.org/go/' : 'http://' + window.location.hostname + '/go/',
+        window.location.protocol + '//osm.org/go/' :
+        window.location.protocol + '//' + window.location.hostname + '/go/',
       char_array = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789_~",
       x = Math.round((latLng.lng + 180.0) * ((1 << 30) / 90.0)),
       y = Math.round((latLng.lat + 90.0) * ((1 << 30) / 45.0)),
@@ -208,7 +209,7 @@ L.OSM.Map = L.Map.extend({
       color: '#FF9500',
       opacity: 1,
       fillOpacity: 0,
-      clickable: false
+      interactive: false
     };
 
     this.removeObject();
index 98ce302e105925de575198d60624de4ce2013443..037e1d730c7d65badd47205fa32c5ff20c24f9af 100644 (file)
@@ -1,18 +1,20 @@
 //= require ohauth
 
 $(document).ready(function () {
+  var application_data = $("head").data();
+
   function makeAbsolute(url) {
     var a = document.createElement('a');
     a.href = url;
     return a.href;
   }
 
-  if (OSM.oauth_token) {
+  if (application_data.token) {
     var headerGenerator = window.ohauth.headerGenerator({
-      consumer_key: OSM.oauth_consumer_key,
-      consumer_secret: OSM.oauth_consumer_secret,
-      token: OSM.oauth_token,
-      token_secret: OSM.oauth_token_secret
+      consumer_key: application_data.consumerKey,
+      consumer_secret: application_data.consumerSecret,
+      token: application_data.token,
+      token_secret: application_data.tokenSecret
     });
 
     $.ajaxPrefilter(function(options, jqxhr) {
index 10b7cfdb81cda46676c9d397ded0d558fcf61af6..ee1c6a115e427a299e9735c4846c98ea187ccf42 100644 (file)
@@ -16,6 +16,7 @@ OSM = {
   MAPQUEST_DIRECTIONS_URL: <%= MAPQUEST_DIRECTIONS_URL.to_json %>,
   MAPZEN_VALHALLA_URL:     <%= MAPZEN_VALHALLA_URL.to_json %>,
   OSRM_URL:                <%= OSRM_URL.to_json %>,
+  DEFAULT_LOCALE:          <%= I18n.default_locale.to_json %>,
 
 <% if defined?(MAPQUEST_KEY) %>
   MAPQUEST_KEY:            <%= MAPQUEST_KEY.to_json %>,
@@ -38,6 +39,8 @@ OSM = {
   OPEN_NOTE_MARKER:        <%= image_path("open_note_marker.png").to_json %>,
   CLOSED_NOTE_MARKER:      <%= image_path("closed_note_marker.png").to_json %>,
 
+  SEARCHING:               <%= image_path("searching.gif").to_json %>,
+
   apiUrl: function (object) {
     var url = "/api/" + OSM.API_VERSION + "/" + object.type + "/" + object.id;
 
index 7e7e7c8032a6cbab6d9018d7d0ee888eb0dd0df2..44872a78c6f12c2432df5fa40f268406b0109c30 100644 (file)
@@ -103,4 +103,20 @@ $(document).ready(function () {
   } else {
     enableAuth();
   }
+
+  $("#user_all").change(function () {
+    $("#user_list input[type=checkbox]").prop("checked", $("#user_all").prop("checked"));
+  });
+
+  $("#content.user_confirm").each(function () {
+    $(this).hide();
+    $(this).find("#confirm").submit();
+  });
+
+  $("input[name=legale]").change(function () {
+    var url = $(this).data("url");
+
+    $("#contributorTerms").html("<img src='" + OSM.SEARCHING + "' />");
+    $("#contributorTerms").load(url);
+  });
 });
index 10ad2607a5a4c5bbbc56b6df50892edff384ac54..82312e5c2312ae3bc174e0606a6f3f10c2f555d9 100644 (file)
@@ -1,6 +1,7 @@
 /*
  *= require leaflet
  *= require leaflet.locationfilter
+ *= require leaflet.contextmenu
  */
 
 /* Override to serve images through the asset pipeline. */
index 354fcc7c0cba1b61e3a3d04f73e0e9ddcf0f3fbf..ff3f67efd975d46d76312a35f97fcf44c7899df9 100644 (file)
@@ -61,7 +61,8 @@ class ApplicationController < ActionController::Base
     # method, otherwise an OAuth token was used, which has to be checked.
     unless current_token.nil?
       unless current_token.read_attribute(cap)
-        report_error "OAuth token doesn't have that capability.", :forbidden
+        set_locale
+        report_error t("oauth.permissions.missing"), :forbidden
         false
       end
     end
@@ -152,9 +153,14 @@ class ApplicationController < ActionController::Base
     # have we identified the user?
     if @user
       # check if the user has been banned
-      if @user.blocks.active.exists?
-        # NOTE: need slightly more helpful message than this.
-        report_error t("application.setup_user_auth.blocked"), :forbidden
+      user_block = @user.blocks.active.take
+      unless user_block.nil?
+        set_locale
+        if user_block.zero_hour?
+          report_error t("application.setup_user_auth.blocked_zero_hour"), :forbidden
+        else
+          report_error t("application.setup_user_auth.blocked"), :forbidden
+        end
       end
 
       # if the user hasn't seen the contributor terms then don't
@@ -402,6 +408,12 @@ class ApplicationController < ActionController::Base
   end
 
   def map_layout
+    append_content_security_policy_directives(
+      :connect_src => %w(nominatim.openstreetmap.org overpass-api.de router.project-osrm.org valhalla.mapzen.com),
+      :script_src => %w(graphhopper.com open.mapquestapi.com),
+      :img_src => %w(developer.mapquest.com)
+    )
+
     request.xhr? ? "xhr" : "map"
   end
 
index aa284ecdc100ba37135d7a8e5b9f38db35650218..b0552322ed6d808efbf7a82bae2e001eb9b104fc 100644 (file)
@@ -69,6 +69,14 @@ class SiteController < ApplicationController
       require_user
     end
 
+    if editor == "potlatch" || editor == "potlatch2"
+      append_content_security_policy_directives(
+        :object_src => %w(*),
+        :plugin_types => %w(application/x-shockwave-flash),
+        :script_src => %w('unsafe-inline')
+      )
+    end
+
     if params[:node]
       bbox = Node.find(params[:node]).bbox.to_unscaled
       @lat = bbox.centre_lat
@@ -111,6 +119,12 @@ class SiteController < ApplicationController
   end
 
   def id
+    append_content_security_policy_directives(
+      :connect_src => %w(taginfo.openstreetmap.org *.mapillary.com),
+      :img_src => %w(*),
+      :script_src => %w(dev.virtualearth.net)
+    )
+
     render "id", :layout => false
   end
 
index 329aa25e8c11143aca876943ddee6cc1760da035..3d0a97243c75fe993eb19551ab0139951c1fa286 100644 (file)
@@ -100,4 +100,30 @@ module ApplicationHelper
   def current_page_class(path)
     :current if current_page?(path)
   end
+
+  def application_data
+    data = {
+      :locale => I18n.locale,
+      :preferred_editor => preferred_editor
+    }
+
+    if @user
+      data[:user] = @user.id.to_json
+
+      unless @user.home_lon.nil? || @user.home_lat.nil?
+        data[:user_home] = { :lat => @user.home_lat, :lon => @user.home_lon }
+      end
+    end
+
+    data[:location] = session[:location] if session[:location]
+
+    if @oauth
+      data[:token] = @oauth.token
+      data[:token_secret] = @oauth.secret
+      data[:consumer_key] = @oauth.client_application.key
+      data[:consumer_secret] = @oauth.client_application.secret
+    end
+
+    data
+  end
 end
index 3e53e2543c006a57f9dee08113099abd892df457..dbd2d245d0dbfbccafaaef5a9af7a33188076f0f 100644 (file)
@@ -5,10 +5,16 @@ module NotifierHelper
 
   def link_to_user(display_name)
     link_to(
-      display_name,
+      content_tag(
+        "strong",
+        display_name,
+        # NB we need "text-decoration: none" twice: GMail only honours it on
+        # the <a> but Outlook only on the <strong>
+        :style => "text-decoration: none"
+      ),
       user_url(display_name, :host => SERVER_URL),
       :target => "_blank",
-      :style => "text-decoration: none; color: #222; font-weight: bold"
+      :style => "text-decoration: none; color: #222"
     )
   end
 
@@ -20,6 +26,9 @@ module NotifierHelper
   end
 
   def style_message(html)
-    html.gsub /<p>/, '<p style="color: black; margin: 0.75em 0">'
+    # Because we can't use stylesheets in HTML emails, we need to inline the
+    # styles. Rather than copy-paste the same string of CSS into every message,
+    # we apply it once here, after the message has been composed.
+    html.gsub /<p>/, '<p style="color: black; margin: 0.75em 0; font-family: \'Helvetica Neue\', Arial, Sans-Serif">'
   end
 end
index 282d9164aa2cc046842b23939a8a6db557696fbe..3c9c0a37e5f6a5d1ab237505e9835a75e844d865 100644 (file)
@@ -4,8 +4,13 @@ module UserBlocksHelper
   # user block (i.e: whether it's active, what the expiry time is)
   def block_status(block)
     if block.active?
+      # if the block hasn't expired yet show the date, if the user just needs to login show that
       if block.needs_view?
-        I18n.t("user_block.helper.until_login")
+        if block.ends_at > Time.now.getutc
+          I18n.t("user_block.helper.time_future_and_until_login", :time => friendly_date(block.ends_at)).html_safe
+        else
+          I18n.t("user_block.helper.until_login")
+        end
       else
         I18n.t("user_block.helper.time_future", :time => friendly_date(block.ends_at)).html_safe
       end
index 1eb39e67844a8b2295f343284030d7b75c303f40..8f9e3e2954814e45151632c0ba88ca0db8fa6dfd 100644 (file)
@@ -167,6 +167,7 @@ class Notifier < ActionMailer::Base
 
   def changeset_comment_notification(comment, recipient)
     with_recipient_locale recipient do
+      @to_user = recipient.display_name
       @changeset_url = changeset_url(comment.changeset, :host => SERVER_URL)
       @comment = comment.body
       @owner = recipient == comment.changeset.user
index de14dcaa9617f351941b93925cc7b1453ee6357b..eb0daba6569731cad0fe0486b6ea814099e6d2d5 100644 (file)
@@ -26,6 +26,13 @@ class UserBlock < ActiveRecord::Base
     needs_view || ends_at > Time.now.getutc
   end
 
+  ##
+  # returns true if the block is a "zero hour" block
+  def zero_hour?
+    # if the times differ more than 1 minute we probably have more important issues
+    needs_view && (ends_at.to_i - updated_at.to_i) < 60
+  end
+
   ##
   # revokes the block, allowing the user to use the API again. the argument
   # is the user object who is revoking the ban.
index 8830a8692319bc1e11d53ee8e176c8e8a17578e1..ad91b01d1fff83f61eefd5f92437a16c5ab1a93e 100644 (file)
@@ -1,4 +1,4 @@
-<head>
+<%= content_tag :head, :data => application_data do %>
   <meta http-equiv="X-UA-Compatible" content="IE=edge"/>
   <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0"/>
   <!--[if lt IE 9]><%= javascript_include_tag "html5shiv" %><![endif]-->
   <%= yield :head %>
   <%= yield :auto_discovery_link_tag %>
   <%= csrf_meta_tag %>
-  <script type="text/javascript">
-    I18n.defaultLocale = "<%= I18n.default_locale %>";
-    I18n.locale = "<%= I18n.locale %>";
-    I18n.fallbacks = true;
-    <% if @user -%>
-    OSM.user = <%= @user.id.to_json.html_safe %>;
-    <% unless @user.home_lon.nil? or @user.home_lat.nil? -%>
-    OSM.home = <%= { :lat => @user.home_lat, :lon => @user.home_lon }.to_json.html_safe %>;
-    <% end -%>
-    <% end -%>
-    <% if session[:location] -%>
-    OSM.location = <%= session[:location].to_json.html_safe %>;
-    <% end -%>
-    OSM.preferred_editor = <%= preferred_editor.to_json.html_safe %>;
-    <% if @oauth -%>
-    OSM.oauth_token = "<%= @oauth.token %>";
-    OSM.oauth_token_secret = "<%= @oauth.secret %>";
-    OSM.oauth_consumer_key = "<%= @oauth.client_application.key %>";
-    OSM.oauth_consumer_secret = "<%= @oauth.client_application.secret %>";
-    <% end -%>
-  </script>
   <title><%= t 'layouts.project_name.title' %><%= ' | ' + @title if @title %></title>
-</head>
+<% end %>
index 6607bf7a5879eba6d026edbe809fc42835947516..3f11edf59cfd275a0323bb9b20031a63653e0919 100644 (file)
         <h2><%= t 'layouts.intro_header' %></h2>
         <div class="close-wrap"><span class="icon close"></span></div>
         <p><%= t 'layouts.intro_text' %></p>
+        <p><%= t 'layouts.partners_html',
+               :ucl => link_to(t('layouts.partners_ucl'), "http://www.bartlett.ucl.ac.uk"),
+               :ic => link_to(t('layouts.partners_ic'), "http://www.imperial.ac.uk/"),
+               :bytemark => link_to(t('layouts.partners_bytemark'), "http://www.bytemark.co.uk"),
+               :partners => link_to(t('layouts.partners_partners'), "https://hardware.openstreetmap.org/thanks/") %>
+        </p>
         <a class="button learn-more" href="<%= about_path %>"><%= t('layouts.learn_more') %></a>
         <a class="button sign-up" href="<%= user_new_path %>"><%= t('layouts.start_mapping') %></a>
       </div>
index dd041cca5268c01f9ec4ff3d904980c6c6ffeb32..883f1b385acaeaa73fab4a3bebcd8723ebe16532 100644 (file)
@@ -5,17 +5,21 @@
   <body style="padding: 0; margin: 0; font-size: 14px; font-family: 'Helvetica Neue', Arial, sans-serif; color: #222">
     <table style="background-color: #eee; width: 100%">
       <tr>
-        <td style="text-align: center">
-          <table style="width: 600px; color: #222; margin-left: auto; margin-right: auto">
+        <%# having width=100% on the table and then only a fixed width on the middle cell gives us a max-width that works in Outlook %>
+        <td rowspan="2"></td>
+        <td width="600" style="text-align: center; padding: 0px 7px">
+          <table style="width: 100%; color: #222; margin-left: auto; margin-right: auto">
             <tr>
               <td style="width: 30px; padding: 10px 10px 10px 0px">
                 <a href="<%= @root_url %>" target="_blank">
-                  <%= image_tag attachments["logo.png"].url, alt: "OpenStreetMap logo", title: "OpenStreetMap", height: "30", width: "30", border: "0" %>
+                  <%= image_tag attachments["logo.png"].url, alt: "OpenStreetMap", title: "OpenStreetMap", height: "30", width: "30", border: "0" %>
                 </a>
               </td>
-              <td style="padding: 10px 0px">
+              <%# the "width: 100%" here looks wrong, but I couldn't find a better way of making Outlook give this cell full width %>
+              <td style="width: 100%; padding: 0px; text-align: left">
+                <%# NB we need "text-decoration: none" twice: GMail only honours it on the <a> but Outlook only on the <strong> %>
                 <a href="<%= @root_url %>" target="_blank" style="text-decoration: none; color: #000">
-                  <h1 style="font-size: 18px; font-weight: 600; margin: 0; text-align: left">OpenStreetMap</h1>
+                  <strong style="text-decoration: none; font-size: 18px; font-weight: 600; margin: 0; text-align: left; font-family: 'Helvetica Neue', Arial, sans-serif">OpenStreetMap</strong>
                 </a>
               </td>
             </tr>
             </tr>
           </table>
         </td>
+        <td rowspan="2"></td>
       </tr>
       <tr>
-        <td style="text-align: center; font-size: 11px">
+        <td style="text-align: center; font-size: 11px; font-family: 'Helvetica Neue', Arial, sans-serif">
           <%= yield :footer %>
           <p style="margin-bottom: 10px">
             <a href="<%= @root_url %>" target="_blank" style="color: #222">OpenStreetMap</a>
index 038ca564b36ba989ffa35e730bf1f279b6801b5a..38c42f1ec4786de0dba3fd82469903ec8d88fca0 100644 (file)
@@ -15,7 +15,7 @@ xml.item do
 
   xml.dc :creator, note.author.display_name if note.author
 
-  xml.pubDate note.updated_at.to_s(:rfc822)
+  xml.pubDate note.created_at.to_s(:rfc822)
   xml.geo :lat, note.lat
   xml.geo :long, note.lon
   xml.georss :point, "#{note.lat} #{note.lon}"
index d86d44133e091555908f29a7af6e20317b0912d8..b71c5f99443b75fb5be8acf36c00a34040aedcf4 100644 (file)
@@ -1,6 +1,6 @@
-<table style="font-size: 15px; font-style: italic; margin: 15px 0px; background-color: #eee; width: 520px">
+<table style="font-size: 15px; margin: 15px 0px; background-color: #eee; width: 100%">
   <tr>
-    <td style="width: 50px; vertical-align: top; padding: 15px">
+    <td style="width: 50px; min-width: 50px; vertical-align: top; padding: 15px">
       <%= link_to(
           image_tag(
             attachments["avatar.png"].url,
@@ -14,7 +14,7 @@
           :target => "_blank"
       ) %>
     </td>
-    <td style="text-align: left; vertical-align: top; padding-right: 10px">
+    <td style="text-align: left; vertical-align: top; padding-right: 10px; width: 100%">
       <%= body %>
     </td>
   </tr>
index c2b552ed5e85367ef2e972858420c1908600451d..80f9d8aa11b35a6e438f0b640bfb08bb8aec86df 100644 (file)
@@ -1,3 +1,6 @@
+<p>
+  <%= t 'notifier.changeset_comment_notification.hi', :to_user => @to_user %>
+</p>
 <p>
   <% if @owner %>
     <%= raw t "notifier.changeset_comment_notification.commented.your_changeset", :commenter => link_to_user(@commenter), :time => @time %>
 <% end %>
 
 <p>
-  <%= raw t 'notifier.changeset_comment_notification.details', :url => link_to(@changeset_url, @changeset_url, :style => "white-space: nowrap") %>
+  <%= raw t 'notifier.changeset_comment_notification.details', :url => link_to(@changeset_url, @changeset_url) %>
 </p>
 
 <% content_for :footer do %>
   <p>
-    <%= raw t 'notifier.changeset_comment_notification.unsubscribe', :url => link_to(@changeset_url, @changeset_url, :style => "color: #222; white-space: nowrap") %>
+    <%= raw t 'notifier.changeset_comment_notification.unsubscribe', :url => link_to(@changeset_url, @changeset_url, :style => "color: #222") %>
   </p>
 <% end %>
index 5da6feddcb0985ab14a2b969097b943de4df1c82..af1176b53f4ad7d7704d4e4d2815b14926e3f166 100644 (file)
@@ -1,4 +1,4 @@
-<%= t 'notifier.changeset_comment_notification.greeting' %>
+<%= t 'notifier.changeset_comment_notification.hi', :to_user => @to_user %>
 
 <% if @owner %>
   <%= t "notifier.changeset_comment_notification.commented.your_changeset", :commenter => @commenter, :time => @time %>
index 5d8f49d3dc6efad5f79109b417ea3db74794802c..5b7c74d7f52dd608bcb41569b6db3c5577d6654b 100644 (file)
@@ -4,4 +4,4 @@
 
 <p><%= t 'notifier.email_confirm_html.click_the_link' %></p>
 
-<p><a href="<%= @url %>" style="white-space: nowrap"><%= @url %></a></p>
+<p><a href="<%= @url %>"><%= @url %></a></p>
index 41b2ceb4987b5878a5b98cd7cfd8664db6ca39d1..814deee9171220d93896643b05484d1bb9133076 100644 (file)
@@ -4,6 +4,6 @@
 
 <p><%= t("notifier.signup_confirm.confirm") %></p>
 
-<p><%= link_to @url, @url, :style => "white-space: nowrap" %></p>
+<p><%= link_to @url, @url %></p>
 
 <p><%= t("notifier.signup_confirm.welcome") %></p>
index d93ee091e91d68e3d478776891b959067e8b8168..867b148fd4aeba0ea4b1ba5a47945d33a0e6a238 100644 (file)
@@ -1,47 +1,10 @@
-<% if defined? ID_KEY %>
-  <div id="map">
-    <iframe frameBorder="0" id="id-embed" class="id-embed" allowfullscreen></iframe>
-  </div>
-  <script>
-    var params = {};
-
-    var mapParams = OSM.mapParams();
-    if (mapParams.object) {
-      params.id = mapParams.object.type[0] + mapParams.object.id;
-      mapParams = OSM.parseHash(location.hash);
-      if (mapParams.center) {
-        params.map = mapParams.zoom + '/' + mapParams.center.lat + '/' + mapParams.center.lng;
-      }
-    } else {
-<% if @lat && @lon -%>
-      params.map = '16/<%= @lat %>/<%= @lon %>';
-<% else -%>
-      params.map = (mapParams.zoom || 17) + '/' + mapParams.lat + '/' + mapParams.lon;
-<% end -%>
-    }
-
-    var hashParams = OSM.params(location.hash.substring(1));
-
-    if (hashParams.background) {
-      params.background = hashParams.background;
-    }
-    if (hashParams.comment) {
-      params.comment = hashParams.comment;
-    }
-    if (hashParams.offset) {
-      params.offset = hashParams.offset;
-    }
-
-<% if params[:gpx] -%>
-    params.gpx = '<%= trace_data_url(params[:gpx], :format => :xml) %>';
-<% else -%>
-    if (hashParams.gpx) {
-      params.gpx = hashParams.gpx;
-    }
-<% end -%>
-
-    $('#id-embed').attr('src', '<%= id_url :locale => params[:locale] %>#' + querystring.stringify(params));
-  </script>
-<% else %>
-  <script type="text/javascript">alert("<%= t 'site.edit.id_not_configured' %>")</script>
-<% end %>
+<%= javascript_include_tag "edit/id" %>
+
+<div id="map">
+  <% data = { :key => ID_KEY } -%>
+  <% data[:lat] = @lat if @lat -%>
+  <% data[:lon] = @lon if @lon -%>
+  <% data[:gpx] = trace_data_url(params[:gpx], :format => :xml) if params[:gpx] -%>
+  <% data[:url] = id_url(:locale => params[:locale]) -%>
+  <%= content_tag :iframe, "", :frameBorder => 0, :id => "id-embed", :class => "id-embed", :allowfullscreen => "", :data => data %>
+</div>
index e360dcad00dcb891597b438a60eaab36f8092d48..b0d20a9ae134ea9b4ebdd4ec64b6764571fcc4fc 100644 (file)
@@ -1,60 +1,10 @@
+<%= javascript_include_tag "edit/potlatch" %>
+
 <div id="map">
-  <div id="potlatch"><%= raw t 'site.edit.flash_player_required' %></div>
+  <% session[:token] = @user.tokens.create.token unless session[:token] and UserToken.find_by_token(session[:token]) -%>
+  <% data = { :token => session[:token] } -%>
+  <% data[:lat] = @lat if @lat -%>
+  <% data[:lon] = @lon if @lon -%>
+  <% data[:zoom] = @zoom if @zoom -%>
+  <%= content_tag :div, raw(t("site.edit.flash_player_required")), :id => "potlatch", :data => data %>
 </div>
-
-<%= javascript_include_tag 'swfobject.js' %>
-
-<% session[:token] = @user.tokens.create.token unless session[:token] and UserToken.find_by_token(session[:token]) %>
-
-<script type="text/javascript" defer="defer">
-  var changesaved=true;
-  var winie=false; if (document.all && window.print) { winie=true; }
-  
-  window.onbeforeunload=function() {
-    if (!changesaved) {
-      return '<%= escape_javascript(t('site.edit.potlatch_unsaved_changes')) %>';
-    }
-  }
-
-  function markChanged(a) { changesaved=a; }
-
-  function updatelinks(lon,lat,zoom,layers,minlon,minlat,maxlon,maxlat,object) {
-    updateLinks({ lon: lon, lat: lat }, zoom);
-
-    var hash = OSM.formatHash({ lon: lon, lat: lat, zoom: zoom });
-    if (hash !== location.hash) {
-      location.replace(hash);
-    }
-  }
-
-  function doSWF(lat,lon,sc) {
-    if (sc < 11) sc = 11;
-
-    var flashvars = {};
-    flashvars.winie = winie;
-    flashvars.scale = sc;
-    flashvars.token = '<%= session[:token] %>';
-    if (lat) { flashvars.lat = lat; }
-    if (lon) { flashvars.long = lon; }
-    <% if params['gpx']  %>flashvars.gpx = '<%= h(params['gpx']    ) %>';<% end %>
-    <% if params['way']  %>flashvars.way = '<%= h(params['way']    ) %>';<% end %>
-    <% if params['node'] %>flashvars.node = '<%= h(params['node']   ) %>';<% end %>
-    <% if params['tileurl'] %>flashvars.custombg = '<%= h(params['tileurl']) %>';<% end %>
-
-    var params = {};
-
-    var attributes = {};
-    attributes.id = "potlatch";
-    attributes.bgcolor = "#FFFFFF";
-
-    swfobject.embedSWF("<%= asset_path("/potlatch/potlatch.swf") %>", "potlatch", "100%", "100%", "6","<%= asset_path("expressInstall.swf") %>", flashvars, params, attributes);
-    // 700,600 for fixed size, 100%,100% for resizable
-  }
-
-<% if @lat && @lon -%>
-  doSWF(<%= @lat %>, <%= @lon %>, <%= @zoom %>);
-<% else -%>
-  var mapParams = OSM.mapParams();
-  doSWF(mapParams.lat, mapParams.lon, mapParams.zoom || 17);
-<% end -%>
-</script>
index 1c203b2fb3e57ee6c9c5dfd2b80cdf5a559908bb..2cc4ab2d572ec23170d8b63397b09114e84c8fdc 100644 (file)
@@ -1,88 +1,19 @@
+<%= javascript_include_tag "edit/potlatch2" %>
+
 <div id="map">
-  <div id="potlatch"><%= raw t 'site.edit.flash_player_required' %></div>
+  <% session[:token] = @user.tokens.create.token unless session[:token] and UserToken.find_by_token(session[:token]) -%>
+  <% data = { :token => session[:token] } -%>
+  <% data[:lat] = @lat if @lat -%>
+  <% data[:lon] = @lon if @lon -%>
+  <% data[:zoom] = @zoom if @zoom -%>
+  <% if defined? POTLATCH2_KEY %>
+  <% token = @user.access_token(POTLATCH2_KEY) %>
+  <% data[:token] = token.token -%>
+  <% data[:token_secret] = token.secret -%>
+  <% data[:consumer_key] = token.client_application.key -%>
+  <% data[:consumer_secret] = token.client_application.secret -%>
+  <% end %>
+  <% data[:locale] = Locale.list(Potlatch2::LOCALES.keys).preferred(preferred_languages).to_s -%>
+  <% data[:locale_path] = asset_path("potlatch2/locales/#{Potlatch2::LOCALES[data[:locale]]}.swf") -%>
+  <%= content_tag :div, raw(t("site.edit.flash_player_required")), :id => "potlatch", :data => data %>
 </div>
-
-<%= javascript_include_tag 'swfobject.js' %>
-
-<% if defined? POTLATCH2_KEY %>
-<% token = @user.access_token(POTLATCH2_KEY) %>
-<% else%>
-<script type="text/javascript">alert("<%= t 'site.edit.potlatch2_not_configured' %>")</script>
-<% end %>
-
-<% locale = Locale.list(Potlatch2::LOCALES.keys).preferred(preferred_languages).to_s %>
-
-<script type="text/javascript" defer="defer">
-  var changesaved=true;
-  
-  window.onbeforeunload=function() {
-    if (!changesaved) {
-      return '<%= escape_javascript(t('site.edit.potlatch2_unsaved_changes')) %>';
-    }
-  }
-
-  function markChanged(a) { changesaved=a; }
-
-  function doSWF(lat,lon,zoom) {
-    var flashvars = {};
-    if (lat) { flashvars.lat = lat; }
-    if (lon) { flashvars.lon = lon; }
-    flashvars.zoom = zoom;
-    flashvars.assets = "<%= asset_path "potlatch2/assets.zip" %>";
-    flashvars.font_library = "<%= asset_path "potlatch2/FontLibrary.swf" %>";
-    flashvars.locale = "<%= Potlatch2::LOCALES[locale] %>";
-    flashvars.locale_paths = "<%= Potlatch2::LOCALES[locale] %>=<%= asset_path("potlatch2/locales/#{Potlatch2::LOCALES[locale]}.swf") %>";
-    flashvars.intro_image = "<%= asset_path "help/introduction.jpg" %>";
-    flashvars.intro_video = "<%= asset_path "help/introduction.mp4" %>";
-    <% if params['gpx'] %>
-    flashvars.gpx = '<%= h(params['gpx']) %>';
-    <% end %>
-    <% if params['tileurl'] %>
-    flashvars.tileurl = '<%= h(params['tileurl']) %>';
-    <% end %>
-    flashvars.api = "<%= request.protocol + request.host_with_port %>/api/<%= API_VERSION %>/";
-    flashvars.policy = "<%= request.protocol + request.host_with_port %>/api/crossdomain.xml";
-    flashvars.connection = "XML";
-    flashvars.show_help = "once";
-    flashvars.user_check = "warn";
-    <% if token %>
-    flashvars.oauth_token = "<%= token.token %>";
-    flashvars.oauth_token_secret = "<%= token.secret %>";
-    flashvars.oauth_consumer_key = "<%= token.client_application.key %>";
-    flashvars.oauth_consumer_secret = "<%= token.client_application.secret %>";
-    <% end %>
-    flashvars.maximise_function = "maximiseMap";
-    flashvars.minimise_function = "minimiseMap";
-    flashvars.move_function = "mapMoved";
-
-    var params = {};
-    params.base = "/potlatch2";
-
-    var attributes = {};
-    attributes.id = "potlatch";
-    attributes.bgcolor = "#FFFFFF";
-
-    swfobject.embedSWF("<%= asset_path("potlatch2.swf") %>", "potlatch", "100%", "100%", "10.1.102","<%= asset_path("expressInstall.swf") %>", flashvars, params, attributes);
-    // 700,600 for fixed size, 100%,100% for resizable
-
-    if (lat && lon) {
-      updateLinks({ lon: lon, lat: lat }, zoom);
-    }
-  }
-
-<% if @lat && @lon -%>
-  doSWF(<%= @lat %>, <%= @lon %>, <%= @zoom %>);
-<% else -%>
-  var mapParams = OSM.mapParams();
-  doSWF(mapParams.lat, mapParams.lon, mapParams.zoom || 17);
-<% end -%>
-
-  var mapMoved = $.throttle(250, function(lon, lat, zoom) {
-    updateLinks({ lon: lon, lat: lat }, zoom);
-
-    var hash = OSM.formatHash({ lon: lon, lat: lat, zoom: zoom });
-    if (hash !== location.hash) {
-      location.replace(hash);
-    }
-  });
-</script>
index 07b2f9e52170d18f923847cf168119813649c9da..9847cf5aa9a9ea7745a130e629583510df5e979c 100644 (file)
@@ -36,7 +36,7 @@
              :ucl => link_to(t('layouts.partners_ucl'), "http://www.bartlett.ucl.ac.uk"),
              :ic => link_to(t('layouts.partners_ic'), "http://www.imperial.ac.uk/"),
              :bytemark => link_to(t('layouts.partners_bytemark'), "http://www.bytemark.co.uk"),
-             :partners => link_to(t('layouts.partners_partners'), t('layouts.partners_url')) %>
+             :partners => link_to(t('layouts.partners_partners'), "https://hardware.openstreetmap.org/thanks/") %>
     </p>
   </div>
 </div>
index d1ac6b02f8342ae20a920e605d749b85349fd997..a38a81534355d77e54684bee2f6df25eb1dce7de 100644 (file)
@@ -8,61 +8,17 @@
   <!-- <![endif]-->
 </head>
 <body>
-<div id='id-container'></div>
-<script>
-  if (typeof iD == 'undefined' || !iD.Detect().support) {
-    document.getElementById('id-container').innerHTML = 'This editor is supported ' +
-      'in Firefox, Chrome, Safari, Opera, Edge, and Internet Explorer 11. ' +
-      'Please upgrade your browser or use Potlatch 2 to edit the map.';
-    document.getElementById('id-container').className = 'unsupported';
-  } else {
-    <% locale = ID::LOCALES.preferred(preferred_languages).to_s %>
-
-    var id = iD.Context()
-      .embed(true)
-      .assetPath("iD/")
-      .assetMap(<%= assets("iD").to_json.html_safe %>)
-      .locale("<%= locale %>", "<%= asset_path("iD/locales/#{locale}.json") %>")
-      .preauth({
-        <% token = @user.access_token(ID_KEY) %>
-        urlroot: "<%= request.protocol + request.host_with_port %>",
-        oauth_consumer_key: "<%= token.client_application.key %>",
-        oauth_secret: "<%= token.client_application.secret %>",
-        oauth_token: "<%= token.token %>",
-        oauth_token_secret: "<%= token.secret %>"
-      });
-
-    id.map().on('move.embed', parent.$.throttle(250, function() {
-      if (id.inIntro()) return;
-      var zoom = ~~id.map().zoom(),
-        center = id.map().center(),
-        llz = { lon: center[0], lat: center[1], zoom: zoom };
-
-      parent.updateLinks(llz, zoom);
-
-      // Manually resolve URL to avoid iframe JS context weirdness.
-      // http://bl.ocks.org/jfirebaugh/5439412
-      var hash = parent.OSM.formatHash(llz);
-      if (hash !== parent.location.hash) {
-        parent.location.replace(parent.location.href.replace(/(#.*|$)/, hash));
-      }
-    }));
-
-    parent.$("body").on("click", "a.set_position", function (e) {
-      e.preventDefault();
-      var data = parent.$(this).data();
-
-      // 0ms timeout to avoid iframe JS context weirdness.
-      // http://bl.ocks.org/jfirebaugh/5439412
-      setTimeout(function() {
-        id.map().centerZoom(
-          [data.lon, data.lat],
-          Math.max(data.zoom || 15, 13));
-      }, 0);
-    });
-
-    id.ui()(document.getElementById("id-container"));
-  }
-</script>
+<% data = {} -%>
+<% if defined? ID_KEY %>
+<% token = @user.access_token(ID_KEY) %>
+<% data[:token] = token.token -%>
+<% data[:token_secret] = token.secret -%>
+<% data[:consumer_key] = token.client_application.key -%>
+<% data[:consumer_secret] = token.client_application.secret -%>
+<% end %>
+<% data[:locale] = ID::LOCALES.preferred(preferred_languages).to_s -%>
+<% data[:locale_path] = asset_path("iD/locales/#{data[:locale]}.json") -%>
+<% data[:asset_map] = assets("iD").to_json -%>
+<%= content_tag :div, "", :id => "id-container", :data => data %>
 </body>
 </html>
index 9fc33094e090dfa5d21034a4cebfad54c3f60fd8..f520982896b703eff203f1e242e8fdab504cf09f 100644 (file)
@@ -4,9 +4,11 @@
 <% end %>
 
 <% if params[:confirm_string] %>
-  <script>
-  $("#content").hide();
-  </script>
+  <% content_for :head do %>
+    <%= javascript_include_tag "user" %>
+  <% end %>
+
+  <% content_for(:content_class) { "user_confirm" } %>  
 
   <p><%= t 'user.confirm.press confirm button' %></p>
 
     <input type="hidden" name="confirm_string" value="<%= params[:confirm_string] %>">
     <input type="submit" name="confirm_action" value="<%= t 'user.confirm.button' %>">
   <% end %>
-
-  <script>
-  $("#confirm").submit();
-  </script>
 <% else %>
   <h1>
     <%= t "user.confirm.introduction_1" %>
index 1170631caf38cb238dd23859c3df31c65766e269..1791cfc732f362190117c9ef074665cd4d8528ad 100644 (file)
@@ -1,6 +1,8 @@
-<script>
-$("#content").hide();
-</script>
+<% content_for :head do %>
+  <%= javascript_include_tag "user" %>
+<% end %>
+
+<% content_for(:content_class) { "user_confirm" } %>  
 
 <% content_for :heading do %>
   <h1><%= t 'user.confirm_email.heading' %></h1>
@@ -12,7 +14,3 @@ $("#content").hide();
   <input type="hidden" name="confirm_string" value="<%= params[:confirm_string] %>">
   <input type="submit" name="confirm_action" value="<%= t 'user.confirm_email.button' %>">
 <% end %>
-
-<script>
-$("#confirm").submit();
-</script>
index 93839cbe8d5276ef7b50f399e7cd23aefe4e9d7c..fcd0c41fcfd7f49a349ecd2f1035f0f24ad804e2 100644 (file)
@@ -1,5 +1,9 @@
 <% @title = t('user.list.title') %>
 
+<% content_for :head do %>
+  <%= javascript_include_tag "user" %>
+<% end %>
+
 <% content_for :heading do %>
   <h1><%= t('user.list.heading') %></h1>
 <% end %>
       <%= submit_tag t('user.list.confirm'), :name => "confirm" %>
       <%= submit_tag t('user.list.hide'), :name => "hide" %>
     </div>
-
-    <script type="text/javascript">
-     $("#user_all").change(function () {
-       $("#user_list input[type=checkbox]").prop("checked", $("#user_all").prop("checked"));
-     });
-    </script>
   <% end %>
 <% else %>
   <p><%= t "user.list.empty" %></p>
index 47e2f8b54e7004ec274a41be1dcd1ff1c045e40d..3d8cb22f72c19555b27bac45ed4ff1e07f4a825e 100644 (file)
@@ -1,3 +1,7 @@
+<% content_for :head do %>
+  <%= javascript_include_tag "user" %>
+<% end %>
+
 <% content_for :heading do %>
   <h1><%= t 'user.terms.heading' %></h1>
   <div class='header-illustration new-user-terms'></div>
     <% [['france', 'FR'], ['italy', 'IT'], ['rest_of_world', 'GB']].each do |name, legale| %>
       <div class="form-row">
         <label for="legale_<%= legale %>">
-          <%= radio_button_tag 'legale', legale, @legale == legale %>
+          <%= radio_button_tag 'legale', legale, @legale == legale, :data => { :url => url_for(:legale => legale) } %>
           <%= t('user.terms.legale_names.' + name) %>
         </label>
-        <script>
-          $("#legale_<%= legale %>").change(function () {
-            $("#contributorTerms").html("<%=j image_tag 'searching.gif' %>");
-            $("#contributorTerms").load("<%= url_for :legale => legale %>");
-          });
-        </script>
       </div>
     <% end %>
   </div>
index 6319be709e5e72a7723273f2b77d005857ae6129..ec6048521e00f119b49e0f3d6c2a3bc71b381104 100644 (file)
@@ -90,6 +90,8 @@ defaults: &defaults
     # 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}.*"
+    # Blacklist VWorld
+    - "http://xdworld\\.vworld\\.kr:8080/.*"
   # URL of Overpass instance to use for feature queries
   overpass_url: "//overpass-api.de/api/interpreter"
   # Routing endpoints
@@ -117,6 +119,8 @@ defaults: &defaults
   #thunderforest_key: ""
   # Key for generating TOTP tokens
   #totp_key: ""
+  # URL for reporting Content-Security-Policy violations
+  #csp_report_url: ""
 
 development:
   <<: *defaults
index 369fa340a2cd6611c538e9e93706ed0a7ea40154..14495453866ffa28892422fa47a0e1976c91f512 100644 (file)
@@ -27,6 +27,7 @@ translations:
     - "*.time"
     - "*.browse.start_rjs.*"
     - "*.javascripts.*"
+    - "*.site.edit.*"
     - "*.site.index.remote_failed"
     - "*.site.sidebar.search_results"
     - "*.diary_entry.edit.marker_text"
index 5e07cc0986f81c571b2bd3dc86343b0c4eaa80d0..b60edd633c25e9748d76655e14824df080ed7f10 100644 (file)
@@ -12,7 +12,7 @@ Rails.application.config.assets.paths << Rails.root.join("config")
 # Precompile additional assets.
 # application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
 Rails.application.config.assets.precompile += %w(index.js browse.js welcome.js fixthemap.js)
-Rails.application.config.assets.precompile += %w(user.js login.js diary_entry.js)
+Rails.application.config.assets.precompile += %w(user.js login.js diary_entry.js edit/*.js)
 Rails.application.config.assets.precompile += %w(screen-ltr.css print-ltr.css)
 Rails.application.config.assets.precompile += %w(screen-rtl.css print-rtl.css)
 Rails.application.config.assets.precompile += %w(leaflet-all.css leaflet.ie.css)
diff --git a/config/initializers/secure_headers.rb b/config/initializers/secure_headers.rb
new file mode 100644 (file)
index 0000000..e53ea6c
--- /dev/null
@@ -0,0 +1,27 @@
+if defined?(CSP_REPORT_URL)
+  policy = {
+    :default_src => %w('self'),
+    :child_src => %w('self'),
+    :connect_src => %w('self'),
+    :font_src => %w('none'),
+    :form_action => %w('self'),
+    :frame_ancestors => %w('self'),
+    :img_src => %w('self' data: www.gravatar.com *.wp.com *.tile.openstreetmap.org *.tile.thunderforest.com *.openstreetmap.fr),
+    :media_src => %w('none'),
+    :object_src => %w('self'),
+    :plugin_types => %w('none'),
+    :script_src => %w('self'),
+    :style_src => %w('self' 'unsafe-inline'),
+    :report_uri => [CSP_REPORT_URL]
+  }
+
+  policy[:script_src] << PIWIK["location"] if defined?(PIWIK)
+else
+  policy = SecureHeaders::OPT_OUT
+end
+
+SecureHeaders::Configuration.default do |config|
+  config.hsts = "max-age=0"
+  config.csp = SecureHeaders::OPT_OUT
+  config.csp_report_only = policy
+end
index c774111ff3852e2473d2d3e351a9f3dc5cb5cf26..ac5bd333cece1bccc1602b85029979eada05ce64 100644 (file)
@@ -2030,6 +2030,7 @@ ar:
       title: ملاحظات مقدمة أو علق عليها %{user}
       heading: ملاحظات %{user}
       subheading: ملاحظات مقدمة أو علق عليها %{user}
+      description: الوصف
       last_changed: أحدث تغيير
   javascripts:
     close: أغلق
@@ -2142,6 +2143,8 @@ ar:
       nothing_found: لم يتم إيجاد ميزات
       error: 'خطأ في الاتصال %{server}: %{error}'
       timeout: مهلة الاتصال %{server}
+    context:
+      show_address: أظهر العنوان
   redaction:
     edit:
       description: الوصف
index 602975ec711f22a968869632a101c3b5225400b7..57ba6a2f3d7a8b5f723a679b57943c38e79ec73c 100644 (file)
@@ -1648,6 +1648,8 @@ ast:
     require_moderator:
       not_a_moderator: Has de ser moderador pa facer esa aición.
     setup_user_auth:
+      blocked_zero_hour: Tienes un mensaxe urxente nel sitiu web d'OpenStreetMap.
+        Tienes de lleer el mensaxe antes de que puedas guardar les ediciones.
       blocked: Se bloquió el to accesu a la API. Por favor, coneuta pela interfaz
         web pa saber más.
       need_to_see_terms: El to accesu a la API ta torgáu de mou temporal. Por favor,
@@ -2192,6 +2194,8 @@ ast:
     helper:
       time_future: Fina en %{time}.
       until_login: Activu fasta que'l usuariu anicie sesión.
+      time_future_and_until_login: Acaba en %{time} y después de que l'usuariu anicie
+        sesión.
       time_past: Finó hai %{time}.
     blocks_on:
       title: Bloqueos fechos a %{name}
@@ -2356,9 +2360,9 @@ ast:
         merge_right_without_exit: Xúnite a la drecha haza %{name}
         fork_right_without_exit: Nel biforcu xira a la drecha haza %{name}
         turn_right_without_exit: Xira a la drecha haza %{name}
-        sharp_right_without_exit: Fuerte a la drecha haza %{name}
+        sharp_right_without_exit: Zarrao a la drecha haza %{name}
         uturn_without_exit: Cambiu de sentíu en %{name}
-        sharp_left_without_exit: Fuerte a la izquierda haza %{name}
+        sharp_left_without_exit: Zarrao a la izquierda haza %{name}
         turn_left_without_exit: Xira a la izquierda haza %{name}
         offramp_left_without_exit: Cueye la rampla a la izquierda haza %{name}
         onramp_left_without_exit: Xira a la izquierda na rampla haza %{name}
@@ -2392,6 +2396,13 @@ ast:
       nothing_found: Nun s'alcontraron entidaes
       error: 'Error al comunicase con %{server}: %{error}'
       timeout: Tiempu escosáu al comunicase con %{server}
+    context:
+      directions_from: Direiciones dende equí
+      directions_to: Direiciones ata equí
+      add_note: Añadir una nota equí
+      show_address: Amosar la direición
+      query_features: Consultar entidaes
+      centre_map: Centrar el mapa equí
   redaction:
     edit:
       description: Descripción
index 6916b98cfb2144da79033dd140507b5dd2da846b..0d66cd7e629742494cf0969c5e143cdd34bd90e5 100644 (file)
@@ -1335,13 +1335,13 @@ be-Tarask:
       my diary: мой дзёньнік
       new diary entry: новы запіс у дзёньніку
       my edits: мае рэдагаваньні
-      my traces: Ð¼ае трэкі
-      my settings: Ð¼ае налады
+      my traces: Ð\9cае трэкі
+      my settings: Ð\9cае налады
       oauth settings: налады OAuth
-      blocks on me: Ð°трыманыя блякаваньні
-      blocks by me: Ð·аблякаваныя мной
-      send message: даслаць паведамленьне
-      diary: Ð´зёньнік
+      blocks on me: Ð\90трыманыя блякаваньні
+      blocks by me: Ð\97аблякаваныя мной
+      send message: Ð\90даÑ\81лаÑ\86Ñ\8c Ð¿Ð°Ð²ÐµÐ´Ð°Ð¼Ð»ÐµÐ½Ñ\8cне
+      diary: Ð\94зёньнік
       edits: Рэдагаваньні
       traces: Трэкі
       remove as friend: Выдаліць зь сяброў
@@ -1359,9 +1359,8 @@ be-Tarask:
       spam score: 'Адзнака спаму:'
       description: Апісаньне
       user location: Меcцазнаходжаньне ўдзельніка
-      if set location: Калі Вы пазначыце Вашае месцазнаходжаньне, тут зьявіцца прыгожая
-        мапа і дадатковыя інструмэнты. Вы можаце пазначыць Вашае месцазнаходжаньне
-        на Вашай старонцы %{settings_link}.
+      if set location: Пазначце Вашае месцазнаходжаньне на старонцы %{settings_link},
+        каб пабачыць карыстальнікаў па суседзтве.
       settings_link_text: налады
       your friends: Вашыя сябры
       no friends: Пакуль што Вы не дадалі нікога ў сябры.
@@ -1379,15 +1378,15 @@ be-Tarask:
         revoke:
           administrator: Скасаваць правы адміністратара
           moderator: Скасаваць доступ мадэратара
-      block_history: Ð¿Ð°ÐºÐ°Ð·Ð°Ñ\86Ñ\8c Ð°Ñ\82Ñ\80Ñ\8bманыя блякаваньні
-      moderator_history: Ð¿Ð°ÐºÐ°Ð·Ð°Ñ\86Ñ\8c Ð¿ададзеныя блякаваньні
-      create_block: Ð·аблякаваць гэтага ўдзельніка
-      activate_user: Ð°ÐºÑ\82Ñ\8bвÑ\96заваÑ\86Ñ\8c Ð³Ñ\8dÑ\82ага Ñ\83дзельніка
-      deactivate_user: Ð´Ñ\8dакÑ\82Ñ\8bвÑ\96заваÑ\86Ñ\8c Ð³Ñ\8dÑ\82ага Ñ\83дзельніка
-      confirm_user: Ð¿Ð°Ñ\86Ñ\8cвеÑ\80дзÑ\96Ñ\86Ñ\8c Ð³Ñ\8dÑ\82ага ÐºÐ°Ñ\80Ñ\8bÑ\81Ñ\82альніка
-      hide_user: схаваць гэтага ўдзельніка
-      unhide_user: Ð¿аказаць гэтага ўдзельніка
-      delete_user: Ð²ыдаліць гэтага ўдзельніка
+      block_history: Ð\90кÑ\82Ñ\8bÑ\9eныя блякаваньні
+      moderator_history: Ð\9fададзеныя блякаваньні
+      create_block: Ð\97аблякаваць гэтага ўдзельніка
+      activate_user: Ð\90кÑ\82Ñ\8bваваÑ\86Ñ\8c Ð³Ñ\8dÑ\82ага Ñ\9eдзельніка
+      deactivate_user: Ð\94Ñ\8dакÑ\82Ñ\8bваваÑ\86Ñ\8c Ð³Ñ\8dÑ\82ага Ñ\9eдзельніка
+      confirm_user: Ð\9fаÑ\86Ñ\8cвеÑ\80дзÑ\96Ñ\86Ñ\8c Ð³Ñ\8dÑ\82ага Ñ\9eдзельніка
+      hide_user: Схаваць гэтага ўдзельніка
+      unhide_user: Ð\9fаказаць гэтага ўдзельніка
+      delete_user: Ð\92ыдаліць гэтага ўдзельніка
       confirm: Пацьвердзіць
       friends_changesets: Праглядзець усе наборы зьменаў сяброў
       friends_diaries: Праглядзець усе запісы дзёньнікаў сяброў
index df6e6c3b72c714a71e94f1838aede669ae2d7119..d0afa97d27305d26bbbf1aa17c422c4e345e56b2 100644 (file)
@@ -22,6 +22,7 @@ bg:
       language: Език
       message: Съобщение
       node: Възел
+      notifier: Известител
       old_node: Стар възел
       relation: Релация
       relation_member: Член на релация
@@ -155,6 +156,8 @@ bg:
       new_note: Нова бележка
       description: Описание
       open_by: Създадено от %{user} <abbr title='%{exact_time}'>преди %{when}</abbr>
+    query:
+      title: Търсене на особености
   changeset:
     changeset_paging_nav:
       showing_page: Страница %{page}
@@ -402,6 +405,7 @@ bg:
           speed_camera: Камера за контрол на скоростта
           steps: Стълбище
           street_lamp: Улична лампа
+          track: Полски път
           trunk: Скоростен път
           trunk_link: Скоростен път
           unsurfaced: Път без настилка
@@ -646,6 +650,7 @@ bg:
     log_in: Влизане
     log_in_tooltip: Вписване със съществуващ профил
     sign_up: Регистриране
+    start_mapping: Картографиране
     edit: Редактиране
     history: История
     export: Изнасяне
@@ -676,6 +681,7 @@ bg:
       english_link: Оригиналът на английски
     native:
       title: За тази страница
+      mapping_link: картографиране
     legal_babble:
       title_html: Авторски права и лиценз
       infringement_title_html: Нарушаване на авторските права
@@ -744,9 +750,19 @@ bg:
     inbox:
       title: Входящи
       my_inbox: Входяща кутия
+      outbox: Изпратени
+      messages: Вие имате %{new_messages} и %{old_messages}
+      new_messages:
+        one: '%{count} ново съобщение'
+        other: '%{count} нови съобщения'
+      old_messages:
+        one: '%{count} прочетено съобщение'
+        other: '%{count} прочетени съобщения'
       from: От
       subject: Тема
       date: Дата
+      no_messages_yet: Все още нямате никакви съобщения. Не искате ли да се свържете
+        с други %{people_mapping_nearby_link}?
     message_summary:
       unread_button: Отбелязване като непрочетено
       read_button: Отбелязване като прочетено
@@ -760,6 +776,10 @@ bg:
       title: Няма такова съобщение
       heading: Няма такова съобщение
     outbox:
+      title: Изпратени
+      messages:
+        one: Вие имате %{count} изпратено съобщение
+        other: Вие имате %{count} изпратени съобщения
       to: До
       subject: Тема
       date: Дата
@@ -794,6 +814,7 @@ bg:
           trunk: Междуградски път
           primary: Главен път
           secondary: Второстепенен път
+          track: Полски път
           bridleway: Конен път
           cycleway: Велосипедна пътека
           footway: Пътека
@@ -872,21 +893,34 @@ bg:
       visibility: 'Видимост:'
       upload_button: Качване
       help: Помощ
+    trace_header:
+      upload_trace: Качете GPS-следа
+      see_your_traces: Вижте вашите следи
     trace_optionals:
       tags: Етикети
     view:
+      pending: Обработва се
       filename: 'Име на файл:'
       map: карта
       edit: редактиране
       owner: 'Собственик:'
       tags: 'Етикети:'
+      edit_track: Редактиране на тази следа
+      trace_not_found: Следата не е открита!
       visibility: 'Видимост:'
+    trace_paging_nav:
+      showing_page: Страница %{page}
+      older: По-стари следи
     trace:
+      pending: Обработва се
       view_map: Вижте на картата
       edit: редактиране
       edit_map: Редактиране на картата
       in: в
       map: карта
+    list:
+      public_traces: Публични GPS-следи
+      public_traces_from: Публични GPS-следи от потребител %{user}
   oauth:
     oauthorize:
       allow_write_api: промени картата.
@@ -949,29 +983,46 @@ bg:
       title: Няма такъв потребител
     view:
       my edits: Mоите редакции
-      my messages: Моите съобщения
-      my settings: Моите настройки
+      my traces: Моите следи
+      my messages: Съобщения
+      my profile: Профил
+      my settings: Настройки
       edits: Редакции
+      traces: Следи
       notes: Бележки
       mapper since: 'Картограф от:'
       latest edit: 'Последна редакция %{ago}:'
       email address: 'Електронна поща:'
       description: Описание
       user location: Местоположение
+      no friends: Все още нямате добавени приятели.
       km away: '%{count} км от вас'
     account:
       title: Редакция на профил
       my settings: Моите настройки
       current email address: 'Текуща електронна поща:'
       new email address: 'Нова електронна поща:'
+      openid:
+        link text: Какво е това?
+      public editing:
+        enabled link text: Какво е това?
+      contributor terms:
+        agreed: Вие се съгласихте с новите условия за участие.
+        link text: Какво е това?
+      profile description: 'Описание на профила:'
       preferred languages: 'Предпочитани езици:'
       preferred editor: 'Предпочитан редактор:'
       image: 'Изображение:'
+      gravatar:
+        link text: Какво е това?
       new image: Добавяне на изображение
       keep image: Запазване на текущото изображение
       replace image: Заменяне на текущото изображение
+      image size hint: (най-подходящо е квадратно изображение с мин. размер 100×100)
       latitude: 'Географска ширина:'
       longitude: 'Географска дължина:'
+      save changes button: Съхраняване на промените
+      return to profile: Обратно към профила
       flash update success confirm needed: Сведенията за потребителя са успешно обновени.
         Проверете електронната си поща за писмо, с което да потвърдите новия адрес.
     confirm:
@@ -991,6 +1042,7 @@ bg:
       creator_name: Създател
       reason: Причина за блокиране
       status: Статут
+      showing_page: Страница %{page}
     show:
       ago: преди %{time}
       edit: Редактиране
@@ -1003,9 +1055,13 @@ bg:
       cancel: Отказ
       image: Изображение
       link: Препратка или код
+      long_link: Препратка
+      short_link: Кратка препратка
+      embed: Код
       custom_dimensions: Размер по избор
       format: 'Формат:'
       scale: 'Мащаб:'
+      image_size: На изображението ще бъде обичайната карта с размер
       download: Изтегляне
       include_marker: Добавяне на маркер
     key:
@@ -1025,12 +1081,15 @@ bg:
         header: Слоеве на картата
         notes: Бележки
         data: Данни
+        gps: Публични GPS-следи
         overlays: Слоеве за отстраняване на грешки
         title: Слоеве
       donate_link_text: <a class='donate-attr' href='%{donate_url}'>Направете дарение</a>
     site:
       edit_tooltip: Редактиране на картата
       createnote_tooltip: Добавяне на бележка на картата
+      queryfeature_tooltip: Търсене на особености
+      queryfeature_disabled_tooltip: Увеличете, за да търсите особености
     notes:
       new:
         add: Добавяне на бележка
@@ -1057,4 +1116,6 @@ bg:
         destination_without_exit: Пристигнахте на местоназначението
         unnamed: неименуван път
       time: Време
+    context:
+      add_note: Добавете бележка тук
 ...
index d74d289a7516082f29381d421701b864f6d90f67..bb1b5ef277cb5e128f6f9f3b7d4bb465602fb97f 100644 (file)
@@ -1043,10 +1043,10 @@ bn:
       back: পিছনে
       to: প্রাপক
     sent_message_summary:
-      delete_button: à¦®à§\81à¦\9bà§\87 à¦«à§\87লà§\81ন
+      delete_button: à¦\85পসারণ
     mark:
-      as_read: বার্তা পঠিত হিসেবে চিহ্নিত
-      as_unread: বার্তা অপঠিত হিসেবে চিহ্নিত
+      as_read: বার্তা পঠিত হিসেবে চিহ্নিত করুন
+      as_unread: বার্তা অপঠিত হিসেবে চিহ্নিত করুন
     delete:
       deleted: বার্তা মোছা হয়েছে
   site:
@@ -1072,7 +1072,7 @@ bn:
     key:
       table:
         entry:
-          motorway: à¦®à§\8bà¦\9fà§\8bরপথ
+          motorway: মোটরপথ
           main_road: প্রধান সড়ক
           trunk: মূল সড়ক
           primary: প্রাথমিক সড়ক
@@ -1140,7 +1140,7 @@ bn:
       description: 'বিবরণ:'
       tags: 'ট্যাগসমূহ:'
       save_button: পরিবর্তন সংরক্ষণ
-      visibility: দৃষ্টিযোগ্যতা
+      visibility: 'দৃষ্টিযোগ্যতা:'
       visibility_help: এটার মানে কি?
     trace_form:
       upload_gpx: 'জিপিএক্স ফাইল আপলোড:'
@@ -1177,7 +1177,7 @@ bn:
       edit_track: এই অনুসরণটি সম্পাদনা করুন
       delete_track: এই অনুসরণটি মুছে ফেলুন
       trace_not_found: অনুসরণ পাওযা যায়নি।
-      visibility: দৃষ্টিযোগ্যতা
+      visibility: 'দৃষ্টিযোগ্যতা:'
     trace_paging_nav:
       showing_page: '%{page} পাতা'
     trace:
@@ -1220,8 +1220,8 @@ bn:
       remember: আমাকে মনে রাখো
       login_button: প্রবেশ
       register now: এখনই নিবন্ধন করুন
-      with username: 'ইতিমধ্যে একটি ওপেনস্ট্রিটম্যাপ অ্যাকাউন্ট আছে? দয়া করে ব্যবহারকারীনাম
-        এবং পাসওয়ার্ড দিয়ে প্রবেশ করুন:'
+      with username: 'ইতিমধ্যে একটি ওপেনস্ট্রিটম্যাপ অ্যাকাউন্ট আছে? দয়া করে ব্যবহারকারী
+        à¦¨à¦¾à¦® à¦\8fবà¦\82 à¦ªà¦¾à¦¸à¦\93য়ারà§\8dড à¦¦à¦¿à¦¯à¦¼à§\87 à¦ªà§\8dরবà§\87শ à¦\95রà§\81ন:'
       new to osm: ওপেনস্ট্রিটম্যাপে নতুন?
       no account: কোনও অ্যাকাউন্ট নেই?
       auth_providers:
@@ -1386,6 +1386,9 @@ bn:
       way: রাস্তা
       relation: সম্পর্ক
       nothing_found: বৈশিষ্ট্য খুঁজে পাওয়া যায়নি
+    context:
+      add_note: এখানে একটি টীকা যোগ করুন
+      show_address: ঠিকানা দেখান
   redaction:
     edit:
       description: বিবরণ
index b2c7ecd05b70cb69ff32f31c618927da24ae863d..5e636a69900ce89fb7806e9285c2d621ce751c16 100644 (file)
@@ -17,7 +17,7 @@ br:
     models:
       acl: Roll kontroll moned
       changeset: Strollad kemmoù
-      changeset_tag: Balizenn strollad kemmoù
+      changeset_tag: Tikedenn ar strollad kemmoù
       country: Bro
       diary_comment: Addispleg eus an deizlevr
       diary_entry: Enmoned en deizlevr
@@ -25,29 +25,29 @@ br:
       language: Yezh
       message: Kemennadenn
       node: Skoulm
-      node_tag: Balizenn skoulm
+      node_tag: Tikedenn ar skoulm
       notifier: Kemenn
       old_node: Skoulm kozh
-      old_node_tag: balizenn ar skoulm kozh
+      old_node_tag: Tikedenn ar skoulm kozh
       old_relation: Darempred kozh
       old_relation_member: Ezel darempred kozh
-      old_relation_tag: Balizenn darempred kozh
+      old_relation_tag: Tikedenn an darempred kozh
       old_way: Hent kozh
       old_way_node: Skoulm an hent kozh
-      old_way_tag: Balizenn an hent kozh
+      old_way_tag: Tikedenn an hent kozh
       relation: Darempred
       relation_member: Ezel an darempred
-      relation_tag: Balizenn darempred
+      relation_tag: Tikedenn an darempred
       session: Dalc'h
       trace: Roud
       tracepoint: Poent eus ar roud
-      tracetag: Balizenn roud
+      tracetag: Tikedenn ar roud
       user: Implijer
       user_preference: Penndibaboù Implijer
       user_token: Jedouer an implijer
       way: Hent
       way_node: Skoulm eus an hent
-      way_tag: Balizenn hent
+      way_tag: Tikedenn an hent
     attributes:
       diary_comment:
         body: Korf
@@ -188,10 +188,10 @@ br:
       load_data: Kargañ ar roadennoù
       loading: O kargañ...
     tag_details:
-      tags: Balizennoù
+      tags: Tikedennoù
       wiki_link:
-        key: Deskrivadur ar balizenn %{key} war ar wiki
-        tag: Deskrivadur ar balizenn %{key}=%{value} war ar wiki
+        key: Pajenn deskrivañ ar wiki evit an dikedenn %{key}
+        tag: Pajenn deskrivañ ar wiki evit an dikedenn %{key}=%{value}
       wikidata_link: An elfenn %{page} e Wikidata
       wikipedia_link: Ar pennad %{page} war Wikipedia
       telephone_link: Gervel %{phone_number}
@@ -1116,7 +1116,7 @@ br:
         pe ur wezenn.
       way_html: Ur <strong>roud</strong> zo ul linenn pe ur gorread, evel un hent,
         ur wazh-dour, pe ur savadur.
-      tag_html: Ur <strong>valizenn</strong> zo ur roadenn diwar-benn ur skoulm pe
+      tag_html: Un <strong>dikedenn</strong> zo ur roadenn diwar-benn ur skoulm pe
         un hent, evel anv ur preti pe an tizh bevennet war un hent.
     rules:
       title: Reolennoù !
@@ -1253,8 +1253,8 @@ br:
       greeting: Demat,
       your_gpx_file: War a seblant, ho restr GPX
       with_description: gant an deskrivadur
-      and_the_tags: 'hag ar balizennoù-mañ :'
-      and_no_tags: ha balizenn ebet.
+      and_the_tags: 'hag an tikedennoù-mañ :'
+      and_no_tags: ha tikedenn ebet.
       failure:
         subject: '[OpenStreetMap] fazi e-pad an enporzhiadur GPX'
         failed_to_import: 'n''en deus ket gallet bezañ enporzhiet. Setu amañ ar fazi
@@ -1585,7 +1585,7 @@ br:
       edit: aozañ
       owner: 'Perc''henn :'
       description: 'Deskrivadur :'
-      tags: 'Balizennoù :'
+      tags: 'Tikedennoù :'
       tags_help: bevennet gant virgulennoù
       save_button: Enrollañ ar c'hemmoù
       visibility: 'Gwelusted :'
@@ -1593,7 +1593,7 @@ br:
     trace_form:
       upload_gpx: 'Kas ar restr GPX :'
       description: 'Deskrivadur :'
-      tags: 'Balizennoù :'
+      tags: 'Tikedennoù :'
       tags_help: bevennet gant virgulennoù
       visibility: 'Gwelusted :'
       visibility_help: Petra a dalvez ?
@@ -1607,7 +1607,7 @@ br:
         vefe gortoz a-raok kas re all, evit chom hep stankañ al lostennad evit an
         implijerien all.
     trace_optionals:
-      tags: Balizennoù
+      tags: Tikedennoù
     view:
       title: O welet ar roud %{name}
       heading: O welet ar roud %{name}
@@ -1621,7 +1621,7 @@ br:
       edit: aozañ
       owner: 'Perc''henn :'
       description: 'Deskrivadur :'
-      tags: 'Balizennoù :'
+      tags: 'Tikedennoù :'
       none: Hini ebet
       edit_track: Aozañ ar roudenn-mañ
       delete_track: Dilemel ar roudenn-mañ
@@ -1679,6 +1679,8 @@ br:
     require_moderator:
       not_a_moderator: Ret eo deoc'h bezañ habaskaer evit kas an ober-mañ da benn.
     setup_user_auth:
+      blocked_zero_hour: Ur gemennadenn vallus zo war lec'hienn OpenStreetMap evidoc'h.
+        Ret eo deoc'h lenn ar gemennadenn-se a-raok gallout enrollañ ho kemmoù.
       blocked: Stanket eo bet ho moned d'an API. Kevreit ouzh an etrefas web evit
         gouzout hiroc'h.
       need_to_see_terms: Evit ar mare n'oc'h ket aotreet da vont war an API ken. Kevreit
@@ -2226,6 +2228,8 @@ br:
     helper:
       time_future: Echuiñ a ray a-benn %{time}.
       until_login: Oberiant betek ma kevre an implijer.
+      time_future_and_until_login: Echuiñ a ra a-benn %{time} hag ur wech kevreet
+        an implijer.
       time_past: Echuet %{time} zo.
     blocks_on:
       title: Stankadurioù evit %{name}
@@ -2428,6 +2432,13 @@ br:
       nothing_found: Arc'hweladur ebet kavet
       error: Fazi o vont e daremmpred gant %{server}:%{error}
       timeout: Amzer aet e-biou %{server}
+    context:
+      directions_from: Durc'hadurioù adalek amañ
+      directions_to: Durc'hadurioù betek amañ
+      add_note: Ouzhpennañ un notenn amañ
+      show_address: Diskouez ar chomlec'h
+      query_features: Perzhioù enklask
+      centre_map: Kreizañ ar gartenn amañ
   redaction:
     edit:
       description: Deskrivadur
index 315993ee5549d2f4aa82c0adf8721a6f1d2d1fda..e23b4f80c4e297a77185b18b600e13cc6c32688b 100644 (file)
@@ -1364,6 +1364,7 @@ ca:
           heu comentat. La nota és a prop de %{place}.'
       details: Podeu trobar més detalls de la nota a %{url}.
     changeset_comment_notification:
+      hi: Hola %{to_user},
       greeting: Hola,
       commented:
         subject_own: '[OpenStreetMap] %{commenter} ha comentat en un dels vostres
@@ -2459,6 +2460,13 @@ ca:
       nothing_found: No s'han trobat característiques
       error: 'Error en contactar amb %{server}: %{error}'
       timeout: Temps de contacte amb %{server} excedit
+    context:
+      directions_from: Direccions des d'aquí
+      directions_to: Direccions cap aquí
+      add_note: Afegeix una nota aquí
+      show_address: Mostra l'adreça
+      query_features: Consulta les funcionalitats
+      centre_map: Centra el mapa aquí
   redaction:
     edit:
       description: Descripció
index b4af8917ef4023ee0c493a58c17fdc479af3392f..803b687299858e3d73cfff1758ccbdffeba002c6 100644 (file)
@@ -24,6 +24,7 @@
 # Author: Nemo bis
 # Author: Paxt
 # Author: Reaperman
+# Author: StenSoft
 # Author: Tchoř
 # Author: Urbanecm
 # Author: Veritaslibero
@@ -790,7 +791,7 @@ cs:
           abandoned: Zrušená železniční trať
           construction: Železnice ve výstavbě
           disused: Nepoužívaná železniční trať
-          disused_station: Nepoužívaná železniční stanice
+          disused_station: Zrušená železniční stanice
           funicular: Lanová dráha
           halt: Železniční zastávka
           historic_station: Nádraží historické železnice
@@ -936,7 +937,7 @@ cs:
         level6: Hranice okresu
         level8: Hranice obce
         level9: Hranice vesnice
-        level10: Hranice čtvrti
+        level10: Hranice městské části
     description:
       title:
         osm_nominatim: Poloha podle <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
@@ -979,7 +980,6 @@ cs:
     partners_ic: Imperial College London
     partners_bytemark: Bytemark Hosting
     partners_partners: partneři
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners?uselang=cs
     osm_offline: Databáze OpenStreetMap je momentálně kvůli probíhající neodkladné
       údržbě mimo provoz.
     osm_read_only: Databáze OpenStreetMap je momentálně kvůli probíhající neodkladné
@@ -2412,6 +2412,8 @@ cs:
       nothing_found: Žádné nalezené objekty
       error: 'Chyba při připojování k %{server}: %{error}'
       timeout: Vypršel čas při připojování k %{server}
+    context:
+      show_address: Zobrazit adresu
   redaction:
     edit:
       description: Popis
index 7fc38de1ffea0e48e793d80e19ce452f634dda2c..d1adc7cd0fb34aa303c26d64a2a552dffcfdbe83 100644 (file)
@@ -452,7 +452,7 @@ da:
           cinema: Biograf
           clinic: Klinik
           clock: Ur
-          college: Videregående uddanelsesinstitution
+          college: Videregående uddannelsesinstitution
           community_centre: Forsamlingshus / lokalcenter
           courthouse: Retsbygning
           crematorium: Krematorium
index 7b5976c616005c9f180798118b1981339d6efd49..82fed433d67211c88cd3846f0f8d8a9c19b80523 100644 (file)
@@ -1002,7 +1002,6 @@ de:
     partners_ic: dem Imperial College London
     partners_bytemark: Bytemark Hosting
     partners_partners: Partnern
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: Die OpenStreetMap-Datenbank ist im Moment wegen wichtiger Wartungsarbeiten
       nicht verfügbar.
     osm_read_only: Die OpenStreetMap-Datenbank ist im Moment wegen wichtiger Wartungsarbeiten
@@ -1745,6 +1744,8 @@ de:
     require_moderator:
       not_a_moderator: Du musst Moderator sein, um diese Aktion durchführen zu können.
     setup_user_auth:
+      blocked_zero_hour: Du hast eine dringende Nachricht auf der OpenStreetMap-Website.
+        Du musst sie zuerst lesen, bevor du deine Bearbeitungen speichern kannst.
       blocked: Dein Zugriff auf die API wurde gesperrt. Bitte melde dich auf der Web-Oberfläche
         an, um mehr zu erfahren.
       need_to_see_terms: Dein Zugriff auf die API wurde vorübergehend ausgesetzt.
@@ -2305,6 +2306,8 @@ de:
     helper:
       time_future: Endet in %{time}.
       until_login: Aktiv, bis der Benutzer sich anmeldet.
+      time_future_and_until_login: Endet in %{time} und nachdem sich der Benutzer
+        angemeldet hat.
       time_past: Endete vor %{time}
     blocks_on:
       title: Sperren für %{name}
@@ -2507,6 +2510,13 @@ de:
       nothing_found: Keine Objekte gefunden
       error: 'Fehler beim Kontaktieren von %{server}: %{error}'
       timeout: Zeitüberschreitung beim Kontaktieren von %{server}
+    context:
+      directions_from: Route von hier
+      directions_to: Route nach hier
+      add_note: Einen Kartenfehler hier einfügen
+      show_address: Adresse anzeigen
+      query_features: Abfrage-Funktionen
+      centre_map: Karte hier zentrieren
   redaction:
     edit:
       description: Beschreibung
index 69b7a28b472328a9895693178723cf0056ecab76..56b8f9c509cd548563d02a530668fb233c5b1e6b 100644 (file)
@@ -18,7 +18,7 @@ diq:
     models:
       acl: Qontrol Listeyê Resayışi
       changeset: Qeydê Vurnayışan
-      changeset_tag: Vurnayışê Etiketan
+      changeset_tag: Etiketê vırnayışi
       country: Dewlet
       diary_comment: Vatışê Rocan
       diary_entry: Deqewtışê Rocan
@@ -920,7 +920,7 @@ diq:
       edits: Vurnayışi
       traces: Rêçi
       remove as friend: Embazan ra vec
-      add as friend: Embaz bı
+      add as friend: Embazi cı ke
       mapper since: 'Demê herdnigarwaniye:'
       ago: (%{time_in_words_ago} veror)
       ct undecided: Darıdeyo
index b7b89dcc896b0fece2055ede2d46ef699c40b46c..221ddff60ee8712ff4df46771ab98576741e4120 100644 (file)
@@ -21,6 +21,7 @@
 # Author: Stam.nikos
 # Author: SucreRouge
 # Author: Zserdx
+# Author: Ανώνυμος Βικιπαιδιστής
 # Author: 아라
 ---
 el:
@@ -992,7 +993,6 @@ el:
     partners_ic: Imperial College του Λονδίνου
     partners_bytemark: Bytemark Hosting
     partners_partners: συνεργάτες
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: Η βάση δεδομένων του OpenStreetMap είναι προσωρινά εκτός λειτουργίας
       λόγω εργασιών συντήρησης της βάσης δεδομένων.
     osm_read_only: Η βάση δεδομένων του OpenStreetMap έχει τεθεί προσωρινά σε λειτουργία
@@ -1372,6 +1372,7 @@ el:
       details: Περισσότερες λεπτομέρειες σχετικά με τη σημείωση μπορούν να βρεθούν
         στο %{url}.
     changeset_comment_notification:
+      hi: Γεια σας, %{to_user},
       greeting: Γεια,
       commented:
         subject_own: '[OpenStreetMap] {{GENDER:%{commenter}|Ο|Η}} %{commenter} σχολίασε
@@ -1387,6 +1388,8 @@ el:
         partial_changeset_without_comment: χωρίς σχόλιο
       details: Περισσότερες λεπτομέρειες για την ομάδα αλλαγών μπορούν να βρεθούν
         στο %{url}.
+      unsubscribe: Για να διαγραφείτε από τις ενημερώσεις αυτής της ομάδας αλλαγών,
+        επισκεφθείτε το %{url} και πατήστε "Διαγραφή".
   message:
     inbox:
       title: Εισερχόμενα
@@ -1713,8 +1716,14 @@ el:
       not_a_moderator: Θα πρέπει να είστε συντονιστής για να εκτελέσετε αυτήν την
         ενέργεια.
     setup_user_auth:
+      blocked_zero_hour: Έχετε ένα επείγον μήνυμα στον ιστότοπο του OpenStreetMap.
+        Θα πρέπει να διαβάσετε το μήνυμα πριν να μπορείτε να αποθηκεύσετε τις αλλαγές
+        σας.
       blocked: Η πρόσβασή σας στο API έχει αποκλειστεί. Παρακαλώ συνδεθείτε με τη
         διεπαφή του ιστότοπου για να μάθετε περισσότερα.
+      need_to_see_terms: Η πρόσβασή σας στο API έχει ανασταλεί προσωρινά. Παρακαλούμε
+        συνδεθείτε στην ηλεκτρονική διεπαφή για να δείτε τους Όρους Συνεισφερόντων.
+        Δεν χρειάζεται να συμφωνήσετε, αλλά θα πρέπει να τους δείτε.
   oauth:
     oauthorize:
       title: Επιτρέψτε την πρόσβαση στο λογαριασμό σας
@@ -2443,6 +2452,13 @@ el:
       nothing_found: Δεν βρέθηκαν χαρακτηριστικά
       error: 'Σφάλμα επικοινωνίας με τον %{server}: %{error}'
       timeout: Έληξε το χρονικό όριο επικοινωνίας με %{server}
+    context:
+      directions_from: Οδηγίες από εδώ
+      directions_to: Οδηγίες προς τα εδώ
+      add_note: Προσθέστε μια σημείωση εδώ
+      show_address: Εμφάνιση διεύθυνσης
+      query_features: Πληροφορίες χαρακτηριστικών
+      centre_map: Κεντράρισμα χάρτη εδώ
   redaction:
     edit:
       description: Περιγραφή
index 4b0ccd15e359eddab9f55b352d5eba17a1f7ffaa..c3eca7447d930f9244741fb60785b9e18ce0a2f5 100644 (file)
@@ -973,7 +973,6 @@ en-GB:
     partners_ic: Imperial College London
     partners_bytemark: Bytemark Hosting
     partners_partners: partners
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: The OpenStreetMap database is currently offline while essential database
       maintenance work is carried out.
     osm_read_only: The OpenStreetMap database is currently in read-only mode while
index 4cc81750cd63598ea3cddc4f729475869239fa97..7edeea7d0cbd0b49c1d5de59380d52af4b621c7b 100644 (file)
@@ -933,12 +933,11 @@ en:
     intro_header: Welcome to OpenStreetMap!
     intro_text: OpenStreetMap is a map of the world, created by people like you and free to use under an open license.
     intro_2_create_account: "Create a user account"
-    partners_html: "Hosting is supported by %{ucl}, %{ic} and %{bytemark}, and other %{partners}."
+    partners_html: "Hosting is supported by %{ucl}, %{bytemark} and %{ic}, and other %{partners}."
     partners_ucl: "the UCL VR Centre"
     partners_ic: "Imperial College London"
     partners_bytemark: "Bytemark Hosting"
     partners_partners: "partners"
-    partners_url: "http://wiki.openstreetmap.org/wiki/Partners"
     osm_offline: "The OpenStreetMap database is currently offline while essential database maintenance work is carried out."
     osm_read_only: "The OpenStreetMap database is currently in read-only mode while essential database maintenance work is carried out."
     donate: "Support OpenStreetMap by %{link} to the Hardware Upgrade Fund."
@@ -1244,6 +1243,7 @@ en:
       header: "%{from_user} has sent you a message through OpenStreetMap with the subject %{subject}:"
       footer_html: "You can also read the message at %{readurl} and you can reply at %{replyurl}"
     friend_notification:
+      hi: "Hi %{to_user},"
       subject: "[OpenStreetMap] %{user} added you as a friend"
       had_added_you: "%{user} has added you as a friend on OpenStreetMap."
       see_their_profile: "You can see their profile at %{userurl}."
@@ -1626,6 +1626,7 @@ en:
     require_moderator:
       not_a_moderator: "You need to be a moderator to perform that action."
     setup_user_auth:
+      blocked_zero_hour: "You have an urgent message on the OpenStreetMap web site. You need to read the message before you will be able to save your edits."
       blocked: "Your access to the API has been blocked. Please log-in to the web interface to find out more."
       need_to_see_terms: "Your access to the API is temporarily suspended. Please log-in to the web interface to view the Contributor Terms. You do not need to agree, but you must view them."
   oauth:
@@ -1651,6 +1652,8 @@ en:
       invalid: "The authorization token is not valid."
     revoke:
       flash: "You've revoked the token for %{application}"
+    permissions:
+      missing: "You have not permitted the application access to this facility"
   oauth_clients:
     new:
       title: "Register a new application"
@@ -2112,6 +2115,7 @@ en:
     helper:
       time_future: "Ends in %{time}."
       until_login: "Active until the user logs in."
+      time_future_and_until_login: "Ends in %{time} and after the user has logged in."
       time_past: "Ended %{time} ago."
     blocks_on:
       title: "Blocks on %{name}"
@@ -2307,6 +2311,13 @@ en:
       nothing_found: No features found
       error: "Error contacting %{server}: %{error}"
       timeout: "Timeout contacting %{server}"
+    context:
+      directions_from: Directions from here
+      directions_to: Directions to here
+      add_note: Add a note here
+      show_address: Show address
+      query_features: Query features
+      centre_map: Centre map here
   redaction:
     edit:
       description: "Description"
index 469a2842057bfe192dde7a541d1ef92e7fe7c223..fda175ac08da58828934ca2324e3efe589e5df21 100644 (file)
@@ -1648,6 +1648,8 @@ eo:
     require_moderator:
       not_a_moderator: Vi devas esti kontrolanto por fari ĉi tiun agon.
     setup_user_auth:
+      blocked_zero_hour: Vi havas urĝan mesaĝon en la OpenStreetMap retejo. Vi devas
+        legi la mesaĝon antaŭ ol vi povos konservi viajn redaktojn.
       blocked: Via aliro al API estas blokita. Bonvolu ensaluti al reta interfaco
         por sciiĝi pli.
       need_to_see_terms: Via aliro al API estas dumtempe provizore haltigita. Bonvolu
@@ -2180,6 +2182,7 @@ eo:
     helper:
       time_future: Finiĝos %{time}.
       until_login: Aktiva ĝis la uzanto ensalutos.
+      time_future_and_until_login: Finiĝos dum %{time} kaj post la uzanto ensalutos.
       time_past: Finiĝis antaŭ %{time}
     blocks_on:
       title: Blokadoj por %{name}
@@ -2379,6 +2382,13 @@ eo:
       nothing_found: Neniuj objektoj trovitaj
       error: 'Eraro dum komunikado kun %{server}: %{error}'
       timeout: Atingis tempolimon dum kontakto kun %{server}
+    context:
+      directions_from: Direktoj el ĉi tie
+      directions_to: Direktoj al ĉi tie
+      add_note: Aldoni rimarkon ĉi tien
+      show_address: Montri adreson
+      query_features: Informoj pri objektoj
+      centre_map: Centrigi mapon ĉi tien
   redaction:
     edit:
       description: Priskribo
index 2a982c93b3d8eaf5dad40c2cb42a31950e8481f8..c24449db59f53599b2e1e6f0e6c194f302a70222 100644 (file)
@@ -7,6 +7,7 @@
 # Author: Carlosz22
 # Author: Crazymadlover
 # Author: Csbotero
+# Author: Dgstranz
 # Author: Egofer
 # Author: Fitoschido
 # Author: Fortega
@@ -988,7 +989,6 @@ es:
     partners_ic: Imperial College de Londres
     partners_bytemark: Bytemark Hosting
     partners_partners: socios
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: La base de datos de OpenStreetMap no está disponible en estos momentos
       debido a trabajos de mantenimiento.
     osm_read_only: La base de datos de OpenStreetMap se encuentra en modo de sólo
@@ -1697,6 +1697,8 @@ es:
     require_moderator:
       not_a_moderator: Tienes que ser un moderador para ejecutar esa acción.
     setup_user_auth:
+      blocked_zero_hour: Tienes un mensaje urgente en el sitio web de OpenStreetMap.
+        Debes leer el mensaje antes de que puedas guardar tus ediciones.
       blocked: Su acceso a la API ha sido bloqueado. Por favor, inicie sesión en la
         interfaz web para obtener más información.
       need_to_see_terms: Su acceso a la API está temporalmente suspendido. Por favor,
@@ -2249,6 +2251,8 @@ es:
     helper:
       time_future: Termina en %{time}.
       until_login: Activo hasta que el usuario acceda.
+      time_future_and_until_login: Termina en %{time} y después de que el usuario
+        ha iniciado sesión.
       time_past: Finalizado hace %{time}.
     blocks_on:
       title: Bloqueos sobre %{name}
@@ -2453,6 +2457,13 @@ es:
       nothing_found: No se encontraron características
       error: 'Error al contactar a %{server}: %{error}'
       timeout: Tiempo de espera agotado al contactar a %{server}
+    context:
+      directions_from: Indicaciones desde aquí
+      directions_to: Indicaciones hasta aquí
+      add_note: Añadir una nota aquí
+      show_address: Mostrar dirección
+      query_features: Consultar características
+      centre_map: Centrar el mapa aquí
   redaction:
     edit:
       description: Descripción
index 8d329b892126d1c5acd8538c58ec2f279abaca75..00e575837693dc570dbe45fa23a78490ddce30b5 100644 (file)
@@ -217,6 +217,11 @@ et:
       reopened_by_anonymous: Taasavatud anonüümse kasutaja poolt <abbr title='%{exact_time}'>%{when}
         tagasi</abbr>
       hidden_by: Peitnud %{user} <abbr title='%{exact_time}'>%{when} tagasi</abbr>
+    query:
+      title: Info objektide kohta
+      introduction: Klõpsa kaardil, et leida läheduses asuvad objektid.
+      nearby: Läheduses asuvad objektid
+      enclosing: Ümbritsevad objektid
   changeset:
     changeset_paging_nav:
       showing_page: Leht %{page}
@@ -256,6 +261,7 @@ et:
   diary_entry:
     new:
       title: Uus päeviku sissekanne
+      publish_button: Avalda
     list:
       title: Kasutajate päevikud
       title_friends: Sõprade päevikud
@@ -896,9 +902,9 @@ et:
       more_2_html: |-
         Kuigi OpenStreetMap on vabad andmed, ei saa me pakkuda
         tasuta kaardi API-t kolmandate osapoolte arendajatele.
-        Vaata meie <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">API kasutusreegleid</a>,
-        <a href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">Kaardi paanide kasutusreegleid</a>
-        ja <a href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">Nominatimi kasutusreegleid</a>.
+        Vaata meie <a href="https://operations.osmfoundation.org/policies/api/">API kasutusreegleid</a>,
+        <a href="https://operations.osmfoundation.org/policies/tiles/">Kaardi paanide kasutusreegleid</a>
+        ja <a href="https://operations.osmfoundation.org/policies/nominatim/">Nominatimi kasutusreegleid</a>.
       contributors_title_html: Peamised kaastöölised
       contributors_intro_html: |-
         Meie kaastöölisteks on tuhanded üksikisikud. Oleme samuti kaasanud vabalt litsentseeritud andmeid rahvuslikest kartograafia asutustest
@@ -1098,7 +1104,7 @@ et:
     partners_title: Partnerid
   notifier:
     diary_comment_notification:
-      subject: '[OpenStreetMap] %{user} kommenteeris sinu päeviku sissekannet'
+      subject: '[OpenStreetMap] %{user} kommenteeris päeviku sissekannet'
       hi: Tere, %{to_user}!
       header: '%{from_user} kommenteeris hiljutist OpenStreetMapi päevikusissekannet
         pealkirjaga %{subject}:'
@@ -1665,8 +1671,9 @@ et:
         tingimustega</a>.
       email address: 'E-posti aadress:'
       confirm email address: 'Kinnita e-posti aadress:'
-      not displayed publicly: Ei näidata avalikult (vaata <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
-        title="viki privaatsusreeglid, sh osa e-posti aadresside käsitlemisest">privaatsusreegleid</a>)
+      not displayed publicly: Sinu aadressi ei näidata avalikult, lisainfot loe meie
+        <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="OSMF privaatsusreeglid,
+        sh osa e-posti aadresside käsitlemisest">privaatsusreeglitest</a>
       display name: 'Kuvatav nimi:'
       display name description: Avalikult kuvatud kasutajanimi. Seda saate muuta hiljem
         eelistustes.
@@ -2093,7 +2100,7 @@ et:
     key:
       title: Legend
       tooltip: Legend
-      tooltip_disabled: Legend on nähtav ainult Tavakaardil
+      tooltip_disabled: Legend ei ole nähtav sellel kihil
     map:
       zoom:
         in: Suurenda
@@ -2121,6 +2128,7 @@ et:
       createnote_disabled_tooltip: Suurenda, et lisada kaardile märkus
       map_notes_zoom_in_tooltip: Suumi sisse, et näha kaardil märkuseid
       map_data_zoom_in_tooltip: Suumi sisse, et näha kaardi andmeid
+      queryfeature_tooltip: Mis siin on?
     changesets:
       show:
         comment: Kommenteeri
@@ -2168,8 +2176,16 @@ et:
       node: Sõlm
       way: Joon
       relation: Relatsioon
+      nothing_found: Objekte ei leitud
       error: 'Viga ühendumisel serveriga %{server}: %{error}'
       timeout: Ühendumine aegus serveriga %{server}
+    context:
+      directions_from: Juhised alates siit
+      directions_to: Juhised siia
+      add_note: Lisa siia märkus
+      show_address: Kuva aadress
+      query_features: Mis siin on?
+      centre_map: Kuva kaardi keskel
   redaction:
     edit:
       description: Kirjeldus
index 9ba591beb5ff0b5cc5f5c1270a41c1e13db47347..29852f3fc55518f9878d70c22083221497171e76 100644 (file)
@@ -2,6 +2,7 @@
 # Exported from translatewiki.net
 # Export driver: phpyaml
 # Author: Alirezaaa
+# Author: Arash.pt
 # Author: Armin1392
 # Author: BMRG14
 # Author: Baqeri
@@ -2385,6 +2386,8 @@ fa:
       nothing_found: ویژگی‌ای یافت نشد
       error: 'خطار در ارتباط %{server}: %{error}'
       timeout: اتمام زمان %{server}
+    context:
+      show_address: نمایش آدرس
   redaction:
     edit:
       description: شرح
index c2e072a21f22f5f42b796fe67948000ccf4bf6d3..903ef819c2f956196d8502b98f1c9cbdbc8bc2cc 100644 (file)
@@ -1678,6 +1678,8 @@ fi:
     require_moderator:
       not_a_moderator: Tämän toiminnon suorittamiseksi sinun on oltava ylläpitäjä.
     setup_user_auth:
+      blocked_zero_hour: Olet saanut kiireellisen viestin OpenStreetMapin verkkopalvelussa.
+        Viesti on luettava, ennen kuin karttaan voi tallentaa muutoksia.
       blocked: Pääsysi APIin on estetty. Lisätietoja saat kirjautumalla web-käyttöliittymään.
       need_to_see_terms: API:n käyttöoikeutesi on tilapäisesti hyllytetty. Kirjaudu
         sisään verkkokäyttöliittymään nähdäksesi osallistujien ehdot. Niihin ei tarvitse
@@ -2204,6 +2206,8 @@ fi:
     helper:
       time_future: Päättyy %{time} kuluttua.
       until_login: Aktiivinen kunnes käyttäjä kirjautuu sisään.
+      time_future_and_until_login: Päättyy %{time} kuluttua ja käyttäjän kirjauduttua
+        sisään.
       time_past: Päättyi %{time} sitten.
     blocks_on:
       title: Käyttäjän %{name} estot
@@ -2405,6 +2409,13 @@ fi:
       nothing_found: Karttakohteita ei löytynyt
       error: 'Yhteysvirhe palvelimeen %{server}: %{error}'
       timeout: Yhteyden aikakatkaisu palvelimeen %{server}
+    context:
+      directions_from: Reittiohjeet täältä
+      directions_to: Reittiohjeet tänne
+      add_note: Ilmoita karttavirheestä
+      show_address: Näytä osoite
+      query_features: Lähistöllä
+      centre_map: Keskitä kartta
   redaction:
     edit:
       description: Kuvaus
index c088db13f7b02d3ad80a6a99be03ed5b7232f173..50054c3a8b79dbca505104f8e7a34efb84c66af0 100644 (file)
@@ -1011,7 +1011,6 @@ fr:
     partners_ic: le Collège impérial de Londres
     partners_bytemark: Hébergement Bytemark
     partners_partners: partenaires
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: La base de données OpenStreetMap est actuellement hors ligne ; une
       maintenance essentielle à son bon fonctionnement est en cours.
     osm_read_only: La base de données OpenStreetMap est actuellement en mode lecture
@@ -1732,6 +1731,8 @@ fr:
     require_moderator:
       not_a_moderator: Vous devez être modérateur pour effectuer cette action.
     setup_user_auth:
+      blocked_zero_hour: Vous avez un message urgent sur le site web OpenStreetMap.
+        Vous devez lire le message avant de pouvoir enregistrer vos modifications.
       blocked: Votre accès à l’API a été bloqué. Connectez-vous sur l’interface web
         pour plus d’informations.
       need_to_see_terms: Votre accès à l’API est temporairement suspendu. Veuillez
@@ -2294,6 +2295,8 @@ fr:
     helper:
       time_future: Prends fin dans %{time}.
       until_login: Actif jusqu’à ce que l’utilisateur se connecte.
+      time_future_and_until_login: Finit dans %{time} et une fois que l’utilisateur
+        s’est connecté.
       time_past: Terminé il y a %{time}.
     blocks_on:
       title: Blocages de « %{name} »
@@ -2494,6 +2497,13 @@ fr:
       nothing_found: Aucun objet trouvé
       error: 'Erreur en contactant %{server} : %{error}'
       timeout: Délai dépassé en contactant %{server}
+    context:
+      directions_from: Directions depuis ici
+      directions_to: Directions vers ici
+      add_note: Ajouter une note ici
+      show_address: Afficher l’adresse
+      query_features: Requêter sur les fonctionnalités
+      centre_map: Centrer la carte ici
   redaction:
     edit:
       description: Description
index 261bee3ebcfe8138c13ee92636f4f012e4c8235b..4b25790c26ace0d8e4977e81ff830ff7754d0c91 100644 (file)
@@ -168,6 +168,7 @@ gd:
         way: an t-slighe
         relation: an dàimh
         changeset: seata atharraichean
+        note: an aire
     timeout:
       sorry: Duilich ach thug e ro fhada an dàta airson %{type} air a bheil an id
         %{id} fhaighinn.
@@ -176,6 +177,7 @@ gd:
         way: an t-slighe
         relation: an dàimh
         changeset: seata atharraichean
+        note: an aire
     redacted:
       redaction: Ath-sgrùdadh %{id}
       message_html: Chan urrainn dhuinn an tionndadh %{version} %{type} a shealltainn
@@ -269,6 +271,7 @@ gd:
   diary_entry:
     new:
       title: Clàr ùr an leabhair-latha
+      publish_button: Foillsich
     list:
       title: Leabhraichean-latha
       title_friends: Leabhraichean-latha do charaidean
@@ -974,7 +977,6 @@ gd:
     partners_ic: Imperial College London
     partners_bytemark: Bytemark Hosting
     partners_partners: com-pàirtichean eile
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: Tha an stòr-dàta aig OpenStreetMap far loidhńe an-dràsta on a tha
       sinn a' dèanamh obair-charaidh riatanach air.
     osm_read_only: Tha an stòr-dàta aig OpenStreetMap sa mhodh leughaidh a-mhàin an-dràsta
@@ -1144,6 +1146,8 @@ gd:
         loch no togalach.'
       tag_html: '''S e beagan dàta mu nòd no slighe a tha ann an <strong>taga</strong>,
         can ainm taighe-bhìdh no crìoch astair rathaid.'
+    rules:
+      title: Riaghailtean!
     questions:
       title: A bheil ceist sam bith agad?
       paragraph_1_html: |-
@@ -1191,11 +1195,19 @@ gd:
       title: Fàilte gu OSM
       description: Faigh toiseach tòiseachaidh air OpenStreetMap leis an stiùireadh
         luath seo.
+    beginners_guide:
+      url: http://wiki.openstreetmap.org/wiki/Beginners%27_guide
+      title: Treòir an luchd-tòiseachaidh
+      description: Treòir leis a’ choimhearsnachd do luchd-tòiseachaidh
     help:
       url: https://help.openstreetmap.org/
       title: help.openstreetmap.org
       description: Faighnich ceist no rùraich na freagairtean air làrach nan ceistean
         àbhaisteach aig OSM.
+    mailing_lists:
+      title: Liostaichean-puist
+    switch2osm:
+      title: switch2osm
     wiki:
       url: http://wiki.openstreetmap.org/
       title: wiki.openstreetmap.org
@@ -1222,13 +1234,14 @@ gd:
     open_data_html: |-
       'S e <i>dàta fosgailte</i> a tha san OpenStreetMap: faodaidh tu a chleachdadh a chum adhbhair sam bith cho fad 's a bheir thu urram air OpenStreetMap agus na co-thabhartaichean aige. Ma nì thu atharrachadh air an dàta againn no ma thogas tu rudeigin eile leis, faodaidh tu
       an toradh a sgaoileadh fon aon cheadachas. Thoir sùil air <a href='%{copyright_path}'>Duilleag na còrach-lethbhreac agus a' cheadachais</a> airson barrachd fiosrachaidh.
+    legal_title: Nòtaichean laghail
     partners_title: Com-pàirtichean
   notifier:
     diary_comment_notification:
-      subject: '[OpenStreetMap] Thug %{user} beachd air an leabhar-latha agad'
+      subject: '[OpenStreetMap] Thug %{user} seachad beachd air leabhar-latha'
       hi: Shin thu, %{to_user},
-      header: 'Thug %{from_user} beachd air clàr leabhar-latha OpenStreetMap agad
-        a rinn thu o chionn goirid air a bheil an cuspair "%{subject}":'
+      header: 'Thug %{from_user} seachad beachd air innteart leabhar-latha OpenStreetMap
+        a rinn thu o chionn goirid air a bheil an cuspair “%{subject}”:'
       footer: '''S urrainn dhut am beachd a leughadh air %{readurl} cuideachd agus
         beachd agad fhèin a chur ris air %{commenturl} no freagairt a sgrìobhadh air
         %{replyurl}'
@@ -1333,6 +1346,7 @@ gd:
           a thug thu beachd air. Tha an nòta faisg air %{place}.'
       details: Gheibh thu barrachd fiosrachaidh air an nòta air %{url}.
     changeset_comment_notification:
+      hi: Shin thu, %{to_user},
       greeting: Shin thu,
       commented:
         subject_own: '[OpenStreetMap] Thug %{commenter} beachd air seata atharraichean
@@ -1471,6 +1485,7 @@ gd:
       table:
         entry:
           motorway: Mòr-rathad
+          main_road: Prìomh-rathad
           trunk: Prìomh-rathad
           primary: Prìomh-rathad
           secondary: Rathad dàrnach
@@ -1478,6 +1493,9 @@ gd:
           track: Slighe
           bridleway: Ceum marcachd
           cycleway: Slighe baidhseagail
+          cycleway_national: Slighe baidhseagail nàiseanta
+          cycleway_regional: Slighe baidhseagail roinneil
+          cycleway_local: Slighe baidhseagail ionadail
           footway: Àrainn-choisichean
           rail: Rèile
           subway: Meatro
@@ -1530,6 +1548,9 @@ gd:
           private: Cead-inntrigidh prìobhaideach
           destination: Inntrigeadh a' chinn-uidhe
           construction: Rathaidean 'gan togail
+          bicycle_shop: Bùth bhaidhseagalan
+          bicycle_parking: Pàirceadh bhaidhseagalan
+          toilets: Taighean-beaga
     richtext_area:
       edit: Deasaich
       preview: Ro-sheall
@@ -1665,7 +1686,10 @@ gd:
       title: Lorgaidhean GPS aig OpenStreetMap
     description:
       description_with_count:
-        other: faidhle GPX le %{count} phuing o %{user}
+        one: faidhle GPX le %{count} phuing o %{user}
+        two: faidhle GPX le %{count} phuing o %{user}
+        few: faidhle GPX le %{count} puingean o %{user}
+        other: faidhle GPX le %{count} puing o %{user}
       description_without_count: Faidhle GPX o %{user}
   application:
     require_cookies:
@@ -1696,6 +1720,7 @@ gd:
       allow_read_gpx: na lorgaidhean GPS prìobhaideach agad a leughadh.
       allow_write_gpx: lorgaidhean GPS a luchdadh suas.
       allow_write_notes: nòtaichean atharrachadh.
+      grant_access: Thoir inntrigeadh
     oauthorize_success:
       title: Chaidh gabhail ri iarrtas a' chead
       allowed: Thug thu cead dha dh'aplacaid %{app_name} an cunntas agad inntrigeadh.
@@ -1805,6 +1830,18 @@ gd:
         google:
           title: Clàraich a-steach le Google
           alt: Clàraich a-steach le OpenID Google
+        facebook:
+          title: Clàraich a-steach le Facebook
+          alt: Clàraich a-steach le cunntas Facebook
+        windowslive:
+          title: Clàraich a-steach le Windows Live
+          alt: Clàraich a-steach le cunntas Windows Live
+        github:
+          title: Clàraich a-steach le GitHub
+          alt: Clàraich a-steach le cunntas GitHub
+        wikipedia:
+          title: Clàraich a-steach leis an Uicipeid
+          alt: Clàraich a-steach le cunntas na h-Uicipeid
         yahoo:
           title: Clàraich a-steach le Yahoo
           alt: Clàraich a-steach le OpenID Yahoo
@@ -1856,10 +1893,10 @@ gd:
         a' chom-pàirtiche</a>.
       email address: 'Seòladh puist-d:'
       confirm email address: 'Dearbhaich an seòladh puist-d:'
-      not displayed publicly: Cha dèid a shealltainn gu poblach (thoir sùil air <a
-        href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="poileasaidh
-        na prìobhaideachd san uicidh a ghabhas a-steach earrann air seòlaidhean puist-d">poileasaidh
-        na prìobhaideachd</a>)
+      not displayed publicly: Cha dèid do sheòladh shealltainn gu poblach, thoir sùil
+        air <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy" title="poileasaidh
+        na prìobhaideachd OSMF a ghabhas a-steach earrann air seòlaidhean puist-d">poileasaidh
+        na prìobhaideachd</a> airson barrachd fiosrachaidh
       display name: 'Ainm seallaidh:'
       display name description: An t-ainm-cleachdaiche agad a thèid a shealltainn
         gu poblach. 'S urrainn dhut seo atharrachadh uair sam bith sna roghainnean.
@@ -1905,6 +1942,7 @@ gd:
       body: Duilich ach chan eil cleachdaiche ann air a bheil %{user}. Dearbhaich
         an litreachadh no 's dòcha nach eil an ceangal air an do rinn thu briogadh
         mar bu chòir.
+      deleted: air a sguabadh às
     view:
       my diary: An leabhar-latha agam
       new diary entry: clàr leabhair-latha ùr
@@ -2305,8 +2343,7 @@ gd:
     key:
       title: Iuchair a' mhapa
       tooltip: Iuchair a' mhapa
-      tooltip_disabled: Chan eil iuchair a' mhapa ri fhaighinn ach airson na breatha
-        stannardaich
+      tooltip_disabled: Chan eil iuchair a’ mhapa ri fhaighinn airson na breath seo
     map:
       zoom:
         in: Sùm a-steach
index cdf75890c19a35b79ac780dcca452307e3848da1..7628d710c46a7a8f59955235d27fe5211259b4ce 100644 (file)
@@ -963,7 +963,6 @@ he:
     partners_ic: המכללה המלכותית של לונדון
     partners_bytemark: אירוח בייטמארק
     partners_partners: שותפים
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: מסד הנתונים של אתר OpenStreetMap אינו מקוון כעת בשל עבודות תחזוקה
       המבוצעות בו.
     osm_read_only: מסד הנתונים של אתר OpenStreetMap נתון כעת במצב קריאה בלבד בשל עבודות
index 204819de0352b0febd91fa111c05364a3f1b2dfb..4fd0ed82829155c3a0d39540c31e2c3b65d8e5bd 100644 (file)
@@ -954,7 +954,6 @@ hsb:
     partners_ic: Imperial College London
     partners_bytemark: Bytemark Hosting
     partners_partners: partnerow
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: Datowa banka OpenStreetMap je tuchwilu offline, dokelž so wažne wobhladowankse
       dźěła na datowej bance přewjedu.
     osm_read_only: Datowa banka OpenStreetMap je tuchwilu jenož čitajomna, dokelž
index eebb71d0294ec85ed1f2cbb395b3f997352696d8..644532690b0ef9ea97396d4ecbdaf80b6a23b938 100644 (file)
@@ -956,7 +956,6 @@ ia:
     partners_ic: Imperial College London
     partners_bytemark: Bytemark Hosting
     partners_partners: partners
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: Le base de datos de OpenStreetMap non es disponibile al momento debite
       a operationes de mantenentia essential.
     osm_read_only: Le base de datos de OpenStreetMap es al momento in modo de solmente
index a8d1323d011633ea13bc6ee38c1f34970100fd66..34f38685c25a8d6d6419497838727649cd3c9b9e 100644 (file)
@@ -200,7 +200,23 @@ is:
       title: 'Minnispunktur: %{id}'
       new_note: Nýr minnispunktur
       description: Lýsing
+      open_title: 'Minnispunktur án lausnar #%{note_name}'
+      closed_title: 'Minnispunktur með lausn #%{note_name}'
       hidden_title: 'Falinn minnispunktur #%{note_name}'
+      open_by: Búið til af %{user} <abbr title='%{exact_time}'>fyrir %{when} síðan</abbr>
+      open_by_anonymous: Búið til af nafnlausum notanda <abbr title='{exact_time}'>fyrir
+        %{when} síðan</abbr>
+      commented_by: Umsögn frá %{user} <abbr title='%{exact_time}'>fyrir %{when} síðan</abbr>
+      commented_by_anonymous: Umsögn frá nafnlausum notanda <abbr title='{exact_time}'>fyrir
+        %{when} síðan</abbr>
+      closed_by: Leyst af %{user} <abbr title='%{exact_time}'>fyrir %{when} síðan</abbr>
+      closed_by_anonymous: Leyst af nafnlausum notanda <abbr title='{exact_time}'>fyrir
+        %{when} síðan</abbr>
+      reopened_by: Endurvirkjað af %{user} <abbr title='%{exact_time}'>fyrir %{when}
+        síðan</abbr>
+      reopened_by_anonymous: Endurvirkjað af nafnlausum notanda <abbr title='{exact_time}'>fyrir
+        %{when} síðan</abbr>
+      hidden_by: Falið af %{user} <abbr title='%{exact_time}'>fyrir %{when} síðan</abbr>
     query:
       title: Rannsaka fitjur
       introduction: Smelltu á kortið til að finna fitjur í nágrenninu.
@@ -224,6 +240,9 @@ is:
     list:
       title: Breytingasett
       title_user: Breytingar eftir %{user}
+      title_friend: Breytingar eftir vini þína
+      title_nearby: Breytingasett eftir nálæga notendur
+      empty: Engin breytingasett fundust.
       load_more: Hlaða inn fleiri
     rss:
       commented_at_html: Uppfært fyrir %{when} síðan
@@ -286,7 +305,7 @@ is:
     location:
       location: 'Staðsetning:'
       view: kort
-      edit: breyta
+      edit: Breyta
     feed:
       user:
         title: OpenStreetMap bloggfærslur eftir %{user}
@@ -321,6 +340,8 @@ is:
         body: Svæðið sem þú ert að reyna að flytja út á OpenStreetMap á XML-sniði
           er of stórt. Auktu aðdráttinn eða veldu smærra svæði, nú eða notaðu eina
           af eftirfarandi leiðum til að flytja inn mikið magn gagna.
+        planet:
+          title: OSM-plánetan
         geofabrik:
           title: Niðurhöl frá Geofabrik
         other:
@@ -336,7 +357,7 @@ is:
       longitude: 'Breidd:'
       output: Úttak
       paste_html: Notaðu þennan HTML kóða til að bæta kortinu á vefsíðu
-      export_button: Niðurhala
+      export_button: Flytja út
   geocoder:
     search:
       title:
@@ -407,7 +428,7 @@ is:
           fire_hydrant: Brunahani
           fire_station: Slökkvistöð
           fountain: Gosbrunnur
-          fuel: Bensínstöð
+          fuel: Eldsneyti
           gambling: Fjárhættuspil
           grave_yard: Kirkjugarður
           gym: Líkamsræktarstöð
@@ -552,13 +573,17 @@ is:
         landuse:
           allotments: Úthlutuð svæði
           basin: Lægð
+          brownfield: Byggingarsvæði
           cemetery: Grafreitur
           commercial: Verslunarsvæði
+          conservation: Verndarsvæði
+          construction: Bygging
           farm: Býli
-          farmland: Akurlendi
+          farmland: Ræktarland
           forest: Skógur
           garages: Verkstæði
           grass: Gras
+          greenfield: Nýbyggingarsvæði
           industrial: Iðnaðarsvæði
           landfill: Landfylling
           meadow: Skógarlundur
@@ -569,12 +594,14 @@ is:
           railway: Lestarteinar
           reservoir: Uppistöðulón
           residential: Íbúðasvæði
+          retail: Smásala
           vineyard: Vínekra
           "yes": Landnotkun
         leisure:
           bird_hide: Fuglaskoðunarhús
           club: Klúbbur
           common: Almenningur
+          dog_park: Hundagarður
           fitness_centre: Líkamsræktarstöð
           garden: Garður
           golf_course: Golfvöllur
@@ -665,7 +692,9 @@ is:
           houses: Hús
           island: Eyja
           islet: Smáeyja
+          isolated_dwelling: Einangraður bústaður
           locality: Sveitarfélag
+          moor: Mýri
           municipality: Sveitarfélag
           neighbourhood: Nágrenni
           postcode: Póstnúmer
@@ -678,12 +707,19 @@ is:
           village: Þorp
           "yes": Staður
         railway:
+          abandoned: Aflögð járnbraut
+          construction: Járnbraut í byggingu
+          historic_station: Söguleg lestarstöð
+          level_crossing: Þverun brautarteina
           light_rail: Smálest
+          monorail: Einteinungur
           station: Lestarstöð
           subway: Neðanjarðarlest
+          subway_entrance: Inngangur í neðanjarðarlest
           tram: Sporvagn
           tram_stop: Sporvagnastöð
         shop:
+          antiques: Antíkverslun
           art: Listmunaverslun
           bakery: Bakarí
           bicycle: Hjólaverslun
@@ -744,6 +780,7 @@ is:
           alpine_hut: Fjallaskáli
           apartment: Íbúð
           artwork: Listaverk
+          attraction: Aðdráttarafl
           bed_and_breakfast: BB-gisting og veitingar
           cabin: Kofi
           camp_site: Tjaldstæði
@@ -777,7 +814,10 @@ is:
           waterfall: Foss
           "yes": Siglingaleið
       admin_levels:
+        level2: Landamæri
+        level4: Fylkismörk
         level5: Héraðsmörk
+        level6: Sýslumörk
         level8: Borgarmörk
     description:
       title:
@@ -805,8 +845,8 @@ is:
     start_mapping: Hefja kortlagningu
     sign_up_tooltip: Stofnaðu aðgang til að geta breytt kortinu
     edit: Breyta
-    history: Sagnfræði
-    export: Niðurhala
+    history: Breytingaskrá
+    export: Flytja út
     data: Gögn
     export_data: Flytja út gögn
     gps_traces: GPS ferlar
@@ -817,14 +857,16 @@ is:
     tag_line: Frjálsa wiki heimskortið
     intro_header: Velkomin í OpenStreetMap!
     intro_2_create_account: Búa til notandaaðgang
+    partners_ucl: UCL VR Centre
+    partners_ic: Imperial College London
+    partners_bytemark: Bytemark Hosting
     partners_partners: samstarfsaðilar
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: OpenStreetMap gagnagrunnurinn er niðri vegna viðhalds.
     osm_read_only: Ekki er hægt að skrifa í OpenStreetMap gagnagrunninn í augnablikinu
       vegna viðhalds.
     donate: Hjálpaðu OpenStreetMap verkefninu með %{link} í vélbúnaðarsjóðinn.
     help: Hjálp
-    about: Um
+    about: Um hugbúnaðinn
     copyright: Höfundaréttur
     community: Samfélag
     community_blogs: Blogg félaga
@@ -916,13 +958,14 @@ is:
     partners_title: Samstarfsaðilar
   notifier:
     diary_comment_notification:
-      subject: '[OpenStreetMap] %{user} bætti við athugasemd á bloggfærslu þína'
+      subject: '[OpenStreetMap] %{user} bætti athugasemd við bloggfærslu þína'
       hi: Hæ %{to_user},
-      header: '%{from_user} hefur bætt við athugasemd á OpenStreetMap bloggið þitt
+      header: '%{from_user} hefur bætt við athugasemd á OpenStreetMap bloggfærsluna
         með titlinum „%{subject}“:'
       footer: Þú getur einnig lesið athugasemdina á %{readurl} og skrifað athugasemd
         á %{commenturl} eða svarað á %{replyurl}
     message_notification:
+      subject_header: '[OpenStreetMap] %{subject}'
       hi: Hæ %{to_user},
       header: '%{from_user} hefur send þér skilaboð á OpenStreetMap með titlinum „%{subject}“:'
     friend_notification:
@@ -1144,6 +1187,7 @@ is:
           private: Einkaaðgangur
           destination: Umferð leyfileg á ákveðinn áfangastað
           construction: Vegir í byggingu
+          bicycle_parking: Reiðhjólastæði
     richtext_area:
       edit: Breyta
       preview: Forskoðun
@@ -1227,7 +1271,7 @@ is:
       owner: 'Eigandi:'
       description: 'Lýsing:'
       tags: 'Merki:'
-      none: engin
+      none: Ekkert
       edit_track: Breyta
       delete_track: Eyða
       trace_not_found: Þessi ferill fannst ekki!
@@ -1301,13 +1345,15 @@ is:
   oauth_clients:
     new:
       title: Skrá nýtt forrit
-      submit: Skrá
+      submit: Nýskrá
     edit:
       title: Breyta forritinu þínu
-      submit: Vista
+      submit: Breyta
     show:
       title: OAuth stillingar fyrir %{app_name}
+      authorize_url: 'Leyfa slóð (URL):'
       edit: Breyta þessari skráningu
+      delete: Eyða biðlara
       confirm: Ertu viss?
       requests: 'Óska eftir eftirfarandi leyfum frá notendum:'
       allow_read_prefs: Lesa notandastillingar þeirra.
@@ -1315,8 +1361,9 @@ is:
       allow_write_diary: Búa til bloggfærslur, setja inn athugasemdir og bæta við
         vinum.
       allow_write_api: Breyta kortagögnunum.
+      allow_read_gpx: Lesa einka-GPS-ferlana þeirra.
       allow_write_gpx: Senda inn GPS ferla.
-      allow_write_notes: breyta minnispunktum.
+      allow_write_notes: Breyta minnispunktum.
     index:
       title: OAuth stillingar
       revoke: Eyða banninu
@@ -1412,11 +1459,13 @@ is:
         vegna framlaga</a>.
       email address: 'Netfang:'
       confirm email address: 'Staðfestu netfang:'
-      not displayed publicly: Ekki sýnt opinberlega (sjá <a href="http://wiki.openstreetmap.org/index.php?uselang=is&title=Privacy_Policy"
-        title="Meðferð persónuupplýsinga, þ.á.m. netfanga">meðferð persónuupplýsinga</a>)
+      not displayed publicly: Netfangið þitt er ekki birt opinberlega, sjá kaflann
+        <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title=Meðferð
+        OSMF á persónuupplýsingum, þar með töldum netföngum">um meðferð persónuupplýsinga</a>
       display name: 'Sýnilegt nafn:'
       display name description: Nafn þitt sem aðrir notendur sjá, þú getur breytt
         því síðar í stillingunum þínum.
+      external auth: 'Auðkenning með þriðja aðila:'
       password: 'Lykilorð:'
       confirm password: 'Staðfestu lykilorðið:'
       continue: Nýskrá
@@ -1509,6 +1558,10 @@ is:
       unhide_user: Af-fela þennan notanda
       delete_user: Eyða þessum notanda
       confirm: Staðfesta
+      friends_changesets: breytingasett vina
+      friends_diaries: bloggfærslur vina
+      nearby_changesets: breytingasett vina í næsta nágrenni
+      nearby_diaries: bloggfærslur vina í næsta nágrenni
     popup:
       your location: Staðsetning þín
       nearby mapper: Nálægur notandi
@@ -1553,9 +1606,11 @@ is:
       preferred editor: 'Uppáhaldsritill:'
       image: 'Mynd:'
       gravatar:
-        gravatar: Nota Gravatar-merki
+        gravatar: Nota Gravatar-auðkennismynd
         link: http://wiki.openstreetmap.org/wiki/Gravatar
         link text: Hvað er þetta?
+        disabled: Gravatar-auðkennismynd hefur verið gerð óvirk.
+        enabled: Birting Gravatar-auðkennismyndar hefur verið gerð virk.
       new image: Bæta við mynd
       keep image: Halda þessari mynd
       delete image: Eyða þessari mynd
@@ -1575,9 +1630,11 @@ is:
       flash update success: Stillingarnar þínar voru uppfærðar.
     confirm:
       heading: Athuga með tölvupóstinn þinn!
+      introduction_1: Við höfum sent þér staðfestingartölvupóst.
       press confirm button: Hér getur þú staðfest að þú viljir búa til notanda..
       button: Staðfesta
       success: Notandinn þinn hefur verið staðfestur.
+      already active: Þessi notandaaðgangur hefur þegar verið staðfestur.
     confirm_email:
       heading: Staðfesta breytingu á netfangi
       press confirm button: Hér getur þú staðfest breytingu á netfangi.
@@ -1708,7 +1765,7 @@ is:
       ago: Fyrir %{time} síðan
       status: Staða
       show: Sýna
-      edit: Breyta banninu
+      edit: Breyta
       revoke: Eyða banninu
       confirm: Ertu viss?
       reason: 'Ástæða banns:'
@@ -1767,6 +1824,7 @@ is:
         header: Lög á korti
         notes: Minnispunktar á korti
         data: Gögn korts
+        gps: Opinberir GPS-ferlar
         title: Lög
       copyright: © <a href='%{copyright_url}'>OpenStreetMap þátttakendur</a>
       donate_link_text: <a class='donate-attr' href='%{donate_url}'>Styrkja verkefnið</a>
@@ -1774,6 +1832,7 @@ is:
       edit_tooltip: Breyta kortinu
       edit_disabled_tooltip: Renndu að til að breyta kortinu
       createnote_tooltip: Bæta við minnispunkti á kortið
+      createnote_disabled_tooltip: Renndu að til að bæta minnispunkti á kortið
       map_notes_zoom_in_tooltip: Renndu að til að sjá minnispunkta á kortinu
       map_data_zoom_in_tooltip: Renndu að til að skoða gögn kortsins
       queryfeature_tooltip: Rannsaka fitjur
@@ -1784,12 +1843,14 @@ is:
         subscribe: Gerast áskrifandi
         unsubscribe: Segja upp áskrift
         hide_comment: fela
+        unhide_comment: hætta að fela
     notes:
       new:
         add: Bæta við minnispunkti
       show:
         hide: Fela
         resolve: Leysa
+        reactivate: Virkja aftur
         comment: Athugasemd
     directions:
       engines:
@@ -1802,17 +1863,22 @@ is:
         mapzen_bicycle: Reiðhjól (Mapzen)
         mapzen_car: Bíll (Mapzen)
         mapzen_foot: Fótgangandi (Mapzen)
-      directions: Stefnur
+      directions: Leiðir
       distance: Vegalengd
       errors:
         no_route: Gat ekki fundið leið á milli þessara tveggja staða.
         no_place: Því miður, gat ekki fundið þennan stað.
+      instructions:
+        continue_without_exit: Halda áfram á %{name}
+        unnamed: ónefnd gata
       time: Tími
     query:
       node: Hnútur
       way: Leið
       relation: Vensl
       nothing_found: Engar fitjur fundust
+      error: 'Villa við að tengjast %{server}: %{error}'
+      timeout: Rann út á tíma við að tengjast %{server}
   redaction:
     edit:
       description: Lýsing
index e82a2bd1eec6847716f49fbce3de6dd0e0b6d66f..b04667cf8b4b1e7534e6b5a35fd10fd10b30a88b 100644 (file)
@@ -32,6 +32,7 @@
 # Author: Partyfan
 # Author: Purodha
 # Author: Raoli
+# Author: Redredsonia
 # Author: Ricordisamoa
 # Author: Rippitippi
 # Author: Ruila
@@ -2459,6 +2460,9 @@ it:
       nothing_found: Nessun elemento trovato
       error: Errore durante la connessione a %{server}, %{error}
       timeout: Tempo scaduto per la connessione a %{server}
+    context:
+      add_note: Aggiungere una nota qui
+      show_address: Mostra indirizzo
   redaction:
     edit:
       description: Descrizione
index 06e40b852040609fb8599175193617dfdc8a74e1..34ba51a6a984757f7dff13f4fbbe349f03d70809 100644 (file)
@@ -772,7 +772,6 @@ ka:
     tag_line: თავისუფალი ვიკი-რუკა
     intro_2_create_account: მომხმარებლის ანგარიშის შექმნა
     partners_partners: პარტნიორები
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     help: დახმარება
     copyright: საავტორო უფლები
     community: თანასაზოგადოება
@@ -1252,6 +1251,8 @@ ka:
       show:
         hide: დამალვა
         comment: კომენტარი
+    context:
+      show_address: მისამართის ჩვენება
   redaction:
     edit:
       description: აღწერა
index a8fb1cb3c89c32784644fd57e556c3fd7195b315..18310628baa76cea75b0dca52b78b5dd3f2c4b3c 100644 (file)
@@ -35,7 +35,7 @@ ko:
       acl: 접근 제어 목록
       changeset: 바뀜집합
       changeset_tag: 바뀜집합 태그
-      country: 국가
+      country: 나라
       diary_comment: 일기 댓글
       diary_entry: 일기 항목
       friend: 친구
@@ -63,7 +63,7 @@ ko:
       user_preference: 사용자 환경 설정
       user_token: 사용자 토큰
       way: 길
-      way_node: 길 노드
+      way_node: 길 교점
       way_tag: 길 태그
     attributes:
       diary_comment:
@@ -94,7 +94,7 @@ ko:
       user:
         email: 이메일
         active: 활성
-        display_name: 표시 이름
+        display_name: 표시 이름
         description: 설명
         languages: 언어
         pass_crypt: 비밀번호
@@ -133,13 +133,13 @@ ko:
     changeset:
       title: '바뀜집합: %{id}'
       belongs_to: 저자
-      node: 노드 (%{count})
-      node_paginated: 노드 (%{count} 중 %{x}-%{y})
-      way: 길 (%{count})
-      way_paginated: 길 (%{count} 중 %{x}-%{y})
-      relation: 관계 (%{count})
-      relation_paginated: 관계 (%{count} 중 %{x}-%{y})
-      comment: 댓글 (%{count})
+      node: 교점(%{count})
+      node_paginated: 교점(%{count}개 중 %{x}-%{y})
+      way: 길(%{count})
+      way_paginated: 길(%{count}개 중 %{x}-%{y})
+      relation: 관계(%{count})
+      relation_paginated: 관계(%{count}개 중 %{x}-%{y})
+      comment: 댓글(%{count})
       hidden_commented_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에
         남긴 숨겨진 댓글'
       commented_by: '%{user}님이 <abbr title=''%{exact_time}''>%{when} 전</abbr>에 댓글을
@@ -152,12 +152,12 @@ ko:
       join_discussion: 토론에 참여하려면 로그인
       discussion: 토론
     node:
-      title: '노드: %{name}'
-      history_title: '노드 역사: %{name}'
+      title: '교점: %{name}'
+      history_title: '교점 역사: %{name}'
     way:
       title: '길: %{name}'
       history_title: '길 역사: %{name}'
-      nodes: 노드
+      nodes: 교점
       also_part_of:
         one: '%{related_ways} 길의 일부'
         other: '%{related_ways} 길의 일부'
@@ -168,7 +168,7 @@ ko:
     relation_member:
       entry_role: '%{type}에서 %{role}의 %{name}'
       type:
-        node: 노드
+        node: 교점
         way: 길
         relation: 관계
     containing_relation:
@@ -177,7 +177,7 @@ ko:
     not_found:
       sorry: '죄송하지만, %{type} #%{id}을(를) 찾지 못했습니다.'
       type:
-        node: 노드
+        node: 교점
         way: 길
         relation: 관계
         changeset: 바뀜집합
@@ -185,7 +185,7 @@ ko:
     timeout:
       sorry: 죄송합니다, %{id} id인 %{type}에 대한 데이터를 얻는데 너무 오래 걸립니다.
       type:
-        node: 노드
+        node: 교점
         way: 길
         relation: 관계
         changeset: 바뀜집합
@@ -195,7 +195,7 @@ ko:
       message_html: 이 %{type}의 %{version}판은 비공개 처리되었기 때문에 볼 수 없습니다. 자세한 내용은 %{redaction_link}을(를)
         참조하세요.
       type:
-        node: 노드
+        node: 교점
         way: 길
         relation: 관계
     start_rjs:
@@ -308,7 +308,7 @@ ko:
     no_such_entry:
       title: 이러한 일기 항목이 없음
       heading: 'id에 항목 없음: %{id}'
-      body: ì£\84ì\86¡í\95©ë\8b\88ë\8b¤, %{id} id로 된 일기 항목이나 댓글이 없습니다. 맞춤법이나 클릭한 링크가 잘못됐는지 확인하세요.
+      body: ì£\84ì\86¡í\95\98ì§\80ë§\8c, %{id} id로 된 일기 항목이나 댓글이 없습니다. 맞춤법이나 클릭한 링크가 잘못됐는지 확인하세요.
     diary_entry:
       posted_by: '%{link_user}님이 %{language_link}로 %{created}에 게시함'
       comment_link: 이 항목에 댓글 남기기
@@ -2329,6 +2329,10 @@ ko:
       nothing_found: 지물을 찾을 수 없습니다
       error: '%{server} 연결에 오류: %{error}'
       timeout: '%{server} 연결에 시간 초과'
+    context:
+      add_note: 여기에 설명 추가
+      show_address: 주소 보기
+      query_features: 의문 지물
   redaction:
     edit:
       description: 설명
index d301cc85c66f5124bd33a054cc1f6bcfa060f5c0..b419747895c0ddfc4acabc9203a42638842b2a43 100644 (file)
@@ -1243,6 +1243,12 @@ lb:
     query:
       way: Wee
       relation: Relatioun
+    context:
+      directions_from: Vun hei fort
+      directions_to: Heihinn
+      add_note: Eng Notiz hei dobäisetzen
+      show_address: Adress weisen
+      centre_map: Kaart hei zentréieren
   redaction:
     edit:
       description: Beschreiwung
index 6aefd05b8a6ca999a8bcaf99390b6c02fa096740..29ff2a56a89b120cc8cd0dbd152f7519d7299121 100644 (file)
@@ -91,13 +91,13 @@ lt:
     default: Numatytasis (šiuo metu %{name})
     potlatch:
       name: Potlatch 1
-      description: Potlatch 1 (redaktorius naršyklėje)
+      description: Potlatch 1 (rengyklė naršyklėje)
     id:
       name: iD
-      description: iD (naršyklės redaktorius)
+      description: iD (rengyklė naršyklėje)
     potlatch2:
       name: Potlatch 2
-      description: Potlatch 2 (redaktorius naršyklėje)
+      description: Potlatch 2 (rengyklė naršyklėje)
     remote:
       name: nuotoliniu valdymu
       description: nuotolinį valdymą (JOSM arba Merkaartor)
@@ -953,7 +953,7 @@ lt:
     gps_traces_tooltip: Tvarkyti GPS pėdsakus
     user_diaries: Dienoraščiai
     user_diaries_tooltip: Peržiūrėti naudotojų dienoraščius
-    edit_with: Redaguoti per %{editor}
+    edit_with: Redaguoti su %{editor}
     tag_line: Atviras wiki žemėlapis
     intro_header: Sveiki atvykę į OpenStreetMap!
     intro_text: OpenStreetMap yra pasaulio žemėlapis, kuriamas žmonių, tokių kaip
@@ -985,7 +985,7 @@ lt:
   license_page:
     foreign:
       title: Apie šį vertimą
-      text: Konfliktuojant tarp šio išversto puslapio ir  %{english_original_link},
+      text: Esant konfliktui tarp šio išversto puslapio ir  %{english_original_link},
         pirmenybė bus teikiama angliškajai versijai.
       english_link: anglų originalas
     native:
@@ -1032,9 +1032,11 @@ lt:
         Sužinokite daugiau apie mūsų duomenų naudojimą, kaip pažymėti prisidėjusius <a
         href="http://osmfoundation.org/Licence">OSMF licencijavimo puslapyje</a> ir bendruomenės <a href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">DUK dėl legalumo</a>.
       more_2_html: |-
-        Nors OpenStreetMap duomenys yra atviri, mes negalime pateikti free-of-charge žemėlapių API trečiųjų šalių vystytojams.
-
-        Peržiūrėkite mūsų <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">API naudojimo politiką</a>, bei <a href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">Nominatim naudojimo politika</a>.
+        Nors OpenStreetMap duomenys yra atviri, mes negalime pateikti
+        nemokamos žemėlapių API trečiosioms šalims.
+        Peržiūrėkite mūsų <a href="https://operations.osmfoundation.org/policies/api/">API naudojimo politiką</a>,
+        <a href="https://operations.osmfoundation.org/policies/tiles/">Kaladėlių naudojimo politiką</a>,
+        bei <a href="https://operations.osmfoundation.org/policies/nominatim/">Nominatim naudojimo politiką</a>.
       contributors_title_html: Mūsų autoriai
       contributors_intro_html: Mūsų autoriai yra tūkstančiai įvairių žmonių. Taip
         pat apimame ir laisvai prieinamą turinį iš valstybinių kartografijos agentūrų,
@@ -1113,8 +1115,8 @@ lt:
       title: Pagrindiniai žymėjimo terminai
       paragraph_1_html: OpenStreetMap turi savo žodyną. Čia keli pagrindiniai naudojami
         terminai/žodžiai.
-      editor_html: <strong>Redaktorius</strong> - tai programa arba svetainė, kurios
-        pagalba galite redaguoti žemėlapį.
+      editor_html: <strong>Rengyklė</strong> - tai programa arba svetainė su kuria
+        galite redaguoti žemėlapį.
       node_html: <strong>node/taškas</strong> - taškas žemėlapyje, pavyzdžiui vienas
         restoranas ar medis.
       way_html: <strong>kelias/way</strong> - linija ar plotas, pavyzdžiui kelias,
@@ -1224,15 +1226,18 @@ lt:
     legal_title: Teisės
     legal_html: "Šis puslapis ir daugelis kitų susijusių paslaugų yra formaliai valdomi
       \n<a href='http://osmfoundation.org/'>OpenStreetMap fondo</a> (OSMF) \nbendruomenės
-      vardu.\n<br> \n<a href='http://osmfoundation.org/Contact'>Susisiekite su OSMF</a>,
-      \njei turite licencijavimo, autoriaus teisių ar kitų teisinių klausimų ar problemų."
+      vardu. Visų OSMF valdomų paslaugų naudojimas yra\npriklausomas nuo <a href=\"http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">\nPriimtino
+      naudojimo politikos</a> ir mūsų <a href=\"http://wiki.osmfoundation.org/wiki/Privacy_Policy\">Privatumo
+      politikos</a>.\n<br> \n<a href='http://osmfoundation.org/Contact'>Susisiekite
+      su OSMF</a>, \njei turite licencijavimo, autoriaus teisių ar kitų teisinių klausimų
+      ar problemų."
     partners_title: Partneriai
   notifier:
     diary_comment_notification:
-      subject: '[OpenStreetMap] %{user} pakomentavo jūsų dienoraščio įrašą'
+      subject: '[OpenStreetMap] %{user} pakomentavo dienoraščio įrašą'
       hi: Sveiki, %{to_user},
-      header: '%{from_user} pakomentavo jūsų paskutinį OpenStreetMap dienoraščio įrašą
-        su tema %{subject}:'
+      header: '%{from_user} pakomentavo jūsų OpenStreetMap dienoraščio įrašą su tema
+        %{subject}:'
       footer: Taip pat galite perskaityti komentarą adresu %{readurl}, komentuoti
         galite adresu %{commenturl}, o atsakyti - adresu %{replyurl}
     message_notification:
@@ -1319,6 +1324,7 @@ lt:
           Pastaba yra netoli %{place}.'
       details: Daugiau informacijos apie pastabą galima rasti %{url}.
     changeset_comment_notification:
+      hi: Sveiki, %{to_user},
       greeting: Labas,
       commented:
         subject_own: '[OpenStreetMap] %{commenter} pakomentavo vieną iš jūsų pakeitimų'
@@ -1331,6 +1337,8 @@ lt:
         partial_changeset_with_comment: su komentaru '%{changeset_comment}'
         partial_changeset_without_comment: be komentaro
       details: Daugiau informacijos apie pakeitimą rasite čia %{url}.
+      unsubscribe: Jei norite atsisakyti šio pakeitimo atnaujinimų, eikite į %{url}
+        ir spauskite „Atsisakyti“.
   message:
     inbox:
       title: Gautieji
@@ -1421,11 +1429,11 @@ lt:
     edit:
       not_public: Jūs nenustatėte savo keitimų, kad būtų vieši
       not_public_description: Jūs nebegalite keisti žemėlapio, jei jūs tą darysite.
-        Jūs galite nustatyti keitimus,kaip viešus iš savo %{user_page}.
+        Jūs galite nustatyti keitimus, kaip viešus, iš savo %{user_page}.
       user_page_link: naudotojo puslapis
       anon_edits_link_text: Sužinokite, kodėl taip yra.
-      flash_player_required: Jums reikalingas Flash player norint redaguoti su Potlatch
-        (atvirojo žemėlapio Flash redagavimo įrankis). Jūs galite <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">parsisiųsti
+      flash_player_required: Jums reikalingas Flash player norint redaguoti su Potlatch,
+        OpenStreetMap Flash rengykle. Jūs galite <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">parsisiųsti
         Flash Player iš Adobe.com</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Taip
         pat yra daugybė kitų būdų</a>, kuriais galėsite prisidėti prie OpenStreetMap
         žemėlapio redagavimo.
@@ -1463,6 +1471,8 @@ lt:
           track: Pėdsakas
           bridleway: Takas galvijams varyti
           cycleway: Dviračių takas
+          cycleway_national: Nacionalinis dviračių takas
+          cycleway_regional: Regioninis dviračių takas
           cycleway_local: Vietinis dviračių takas
           footway: Pėsčiųjų takas
           rail: Geležinkelis
@@ -1659,6 +1669,8 @@ lt:
     require_moderator:
       not_a_moderator: Norėdami atlikti šį veiksmą, turite būti administratoriumi.
     setup_user_auth:
+      blocked_zero_hour: Turite skubų pranešimą OpenStreetMap puslapyje. Jums reikia
+        perskaityti šį pranešimą prieš galint išsaugoti pakeitimus.
       blocked: Jūsų prieiga prie API užblokuota. Prisijunkite prie žiniatinklio sąsajos,
         kad sužinotumėte daugiau.
       need_to_see_terms: Jūsų priėjimas prie API laikinai pristabdytas. Jūs turite
@@ -1843,8 +1855,9 @@ lt:
         sąlygomis</a>.
       email address: 'E-pašto adresas:'
       confirm email address: 'Patvirtinkite e-pašto adresą:'
-      not displayed publicly: Viešai nerodoma (skaitykite <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
-        title="wiki privatumo politika, įskaitant el. paštą">privatumo politiką</a>)
+      not displayed publicly: Jūsų adresas nėra viešai rodomas, daugiau informacijos
+        rasite <a href="http://wiki.osmfoundation.org/wiki/Privacy_Policy" title="OSMF
+        privatumo politika, įskaitant el. pašto adresus">privatumo politikoje</a>
       display name: 'Rodomas vardas:'
       display name description: Jūsų viešai rodomas naudotojo vardas. Jei norėsite,
         galėsite jį vėliau pakeisti savo nustatymuose.
@@ -1978,11 +1991,11 @@ lt:
         text: Šiuo metu jūsų keitimai yra anonimiški ir žmonės negali jums siųsti
           pranešimų ar matyti jūsų vietovės. Parodymui ką jūs keitėte ir galimybei
           kitiems žmonėms su jumis susisiekti per šią svetainę, spauskit nuorodą žemiau.
-          <b>Nuo 0.6 API pakeitimo, tik vieši naudotojai gali keisti duoemnis</b>.
-          (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">dėl ko taip
-          padaryta</a>).<ul><li>Jūsų el. pašto adresas nebus atskleistas kol ne taps
-          viešas.</li><li>Šis veiksmas negalės būti atšauktas ir visi nauji naudotojai
-          dabar yra vieši pagal nutylėjimą.</li></ul>
+          <b>Nuo 0.6 API pakeitimo, tik vieši naudotojai gali keisti duomenis</b>.
+          (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">sužinokite
+          kodėl</a>).<ul><li>Jūsų el. pašto adresas nebus viešai atskleistas.</li><li>Šis
+          veiksmas negalės būti atšauktas ir visi nauji naudotojai dabar yra automatiškai
+          vieši.</li></ul>
       contributor terms:
         heading: 'Talkininkų sąlygos:'
         agreed: Jūs sutikote su naujomis talkininkų sąlygomis.
@@ -1994,12 +2007,13 @@ lt:
         link text: kas tai?
       profile description: 'Profilio aprašymas:'
       preferred languages: 'Pageidautinos kalbos:'
-      preferred editor: 'Pageidautinas redaktorius:'
+      preferred editor: 'Pageidautina rengyklė:'
       image: 'Nuotrauka:'
       gravatar:
         gravatar: Naudoti Gravatar
         link text: kas tai?
         disabled: Gravatar buvo išjungtas.
+        enabled: Jūsų Gravatar rodymas įjungtas.
       new image: Pridėti nuotrauką
       keep image: Palikti dabartinę nuotrauką
       delete image: Pašalintį dabartinę nuotrauką
@@ -2284,7 +2298,7 @@ lt:
     key:
       title: Sutartiniai ženklai
       tooltip: Sutartiniai ženklai
-      tooltip_disabled: Sutartiniai ženklai galimi tik standartiniame sluoksnyje
+      tooltip_disabled: Sutartiniai ženklai neprieinami šiame sluoksnyje
     map:
       zoom:
         in: Priartinti
@@ -2301,6 +2315,7 @@ lt:
         header: Žemėlapio sluoksniai
         notes: Žemėlapio pastabos
         data: Žemėlapio duomenys
+        gps: Vieši GPS pėdsakai
         overlays: Įjungti papildomus sluoksnius problemų pranešimui
         title: Sluoksniai
       copyright: © <a href='%{copyright_url}'>OpenStreetMap talkininkai</a>
@@ -2357,22 +2372,37 @@ lt:
       instructions:
         continue_without_exit: Tęskite kelionę %{name}
         slight_right_without_exit: Dešiniau į %{name}
+        offramp_right_without_exit: Pasirinkite rampą dešinėje į %{name}
+        onramp_right_without_exit: Sukite dešinėn ant rampos į %{name}
+        endofroad_right_without_exit: Kelio pabaigoje sukite dešinėn į %{name}
+        merge_right_without_exit: Įsilieti dešinėn į %{name}
+        fork_right_without_exit: Išsišakojime sukite dešinėn į %{name}
         turn_right_without_exit: Sukite dešinėn į %{name}
         sharp_right_without_exit: Staigus posūkis dešinėn į %{name}
         uturn_without_exit: Apsisukite ties %{name}
         sharp_left_without_exit: Staigus posūkis kairėn į %{name}
         turn_left_without_exit: Sukite kairėn į %{name}
+        offramp_left_without_exit: Pasirinkite rampą kairėje į %{name}
+        onramp_left_without_exit: Sukite kairėn ant rampos į %{name}
+        endofroad_left_without_exit: Kelio pabaigoje sukite kairėn į %{name}
+        merge_left_without_exit: Įsilieti kairėn į %{name}
+        fork_left_without_exit: Išsišakojime sukite kairėn į %{name}
         slight_left_without_exit: Kairiau į %{name}
         via_point_without_exit: (per tašką)
         follow_without_exit: Sekite %{name}
-        roundabout_without_exit: Žiede išvažiuokite į %{name}
+        roundabout_without_exit: Žiede pasirinkite %{name}
         leave_roundabout_without_exit: Išvažiuokite iš žiedo - %{name}
         stay_roundabout_without_exit: Likite žiede - %{name}
         start_without_exit: Pradėkite %{name} pabaigoje
         destination_without_exit: Pasiekite tikslą
         against_oneway_without_exit: Važiuokite prieš eismą %{name}
         end_oneway_without_exit: Vienpusio eismo pabaiga %{name}
-        roundabout_with_exit: Žiede išvažiuokite %{exit} išvažiavime į %{name}
+        roundabout_with_exit: Žiede pasirinkite išvažiavimą %{exit} į %{name}
+        turn_left_with_exit: Žiede sukite kairėn į %{name}
+        slight_left_with_exit: Žiede šiek tiek kairėn į %{name}
+        turn_right_with_exit: Žiede sukite dešinėn į %{name}
+        slight_right_with_exit: Žiede šiek tiek dešinėn į %{name}
+        continue_with_exit: Žiede tęskite tiesiai į %{name}
         unnamed: bevardis
         courtesy: Nuorodas pateikė %{link}
       time: Laikas
@@ -2383,6 +2413,13 @@ lt:
       nothing_found: Nerasta objektų
       error: 'Klaida jungiantis prie %{server}: %{error}'
       timeout: Jungiantis prie %{server} baigėsi laikas
+    context:
+      directions_from: Nuorodos iš čia
+      directions_to: Nuorodos į čia
+      add_note: Pridėti pastabą čia
+      show_address: Rodyti adresą
+      query_features: Ieškoti objektų
+      centre_map: Centruoti žemėlapį čia
   redaction:
     edit:
       description: Aprašymas
index af6fc1dff52cbec8691431c84920f791363f4384..917c85d6eac0294041df2b5dbf9ff83b1cd0c1c8 100644 (file)
@@ -957,7 +957,6 @@ lv:
     partners_ic: Londonas Imperiālā Koledža
     partners_bytemark: Bytemark Hosting
     partners_partners: partneri
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: OpenStreetMap datubāze šobrīd nav pieejama, tiek veikti svarīgi datubāzes
       apkalpošanas darbi.
     osm_read_only: OpenStreetMap datubāze šobrīd ir pieejama tikai-lasāmā režīmā,
index d247d1891411cb2e3c3a42f3ef196671e0b5cebd..e2f6cb35be9ff755258ecb72615a93da0b15e5c8 100644 (file)
@@ -954,7 +954,6 @@ mk:
     partners_ic: Империјалниот колеџ - Лондон
     partners_bytemark: вдомителот „Bytemark“
     partners_partners: партнери
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners?uselang=mk
     osm_offline: Базата на податоци на  OpenStreetMap моментално е исклучена додека
       работиме на неопходни одржувања.
     osm_read_only: Базата на податоци на OpenStreetMap моментално може само да се
@@ -1000,7 +999,7 @@ mk:
         <a\nhref=\"http://opendatacommons.org/licenses/odbl/1.0/\">правен текст</a>."
       intro_3_html: |-
         Картографијата во нашите полиња на картите и нашата документација
-        се нудат под лиценцата <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.mk">Криејтив комонс НаведиИзвор-СподелиПодИстиУслови 2.0</a> (CC-BY-SA).
+        се нудат под лиценцата <a href="http://creativecommons.org/licenses/by-sa/2.0/deed.mk">Криејтив комонс Наведи извор-Сподели под исти услови 2.0</a> (CC-BY-SA).
       credit_title_html: Како да ја наведете OpenStreetMap
       credit_1_html: |-
         Задолжително наведувајте нè со &ldquo;&copy; Учесници на
@@ -1676,6 +1675,8 @@ mk:
     require_moderator:
       not_a_moderator: За да го изведете тоа, треба да сте модератор.
     setup_user_auth:
+      blocked_zero_hour: Имате итна порака на OpenStreetMap. Ќе мора да ја прочитате
+        пораката пред да ги зачувате уредувањата.
       blocked: Пристапот кон API ви е блокиран. Најавете се на посредникот за да дознаете
         повеќе.
       need_to_see_terms: Вашиот пристап до извршничкиот програм е привремено запрен.
@@ -2225,6 +2226,7 @@ mk:
     helper:
       time_future: Истекува за %{time}.
       until_login: Активно додека не се најави корисникот.
+      time_future_and_until_login: Завршува во %{time} и откако корисникот ќе се најави.
       time_past: Истечено пред %{time}.
     blocks_on:
       title: Блокови за %{name}
@@ -2425,6 +2427,13 @@ mk:
       nothing_found: Не пронајдов ниеден елемент
       error: 'Грешка при поврзувањето со %{server}: %{error}'
       timeout: Истече времето за поврзување со %{server}
+    context:
+      directions_from: Насоки оттука
+      directions_to: Насоки дотука
+      add_note: Тука ставете белешка
+      show_address: Прикажи адреса
+      query_features: Можности за барања
+      centre_map: Тука сосредоточи ја картата
   redaction:
     edit:
       description: Опис
index 3e34ff3e62d45187c7dc9024500e5d094bf3c1c7..bc0c4e9bcdd249e5d3e64f6cb46516bd87732967 100644 (file)
@@ -388,7 +388,7 @@ oc:
         osm_nominatim: Resultats de <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
           Nominatim</a>
         geonames: Resultats dempuèi <a href="http://www.geonames.org/">GeoNames</a>
-        osm_nominatim_reverse: Resultatts de <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+        osm_nominatim_reverse: Resultats de <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
           Nominatim</a>
         geonames_reverse: Resultats de <a href="http://www.geonames.org/">GeoNames</a>
     search_osm_nominatim:
@@ -703,6 +703,7 @@ oc:
           reef: Estèu
           ridge: Cresta
           rock: Ròca
+          saddle: Sèla
           sand: Sabla
           scree: Esbudèl
           scrub: Boissa
@@ -1090,7 +1091,7 @@ oc:
     wiki:
       url: http://wiki.openstreetmap.org/
       title: wiki.openstreetmap.org
-      description: Pzrcorrètz lo wiki per la documentacion aprigondida d’OSM
+      description: Percorrètz lo wiki per la documentacion aprigondida d’OSM
   about_page:
     next: Seguent
     copyright_html: <span>&copy;</span>Contributors<br /> d’OpenStreetMap
@@ -1189,8 +1190,13 @@ oc:
           La nòta se tròba prèp de %{place}.'
       details: Mai de detalh sus la nòta pòt èsser obtengut a %{url}.
     changeset_comment_notification:
+      hi: Bonjorn %{to_user},
       greeting: Bonjorn,
       commented:
+        subject_own: '[OpenStreetMap] %{commenter} a comentat un de vòstres ensembles
+          de cambiaments'
+        subject_other: '[OpenStreetMap] %{commenter} a comentat un ensemble de cambiaments
+          al qual vos interessatz'
         partial_changeset_with_comment: amb lo comentari  «&nbsp;%{changeset_comment}'&nbsp;»
         partial_changeset_without_comment: sens comentari
   message:
@@ -1610,6 +1616,9 @@ oc:
         github:
           title: Connexion amb GitHub
           alt: Connexion amb un Compte GitHub
+        wikipedia:
+          title: Se connectar amb Wikipèdia
+          alt: Se connectar amb un compte de Wikipèdia
         yahoo:
           title: Se connectar amb Yahoo
           alt: Se connectar amb l'OpenID de Yahoo
@@ -2033,6 +2042,7 @@ oc:
         header: Jaces de mapa
         notes: Nòtas de la mapa
         data: Donadas de mapa
+        gps: Traças GPS publicas
         overlays: Autorizar las superposicions per reparar la mapa
         title: Jaces
       copyright: © <a href='%{copyright_url}'>Contributors d'OpenStreetMap</a>
@@ -2111,6 +2121,12 @@ oc:
         against_oneway_without_exit: Remontatz a contrasens sus %{name}
         end_oneway_without_exit: Fin del sens unic a %{name}
         roundabout_with_exit: A la rotonda, prene la sortida %{exit} sus %{name}
+        turn_left_with_exit: A la rotonda, viratz a esquèrra cap a %{name}
+        slight_left_with_exit: A la rotonda, viratz leugièrament a esquèrra cap a
+          %{name}
+        turn_right_with_exit: A la rotonda viratz a dreita cap a %{name}
+        slight_right_with_exit: A la rotonda viratz leugièrament a dreita cap a %{name}
+        continue_with_exit: A la rotonda, contunhatz tot dreit cap a %{name}
         unnamed: via sens nom
         courtesy: Itinerari peovesit per %{link}
       time: Temps
@@ -2121,6 +2137,13 @@ oc:
       nothing_found: Cap d'objècte pas trobat
       error: 'Error en contactant %{server}: %{error}'
       timeout: Relambi depassat en contactant %{server}
+    context:
+      directions_from: Direccions dempuèi aicí
+      directions_to: Direccions cap a aicí
+      add_note: Apondre una nòta aicí
+      show_address: Afichar l’adreça
+      query_features: Requèsta sus las foncionalitats
+      centre_map: Centrar la mapa aicí
   redaction:
     edit:
       description: Descripcion
index 262137999fff258b825d40d1f3e0c701c32da5ee..2c702d0a7949e1bcb660097c0f8a1e07432dba79 100644 (file)
@@ -1000,7 +1000,6 @@ 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
@@ -1706,6 +1705,8 @@ pl:
     require_moderator:
       not_a_moderator: Musisz być moderatorem, aby wykonać tą czynność.
     setup_user_auth:
+      blocked_zero_hour: Masz pilną wiadomość na stronie OpenStreetMap. Musisz przeczytać
+        tę wiadomość, zanim będzie można zapisywać zmiany.
       blocked: Twój dostęp do API jest zablokowany. Zaloguj się do interfejsu sieciowego,
         aby dowiedzieć się więcej.
       need_to_see_terms: Twój dostęp do API został czasowo zawieszony. Zaloguj się
@@ -2256,6 +2257,7 @@ pl:
     helper:
       time_future: Blokada wygasa za %{time}.
       until_login: Aktywne do momentu zalogowania użytkownika.
+      time_future_and_until_login: Kończy się %{time} i po zalogowaniu się użytkownika.
       time_past: Zakończono %{time} temu.
     blocks_on:
       title: Blokady na użytkownika %{name}
@@ -2456,6 +2458,13 @@ pl:
       nothing_found: Nie znaleziono obiektów
       error: 'Błąd komunikacji z %{server}: %{error}'
       timeout: Przekroczono czas oczekiwania z:%{server}
+    context:
+      directions_from: Nawiguj stąd
+      directions_to: Nawiguj tutaj
+      add_note: Dodaj uwagę tutaj
+      show_address: Pokaż adres
+      query_features: Wyświetl dane obiektu
+      centre_map: Wycentruj mapę tutaj
   redaction:
     edit:
       description: Opis
index 0cf181d6b81d61af6a67257f9953097cfdaa9e8f..9892de330ad27584abd709eb46ef360fca7b00b5 100644 (file)
@@ -1713,6 +1713,8 @@ pt-BR:
     require_moderator:
       not_a_moderator: Você precisa ser um moderador para realizar essa ação.
     setup_user_auth:
+      blocked_zero_hour: Há uma mensagem urgente para você no site do OpenStreetMap.
+        Você deve lê-la para poder voltar a salvar suas edições.
       blocked: Seu acesso à API foi bloqueado. Acesse a interface web para mais detalhes.
       need_to_see_terms: O seu acesso à API está temporariamente suspenso. Faça o
         login na interface web para ler os Termos do Contribuidor. Você não precisa
@@ -2457,6 +2459,13 @@ pt-BR:
       nothing_found: Nenhum elemento encontrado
       error: 'Erro ao contatar %{server}: %{error}'
       timeout: Tempo esgotado com %{server}
+    context:
+      directions_from: Início da Rota
+      directions_to: Destino da Rota
+      add_note: Adicionar uma nota aqui
+      show_address: Mostrar Endereço
+      query_features: Consultar elementos
+      centre_map: Centralizar o mapa aqui
   redaction:
     edit:
       description: Descrição
index b84733ed27973299fdfb762dd67ac54940c1f3ff..3ce11025c59378802872980cdfe631621cbd304e 100644 (file)
@@ -32,6 +32,7 @@
 # Author: Komzpa
 # Author: Lockal
 # Author: Macofe
+# Author: Mavl
 # Author: MaxSem
 # Author: Mechano
 # Author: Mixaill
 # Author: WindEwriX
 # Author: XAN
 # Author: Yuri Nazarov
+# Author: Yuryleb
 # Author: Zverik
 # Author: Александр Сигачёв
+# Author: Владимир К
 # Author: Дмитрий
 # Author: Сrower
 ---
@@ -146,7 +149,7 @@ ru:
     closed: Закрыто
     created_html: Создано <abbr title='%{title}'>%{time} назад</abbr>
     closed_html: Закрыто <abbr title='%{title}'>%{time} назад</abbr>
-    created_by_html: Создано <abbr title='%{title}'>%{time} назад</abbr> пользовталем
+    created_by_html: Создано <abbr title='%{title}'>%{time} назад</abbr> пользователем
       %{user}
     deleted_by_html: Удалено <abbr title='%{title}'>%{time} назад</abbr> пользователем
       %{user}
@@ -216,7 +219,8 @@ ru:
         changeset: пакет правок
         note: примечание
     timeout:
-      sorry: Извините, данные для %{type} с %{id} слишком длинные для извлечения.
+      sorry: Извините, данные для %{type} с %{id} требуют слишком много времени для
+        извлечения.
       type:
         node: точки
         way: линии
@@ -224,9 +228,9 @@ ru:
         changeset: пакета правок
         note: примечание
     redacted:
-      redaction: Ð ÐµÐ´Ð°ÐºÑ\86иÑ\8f %{id}
-      message_html: Версия %{version} этого объекта вырезана и не может быть отображена.
-        Ð¡мотрите %{redaction_link} для дополнительной информации.
+      redaction: Ð\98Ñ\81пÑ\80авление %{id}
+      message_html: Версия %{version} этого объекта (%{type}) скрыта и не может быть
+        Ð¾Ñ\82обÑ\80ажена. Ð\9fожалÑ\83йÑ\81Ñ\82а, Ñ\81мотрите %{redaction_link} для дополнительной информации.
       type:
         node: точка
         way: линия
@@ -245,30 +249,30 @@ ru:
       wikipedia_link: Статья %{page} в Википедии
       telephone_link: Позвонить %{phone_number}
     note:
-      title: 'Ð\9fÑ\80имеÑ\87ание: %{id}'
+      title: 'Ð\97амеÑ\82ка: %{id}'
       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>
+      open_by_anonymous: Ð¡Ð¾Ð·Ð´Ð°Ð½Ð¾ Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð½Ð¾ <abbr title='%{exact_time}'>%{when} назад</abbr>
       commented_by: Комментарий пользователя %{user} <abbr title='%{exact_time}'>%{when}
         назад</abbr>
-      commented_by_anonymous: Ð\9aомменÑ\82аÑ\80ий Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð° <abbr title='%{exact_time}'>%{when}
+      commented_by_anonymous: Ð\90нонимнÑ\8bй ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82аÑ\80ий <abbr title='%{exact_time}'>%{when}
         назад</abbr>
       closed_by: Обработана пользователем %{user} <abbr title='%{exact_time}'>%{when}
         назад</abbr>
-      closed_by_anonymous: Ð Ð°Ð·Ñ\80еÑ\88ена Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð¾Ð¼ <abbr title='%{exact_time}'>%{when}
+      closed_by_anonymous: Ð\9eбÑ\80абоÑ\82ана Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð½Ð¾ <abbr title='%{exact_time}'>%{when}
         назад</abbr>
       reopened_by: Переоткрыта пользователем %{user} <abbr title='%{exact_time}'>%{when}
         назад</abbr>
-      reopened_by_anonymous: Ð\9fеÑ\80еоÑ\82кÑ\80Ñ\8bÑ\82а Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð¾Ð¼ <abbr title='%{exact_time}'>%{when}
+      reopened_by_anonymous: Ð\9fеÑ\80еоÑ\82кÑ\80Ñ\8bÑ\82а Ð°Ð½Ð¾Ð½Ð¸Ð¼Ð½Ð¾ <abbr title='%{exact_time}'>%{when}
         назад</abbr>
       hidden_by: Скрыта %{user} <abbr title='%{exact_time}'>%{when} назад</abbr>
     query:
       title: Информация об объектах
-      introduction: Ð©ÐµÐ»ÐºÐ½Ð¸Ñ\82е Ð¿Ð¾ ÐºÐ°Ñ\80Ñ\82е, чтобы найти ближайшие объекты
+      introduction: Ð\9dажмиÑ\82е Ð½Ð° ÐºÐ°Ñ\80Ñ\82Ñ\83, чтобы найти ближайшие объекты
       nearby: Ближайшие объекты
       enclosing: Местоположение
   changeset:
@@ -293,24 +297,24 @@ ru:
       title_nearby: Пакеты правок соседних участников
       empty: Пакеты правок не найдены.
       empty_area: Нет пакетов правок в этой области.
-      empty_user: Нет пакетов правок от этого пользователя.
-      no_more: Ð\91олÑ\8cÑ\88е Ð½Ð¸ÐºÐ°ÐºÐ¸Ñ\85 Ð¿Ð°ÐºÐµÑ\82ов Ð¿Ñ\80авок Ð½Ðµ Ð¾Ð±Ð½Ð°Ñ\80Ñ\83жено.
+      empty_user: Нет пакетов правок этого пользователя.
+      no_more: Больше пакетов правок не обнаружено.
       no_more_area: Нет больше пакетов правок в этой области.
       no_more_user: Нет больше пакетов правок от этого пользователя.
       load_more: Загрузить ещё
     timeout:
-      sorry: Ð\9a Ñ\81ожалениÑ\8e, Ñ\81пиÑ\81ок Ð¿Ð°ÐºÐµÑ\82ов Ð¿Ñ\80авок, ÐºÐ¾Ñ\82оÑ\80Ñ\8bй Ð²Ñ\8b Ð·Ð°Ð¿Ñ\80оÑ\81или, Ñ\81лиÑ\88ком Ð±Ð¾Ð»Ñ\8cÑ\88ой
-        для извлечения.
+      sorry: Ð\9a Ñ\81ожалениÑ\8e, Ñ\81пиÑ\81ок Ð¿Ð°ÐºÐµÑ\82ов Ð¿Ñ\80авок, ÐºÐ¾Ñ\82оÑ\80Ñ\8bй Ð²Ñ\8b Ð·Ð°Ð¿Ñ\80оÑ\81или, Ñ\82Ñ\80ебÑ\83еÑ\82 Ñ\81лиÑ\88ком
+        Ð¼Ð½Ð¾Ð³Ð¾ Ð²Ñ\80емени Ð´Ð»Ñ\8f Ð¸Ð·Ð²Ð»ÐµÑ\87ениÑ\8f.
     rss:
       title_all: Обсуждение пакета правок OpenStreetMap
       title_particular: 'Обсуждение пакета правок OpenStreetMap #%{changeset_id}'
-      comment: 'Ð\9dовÑ\8bй ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82аÑ\80ий Ð½Ð° Ð¿Ð°ÐºÐµÑ\82 правок #%{changeset_id} от %{author}'
+      comment: 'Ð\9dовÑ\8bй ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82аÑ\80ий Ðº Ð¿Ð°ÐºÐµÑ\82Ñ\83 правок #%{changeset_id} от %{author}'
       commented_at_html: Обновлена %{when} назад
       commented_at_by_html: Обновлена %{when} назад %{user}
       full: Полное обсуждение
   diary_entry:
     new:
-      title: Ð¡Ð´ÐµÐ»Ð°Ñ\82Ñ\8c Ð½Ð¾Ð²Ñ\83Ñ\8e запись в дневнике
+      title: Ð\9dоваÑ\8f запись в дневнике
       publish_button: Опубликовать
     list:
       title: Дневники
@@ -344,7 +348,7 @@ ru:
       save_button: Сохранить
     no_such_entry:
       title: Нет такой дневниковой записи
-      heading: 'Нет записи с id: %{id}'
+      heading: Нет записи с номером %{id}
       body: К сожалению, записи или комментария с id %{id} не найдено. Проверьте правильность
         написания. Возможно, ссылка, по которой вы перешли, ошибочна.
     diary_entry:
@@ -364,7 +368,7 @@ ru:
       hide_link: Скрыть этот комментарий
       confirm: Подтвердить
     location:
-      location: 'Ð\9fоложение:'
+      location: 'Ð\9cеÑ\81Ñ\82о:'
       view: Вид
       edit: Правка
     feed:
@@ -380,7 +384,7 @@ ru:
     comments:
       has_commented_on: '%{display_name} только что прокомментировал следующие записи
         дневника'
-      post: Ð\9fоÑ\81Ñ\82
+      post: Ð¡Ð¾Ð¾Ð±Ñ\89ение
       when: Когда
       comment: Комментарий
       ago: '%{ago} назад'
@@ -399,11 +403,11 @@ ru:
       export_details: Данные OpenStreetMap распространяются по <a href="http://opendatacommons.org/licenses/odbl/1.0/">лицензии
         Open Data Commons Open Database License</a> (ODbL).
       too_large:
-        advice: 'Ð\95Ñ\81ли Ñ\8dÑ\82оÑ\82 Ñ\8dкÑ\81поÑ\80Ñ\82 Ð¿Ñ\80ойдÑ\91Ñ\82 Ð½ÐµÑ\83даÑ\87но, Ð¿Ð¾Ð¶Ð°Ð»Ñ\83йÑ\81Ñ\82а, Ð¿Ð¾Ð¿Ñ\80обÑ\83йÑ\82е Ð¸Ñ\81полÑ\8cзоваÑ\82Ñ\8c
-          Ð¾Ð´Ð¸Ð½ Ð¸Ð· Ð¿ÐµÑ\80еÑ\87иÑ\81леннÑ\8bÑ\85 Ð½Ð¸Ð¶Ðµ Ð¸Ñ\81Ñ\82оÑ\87ников:'
+        advice: 'Ð\95Ñ\81ли Ñ\8dÑ\82оÑ\82 Ñ\8dкÑ\81поÑ\80Ñ\82 Ð¿Ñ\80ойдÑ\91Ñ\82 Ð½ÐµÑ\83даÑ\87но, Ð¿Ð¾Ð¶Ð°Ð»Ñ\83йÑ\81Ñ\82а, Ð¿Ð¾Ð¿Ñ\80обÑ\83йÑ\82е Ð¾Ð´Ð¸Ð½ Ð¸Ð·
+          перечисленных ниже источников:'
         body: 'Эта область слишком велика для экспорта в качестве данных в формате
           OpenStreetMap XML. Пожалуйста, увеличьте масштаб, выберите меньшую область
-          или используйте один из следующих источников для массовой загрузки данных:'
+          или используйте один из перечисленных ниже других источников:'
         planet:
           title: Планета OSM
           description: Регулярно обновляемые копии полной базы данных OpenStreetMap
@@ -427,7 +431,7 @@ ru:
       max: макс.
       image_size: 'Размер изображения:'
       zoom: Приблизить
-      add_marker: Ð\9fоÑ\81Ñ\82авиÑ\82Ñ\8c Ð½Ð° ÐºÐ°Ñ\80Ñ\82Ñ\83 Ð¼Ð°Ñ\80кеÑ\80
+      add_marker: Ð\94обавиÑ\82Ñ\8c Ð¼Ð°Ñ\80кеÑ\80 Ð½Ð° ÐºÐ°Ñ\80Ñ\82Ñ\83
       latitude: 'Широта:'
       longitude: 'Долгота:'
       output: Результат
@@ -441,12 +445,12 @@ ru:
         uk_postcode: Результаты от <a href="http://www.npemap.org.uk/">NPEMap / FreeThe
           Postcode</a>
         ca_postcode: Результаты от <a href="http://geocoder.ca/">Geocoder.CA</a>
-        osm_nominatim: Результаты, полученные из <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+        osm_nominatim: Результаты от <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
           Nominatim</a>
         geonames: Результаты от <a href="http://www.geonames.org/">GeoNames</a>
-        osm_nominatim_reverse: Результаты с <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+        osm_nominatim_reverse: Результаты от <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
           Nominatim</a>
-        geonames_reverse: Результаты с <a href="http://www.geonames.org/">GeoNames</a>
+        geonames_reverse: Результаты от <a href="http://www.geonames.org/">GeoNames</a>
     search_osm_nominatim:
       prefix:
         aerialway:
@@ -465,7 +469,7 @@ ru:
           terminal: Терминал
         amenity:
           animal_shelter: Приют для животных
-          arts_centre: Ð\94ом искусств
+          arts_centre: Ð¦ÐµÐ½Ñ\82Ñ\80 искусств
           atm: Банкомат
           bank: Банк
           bar: Бар
@@ -486,14 +490,14 @@ ru:
           charging_station: Станция зарядки электромобилей
           childcare: Служба ухода за детьми
           cinema: Кинотеатр
-          clinic: Ð\9fоликлиника
+          clinic: Ð\9aлиника
           clock: Часы
           college: Колледж
           community_centre: Общественный центр
-          courthouse: Ð\9fомеÑ\89ение Ñ\81Ñ\83да
-          crematorium: Крематоорий
+          courthouse: Ð¡Ñ\83д
+          crematorium: Крематорий
           dentist: Стоматология
-          doctors: Ð\92Ñ\80аÑ\87и
+          doctors: Ð\9fоликлиника
           dormitory: Общежитие
           drinking_water: Питьевая вода
           driving_school: Автошкола
@@ -502,8 +506,8 @@ ru:
           fast_food: Фаст-фуд
           ferry_terminal: Паромная станция
           fire_hydrant: Пожарный гидрант
-          fire_station: Пожарная охрана
-          food_court: Ð¤Ñ\83дкоÑ\80Ñ\82
+          fire_station: Пожарная станция
+          food_court: Ð ÐµÑ\81Ñ\82оÑ\80аннÑ\8bй Ð´Ð²Ð¾Ñ\80ик
           fountain: Фонтан
           fuel: Заправка
           gambling: Игорный дом
@@ -512,10 +516,10 @@ ru:
           health_centre: Оздоровительный центр
           hospital: Госпиталь
           hunting_stand: Охотничья вышка
-          ice_cream: Ð\9cоÑ\80оженное
+          ice_cream: Мороженое
           kindergarten: Детский сад
           library: Библиотека
-          market: Ð\9cагазин
+          market: Ð Ñ\8bнок
           marketplace: Рыночная площадь
           monastery: Монастырь
           motorcycle_parking: Парковка для мотоциклов
@@ -527,7 +531,7 @@ ru:
           parking_entrance: Въезд на стоянку
           pharmacy: Аптека
           place_of_worship: Место поклонения
-          police: Ð\9cилиция
+          police: Ð\9fолиция
           post_box: Почтовый ящик
           post_office: Почтовое отделение
           preschool: Дошкольное учреждение
@@ -557,18 +561,18 @@ ru:
           vending_machine: Торговый автомат
           veterinary: Ветеринарная клиника
           village_hall: Усадьба
-          waste_basket: Ð\9cÑ\83Ñ\81оÑ\80ка
+          waste_basket: Ð£Ñ\80на
           waste_disposal: Мусорный бак
           youth_centre: Молодёжный центр
         boundary:
           administrative: Административная граница
           census: Граница переписного участка
           national_park: Национальный парк
-          protected_area: Охраняемый район
+          protected_area: Охраняемая территория
         bridge:
           aqueduct: Акведук
-          suspension: Ð\92иÑ\81Ñ\8fÑ\87ий мост
-          swing: Ð Ð°Ð·Ð²Ð¾Ð´Ð½Ð¾й мост
+          suspension: Ð\9fодвеÑ\81ной мост
+          swing: Ð\9fовоÑ\80оÑ\82нÑ\8bй мост
           viaduct: Виадук
           "yes": Мост
         building:
@@ -606,31 +610,31 @@ ru:
           motorway_junction: Перекрёсток
           motorway_link: Развязка на автомагистрали
           path: Тропа
-          pedestrian: Ð\94оÑ\80ога Ð´Ð»Ñ\8f Ð¿ÐµÑ\88еÑ\85одов
+          pedestrian: Ð\9fеÑ\88еÑ\85однаÑ\8f Ñ\83лиÑ\86а
           platform: Платформа
           primary: Главная дорога
           primary_link: Главная дорога
           proposed: Проектируемая дорога
           raceway: Гоночная трасса
-          residential: Ð\94оÑ\80ога
+          residential: Ð£Ð»Ð¸Ñ\86а
           rest_area: Зона отдыха
           road: Дорога
           secondary: Второстепенная дорога
-          secondary_link: Ð\9fÑ\80имÑ\8bкаÑ\8eÑ\89ая дорога
-          service: Подъездная дорога
+          secondary_link: Ð\92Ñ\82оÑ\80оÑ\81Ñ\82епенная дорога
+          service: Проезд
           services: Придорожный сервис
-          speed_camera: Ð\9aамеÑ\80а Ð¿Ð¾ ÐºÐ¾Ð½Ñ\82Ñ\80олÑ\8e скорости
-          steps: Ð¡Ñ\82Ñ\83пенÑ\8cки
+          speed_camera: Ð\9aамеÑ\80а ÐºÐ¾Ð½Ñ\82Ñ\80олÑ\8f скорости
+          steps: Ð\9bеÑ\81Ñ\82ниÑ\86а
           street_lamp: Уличный фонарь
           tertiary: Дорога третьего класса
           tertiary_link: Дорога третьего класса
-          track: Ð\94оÑ\80ога Ñ\85озÑ\8fйÑ\81Ñ\82венного Ð½Ð°Ð·Ð½Ð°Ñ\87ениÑ\8f
+          track: Ð\9fÑ\80оÑ\81Ñ\91лоÑ\87наÑ\8f Ð´Ð¾Ñ\80ога
           traffic_signals: Светофор
           trail: Тропа
           trunk: Трасса
           trunk_link: Развязка
           unclassified: Дорога местная
-          unsurfaced: Ð\94оÑ\80ога Ð±ÐµÐ· Ð¿Ð¾ÐºÑ\80Ñ\8bÑ\82иÑ\8f
+          unsurfaced: Ð\93Ñ\80Ñ\83нÑ\82оваÑ\8f Ð´Ð¾Ñ\80ога
           "yes": Дорога
         historic:
           archaeological_site: Раскопки
@@ -649,7 +653,7 @@ ru:
           manor: Поместье
           memorial: Памятник
           mine: Рудник
-          monument: Ð\9fамÑ\8fÑ\82ник
+          monument: Ð\9cонÑ\83менÑ\82
           roman_road: Римская дорога
           ruins: Развалины
           stone: Камень
@@ -661,8 +665,8 @@ ru:
         junction:
           "yes": Перекрёсток
         landuse:
-          allotments: Сады-огороды
-          basin: Ð\91аÑ\81Ñ\81ейн
+          allotments: Садоводство
+          basin: Ð\92одоÑ\91м
           brownfield: Расчистка под застройку
           cemetery: Кладбище
           commercial: Офисная территория
@@ -675,7 +679,7 @@ ru:
           garages: Гаражи
           grass: Трава
           greenfield: Неосвоенная территория
-          industrial: Промзона
+          industrial: Промышленный район
           landfill: Свалка
           meadow: Луг
           military: Военная территория
@@ -685,7 +689,7 @@ ru:
           railway: Железная дорога
           recreation_ground: Зона отдыха
           reservoir: Водохранилище
-          reservoir_watershed: Ð\92одоÑ\85Ñ\80анилиÑ\89е Ð²Ð¾Ð´Ð¾Ñ\80аздел
+          reservoir_watershed: Ð\92одоÑ\80аздел Ð²Ð¾Ð´Ð¾Ñ\85Ñ\80анилиÑ\89а
           residential: Жилой район
           retail: Торговая территория
           road: Зона дорожной сети
@@ -705,7 +709,7 @@ ru:
           golf_course: Поле для гольфа
           horse_riding: Конная база
           ice_rink: Каток
-          marina: Пристань для яхт
+          marina: Пристань
           miniature_golf: Минигольф
           nature_reserve: Заповедник
           park: Парк
@@ -714,7 +718,7 @@ ru:
           recreation_ground: Зона отдыха
           resort: Курорт
           sauna: Сауна
-          slipway: Ð­Ð»Ð»Ð¸Ð½Ð³
+          slipway: Ð¡Ñ\82апелÑ\8c
           sports_centre: Спортивный центр
           stadium: Стадион
           swimming_pool: Бассейн
@@ -752,7 +756,7 @@ ru:
           island: Остров
           land: Земля
           marsh: Травянистое болото
-          moor: Ð\93оÑ\80ное Ð±Ð¾Ð»Ð¾Ñ\82о
+          moor: Ð\92еÑ\80еÑ\81коваÑ\8f Ð¿Ñ\83Ñ\81Ñ\82оÑ\88Ñ\8c
           mud: Грязь
           peak: Вершина горы
           point: Мыс
@@ -778,16 +782,16 @@ ru:
           architect: Архитектор
           company: Компания
           employment_agency: Агентство занятости
-          estate_agent: Ð\90генÑ\82 Ð¿Ð¾ Ð¿Ñ\80одаже недвижимости
-          government: Государственное управление
+          estate_agent: Ð\90генÑ\81Ñ\82во недвижимости
+          government: Государственное учреждение
           insurance: Страховое бюро
           lawyer: Юрист
-          ngo: Ð\9eÑ\84иÑ\81 Ð\9dÐ\9aÐ\9e
+          ngo: Ð\9eÑ\84иÑ\81 Ð½ÐµÐºÐ¾Ð¼Ð¼ÐµÑ\80Ñ\87еÑ\81кой Ð¾Ñ\80ганизаÑ\86ии
           telecommunication: Офис телекоммуникационной компании
           travel_agent: Туристическое агентство
           "yes": Офисы
         place:
-          allotments: Сады-огороды, дачные участки
+          allotments: Садоводство
           block: Квартал
           airport: Аэропорт
           city: Город
@@ -801,7 +805,7 @@ ru:
           islet: Маленький остров
           isolated_dwelling: Отдельный дом-ферма
           locality: Заброшенная деревня, урочище, необитаемая местность
-          moor: Ð\93оÑ\80ное Ð±Ð¾Ð»Ð¾Ñ\82о
+          moor: Ð\92еÑ\80еÑ\81коваÑ\8f Ð¿Ñ\83Ñ\81Ñ\82оÑ\88Ñ\8c
           municipality: Муниципалитет
           neighbourhood: Соседство
           postcode: Почтовый индекс
@@ -813,23 +817,23 @@ ru:
           town: Городок
           unincorporated_area: Загородная зона
           village: Деревня
-          "yes": Местоположение
+          "yes": Место
         railway:
           abandoned: Разобранные железнодорожные пути
-          construction: Ремонт ж путей
-          disused: Ð\97абÑ\80оÑ\88енаÑ\8f Ð¶/д ветка
-          disused_station: Заброшеная ж станция
-          funicular: Фуникулер
-          halt: Ð¡Ñ\82анÑ\86иÑ\8f Ð¶/д
-          historic_station: Историческая ж.д. станция
-          junction: Ð¡Ñ\82Ñ\80елка Ð¶/д
+          construction: Ремонт железнодорожных путей
+          disused: Ð\97абÑ\80оÑ\88еннаÑ\8f Ð¶ÐµÐ»ÐµÐ·Ð½Ð¾Ð´Ð¾Ñ\80ожнаÑ\8f ветка
+          disused_station: Заброшеная железнодорожная станция
+          funicular: Фуникулёр
+          halt: Ð\96елезнодоÑ\80ожнаÑ\8f Ñ\81Ñ\82анÑ\86иÑ\8f
+          historic_station: Историческая железнодорожная станция
+          junction: Ð\96елезнодоÑ\80ожнаÑ\8f Ñ\81Ñ\82Ñ\80елка
           level_crossing: Железнодорожный переезд
-          light_rail: Легкорельсовый ж/д транспорт
-          miniature: Ð\9cини Ð¶ÐµÐ»ÐµÐ·Ð½Ð°Ñ\8f Ð´Ð¾Ñ\80ога (Miniature Rail)
+          light_rail: Легкорельсовый транспорт
+          miniature: Ð\9cакеÑ\82 Ð¶ÐµÐ»ÐµÐ·Ð½Ð¾Ð¹ Ð´Ð¾Ñ\80оги
           monorail: Монорельс
           narrow_gauge: Узкоколейка
           platform: Железнодорожная платформа
-          preserved: Историческая ж
+          preserved: Историческая железная дорога
           proposed: Проектируемая железная дорога
           spur: Ответвление ж/д пути
           station: Железнодорожная станция
@@ -840,7 +844,7 @@ ru:
           tram: Трамвай
           tram_stop: Трамвайная остановка
         shop:
-          alcohol: Ð\92иннÑ\8bй Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½
+          alcohol: Ð\9cагазин Ð°Ð»ÐºÐ¾Ð³Ð¾Ð»Ñ\8f
           antiques: Антиквариат
           art: Художественный салон
           bakery: Булочная
@@ -868,7 +872,7 @@ ru:
           doityourself: Сделай сам
           dry_cleaning: Химчистка
           electronics: Магазин электроники
-          estate_agent: Ð\9fÑ\80одажа недвижимости
+          estate_agent: Ð\90генÑ\81Ñ\82во недвижимости
           farm: Сельпо
           fashion: Магазин модной одежды
           fish: Рыбный магазин
@@ -883,7 +887,7 @@ ru:
           greengrocer: Овощной магазин
           grocery: Продуктовый магазин
           hairdresser: Парикмахерская
-          hardware: Ð¥Ð¾Ð·Ñ\8fйÑ\81Ñ\82веннÑ\8bе Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½Ñ\8b
+          hardware: Ð¥Ð¾Ð·Ñ\8fйÑ\81Ñ\82веннÑ\8bй Ð¼Ð°Ð³Ð°Ð·Ð¸Ð½
           hifi: Магазин аудио/видео аппаратуры
           insurance: Страховая компания
           jewelry: Ювелирный магазин
@@ -915,9 +919,9 @@ ru:
           wine: Винный магазин
           "yes": Магазин
         tourism:
-          alpine_hut: Ð\90лÑ\8cпийÑ\81кий Ð\94омик
+          alpine_hut: Ð\90лÑ\8cпийÑ\81кий Ð´омик
           apartment: Квартира
-          artwork: Произведения искусства
+          artwork: Произведение искусства
           attraction: Аттракцион
           bed_and_breakfast: Полупансион
           cabin: Хижина
@@ -925,28 +929,28 @@ ru:
           caravan_site: Стоянка для домов на колёсах
           chalet: Шале
           gallery: Галерея
-          guest_house: Ð\94омик Ð´Ð»Ñ\8f Ð³Ð¾Ñ\81Ñ\82ей
+          guest_house: Ð\93оÑ\81Ñ\82евой Ð´Ð¾Ð¼
           hostel: Хостел
           hotel: Гостиница
           information: Информация
           motel: Мотель
           museum: Музей
           picnic_site: Место для пикника
-          theme_park: Ð¢ÐµÐ¼Ð°Ñ\82иÑ\87еÑ\81кий Ð¿Ð°Ñ\80к
+          theme_park: Ð\9fаÑ\80к Ñ\80азвлеÑ\87ений
           viewpoint: Смотровая площадка
           zoo: Зоопарк
         tunnel:
           culvert: Водопропускная труба, кульверт
-          "yes": Туннель
+          "yes": Тоннель
         waterway:
           artificial: Искусственный водоток
           boatyard: Верфь
           canal: Канал
           dam: Дамба
           derelict_canal: Пересохший канал
-          ditch: Ð\92одооÑ\82лив
+          ditch: Ð\9aанава
           dock: Док
-          drain: Сточная канава
+          drain: Сток
           lock: Шлюз
           lock_gate: Ворота шлюза
           mooring: Место швартовки
@@ -967,9 +971,9 @@ ru:
         level10: Граница пригорода
     description:
       title:
-        osm_nominatim: Ð\9cеÑ\81Ñ\82оположение Ð¸Ð· <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+        osm_nominatim: Ð\9cеÑ\81Ñ\82оположение Ð¾Ñ\82 <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
           Nominatim</a>
-        geonames: Ð\9cеÑ\81Ñ\82оположение Ð¸Ð· <a href="http://www.geonames.org/">GeoNames</a>
+        geonames: Ð\9cеÑ\81Ñ\82оположение Ð¾Ñ\82 <a href="http://www.geonames.org/">GeoNames</a>
       types:
         cities: Города
         towns: Городские поселения
@@ -993,17 +997,17 @@ ru:
     data: Данные
     export_data: Экспортировать данные
     gps_traces: GPS-треки
-    gps_traces_tooltip: Работать с GPS треками
+    gps_traces_tooltip: Работать с GPS-треками
     user_diaries: Дневники участников
     user_diaries_tooltip: Посмотреть дневники участников
-    edit_with: Ð\9fÑ\80авить с помощью %{editor}
+    edit_with: Ð ÐµÐ´Ð°ÐºÑ\82иÑ\80овать с помощью %{editor}
     tag_line: Свободная вики-карта мира
     intro_header: Добро пожаловать на OpenStreetMap!
     intro_text: OpenStreetMap является картой мира, созданной такими же людьми, как
       и вы, и может свободно использоваться под открытой лицензией.
     intro_2_create_account: Создайте учётную запись
-    partners_html: Хостинг поддерживается %{ucl}, %{ic} и %{bytemark}, а также другими
-      %{partners}.
+    partners_html: Хостинг поддерживается %{ucl}, %{ic}, %{bytemark} и %{ic}, а также
+      другими %{partners}.
     partners_ucl: UCL VR Centre
     partners_ic: Имперским колледжем Лондона
     partners_bytemark: Bytemark Hosting
@@ -1169,19 +1173,19 @@ ru:
         и <a href="http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct">автоматизированным
         правкам</a> и следуйте им в дальнейшем.
     questions:
-      title: Ð\9fоÑ\8fвились вопросы?
+      title: Ð\9eÑ\81Ñ\82ались вопросы?
       paragraph_1_html: |-
-        Ð\9dа OpenStreetMap ÐµÑ\81Ñ\82Ñ\8c Ð½ÐµÑ\81колÑ\8cко Ñ\80еÑ\81Ñ\83Ñ\80Ñ\81ов, Ð³Ð´Ðµ Ð¼Ð¾Ð¶Ð½Ð¾ Ñ\83знаÑ\82Ñ\8c Ð¾ Ð¿Ñ\80оекÑ\82е, Ð·Ð°Ð´Ð°Ñ\82Ñ\8c Ð²Ð¾Ð¿Ñ\80оÑ\81Ñ\8b Ð¸Ð»Ð¸ Ð¾Ñ\82веÑ\82иÑ\82Ñ\8c Ð½Ð° Ð½Ð¸Ñ\85 и совместно обсудить темы, касающиеся картографии.
+        Ð£ OpenStreetMap ÐµÑ\81Ñ\82Ñ\8c Ð½ÐµÑ\81колÑ\8cко Ñ\80еÑ\81Ñ\83Ñ\80Ñ\81ов, Ð³Ð´Ðµ Ð¼Ð¾Ð¶Ð½Ð¾ Ñ\83знаÑ\82Ñ\8c Ð¾ Ð¿Ñ\80оекÑ\82е, Ð·Ð°Ð´Ð°Ñ\82Ñ\8c Ð²Ð¾Ð¿Ñ\80оÑ\81Ñ\8b, Ð¸Ð»Ð¸ Ð¾Ñ\82веÑ\82иÑ\82Ñ\8c Ð½Ð° Ð½Ð¸Ñ\85, и совместно обсудить темы, касающиеся картографии.
         <a href='%{help_url}'>Получите помощь здесь</a>.
     start_mapping: Начать картографировать
     add_a_note:
-      title: Ð\9dеÑ\82 Ð²Ñ\80емени Ð¿Ñ\80авить карту? Добавьте заметку!
+      title: Ð\9dеÑ\82 Ð²Ñ\80емени Ð¾Ñ\82Ñ\80едакÑ\82иÑ\80овать карту? Добавьте заметку!
       paragraph_1_html: Если нужно сделать небольшое уточнение, ради которого слишком
         долго регистрироваться и изучать правила правки, можно просто добавить заметку
         на карту.
       paragraph_2_html: |-
-        Ð\9fÑ\80оÑ\81Ñ\82о Ð¿ÐµÑ\80ейдиÑ\82е <a href='%{map_url}'>к ÐºÐ°Ñ\80Ñ\82е</a> Ð¸ ÐºÐ»Ð¸ÐºÐ½ите на иконку заметок:
-        <span class='icon note'></span> Это добавит на карту маркер, который можно перетаскивать мышью. Просто напишите сообщение и нажмите "добавить", и другие участники увидят это.
+        Ð\9fÑ\80оÑ\81Ñ\82о Ð¿ÐµÑ\80ейдиÑ\82е <a href='%{map_url}'>к ÐºÐ°Ñ\80Ñ\82е</a> Ð¸ Ð½Ð°Ð¶Ð¼ите на иконку заметок:
+        <span class='icon note'></span>. Это добавит на карту маркер, который можно перетаскивать. Просто напишите сообщение и нажмите "Добавить", и другие участники увидят это.
   fixthemap:
     title: Сообщить о проблеме / исправить карту
     how_to_help:
@@ -1293,7 +1297,7 @@ ru:
       your_gpx_file: Похоже, ваш файл GPX
       with_description: с описанием
       and_the_tags: 'и следующими тегами:'
-      and_no_tags: и без меток.
+      and_no_tags: и без тегов.
       failure:
         subject: '[OpenStreetMap] Сбой импорта GPX'
         failed_to_import: 'сбой импорта. Произошла ошибка:'
@@ -1349,10 +1353,10 @@ ru:
         subject_own: '[OpenStreetMap] %{commenter} прокомментировал вашу заметку'
         subject_other: '[OpenStreetMap] %{commenter} прокомментировал интересную вам
           заметку'
-        your_note: '%{commenter} Ð¾Ñ\81Ñ\82авил ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82аÑ\80ий Ðº Ð¾Ð´Ð½Ð¾Ð¹ Ð¸Ð· Ð²Ð°Ñ\88иÑ\85 ÐºÐ°Ñ\80Ñ\82огÑ\80аÑ\84иÑ\87еÑ\81киÑ\85
-          заметок около %{place}.'
-        commented_note: '%{commenter} Ð¾Ñ\81Ñ\82авил ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82аÑ\80ий Ðº Ð¾Ð´Ð½Ð¾Ð¹ Ð¸Ð· ÐºÐ°Ñ\80Ñ\82огÑ\80аÑ\84иÑ\87еÑ\81киÑ\85
-          Ð·Ð°Ð¼ÐµÑ\82ок, ÐºÐ¾Ñ\82оÑ\80Ñ\83Ñ\8e Ð²Ñ\8b Ñ\82оже ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82иÑ\80овали. Ð\97амеÑ\82ка Ð½Ð°Ñ\85одиÑ\82Ñ\81Ñ\8f Ð¾ÐºÐ¾Ð»Ð¾ %{place}.'
+        your_note: '%{commenter} Ð¾Ñ\81Ñ\82авил ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82аÑ\80ий Ðº Ð¾Ð´Ð½Ð¾Ð¹ Ð¸Ð· Ð²Ð°Ñ\88иÑ\85 Ð·Ð°Ð¼ÐµÑ\82ок Ð¾ÐºÐ¾Ð»Ð¾
+          %{place}.'
+        commented_note: '%{commenter} Ð¾Ñ\81Ñ\82авил ÐºÐ¾Ð¼Ð¼ÐµÐ½Ñ\82аÑ\80ий Ðº Ð¾Ð´Ð½Ð¾Ð¹ Ð¸Ð· Ð·Ð°Ð¼ÐµÑ\82ок, ÐºÐ¾Ñ\82оÑ\80Ñ\83Ñ\8e
+          вы тоже комментировали. Заметка находится около %{place}.'
       closed:
         subject_own: '[OpenStreetMap] %{commenter} обработал вашу заметку'
         subject_other: '[OpenStreetMap] %{commenter} обработал интересную вам заметку'
@@ -1369,6 +1373,7 @@ ru:
           Отметка недалеко от %{place}.'
       details: Подробнее о заметке %{url}.
     changeset_comment_notification:
+      hi: Привет, %{to_user},
       greeting: Привет,
       commented:
         subject_own: '[OpenStreetMap] %{commenter} прокомментировал один из ваших
@@ -1382,6 +1387,8 @@ ru:
         partial_changeset_with_comment: с комментарием '%{changeset_comment}'
         partial_changeset_without_comment: без комментария
       details: Дополнительные сведения о пакете правок можно найти на %{url}.
+      unsubscribe: Чтобы отписаться от обновлений этого пакета правок посетите %{url}
+        и нажмите кнопку "Отписаться".
   message:
     inbox:
       title: Входящие
@@ -1690,14 +1697,14 @@ ru:
       private: ЧАСТНЫЙ
       trackable: ОТСЛЕЖИВАЕМЫЙ
       by: 'Автор:'
-      in: в
+      in: 'с тегами:'
       map: карта
     list:
       public_traces: Общедоступные GPS-треки
       your_traces: Ваши GPS-треки
       public_traces_from: Общедоступные треки пользователя %{user}
       description: Обзор последних загруженных маршрутов GPS
-      tagged_with: ' отмеченные %{tags}'
+      tagged_with: 'с тегами: %{tags}'
       empty_html: Пока здесь ничего нет. <a href='%{upload_link}'>Загрузите новый
         трек</a> или почитайте про GPS-треки на <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>вики-странице</a>.
     delete:
@@ -1723,6 +1730,8 @@ ru:
     require_moderator:
       not_a_moderator: Чтобы выполнить это действие, нужно быть модератором.
     setup_user_auth:
+      blocked_zero_hour: У вас есть срочное сообщение на сайте OpenStreetMap. Вам
+        нужно прочитать сообщение, прежде чем вы сможете сохранить ваши изменения.
       blocked: Ваш доступ к API заблокирован. Пожалуйста, войдите через веб-интерфейсе,
         чтобы узнать подробности.
       need_to_see_terms: Ваш доступ к API временно приостановлен. Пожалуйста войдите
@@ -1739,8 +1748,7 @@ ru:
       allow_write_prefs: изменять ваши настройки на сайте
       allow_write_diary: создавать дневниковые записи, комментарии, заводить друзей
       allow_write_api: изменять данные
-      allow_read_gpx: читать ваши <a herf="https://wiki.openstreetmap.org/wiki/RU:%D0%92%D0%B8%D0%B4%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C_GPS-%D1%82%D1%80%D0%B5%D0%BA%D0%BE%D0%B2">частные
-        GPS-треки</a>
+      allow_read_gpx: читать ваши частные GPS-треки
       allow_write_gpx: передавать GPS-треки на сервер
       allow_write_notes: изменять заметки
       grant_access: Предоставить доступ
@@ -2009,16 +2017,16 @@ ru:
         revoke:
           administrator: Отозвать права администратора
           moderator: Отозвать права модератора
-      block_history: Ð\90кÑ\82ивнÑ\8bе Ð\91локи
-      moderator_history: созданные блокировки
+      block_history: Ð\90кÑ\82ивнÑ\8bе Ð±Ð»Ð¾ÐºÐ¸Ñ\80овки
+      moderator_history: Созданные блокировки
       comments: Комментарии
-      create_block: Ð\91локиÑ\80оваÑ\82Ñ\8c Ñ\83Ñ\87аÑ\81Ñ\82ника
-      activate_user: Ð°ÐºÑ\82ивиÑ\80оваÑ\82Ñ\8c пользователя
-      deactivate_user: Ð´ÐµÐ°ÐºÑ\82ивиÑ\80оваÑ\82Ñ\8c пользователя
-      confirm_user: Ð¿Ð¾Ð´Ñ\82веÑ\80диÑ\82Ñ\8c пользователя
-      hide_user: скрыть пользователя
-      unhide_user: Ð¾Ñ\82обÑ\80азиÑ\82Ñ\8c пользователя
-      delete_user: удалить пользователя
+      create_block: Ð\91локиÑ\80оваÑ\82Ñ\8c Ñ\8dÑ\82ого Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f
+      activate_user: Ð\90кÑ\82ивиÑ\80оваÑ\82Ñ\8c Ñ\8dÑ\82ого пользователя
+      deactivate_user: Ð\94еакÑ\82ивиÑ\80оваÑ\82Ñ\8c Ñ\8dÑ\82ого пользователя
+      confirm_user: Ð\9fодÑ\82веÑ\80диÑ\82Ñ\8c Ñ\8dÑ\82ого пользователя
+      hide_user: Скрыть этого пользователя
+      unhide_user: Ð\9eÑ\82обÑ\80азиÑ\82Ñ\8c Ñ\8dÑ\82ого пользователя
+      delete_user: Удалить этого пользователя
       confirm: Подтвердить
       friends_changesets: наборы правок друзей
       friends_diaries: дневники друзей
@@ -2198,68 +2206,69 @@ ru:
         проверьте, что пользователь и роль являются допустимыми.
   user_block:
     model:
-      non_moderator_update: Ð\9dÑ\83жно Ð±Ñ\8bÑ\82Ñ\8c Ð¼Ð¾Ð´ÐµÑ\80аÑ\82оÑ\80ом, Ñ\87Ñ\82обÑ\8b Ñ\81оздаÑ\82Ñ\8c Ð¸Ð»Ð¸ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ\82Ñ\8c Ð±Ð»Ð¾ÐºÐ¸Ñ\80ование.
-      non_moderator_revoke: Ð\9dÑ\83жно Ð±Ñ\8bÑ\82Ñ\8c Ð¼Ð¾Ð´ÐµÑ\80аÑ\82оÑ\80ом, Ñ\87Ñ\82обÑ\8b Ñ\81нÑ\8fÑ\82Ñ\8c Ð±Ð»Ð¾ÐºÐ¸Ñ\80ование.
+      non_moderator_update: Ð\9dÑ\83жно Ð±Ñ\8bÑ\82Ñ\8c Ð¼Ð¾Ð´ÐµÑ\80аÑ\82оÑ\80ом, Ñ\87Ñ\82обÑ\8b Ñ\81оздаÑ\82Ñ\8c Ð¸Ð»Ð¸ Ð¸Ð·Ð¼ÐµÐ½Ð¸Ñ\82Ñ\8c Ð±Ð»Ð¾ÐºÐ¸Ñ\80овкÑ\83.
+      non_moderator_revoke: Ð\9dÑ\83жно Ð±Ñ\8bÑ\82Ñ\8c Ð¼Ð¾Ð´ÐµÑ\80аÑ\82оÑ\80ом, Ñ\87Ñ\82обÑ\8b Ñ\81нÑ\8fÑ\82Ñ\8c Ð±Ð»Ð¾ÐºÐ¸Ñ\80овкÑ\83.
     not_found:
-      sorry: Ð\98звиниÑ\82е, Ð±Ð»Ð¾ÐºÐ¸Ñ\80ование Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f Ñ\81 ID %{id} Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð¾.
+      sorry: Ð\98звиниÑ\82е, Ð±Ð»Ð¾ÐºÐ¸Ñ\80овка Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f Ñ\81 ID %{id} Ð½Ðµ Ð½Ð°Ð¹Ð´ÐµÐ½Ð°.
       back: Вернуться к индексу
     new:
-      title: Ð¡Ð¾Ð·Ð´Ð°Ð½Ð¸Ðµ Ð±Ð»Ð¾ÐºÐ¸Ñ\80ованиÑ\8f для пользователя %{name}
-      heading: Ð¡Ð¾Ð·Ð´Ð°Ð½Ð¸Ðµ Ð±Ð»Ð¾ÐºÐ¸Ñ\80ованиÑ\8f для пользователя %{name}
-      reason: Ð\9eбÑ\8aÑ\8fÑ\81ниÑ\82е, Ð¿Ð¾Ñ\87емÑ\83 %{name} Ð±Ñ\8bл Ð·Ð°Ð±Ð»Ð¾ÐºÐ¸Ñ\80ован. Ð\9fожалÑ\83йÑ\81Ñ\82а, Ð±Ñ\83дÑ\8cÑ\82е Ñ\82еÑ\80пимÑ\8b
-        и поступайте разумно, предоставляя пользователю, как можно больше информации
-        Ð¾ Ð¿Ñ\80иÑ\87инаÑ\85 Ð±Ð»Ð¾ÐºÐ¸Ñ\80ованиÑ\8f, Ð¿Ð¾Ð¼Ð½Ñ\8f, Ñ\87Ñ\82о Ñ\81ообÑ\89ение Ð±Ñ\83деÑ\82 Ð²Ð¸Ð´Ð½Ð¾ Ð²Ñ\81ем. Ð\9fомниÑ\82е, Ñ\87Ñ\82о
-        Ð½Ðµ Ð²Ñ\81е Ð¿Ð¾Ð»Ñ\8cзоваÑ\82ели Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ñ\8eÑ\82 Ð¶Ð°Ñ\80гон, Ð¿Ð¾Ñ\82омÑ\83 Ð¿Ð¾Ð»Ñ\8cзÑ\83йÑ\82еÑ\81Ñ\8c Ð¿Ñ\80и Ð¾Ð±Ñ\8aÑ\8fÑ\81нении Ð´Ð¸Ð»ÐµÑ\82анÑ\82Ñ\81ким
-        языком.
+      title: Ð¡Ð¾Ð·Ð´Ð°Ð½Ð¸Ðµ Ð±Ð»Ð¾ÐºÐ¸Ñ\80овки для пользователя %{name}
+      heading: Ð¡Ð¾Ð·Ð´Ð°Ð½Ð¸Ðµ Ð±Ð»Ð¾ÐºÐ¸Ñ\80овки для пользователя %{name}
+      reason: Ð\9fÑ\80иÑ\87ина, Ð¿Ð¾ ÐºÐ¾Ñ\82оÑ\80ой Ð±Ð»Ð¾ÐºÐ¸Ñ\80Ñ\83еÑ\82Ñ\81Ñ\8f Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8c %{name}. Ð\9fожалÑ\83йÑ\81Ñ\82а, Ð±Ñ\83дÑ\8cÑ\82е
+        спокойны и разумны насколько это возможно. Предоставьте пользователю как можно
+        Ð±Ð¾Ð»Ñ\8cÑ\88е Ð¸Ð½Ñ\84оÑ\80маÑ\86ии Ð¾ Ð¿Ñ\80иÑ\87инаÑ\85 Ð±Ð»Ð¾ÐºÐ¸Ñ\80овки, Ð¿Ð¾Ð¼Ð½Ñ\8f, Ñ\87Ñ\82о Ñ\81ообÑ\89ение Ð±Ñ\83деÑ\82 Ð²Ð¸Ð´Ð½о
+        Ð²Ñ\81ем. Ð\98мейÑ\82е Ð² Ð²Ð¸Ð´Ñ\83, Ñ\87Ñ\82о Ð½Ðµ Ð²Ñ\81е Ð¿Ð¾Ð»Ñ\8cзоваÑ\82ели Ð¿Ð¾Ð½Ð¸Ð¼Ð°Ñ\8eÑ\82 Ð¶Ð°Ñ\80гон Ñ\81ообÑ\89еÑ\81Ñ\82ва, Ð¿Ð¾Ñ\8dÑ\82омÑ\83
+        попробуйте использовать дилетантские понятия.
       period: Как долго, начиная с этого момента, пользователь будет заблокирован
         от API.
-      submit: Ð¡Ð¾Ð·Ð´Ð°Ñ\82Ñ\8c Ð±Ð»Ð¾ÐºÐ¸Ñ\80ование
+      submit: Ð¡Ð¾Ð·Ð´Ð°Ñ\82Ñ\8c Ð±Ð»Ð¾ÐºÐ¸Ñ\80овкÑ\83
       tried_contacting: Я связывался с пользователем и просил его остановиться.
       tried_waiting: Я дал достаточно времени пользователю, чтобы он отреагировал
         на те сообщения.
-      needs_view: Ð\9fолÑ\8cзоваÑ\82елÑ\8e Ð½ÐµÐ¾Ð±Ñ\85одимо Ð²Ð¾Ð¹Ñ\82и Ð² Ñ\81иÑ\81Ñ\82емÑ\83 Ð´Ð¾ Ñ\82ого, ÐºÐ°Ðº Ñ\8dÑ\82о Ð±Ð»Ð¾ÐºÐ¸Ñ\80ование
-        будет очищено
-      back: Ð\9fоказаÑ\82Ñ\8c Ð²Ñ\81е Ð±Ð»Ð¾ÐºÐ¸Ñ\80ованиÑ\8f
+      needs_view: Ð\9fолÑ\8cзоваÑ\82елÑ\8e Ð½ÐµÐ¾Ð±Ñ\85одимо Ð²Ð¾Ð¹Ñ\82и Ð² Ñ\81иÑ\81Ñ\82емÑ\83 Ð´Ð¾ Ñ\82ого, ÐºÐ°Ðº Ñ\8dÑ\82а Ð±Ð»Ð¾ÐºÐ¸Ñ\80овка
+        будет снята
+      back: Ð\9fоказаÑ\82Ñ\8c Ð²Ñ\81е Ð±Ð»Ð¾ÐºÐ¸Ñ\80овки
     edit:
-      title: Правка блокирования пользователя %{name}
-      heading: Правка блокирования пользователя %{name}
-      reason: Объясните, почему %{name} был заблокирован. Пожалуйста, будьте терпимы
-        и поступайте разумно, предоставляя пользователю, как можно больше информации
-        о ситуации. Помните, что не все пользователи понимают жаргон, потому пользуйтесь
-        при объяснении дилетантским языком.
+      title: Правка блокировки пользователя %{name}
+      heading: Правка блокировки пользователя %{name}
+      reason: Причина, по которой блокируется пользователь %{name}. Пожалуйста, будьте
+        спокойны и разумны насколько это возможно. Предоставьте пользователю как можно
+        больше информации о причинах блокировки, помня, что сообщение будет видно
+        всем. Имейте в виду, что не все пользователи понимают жаргон сообщества, поэтому
+        попробуйте использовать дилетантские понятия.
       period: На какой срок, начиная с этого момента, заблокировать пользователя от
         API.
-      submit: Ð\9eбновиÑ\82Ñ\8c Ð±Ð»Ð¾ÐºÐ¸Ñ\80ование
+      submit: Ð\9eбновиÑ\82Ñ\8c Ð±Ð»Ð¾ÐºÐ¸Ñ\80овкÑ\83
       show: Просмотреть эту блокировку
-      back: Ð\9fÑ\80оÑ\81моÑ\82Ñ\80еÑ\82Ñ\8c Ð²Ñ\81е Ð±Ð»Ð¾ÐºÐ¸Ñ\80ованиÑ\8f
-      needs_view: Ð\9fозволиÑ\82Ñ\8c Ð»Ð¸ Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8e Ð²Ñ\85одиÑ\82Ñ\8c Ð² Ñ\81иÑ\81Ñ\82емÑ\83, Ð¿Ñ\80ежде, Ñ\87ем Ð±Ð»Ð¾ÐºÐ¸Ñ\80ование
-        Ð±Ñ\83деÑ\82 Ñ\81нÑ\8fÑ\82о?
+      back: Ð\9fÑ\80оÑ\81моÑ\82Ñ\80еÑ\82Ñ\8c Ð²Ñ\81е Ð±Ð»Ð¾ÐºÐ¸Ñ\80овки
+      needs_view: Ð\9fозволиÑ\82Ñ\8c Ð»Ð¸ Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8e Ð²Ñ\85одиÑ\82Ñ\8c Ð² Ñ\81иÑ\81Ñ\82емÑ\83, Ð¿Ñ\80ежде, Ñ\87ем Ð±Ð»Ð¾ÐºÐ¸Ñ\80овка
+        Ð±Ñ\83деÑ\82 Ñ\81нÑ\8fÑ\82а?
     filter:
-      block_expired: Ð\91локиÑ\80ование Ñ\83же Ð·Ð°ÐºÐ¾Ð½Ñ\87илоÑ\81Ñ\8c Ð¸ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¾Ñ\82Ñ\80едакÑ\82иÑ\80овано.
-      block_period: Ð\92Ñ\80емÑ\8f Ð±Ð»Ð¾ÐºÐ¸Ñ\80ованиÑ\8f Ð´Ð¾Ð»Ð¶Ð½Ð¾ Ð±Ñ\8bÑ\82Ñ\8c Ð²Ñ\8bбÑ\80ано Ð¸Ð· Ð·Ð½Ð°Ñ\87ений,  Ñ\80взвоÑ\80аÑ\87иваÑ\8eÑ\89егоÑ\81Ñ\8f
-        списка.
+      block_expired: Ð\91локиÑ\80овка Ñ\83же Ð·Ð°ÐºÐ¾Ð½Ñ\87илаÑ\81Ñ\8c Ð¸ Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¾Ñ\82Ñ\80едакÑ\82иÑ\80ована.
+      block_period: Ð\9fеÑ\80иод Ð±Ð»Ð¾ÐºÐ¸Ñ\80овки Ð´Ð¾Ð»Ð¶ÐµÐ½ Ð±Ñ\8bÑ\82Ñ\8c Ð¾Ð´Ð½Ð¸Ð¼ Ð¸Ð· Ð·Ð½Ð°Ñ\87ений, Ð²Ñ\8bбиÑ\80аемÑ\8bÑ\85 Ð¸Ð·
+        выпадающего списка.
     create:
       try_contacting: Пожалуйста, перед блокировкой пользователя попробуйте связаться
         с ним и дать ему разумное время для ответа.
-      try_waiting: Пожалуйста, дайте пользователю разумное время для ответа, перед
+      try_waiting: Пожалуйста, дайте пользователю разумное время для ответа перед
         тем, как блокировать его.
-      flash: Ð\97аблокиÑ\80ован Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8c %{name}.
+      flash: Ð¡Ð¾Ð·Ð´Ð°Ð½Ð° Ð±Ð»Ð¾ÐºÐ¸Ñ\80овка Ð´Ð»Ñ\8f Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f %{name}.
     update:
-      only_creator_can_edit: Только модератор, который создал это блокирование, может
-        править его.
-      success: Ð\91локиÑ\80ование Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð¾.
+      only_creator_can_edit: Только модератор, который создал эту блокировку, может
+        править её.
+      success: Ð\91локиÑ\80овка Ð¾Ð±Ð½Ð¾Ð²Ð»ÐµÐ½Ð°.
     index:
-      title: Блокировки участника
-      heading: Ð¡Ð¿Ð¸Ñ\81ок Ð±Ð»Ð¾ÐºÐ¸Ñ\80ований Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f
-      empty: Ð\91локиÑ\80ованиÑ\8f ещё не были созданы.
+      title: Блокировки пользователей
+      heading: Ð¡Ð¿Ð¸Ñ\81ок Ð±Ð»Ð¾ÐºÐ¸Ñ\80овок Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елей
+      empty: Ð\91локиÑ\80овки ещё не были созданы.
     revoke:
-      title: Ð¡Ð½Ñ\8fÑ\82Ñ\8c Ð±Ð»Ð¾ÐºÐ¸Ñ\80ование Ð´Ð»Ñ\8f  %{block_on}
-      heading: Ð\9eÑ\82мена Ð±Ð»Ð¾ÐºÐ¸Ñ\80ованиÑ\8f Ð´Ð»Ñ\8f Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f %{block_on}, ÐºÐ¾Ñ\82оÑ\80ое создал %{block_by}
-      time_future: Ð­Ñ\82о Ð±Ð»Ð¾ÐºÐ¸Ñ\80ование Ð·Ð°ÐºÐ¾Ð½Ñ\87иÑ\82Ñ\81Ñ\8f %{time}.
-      past: Ð­Ñ\82о Ð±Ð»Ð¾ÐºÐ¸Ñ\80ование Ð·Ð°ÐºÐ¾Ð½Ñ\87илоÑ\81Ñ\8c %{time} Ð½Ð°Ð·Ð°Ð´ Ð¸ Ñ\83же Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¾Ñ\82менено.
-      confirm: Вы уверены, что хотите снять это блокирование?
-      revoke: Ð¡Ð½Ñ\8fÑ\82Ñ\8c Ð±Ð»Ð¾ÐºÐ¸Ñ\80ование!
-      flash: Ð­Ñ\82о Ð±Ð»Ð¾ÐºÐ¸Ñ\80ование Ð±Ñ\8bло Ñ\81нÑ\8fÑ\82о.
+      title: Ð¡Ð½Ñ\8fÑ\82Ñ\8c Ð±Ð»Ð¾ÐºÐ¸Ñ\80овкÑ\83 Ð´Ð»Ñ\8f %{block_on}
+      heading: Ð\9eÑ\82мена Ð±Ð»Ð¾ÐºÐ¸Ñ\80овки Ð´Ð»Ñ\8f Ð¿Ð¾Ð»Ñ\8cзоваÑ\82елÑ\8f %{block_on}, ÐºÐ¾Ñ\82оÑ\80Ñ\83Ñ\8e создал %{block_by}
+      time_future: Ð­Ñ\82а Ð±Ð»Ð¾ÐºÐ¸Ñ\80овка Ð·Ð°ÐºÐ¾Ð½Ñ\87иÑ\82Ñ\81Ñ\8f Ñ\87еÑ\80ез %{time}.
+      past: Ð­Ñ\82а Ð±Ð»Ð¾ÐºÐ¸Ñ\80овка Ð·Ð°ÐºÐ¾Ð½Ñ\87илаÑ\81Ñ\8c %{time} Ð½Ð°Ð·Ð°Ð´ Ð¸ Ñ\83же Ð½Ðµ Ð¼Ð¾Ð¶ÐµÑ\82 Ð±Ñ\8bÑ\82Ñ\8c Ð¾Ñ\82менена.
+      confirm: Вы уверены, что хотите снять эту блокировку?
+      revoke: Ð¡Ð½Ñ\8fÑ\82Ñ\8c Ð±Ð»Ð¾ÐºÐ¸Ñ\80овкÑ\83!
+      flash: Ð­Ñ\82а Ð±Ð»Ð¾ÐºÐ¸Ñ\80овка Ð±Ñ\8bла Ñ\81нÑ\8fÑ\82а.
     period:
       one: 1 час
       other: '%{count} час.'
@@ -2270,7 +2279,7 @@ ru:
       confirm: Вы уверены?
       display_name: Заблокированный пользователь
       creator_name: Автор
-      reason: Ð\9fÑ\80иÑ\87ина Ð±Ð»Ð¾ÐºÐ¸Ñ\80ованиÑ\8f
+      reason: Ð\9fÑ\80иÑ\87ина Ð±Ð»Ð¾ÐºÐ¸Ñ\80овки
       status: Состояние
       revoker_name: Разблокировал
       not_revoked: (не разблокирован)
@@ -2278,21 +2287,23 @@ ru:
       next: Следующая →
       previous: ← Предыдущая
     helper:
-      time_future: Заканчивается в %{time}.
+      time_future: Заканчивается через %{time}.
       until_login: Активно до тех пор, пока пользователь не войдёт в систему.
+      time_future_and_until_login: Заканчивается через %{time} и после того, как пользователь
+        войдёт в систему.
       time_past: Закончилось %{time} назад.
     blocks_on:
-      title: Ð\91локиÑ\80ованиÑ\8f для %{name}
-      heading: Ð¡Ð¿Ð¸Ñ\81ок Ð±Ð»Ð¾ÐºÐ¸Ñ\80ований пользователя %{name}
+      title: Ð\91локиÑ\80овки для %{name}
+      heading: Ð¡Ð¿Ð¸Ñ\81ок Ð±Ð»Ð¾ÐºÐ¸Ñ\80овок пользователя %{name}
       empty: ' %{name} ни разу не был заблокирован.'
     blocks_by:
-      title: Ð\91локиÑ\80ованиÑ\8f, ÐºÐ¾Ñ\82оÑ\80Ñ\8bе Ñ\81делал
-      heading: Ð¡Ð¿Ð¸Ñ\81ок Ð±Ð»Ð¾ÐºÐ¸Ñ\80ований, ÐºÐ¾Ñ\82оÑ\80Ñ\8bе Ñ\81делал
-      empty: '%{name} ещё не делал никаких блокирований.'
+      title: Ð\91локиÑ\80овки, ÐºÐ¾Ñ\82оÑ\80Ñ\8bе Ñ\81оздал %{name}
+      heading: Ð¡Ð¿Ð¸Ñ\81ок Ð±Ð»Ð¾ÐºÐ¸Ñ\80овок, ÐºÐ¾Ñ\82оÑ\80Ñ\8bе Ñ\81оздал %{name}
+      empty: '%{name} ещё создавал никаких блокировок.'
     show:
       title: '%{block_on}, наложил блокировку: %{block_by}'
       heading: '%{block_on}, наложил блокировку: %{block_by}'
-      time_future: Заканчивается %{time}
+      time_future: Заканчивается через %{time}
       time_past: Закончилась %{time} назад
       created: Создано
       ago: '%{time} назад'
@@ -2313,9 +2324,9 @@ ru:
       commented_at_html: Обновлена %{when} назад
       commented_at_by_html: Обновлена %{when} назад %{user}
       closed_at_html: Обработана %{when} назад
-      closed_at_by_html: Ð ÐµÑ\88ена %{when} назад %{user}
-      reopened_at_html: Ð\92озобновлена %{when} назад
-      reopened_at_by_html: Ð\92озобновлена %{when} назад %{user}
+      closed_at_by_html: Ð\9eбÑ\80абоÑ\82ана %{when} назад %{user}
+      reopened_at_html: Ð\9fеÑ\80еоÑ\82кÑ\80Ñ\8bÑ\82а %{when} назад
+      reopened_at_by_html: Ð\9fеÑ\80еоÑ\82кÑ\80Ñ\8bÑ\82а %{when} назад %{user}
     rss:
       title: Заметки OpenStreetMap
       description_area: Список заметок, созданных, прокомментированных или закрытых
@@ -2383,6 +2394,7 @@ ru:
         header: Слои карты
         notes: Заметки
         data: Просмотр данных карты
+        gps: Общедоступные GPS-треки
         overlays: Дополнительные слои для устранения неисправностей карты
         title: Слои
       copyright: © <a href='%{copyright_url}'>Участники OpenStreetMap</a>
@@ -2392,7 +2404,7 @@ ru:
       edit_disabled_tooltip: Увеличить масштаб для редактирования карты
       createnote_tooltip: Добавить заметку на карту
       createnote_disabled_tooltip: Приблизьте карту, чтобы добавить заметку
-      map_notes_zoom_in_tooltip: Ð£Ð²ÐµÐ»Ð¸Ñ\87Ñ\8cÑ\82е Ð¼Ð°Ñ\81Ñ\88Ñ\82аб, Ñ\87Ñ\82обÑ\8b Ñ\83видеÑ\82Ñ\8c Ð¿Ñ\80имеÑ\87аниÑ\8f Ðº ÐºÐ°Ñ\80Ñ\82е
+      map_notes_zoom_in_tooltip: Ð£Ð²ÐµÐ»Ð¸Ñ\87Ñ\8cÑ\82е Ð¼Ð°Ñ\81Ñ\88Ñ\82аб, Ñ\87Ñ\82обÑ\8b Ñ\83видеÑ\82Ñ\8c Ð·Ð°Ð¼ÐµÑ\82ки
       map_data_zoom_in_tooltip: Увеличьте масштаб, чтобы увидеть данные карты
       queryfeature_tooltip: Информация об объектах
       queryfeature_disabled_tooltip: Приблизьте карту для информации об объектах
@@ -2439,7 +2451,7 @@ ru:
         no_place: К сожалению, данное место не найдено.
       instructions:
         continue_without_exit: Продолжите по %{name}
-        slight_right_without_exit: Ð¡Ð»ÐµÐ³ÐºÐ° направо на %{name}
+        slight_right_without_exit: Ð\9fлавнÑ\8bй Ð¿Ð¾Ð²Ð¾Ñ\80оÑ\82 направо на %{name}
         offramp_right_without_exit: Используйте съезд вправо на %{name}
         onramp_right_without_exit: Поверните направо на съезде на %{name}
         endofroad_right_without_exit: В конце дороги поверните направо на %{name}
@@ -2455,19 +2467,21 @@ ru:
         endofroad_left_without_exit: В конце дороги поверните налево на %{name}
         merge_left_without_exit: Перестройтесь налево на %{name}
         fork_left_without_exit: На развилке поверните налево на %{name}
-        slight_left_without_exit: Ð¡Ð»ÐµÐ³ÐºÐ° Ð²лево на %{name}
+        slight_left_without_exit: Ð\9fлавнÑ\8bй Ð¿Ð¾Ð²Ð¾Ñ\80оÑ\82 Ð½Ð°лево на %{name}
         via_point_without_exit: (через точку)
         follow_without_exit: Следуйте %{name}
         roundabout_without_exit: На развязке сверните к %{name}
         leave_roundabout_without_exit: Покиньте развязку - %{name}
         stay_roundabout_without_exit: Оставайтесь на развязке - %{name}
         start_without_exit: Начните в конце %{name}
-        destination_without_exit: Ð\92Ñ\8bбÑ\80аÑ\82Ñ\8c Ð¼ÐµÑ\81Ñ\82о Ð½Ð°Ð·Ð½Ð°Ñ\87ениÑ\8f
+        destination_without_exit: Ð\9cеÑ\81Ñ\82о Ð½Ð°Ð·Ð½Ð°Ñ\87ениÑ\8f Ñ\80Ñ\8fдом
         against_oneway_without_exit: Идите против одностороннего движения на %{name}
         end_oneway_without_exit: Конец одностороннего движения на %{name}
         roundabout_with_exit: На развязке выберите выход %{exit} на %{name}
         turn_left_with_exit: На круговой развязке поверните налево на %{name}
+        slight_left_with_exit: На круговой развязке плавный поворот налево на %{name}
         turn_right_with_exit: На круговой развязке поверните направо на %{name}
+        slight_right_with_exit: На круговой развязке плавный поворот направо на %{name}
         continue_with_exit: На круговой развязке продолжайте движение прямо на %{name}
         unnamed: без имени
         courtesy: Маршрут предоставлен %{link}
@@ -2479,6 +2493,13 @@ ru:
       nothing_found: Объектов поблизости нет
       error: 'Ошибка связи с %{server}: %{error}'
       timeout: Тайм-аут обращения к %{server}
+    context:
+      directions_from: Маршрут отсюда
+      directions_to: Маршрут сюда
+      add_note: Добавить заметку
+      show_address: Показать адрес
+      query_features: Что здесь?
+      centre_map: Центрировать карту
   redaction:
     edit:
       description: Описание
@@ -2496,19 +2517,19 @@ ru:
       title: Создание нового исправления
     show:
       description: 'Описание:'
-      heading: Отображение исправления «%{title}»
-      title: Отображение исправления
+      heading: Описание исправления «%{title}»
+      title: Описание исправления
       user: 'Создано:'
-      edit: Ð ÐµÐ´Ð°ÐºÑ\82иÑ\80оваÑ\82Ñ\8c Ñ\8dÑ\82о Ð¸Ñ\81пÑ\80авление
-      destroy: Удалить это исправление
+      edit: Ð\98змениÑ\82Ñ\8c
+      destroy: Удалить
       confirm: Вы уверены?
     create:
-      flash: Ð ÐµÐ´Ð°ÐºÑ\86иÑ\8f Ñ\81оздана.
+      flash: Ð\98Ñ\81пÑ\80авление Ñ\81оздано.
     update:
       flash: Изменения сохранены.
     destroy:
-      not_empty: Ð ÐµÐ´Ð°ÐºÑ\86иÑ\8f Ð½Ðµ Ð¿Ñ\83Ñ\81Ñ\82а. Ð\9fожалÑ\83йÑ\81Ñ\82а, Ð¾Ñ\82каÑ\82иÑ\82е Ð²Ñ\81е Ð²ÐµÑ\80Ñ\81ии, Ð¿Ñ\80инадлежаÑ\89ие
-        Ðº Ñ\8dÑ\82ой Ñ\80едакÑ\86ии перед удалением.
-      flash: Ð ÐµÐ´Ð°ÐºÑ\86иÑ\8f Ñ\83ниÑ\87Ñ\82ожена.
-      error: Ð\9fÑ\80оизоÑ\88ла Ð¾Ñ\88ибка Ð¿Ñ\80и Ñ\83ниÑ\87Ñ\82ожении Ñ\8dÑ\82ой Ñ\80едакÑ\86ии.
+      not_empty: Ð\98Ñ\81пÑ\80авление Ð½Ðµ Ð¿Ñ\83Ñ\81Ñ\82о. Ð\9fожалÑ\83йÑ\81Ñ\82а, Ð¾Ñ\82мениÑ\82е Ñ\81кÑ\80Ñ\8bÑ\82ие Ð²Ñ\81еÑ\85 Ð²ÐµÑ\80Ñ\81ий Ð¾Ð±Ñ\8aекÑ\82ов,
+        Ð¿Ñ\80инадлежаÑ\89иÑ\85 Ðº Ñ\8dÑ\82омÑ\83 Ð¸Ñ\81пÑ\80авлениÑ\8e перед удалением.
+      flash: Ð\98Ñ\81пÑ\80авление Ñ\83ниÑ\87Ñ\82ожено.
+      error: Ð\9fÑ\80оизоÑ\88ла Ð¾Ñ\88ибка Ð¿Ñ\80и Ñ\83ниÑ\87Ñ\82ожении Ñ\8dÑ\82ого Ð¸Ñ\81пÑ\80авлениÑ\8f.
 ...
index 735effe7da9f092e7e3efeb98c0cb10f4c8aeb1d..d3c751e7e022000e08179f1ec152921420ff3060 100644 (file)
@@ -919,7 +919,6 @@ sk:
     partners_ic: Imperial College v Londýne
     partners_bytemark: Bytemark Hosting
     partners_partners: partneri
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: OpenStreetMap databáza je teraz offline, zatiaľ čo potrebná údržba
       databázy naďalej prebieha.
     osm_read_only: OpenStreetMap databáza je teraz len v móde čítania (bez možnosti
index 084556be80d0c2ec9c11b7206baeee8a2f5d7204..89cff2d95cec30192f1efde4422fbe2a7edae3c9 100644 (file)
@@ -188,6 +188,9 @@ sl:
         way: pot
         relation: zveza
     start_rjs:
+      feature_warning: Nalaganje %{num_features}-ih značilnosti, kar lahko upočasni
+        brskalnik ali ga naredi neodzivnega. Ali ste prepričani, da želite prikazati
+        te podatke?
       load_data: Naloži podatke
       loading: Nalaganje ...
     tag_details:
@@ -195,7 +198,8 @@ sl:
       wiki_link:
         key: Wiki stran z opisom oznake %{key}
         tag: Wiki stran z opisom oznake %{key}=%{value}
-      wikipedia_link: '%{page} članek na Wikipediji'
+      wikidata_link: Element %{page} na strani Wikidata
+      wikipedia_link: Članek %{page} na Wikipediji
       telephone_link: Pokliči %{phone_number}
     note:
       title: 'Opomba: %{id}'
@@ -235,7 +239,7 @@ sl:
       saved_at: Shranjen
       user: Uporabnik
       comment: Komentar
-      area: Področje
+      area: Območje
     list:
       title: Paketi sprememb
       title_user: Paketi sprememb uporabnika %{user}
@@ -339,7 +343,7 @@ sl:
     title: Izvozi
     start:
       area_to_export: Področje za izvoz
-      manually_select: Ročno izberite drugo področje
+      manually_select: Ročno izberi drugo področje
       format_to_export: Oblika izvoženih podatkov
       osm_xml_data: Podatki OpenStreetMap v zapisu XML
       map_image: Slika zemljevida (prikaže standardni izris)
@@ -349,9 +353,9 @@ sl:
         Data Commons Open Database License</a> (ODbL).
       too_large:
         advice: 'Če zgornji izvoz spodleti, uporabite enega od spodnjih virov:'
-        body: 'To področje je preveliko za izvoz v OpenStreetMap XML. Prosimo, da
-          se približate ali izberete manjše območje ali pa da uporabite enega od naslednjih
-          virov za obsežen prenos podatkov:'
+        body: 'To področje je preveliko za izvoz v XML OpenStreetMap. Prosimo, da
+          se približate ali izberete manjše področje ali pa da uporabite enega od
+          naslednjih virov za obsežen prenos podatkov:'
         planet:
           title: Planet OSM
           description: Redno posodabljane kopije celotne podatkovne zbirke OpenStreetMap
@@ -450,6 +454,7 @@ sl:
           ferry_terminal: Trajekt
           fire_hydrant: Hidrant
           fire_station: Gasilska postaja
+          food_court: Prehrambeni prostor
           fountain: Vodomet
           fuel: Bencinska črpalka
           gambling: Igre na srečo
@@ -504,12 +509,13 @@ sl:
           veterinary: Veterinarska klinika
           village_hall: Vaško središče
           waste_basket: Koš za odpadke
+          waste_disposal: Zabojnik za odpadke
           youth_centre: Mladinski center
         boundary:
           administrative: Upravna meja
           census: Popisna meja
           national_park: Nacionalni Park
-          protected_area: Zavarovano območje
+          protected_area: Zavarovano področje
         bridge:
           aqueduct: Akvadukt
           suspension: Viseči most
@@ -532,6 +538,7 @@ sl:
         emergency:
           ambulance_station: Reševalna postaja
           defibrillator: Defibrilator
+          landing_site: Mesto za pristanek v sili
           phone: Klic v sili
         highway:
           abandoned: Opuščena cesta
@@ -569,6 +576,7 @@ sl:
           tertiary: Lokalna cesta
           tertiary_link: Terciarna cesta
           track: Kolovoz
+          traffic_signals: Prometna signalizacija
           trail: Sled
           trunk: Hitra cesta
           trunk_link: Priključek na hitro cesto
@@ -586,6 +594,7 @@ sl:
           city_gate: Mestna vrata
           citywalls: Mestno obzidje
           fort: Trdnjava
+          heritage: Kulturna dediščina
           house: Hiša
           icon: Ikona
           manor: Graščina
@@ -608,28 +617,29 @@ sl:
           brownfield: Gradbišče
           cemetery: Pokopališče
           commercial: Poslovna cona
-          conservation: Zaštićeno področje
+          conservation: Zaščiteno področje
           construction: Gradbišče
           farm: Kmetija
           farmland: Kmetijsko zemljišče
           farmyard: Vrt
           forest: Gozd
           garages: Garaže
-          grass: Travnik
+          grass: Trata
           greenfield: Pripravljeno za gradbišče
           industrial: Industrijsko podočje
           landfill: Smetišče
           meadow: Travnik
-          military: Vojaško območje
+          military: Vojaško področje
           mine: Minsko polje
           orchard: Sadovnjak
           quarry: Kamnolom
           railway: Železnica
-          recreation_ground: Rekreacijsko območje
+          recreation_ground: Rekreacijsko področje
           reservoir: Zbiralnik
-          residential: Stanovanjska cona
+          reservoir_watershed: Vodno zajetje
+          residential: Stanovanjsko področje
           retail: Trgovine
-          road: Območje ceste
+          road: Področje ceste
           village_green: Zelenica
           vineyard: Vinograd
           "yes": Raba tal
@@ -638,11 +648,12 @@ sl:
           bird_hide: Ptičja opazovalnica
           club: Klub
           common: Javno zemljišče
-          fishing: Ribolovno območje
+          dog_park: Pasji park
+          fishing: Ribolovno področje
           fitness_centre: Fitnes center
           fitness_station: Fitnes center
           garden: Vrt
-          golf_course: Igrišče za Golf
+          golf_course: Igrišče za golf
           horse_riding: Jahanje
           ice_rink: Drsališče
           marina: Marina
@@ -651,7 +662,8 @@ sl:
           park: Park
           pitch: Športno igrišče
           playground: Otroško igrišče
-          recreation_ground: Rekreacijsko območje
+          recreation_ground: Rekreacijsko področje
+          resort: Letovišče
           sauna: Savna
           slipway: Rampa
           sports_centre: Športni center
@@ -676,7 +688,7 @@ sl:
           beach: Obala
           cape: Rt
           cave_entrance: Vhod v jamo
-          cliff: Klif
+          cliff: Pečina
           crater: Krater
           dune: Peščina
           fell: Planina
@@ -684,6 +696,7 @@ sl:
           forest: Gozd
           geyser: Gejzir
           glacier: Ledenik
+          grassland: Pašnik
           heath: Ravnina
           hill: Hrib
           island: Otok
@@ -725,6 +738,7 @@ sl:
           "yes": Pisarne
         place:
           allotments: Vrtički
+          block: Blok
           airport: Letališče
           city: Mesto
           country: Država
@@ -743,11 +757,11 @@ sl:
           postcode: Poštna številka
           region: Regija
           sea: Morje
-          state: 'Država (ZDA):'
+          state: 'Zvezna država (ZDA):'
           subdivision: Pododdelek
           suburb: Predmestje
           town: Mesto
-          unincorporated_area: Nikogaršnje območje
+          unincorporated_area: Nikogaršnje področje
           village: Vas
           "yes": Kraj
         railway:
@@ -840,7 +854,7 @@ sl:
           salon: Lepotilni salon
           second_hand: Trgovina z rabljeno opremo
           shoes: Trgovina s čevlji
-          shopping_centre: Nakupovalno središče
+          shopping_centre: Nakupovalni center
           sports: Športna trgovina
           stationery: Papirnica
           supermarket: Supermarket
@@ -939,7 +953,7 @@ sl:
       vi, brezplačen za uporabo z odprto licenco.
     intro_2_create_account: Ustvarite uporabniški račun
     partners_html: Gostovanje podpira %{ucl}, %{ic} in %{bytemark}, ter ostali %{partners}.
-    partners_ucl: UCL VR Center
+    partners_ucl: Center UCL VR
     partners_ic: Imperial College v Londonu
     partners_bytemark: Bytemark Hosting
     partners_partners: partnerji
@@ -1008,9 +1022,11 @@ sl:
       node_html: <strong>Vozlišče</strong> je točka na zemljevidu, kot npr. restavracija
         ali drevo.
       way_html: <strong>Pot</strong> je črta ali področje, kot je npr. cesta, potok,
-        jezero ali stavba.
+        jezero ali zgradba.
       tag_html: <strong>Oznaka</strong> je podatek o vozlišču ali poti, kot je npr.
         ime restavracija ali omejitev hitrosti na cesti.
+    rules:
+      title: Pravila!
     questions:
       title: Imate kakšno vprašanja?
       paragraph_1_html: |-
@@ -1044,7 +1060,10 @@ sl:
       description: Začnite s tem hitrim vodičem, ki zajema osnove OpenStreetMap.
     beginners_guide:
       url: http://wiki.openstreetmap.org/wiki/Sl:Beginners%27_guide
+      title: Vodnik za začetnike
+      description: Vodnik za začetnike, ki ga vzdržuje skupnost.
     help:
+      url: https://help.openstreetmap.org/
       description: Zastavite vprašanje ali poiščete odgovore v OSM zbirki vprašanj
         in odgovorov.
     wiki:
@@ -1156,6 +1175,7 @@ sl:
           ki ste jo vi komentirali. Opomba je v bližini %{place}.'
       details: Več podrobnosti o opombi lahko najdete na %{url}.
     changeset_comment_notification:
+      hi: Pozdravljeni, %{to_user},
       greeting: Pozdravljeni,
       commented:
         subject_own: '[OpenStreetMap] %{commenter} je komentiral enega izmed vaših
@@ -1312,7 +1332,7 @@ sl:
           - Mestna železnica
           - tramvaj
           cable:
-          - Kabinska žičnica
+          - Nihalka
           - sedežnica
           runway:
           - Vzletno-pristajalna steza
@@ -1323,15 +1343,15 @@ sl:
           admin: Upravna razmejitev
           forest: Gozd
           wood: Pragozd
-          golf: Igrišče za Golf
+          golf: Igrišče za golf
           park: Park
           resident: Naselje
           common:
           - Travniki
           - travnik
-          retail: Trgovsko območje
+          retail: Trgovsko področje
           industrial: Industrijsko področje
-          commercial: Poslovno območje
+          commercial: Poslovno področje
           heathland: Grmičevje
           lake:
           - Jezero
@@ -1601,9 +1621,10 @@ sl:
       remember: 'Zapomni si me:'
       lost password link: Ste pozabili geslo?
       login_button: Prijava
-      register now: Registriraj se
+      register now: Registrirajte se
       with username: 'Že imate OpenStreetMap račun? Prosim, prijavite se s svojim
         uporabniškim imenom in geslom:'
+      with external: 'Lahko pa uporabite prijavo tretje osebe:'
       new to osm: Ste novi na OpenStreetMap?
       to make changes: Če želite spreminjati podatke na OpenStreetMap, morate imeti
         račun.
@@ -1677,8 +1698,12 @@ sl:
       display name: 'Prikazno ime:'
       display name description: Javno prikazano uporabniško ime. To lahko spremenite
         kasneje v nastavitvah.
+      external auth: Overitev tretje osebe
       password: 'Geslo:'
       confirm password: 'Potrdite geslo:'
+      use external auth: Lahko pa uporabite prijavo tretje osebe
+      auth no password: Pri overitvi tretje osebe geslo ni zahtevano, vendar ga bodo
+        nekatera dodatna orodja ali strežnik morda še vedno zahtevala.
       continue: Registracija
       terms accepted: Hvala za sprejem novih pogojev prispevanja!
       terms declined: Žal nam je, da ste se odločili, da ne sprejmete novih "contributor
@@ -1708,6 +1733,7 @@ sl:
       heading: Uporabnik %{user} ne obstaja
       body: Oprostite, uporabnika z imenom %{user} ni. Prosimo, preverite črkovanje
         in povezavo, ki ste jo kliknili.
+      deleted: izbrisano
     view:
       my diary: Moj dnevnik
       new diary entry: nov vnos v dnevnik
@@ -1904,6 +1930,15 @@ sl:
     auth_failure:
       connection_failed: Povezava do storitve za preverjanje pristnosti ni uspela
       invalid_credentials: Neveljavne poverilnice za preverjanje pristnosti
+      no_authorization_code: Ni pooblastitvene kode
+      unknown_signature_algorithm: Neznan algoritem podpisa
+      invalid_scope: Neveljaven obseg
+    auth_association:
+      heading: Vaš ID še ni povezan z računom OpenStreetMap.
+      option_1: Če ste novi v OpenStreetMapu, prosimo, ustvarite nov račun z uporabo
+        spodnjega obrazca.
+      option_2: Če že imate račun, se lahko prijavite s svojim uporabniškim imenom
+        in geslom in račun v nastavitvah povežete s svojim ID-jem.
   user_role:
     filter:
       not_an_administrator: Samo skrbniki lahko upravljajo vlogo uporabnika, vi pa
@@ -1979,7 +2014,7 @@ sl:
       heading: Preklic blokade za %{block_on} od %{block_by}
       time_future: Ta blokada se bo končala  v %{time}.
       past: Ta blokada se je končala pred %{time} in se ne more biti več preklicati.
-      confirm: Ste prepričani, da želite preklicati blokado?
+      confirm: Ali ste prepričani, da želite preklicati blokado?
       revoke: Prekliči!
       flash: Ta blokada je bila preklicana.
     period:
@@ -2004,6 +2039,7 @@ sl:
     helper:
       time_future: Konča v %{time}.
       until_login: Aktivna dokler uporabnik se prijavi.
+      time_future_and_until_login: Konča se čez %{time} in ko se uporabnik prijavi.
       time_past: Je končala %{time} nazaj.
     blocks_on:
       title: Blokade uporabnika %{name}
@@ -2018,6 +2054,8 @@ sl:
       heading: '%{block_on} je blokiral %{block_by}'
       time_future: Konča v %{time}
       time_past: Je končala %{time} nazaj
+      created: Ustvarjeno
+      ago: '%{time} nazaj'
       status: Stanje
       show: Prikaži
       edit: Uredi
@@ -2080,6 +2118,9 @@ sl:
       center_marker: Centriraj zemljevid na oznako
       paste_html: Prilepi HTML za vdelavo v spletno mesto
       view_larger_map: Prikaži večji zemljevid
+      only_standard_layer: Samo standardno plast je mogoče izvoziti kot sliko
+    embed:
+      report_problem: Prijavi težavo
     key:
       title: Ključ zemljevida
       tooltip: Ključ zemljevida
@@ -2156,14 +2197,57 @@ sl:
         no_route: Ni mogoče najti poti med tema dvema položajema.
         no_place: Žal tega kraja ni bilo mogoče najti.
       instructions:
+        continue_without_exit: Nadaljujte po %{name}
+        slight_right_without_exit: Rahlo desno na %{name}
+        offramp_right_without_exit: Zapeljite na priključek na desni in nato na %{name}
+        onramp_right_without_exit: Na priključku zavijte desno na %{name}
+        endofroad_right_without_exit: Na koncu ceste zavijte desno na %{name}
+        merge_right_without_exit: Zapeljite rahlo desno na %{name}
+        fork_right_without_exit: Na razcepu zavijte desno na %{name}
+        turn_right_without_exit: Zavijte desno na %{name}
+        sharp_right_without_exit: Ostro desno na %{name}
+        uturn_without_exit: Polkrožno obrnite po %{name}
+        sharp_left_without_exit: Ostro levo na %{name}
+        turn_left_without_exit: Zavijte levo na %{name}
+        offramp_left_without_exit: Zapeljite na priključek na levi in nato na %{name}
+        onramp_left_without_exit: Na priključku zavijte levo na %{name}
+        endofroad_left_without_exit: Na koncu ceste zavijete levo na %{name}
+        merge_left_without_exit: Zapeljite rahlo levo na %{name}
+        fork_left_without_exit: Na razcepu zavijte levo na %{name}
+        slight_left_without_exit: Rahlo levo na %{name}
+        via_point_without_exit: (prehodna točka)
+        follow_without_exit: Sledite %{name}
+        roundabout_without_exit: V krožišču uporabite %{name}
+        leave_roundabout_without_exit: Zapustite krožišče - %{name}
+        stay_roundabout_without_exit: Ostanite v krožišču - %{name}
+        start_without_exit: Začnite na koncu %{name}
+        destination_without_exit: Pojdite do cilja
+        against_oneway_without_exit: Pojdite po enosmerni cesti na %{name}
+        end_oneway_without_exit: Konec enosmerne ceste na %{name}
+        roundabout_with_exit: V krožišču uporabite %{exit}. izhod, da zapeljete na
+          %{name}
+        turn_left_with_exit: V krožišču zavijte levo na %{name}
+        slight_left_with_exit: V krožišču rahlo levo na %{name}
+        turn_right_with_exit: V krožišču zavijete desno na %{name}
+        slight_right_with_exit: V krožišču rahlo desno na %{name}
+        continue_with_exit: V krožišču nadaljujte naravnost na %{name}
         unnamed: neimenovano
-        courtesy: Navodila je ponudil %{link}
+        courtesy: Navodila prispeva %{link}
       time: Čas
     query:
       node: Vozlišče
       way: Pot
       relation: Zveza
       nothing_found: Značilnosti ni bilo mogoče najti
+      error: 'Napaka pri povezovanju s strežnikom %{server}: %{error}'
+      timeout: Časovna omejitev povezovanja s strežnikom %{server}
+    context:
+      directions_from: Navodila za pot od tu
+      directions_to: Navodila za pot do tu
+      add_note: Tu dodaj opombo
+      show_address: Prikaži naslov
+      query_features: Poišči značilnosti
+      centre_map: Premakni na sredino
   redaction:
     edit:
       description: Opis
@@ -2192,8 +2276,8 @@ sl:
     update:
       flash: Spremembe shranjene.
     destroy:
-      not_empty: Redakcija ni prazna. Prosim od-revidirajte vse različice, ki pripadajo
-        tej redakciji preden jo uničite.
+      not_empty: Redakcija ni prazna. Prosim odrevidirajte vse različice, ki pripadajo
+        tej redakciji, preden jo uničite.
       flash: Redakcija uničena.
-      error: Prišlo je do napake, ob uničevanju te redakcije.
+      error: Prišlo je do napake ob uničevanju te redakcije.
 ...
index bacc1702c5193f8b2d18b7e2137ad9632ce8108f..d1f70234a12bed9929e5bc739c5d3b908a9dfad4 100644 (file)
@@ -1320,9 +1320,9 @@ sq:
         openid:
           title: Identifikohu me OpenID
         github:
-          title: Login me GitHub
+          title: Identifikohuni me GitHub
         wikipedia:
-          alt: Login me një Llogari në Wikipedia
+          alt: Identifikohuni me një llogari të Wikipedia-s
     logout:
       title: Çidentifikohu
       heading: Çidentifikohu nga OpenStreetMap
@@ -1355,7 +1355,7 @@ sq:
         për të organizuar krijimin e një llogarie - ne do të përpiqemi dhe të merremi
         me kërkesën sa më shpejt që të jetë e mundur.
       about:
-        header: E lirë dhe e editueshme
+        header: E lirë dhe e redaktueshme
       license_agreement: Kur ju konfirmoni llograinë tuaj, duhet të pajtoheni me <a
         href="http://www.osmfoundation.org/wiki/License/Contributor_Terms"> kushtet
         e përdoruesit</a>.
index 4cb1c3b3dba55ba3cefa3296e6533a5af3dcd2cd..a6e777cbef01003b94c200f0eb1aaa58203649f8 100644 (file)
@@ -987,7 +987,6 @@ sv:
     partners_ic: Imperial College London
     partners_bytemark: Bytemark Hosting
     partners_partners: partners
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: OpenStreetMap-databasen är inte tillgänglig just nu, då nödvändigt
       databasunderhåll pågår.
     osm_read_only: OpenStreetMap-databasen är skrivskyddad just nu, då nödvändigt
@@ -2249,6 +2248,8 @@ sv:
     helper:
       time_future: Slutar om %{time}.
       until_login: Aktiv till dess användaren loggar in.
+      time_future_and_until_login: Slutar %{time} och efter att användaren har loggat
+        in.
       time_past: Avslutades för %{time} sedan.
     blocks_on:
       title: Blockeringar på %{name}
@@ -2448,6 +2449,11 @@ sv:
       nothing_found: Inga sökresultat hittades
       error: 'Problem med att kontakta %{server}: %{error}'
       timeout: Timeout vid kontakt med %{server}
+    context:
+      directions_from: Vägbeskrivning härifrån
+      directions_to: Vägbeskrivning hit
+      show_address: Visa adress
+      centre_map: Centrera kartan här
   redaction:
     edit:
       description: Beskrivning
index 441f4de0caf505666e437790048157571d08c076..bfad7e40878f41c49a72409102ce7187104b2d2b 100644 (file)
@@ -897,6 +897,11 @@ te:
       time: సమయం
     query:
       relation: సంబంధం
+    context:
+      directions_from: ఇక్కడి నుండి దిశలు
+      directions_to: ఇక్కడికి దిశలు
+      show_address: చిరునామా చూపించు
+      centre_map: ఈచోటును పటానికి కేంద్రం చేయి
   redaction:
     edit:
       description: వివరణ
index eb6915e4b9e42260be72ea0c254efa872fa7815e..d3ac510ddfce02c78e416013ecca43c1a22f2152 100644 (file)
@@ -778,7 +778,6 @@ tl:
     partners_ic: Dalubhasaang Pang-imperyo Londres
     partners_bytemark: Pagpapasinaya ng Bytemark
     partners_partners: mga kawaksi
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners
     osm_offline: Ang kalipunan ng dato ng OpenStreetMap ay pangkasalukuyang nakapatay
       habang isinasagawa ang mahalagang gawain ng pagpapanatili ng kalipunan ng dato.
     osm_read_only: Ang kalipunan ng dato ng OpenStreetMap ay pangkasalukuyang nasa
index 9b50f41bebd4b764fcf799b2fbc415779412a638..63d2b3a2b485f38f5eaf912476f762a06e5b9469 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: phpyaml
 # Author: Alerque
 # Author: Alpkant
+# Author: Archaeodontosaurus
 # Author: Captantrips
 # Author: Emperyan
 # Author: Erdemaslancan
@@ -1004,6 +1005,7 @@ tr:
         alt: Web sayfasıında OpenStreetMap atıf etmek için bir örnek
         title: Atıf örneği
       contributors_title_html: Katkıcılarımız
+      infringement_title_html: Telif hakkı ihlali
   welcome_page:
     title: Hoş geldiniz!
     introduction_html: Dünyanın düzenlenebilir ve ücretsiz haritası OpenStreetMap'e
@@ -1071,6 +1073,8 @@ tr:
       title: Forumlar
     irc:
       title: IRC
+    switch2osm:
+      title: switch2osm
     wiki:
       url: http://wiki.openstreetmap.org/
       title: wiki.openstreetmap.org
@@ -1139,6 +1143,7 @@ tr:
         subject_own: '[OpenStreetMap] notlarından birisini %{commenter} tarafından
           yorumlandı'
     changeset_comment_notification:
+      hi: Merhaba %{to_user},
       greeting: Merhaba,
       commented:
         partial_changeset_without_comment: yorumsuz
@@ -1282,6 +1287,7 @@ tr:
           private: Özel giriş
           destination: Hedef noktası
           construction: yapım aşamasında yolu
+          toilets: Tuvaletler
     richtext_area:
       edit: Düzenle
       preview: Ön izle
@@ -1801,6 +1807,13 @@ tr:
         comment: Yorum
     edit_help: Haritayı sürükleyip ve düzenleme yapmak istediğiniz konuma yakınlaştırdıktan
       sonra buraya tıklayın.
+    context:
+      directions_from: Buradan yönlendir
+      directions_to: Buraya yönlendir
+      add_note: Burada bir not ekle
+      show_address: Adresi göster
+      query_features: Özellikleri göster
+      centre_map: Haritayı buraya ortala
   redaction:
     edit:
       description: Açıklama
index 1bb10997a35d5abc385c49434dc793461be74c95..772a0cfe3219a21289aada5ac10ea11aefd81816 100644 (file)
@@ -1337,6 +1337,7 @@ uk:
           біля %{place}.'
       details: Докладніше про нотатку %{url}.
     changeset_comment_notification:
+      hi: Привіт %{to_user},
       greeting: Привіт,
       commented:
         subject_own: '[OpenStreetMap] %{commenter} прокоментував один з ваших наборів
@@ -1352,6 +1353,8 @@ uk:
       details: |2-
 
         Більше деталей про зміни, які можуть бути знайдені в %{url}.
+      unsubscribe: Щоб відписатися від оновлень за цим набором змін, перейдіть за
+        посиланням %{url} й натисніть кнопку „Відписатись“.
   message:
     inbox:
       title: Вхідні
@@ -1684,6 +1687,8 @@ uk:
     require_moderator:
       not_a_moderator: Ви повинні бути модератором для виконання цієї дії.
     setup_user_auth:
+      blocked_zero_hour: У вас є нагальне повідомлення на веб-сайті OpenStreetMap.
+        Вам потрібно прочитати повідомлення, перш ніж ви зможете зберегти ваші зміни.
       blocked: Ваш доступ до API заблоковано. Будь ласка, увійдіть через веб-інтерфейс,
         щоб дізнатися подробиці.
       need_to_see_terms: Ваш доступ до API тимчасово призупинено. Будь ласка, увійдіть
@@ -2235,6 +2240,8 @@ uk:
     helper:
       time_future: До закінчення %{time}.
       until_login: Активне до тих пір, доки користувач не увійде в систему.
+      time_future_and_until_login: Закінчується через %{time} і після входу користувача
+        в систему.
       time_past: Закінчилось %{time} тому.
     blocks_on:
       title: Блокування для %{name}
@@ -2440,6 +2447,13 @@ uk:
       nothing_found: Об’єкти не знайдені
       error: 'Помилка зв’язку %{server}: %{error}'
       timeout: Сервер не відповідає %{server}
+    context:
+      directions_from: Маршрут звідси
+      directions_to: Маршрут сюди
+      add_note: Додати тут нотатку
+      show_address: Показати адресу
+      query_features: Отримати об’єкти
+      centre_map: Центрувати мапу тут
   redaction:
     edit:
       description: Опис
index b9281dc07664d53f347bf889aa20229d9f145b13..71d197d67ed72d8310dc15433bc7103c9f3c1ccb 100644 (file)
@@ -952,7 +952,6 @@ vi:
     partners_ic: Đại học Hoàng gia Luân Đôn
     partners_bytemark: Bytemark Hosting
     partners_partners: các công ty bảo trợ
-    partners_url: http://wiki.openstreetmap.org/wiki/Partners?uselang=vi
     osm_offline: Cơ sở dữ liệu OpenStreetMap đang ngoại tuyến trong lúc đang thực
       hiện những công việc bảo quản cơ sở dữ liệu cần thiết.
     osm_read_only: Cơ sở dữ liệu OpenStreetMap đang bị khóa không được sửa đổi trong
@@ -1643,6 +1642,8 @@ vi:
     require_moderator:
       not_a_moderator: Chỉ có các điều hành viên được phép thực hiện tác vụ đó.
     setup_user_auth:
+      blocked_zero_hour: Bạn có tin nhắn mới rất quan trọng tại trang Web OpenStreetMap.
+        Bạn phải đọc tin nhắn này trước khi được phép lưu thêm thay đổi.
       blocked: Bạn bị chặn không được truy cập qua API. Vui lòng đăng nhập vào giao
         diện Web để biết chi tiết.
       need_to_see_terms: Bạn tạm không có quyền truy cập API. Xin vui lòng đăng nhập
@@ -2184,6 +2185,7 @@ vi:
     helper:
       time_future: Hết hạn %{time}.
       until_login: Có hiệu lực cho đến khi người dùng đăng nhập.
+      time_future_and_until_login: Kết thúc %{time} nữa sau khi người dùng đăng nhập.
       time_past: Đã hết hạn cách đây %{time}.
     blocks_on:
       title: Các tác vụ cấm %{name}
@@ -2383,6 +2385,13 @@ vi:
       nothing_found: Không tìm thấy yếu tố nào
       error: 'Lỗi khi kết nối với %{server}: %{error}'
       timeout: Hết thời gian kết nối với %{server}
+    context:
+      directions_from: Chỉ đường từ đây
+      directions_to: Chỉ đường tới đây
+      add_note: Thêm ghi chú tại đây
+      show_address: Xem địa chỉ
+      query_features: Thăm dò yếu tố
+      centre_map: Tập trung bản đồ tại đây
   redaction:
     edit:
       description: Miêu tả
index 3378c085b612e72251068e609816fbba360e9dd2..1045649787d4a8a1a30fd990d85bc4d1fe77f175 100644 (file)
@@ -960,12 +960,11 @@ zh-CN:
     intro_header: 欢迎访问 OpenStreetMap!
     intro_text: OpenStreetMap 是一个世界地图,由像您一样的人们所构筑,可依据开放许可协议自