Merge pull request #1938 from jguthrie100/fix_no_trace_description_error
authorAndy Allan <github@gravitystorm.co.uk>
Wed, 29 Aug 2018 06:49:26 +0000 (14:49 +0800)
committerGitHub <noreply@github.com>
Wed, 29 Aug 2018 06:49:26 +0000 (14:49 +0800)
Fixes "new trace" validation error

159 files changed:
.gitignore
.rubocop_todo.yml
.travis.yml
Gemfile
Gemfile.lock
app/assets/javascripts/application.js
app/assets/javascripts/embed.js.erb
app/assets/javascripts/index/directions/osrm.js
app/assets/stylesheets/errors.scss [new file with mode: 0644]
app/controllers/errors_controller.rb [new file with mode: 0644]
app/controllers/geocoder_controller.rb
app/controllers/issue_comments_controller.rb
app/controllers/site_controller.rb
app/models/changeset.rb
app/views/errors/forbidden.html.erb [new file with mode: 0644]
app/views/errors/internal_server_error.html.erb [new file with mode: 0644]
app/views/errors/not_found.html.erb [new file with mode: 0644]
app/views/layouts/_head.html.erb
app/views/layouts/error.html.erb [new file with mode: 0644]
config/environments/development.rb
config/i18n-js.yml
config/initializers/assets.rb
config/initializers/errors.rb [new file with mode: 0644]
config/jshint.yml
config/locales/ar.yml
config/locales/ast.yml
config/locales/be-Tarask.yml
config/locales/bn.yml
config/locales/cs.yml
config/locales/da.yml
config/locales/eo.yml
config/locales/es.yml
config/locales/et.yml
config/locales/eu.yml
config/locales/fa.yml
config/locales/fi.yml
config/locales/fr.yml
config/locales/gl.yml
config/locales/he.yml
config/locales/is.yml
config/locales/it.yml
config/locales/ja.yml
config/locales/kab.yml
config/locales/ko.yml
config/locales/ku-Latn.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/mo.yml [new file with mode: 0644]
config/locales/nb.yml
config/locales/pl.yml
config/locales/pt-BR.yml
config/locales/pt-PT.yml
config/locales/ro.yml
config/locales/sl.yml
config/locales/sr.yml
config/locales/th.yml
config/locales/tr.yml
config/locales/vi.yml
config/routes.rb
public/403.html [deleted file]
public/404.html [deleted file]
public/500.html [deleted file]
test/controllers/errors_controller_test.rb [new file with mode: 0644]
test/controllers/geocoder_controller_test.rb
test/factories/changeset_comments.rb
test/factories/changesets.rb
test/factories/issues.rb
test/factories/languages.rb
test/factories/messages.rb
test/factories/node.rb
test/factories/note_comments.rb
test/factories/notes.rb
test/factories/old_node.rb
test/factories/old_relation.rb
test/factories/old_relation_member.rb
test/factories/old_way.rb
test/factories/old_way_node.rb
test/factories/relation.rb
test/factories/relation_member.rb
test/factories/reports.rb
test/factories/tracepoints.rb
test/factories/traces.rb
test/factories/user.rb
test/factories/user_blocks.rb
test/factories/way.rb
test/factories/way_node.rb
vendor/assets/iD/iD.css.erb
vendor/assets/iD/iD.js
vendor/assets/iD/iD/img/iD-sprite.svg
vendor/assets/iD/iD/img/mapillary-sprite.svg
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.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/ckb.json
vendor/assets/iD/iD/locales/cs.json
vendor/assets/iD/iD/locales/cy.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-AU.json [new file with mode: 0644]
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/eu.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/gu.json
vendor/assets/iD/iD/locales/he.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/ku.json
vendor/assets/iD/iD/locales/lt.json
vendor/assets/iD/iD/locales/lv.json
vendor/assets/iD/iD/locales/mg.json
vendor/assets/iD/iD/locales/mk.json
vendor/assets/iD/iD/locales/ml.json
vendor/assets/iD/iD/locales/ms.json
vendor/assets/iD/iD/locales/nl.json
vendor/assets/iD/iD/locales/nn.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/sq.json
vendor/assets/iD/iD/locales/sr.json
vendor/assets/iD/iD/locales/sv.json
vendor/assets/iD/iD/locales/ta.json
vendor/assets/iD/iD/locales/te.json
vendor/assets/iD/iD/locales/th.json
vendor/assets/iD/iD/locales/tl.json
vendor/assets/iD/iD/locales/tr.json
vendor/assets/iD/iD/locales/uk.json
vendor/assets/iD/iD/locales/vi.json
vendor/assets/iD/iD/locales/yue.json
vendor/assets/iD/iD/locales/zh-CN.json
vendor/assets/iD/iD/locales/zh-HK.json
vendor/assets/iD/iD/locales/zh-TW.json
vendor/assets/iD/iD/locales/zh.json

index 920ca1120ba51aa6171900e39560d36c48d1343f..1a2d35c6a28cc056de2646690384138a52a03caf 100644 (file)
@@ -1,5 +1,6 @@
 log
 config/piwik.yml
+app/assets/javascripts/i18n
 public/assets
 public/attachments
 public/export
index a64be72735cff92ec5b445ba875bdd05f5660461..f012237b31aba8b6fff09b291fa9f98ce279c6b4 100644 (file)
@@ -54,7 +54,7 @@ Metrics/AbcSize:
 # Offense count: 41
 # Configuration parameters: CountComments, ExcludedMethods.
 Metrics/BlockLength:
-  Max: 258
+  Max: 261
 
 # Offense count: 11
 # Configuration parameters: CountBlocks.
index 48ddb4a1d09d4e3f1ca0b508c123ee39b0a96b31..8ce7f5f305b317e36df70fe404bd68a2a87e110a 100644 (file)
@@ -24,6 +24,7 @@ before_script:
   - psql -U postgres -c "CREATE FUNCTION xid_to_int4(xid) RETURNS int4 AS '/tmp/libpgosm', 'xid_to_int4' LANGUAGE C STRICT" openstreetmap
   - cp config/travis.database.yml config/database.yml
   - bundle exec rake db:migrate
+  - bundle exec rake i18n:js:export
 script:
   - bundle exec rubocop -f fuubar
   - bundle exec rake jshint
diff --git a/Gemfile b/Gemfile
index 9d759548cf048854e0638d0280e37e9fa598ffd0..9ba2703134d5d9b9bf8e5c47904c188396a762e7 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -16,7 +16,7 @@ gem "json"
 gem "pg", "~> 0.18"
 
 # Use SCSS for stylesheets
-gem "sass-rails", "~> 5.0"
+gem "sassc-rails"
 
 # Use Uglifier as compressor for JavaScript assets
 gem "uglifier", ">= 1.3.0"
@@ -38,7 +38,7 @@ gem "bootsnap", ">= 1.1.0", :require => false
 gem "r2", "~> 0.2.7"
 
 # Use autoprefixer to generate CSS prefixes
-gem "autoprefixer-rails"
+gem "autoprefixer-rails", "~> 8.6.3"
 
 # Use image_optim to optimise images
 gem "image_optim_rails"
index 2fd53888211747c2d0957a1ff115288b8b9aa96d..2f6eb84067d8abf20aa65123879e889b176d5c94 100644 (file)
@@ -2,7 +2,7 @@ GEM
   remote: https://rubygems.org/
   specs:
     SystemTimer (1.2.3)
-    aasm (4.12.3)
+    aasm (5.0.0)
       concurrent-ruby (~> 1.0)
     actioncable (5.2.0)
       actionpack (= 5.2.0)
@@ -54,19 +54,19 @@ GEM
       rake (>= 10.4, < 13.0)
     arel (9.0.0)
     ast (2.4.0)
-    autoprefixer-rails (8.6.3)
+    autoprefixer-rails (8.6.5)
       execjs
-    better_errors (2.4.0)
+    better_errors (2.5.0)
       coderay (>= 1.0.0)
       erubi (>= 1.0.0)
       rack (>= 0.9.0)
     bigdecimal (1.1.0)
     binding_of_caller (0.8.0)
       debug_inspector (>= 0.0.1)
-    bootsnap (1.3.0)
+    bootsnap (1.3.1)
       msgpack (~> 1.0)
     builder (3.2.3)
-    canonical-rails (0.2.3)
+    canonical-rails (0.2.4)
       rails (>= 4.1, < 5.3)
     capybara (2.18.0)
       addressable
@@ -88,9 +88,9 @@ GEM
     composite_primary_keys (11.0.3)
       activerecord (~> 5.2.0)
     concurrent-ruby (1.0.5)
-    coveralls (0.8.21)
+    coveralls (0.8.22)
       json (>= 1.8, < 3)
-      simplecov (~> 0.14.1)
+      simplecov (~> 0.16.1)
       term-ansicolor (~> 1.3)
       thor (~> 0.19.4)
       tins (~> 1.6)
@@ -99,15 +99,15 @@ GEM
     crass (1.0.4)
     dalli (2.7.8)
     debug_inspector (0.0.3)
-    docile (1.1.5)
+    docile (1.3.1)
     dynamic_form (1.1.4)
     erubi (1.7.1)
     execjs (2.7.0)
     exifr (1.3.4)
-    factory_bot (4.10.0)
+    factory_bot (4.11.0)
       activesupport (>= 3.0.0)
-    factory_bot_rails (4.10.0)
-      factory_bot (~> 4.10.0)
+    factory_bot_rails (4.11.0)
+      factory_bot (~> 4.11.0)
       railties (>= 3.0.0)
     faraday (0.12.2)
       multipart-post (>= 1.2, < 3)
@@ -122,19 +122,19 @@ GEM
     http_accept_language (2.0.5)
     i18n (0.9.5)
       concurrent-ruby (~> 1.0)
-    i18n-js (3.0.9)
+    i18n-js (3.0.11)
       i18n (>= 0.6.6, < 2)
-    image_optim (0.26.1)
+    image_optim (0.26.2)
       exifr (~> 1.2, >= 1.2.2)
       fspath (~> 3.0)
-      image_size (~> 1.5)
+      image_size (>= 1.5, < 3)
       in_threads (~> 1.3)
       progress (~> 3.0, >= 3.0.1)
     image_optim_rails (0.4.1)
       image_optim (~> 0.24)
       rails
       sprockets
-    image_size (1.5.0)
+    image_size (2.0.0)
     in_threads (1.5.0)
     jaro_winkler (1.5.1)
     jquery-rails (4.3.3)
@@ -172,11 +172,11 @@ GEM
     marcel (0.3.2)
       mimemagic (~> 0.3.2)
     method_source (0.9.0)
-    mime-types (3.1)
+    mime-types (3.2.2)
       mime-types-data (~> 3.2015)
-    mime-types-data (3.2016.0521)
+    mime-types-data (3.2018.0812)
     mimemagic (0.3.2)
-    mini_mime (1.0.0)
+    mini_mime (1.0.1)
     mini_portile2 (2.3.0)
     minitest (5.11.3)
     msgpack (1.2.4)
@@ -184,7 +184,7 @@ GEM
     multi_xml (0.6.0)
     multipart-post (2.0.0)
     nio4r (2.3.1)
-    nokogiri (1.8.3)
+    nokogiri (1.8.4)
       mini_portile2 (~> 2.3.0)
     nokogumbo (1.5.0)
       nokogiri
@@ -235,7 +235,7 @@ GEM
       mimemagic (~> 0.3.0)
       terrapin (~> 0.6.0)
     parallel (1.12.1)
-    parser (2.5.1.0)
+    parser (2.5.1.2)
       ast (~> 2.4.0)
     pg (0.21.0)
     poltergeist (1.18.1)
@@ -245,8 +245,8 @@ GEM
     powerpack (0.1.2)
     progress (3.4.0)
     psych (3.0.2)
-    public_suffix (3.0.2)
-    puma (3.11.4)
+    public_suffix (3.0.3)
+    puma (3.12.0)
     quad_tile (1.0.1)
     r2 (0.2.7)
     rack (2.0.5)
@@ -254,7 +254,7 @@ GEM
     rack-openid (1.3.1)
       rack (>= 1.1.0)
       ruby-openid (>= 2.1.8)
-    rack-test (1.0.0)
+    rack-test (1.1.0)
       rack (>= 1.0, < 3)
     rack-uri_sanitizer (0.0.2)
     rails (5.2.0)
@@ -301,36 +301,40 @@ GEM
       rack (>= 1.4)
     rinku (2.0.4)
     rotp (3.3.1)
-    rubocop (0.57.2)
+    rubocop (0.58.2)
       jaro_winkler (~> 1.5.1)
       parallel (~> 1.10)
-      parser (>= 2.5)
+      parser (>= 2.5, != 2.5.1.1)
       powerpack (~> 0.1)
       rainbow (>= 2.2.2, < 4.0)
       ruby-progressbar (~> 1.7)
       unicode-display_width (~> 1.0, >= 1.0.1)
     ruby-openid (2.7.0)
-    ruby-progressbar (1.9.0)
+    ruby-progressbar (1.10.0)
     ruby_dep (1.5.0)
     safe_yaml (1.0.4)
-    sanitize (4.6.5)
+    sanitize (4.6.6)
       crass (~> 1.0.2)
       nokogiri (>= 1.4.4)
       nokogumbo (~> 1.4)
-    sass (3.5.6)
+    sass (3.5.7)
       sass-listen (~> 4.0.0)
     sass-listen (4.0.0)
       rb-fsevent (~> 0.9, >= 0.9.4)
       rb-inotify (~> 0.9, >= 0.9.7)
-    sass-rails (5.0.7)
-      railties (>= 4.0.0, < 6)
-      sass (~> 3.1)
-      sprockets (>= 2.8, < 4.0)
-      sprockets-rails (>= 2.0, < 4.0)
-      tilt (>= 1.1, < 3)
+    sassc (1.12.1)
+      ffi (~> 1.9.6)
+      sass (>= 3.3.0)
+    sassc-rails (1.3.0)
+      railties (>= 4.0.0)
+      sass
+      sassc (~> 1.9)
+      sprockets (> 2.11)
+      sprockets-rails
+      tilt
     secure_headers (6.0.0)
-    simplecov (0.14.1)
-      docile (~> 1.1.0)
+    simplecov (0.16.1)
+      docile (~> 1.1)
       json (>= 1.8, < 3)
       simplecov-html (~> 0.10.0)
     simplecov-html (0.10.2)
@@ -354,7 +358,7 @@ GEM
     tins (1.16.3)
     tzinfo (1.2.5)
       thread_safe (~> 0.1)
-    uglifier (4.1.12)
+    uglifier (4.1.18)
       execjs (>= 0.3.0, < 3)
     unicode-display_width (1.4.0)
     validates_email_format_of (1.6.3)
@@ -378,7 +382,7 @@ DEPENDENCIES
   aasm
   actionpack-page_caching
   annotate
-  autoprefixer-rails
+  autoprefixer-rails (~> 8.6.3)
   better_errors
   bigdecimal (~> 1.1.0)
   binding_of_caller
@@ -433,7 +437,7 @@ DEPENDENCIES
   rotp
   rubocop
   sanitize
-  sass-rails (~> 5.0)
+  sassc-rails
   secure_headers
   uglifier (>= 1.3.0)
   validates_email_format_of (>= 1.5.1)
index 4461c5ab71cc950e43a0c5ae5ac82003e0874840..654b01680847f0668d38db7cec1c639cfb493f65 100644 (file)
@@ -12,7 +12,7 @@
 //= require leaflet.map
 //= require leaflet.zoom
 //= require leaflet.locationfilter
-//= require i18n/translations
+//= require i18n
 //= require oauth
 //= require piwik
 //= require richtext
index 15839a2ecbc4af23102a608c0804a4b988d92916..36b23666a92f8ebe61481ba8d508d014a76b60bf 100644 (file)
@@ -1,6 +1,7 @@
 //= require leaflet
 //= require leaflet.osm
-//= require i18n/translations
+//= require i18n
+//= require i18n/embed
 
 window.onload = function () {
   if (navigator.languages) {
index 81c62e1831252b31c3dff3b2457ef1bead75020b..2f9498d039d43cc15ab4a4514cb208655251e2b4 100644 (file)
@@ -119,9 +119,9 @@ function OSRMEngine() {
           namedRoad = false;
         }
 
-        if (step.maneuver.type.match(/exit (rotary|roundabout)/)) {
+        if (step.maneuver.type.match(/^exit (rotary|roundabout)$/)) {
           instText += I18n.t(template, { name: name });
-        } else if (step.maneuver.type.match(/rotary|roundabout/)) {
+        } else if (step.maneuver.type.match(/^(rotary|roundabout)$/)) {
           if (step.maneuver.exit) {
             if (step.maneuver.exit <= 10) {
               instText += I18n.t(template + '_with_exit_ordinal', { exit: I18n.t('javascripts.directions.instructions.exit_counts.' + numToWord(step.maneuver.exit)), name: name });
@@ -131,9 +131,9 @@ function OSRMEngine() {
           } else {
             instText += I18n.t(template + '_without_exit', { name: name });
           }
-        } else if (step.maneuver.type.match(/on ramp|off ramp/)) {
+        } else if (step.maneuver.type.match(/^(on ramp|off ramp)$/)) {
           var params = {};
-          if (step.exits && step.maneuver.type.match(/off ramp/)) params.exit = step.exits;
+          if (step.exits && step.maneuver.type.match(/^off ramp$/)) params.exit = step.exits;
           if (step.destinations) params.directions = destinations;
           if (namedRoad) params.directions = name;
           if (Object.keys(params).length > 0) {
diff --git a/app/assets/stylesheets/errors.scss b/app/assets/stylesheets/errors.scss
new file mode 100644 (file)
index 0000000..fd14002
--- /dev/null
@@ -0,0 +1,8 @@
+.logo {
+  float: left;
+  margin: 10px;
+}
+
+.details {
+  float: left;
+}
diff --git a/app/controllers/errors_controller.rb b/app/controllers/errors_controller.rb
new file mode 100644 (file)
index 0000000..465194e
--- /dev/null
@@ -0,0 +1,15 @@
+class ErrorsController < ApplicationController
+  layout "error"
+
+  def forbidden
+    render :status => :forbidden
+  end
+
+  def not_found
+    render :status => :not_found
+  end
+
+  def internal_server_error
+    render :status => :internal_server_error
+  end
+end
index 384f2c24c36a86272c47c6f713426edb971316a4..d92da72b1d71b4159c66748124fd1c8a841bf425 100644 (file)
@@ -39,18 +39,44 @@ class GeocoderController < ApplicationController
   def search_latlon
     lat = params[:lat].to_f
     lon = params[:lon].to_f
-    if lat < -90 || lat > 90
-      @error = "Latitude #{lat} out of range"
-      render :action => "error"
-    elsif lon < -180 || lon > 180
-      @error = "Longitude #{lon} out of range"
-      render :action => "error"
+
+    if params[:latlon_digits]
+      # We've got two nondescript numbers for a query, which can mean both "lat, lon" or "lon, lat".
+      @results = []
+
+      if lat >= -90 && lat <= 90 && lon >= -180 && lon <= 180
+        @results.push(:lat => lat, :lon => lon,
+                      :zoom => params[:zoom],
+                      :name => "#{lat}, #{lon}")
+      end
+
+      if lon >= -90 && lon <= 90 && lat >= -180 && lat <= 180
+        @results.push(:lat => lon, :lon => lat,
+                      :zoom => params[:zoom],
+                      :name => "#{lon}, #{lat}")
+      end
+
+      if @results.empty?
+        @error = "Latitude or longitude are out of range"
+        render :action => "error"
+      else
+        render :action => "results"
+      end
     else
-      @results = [{ :lat => lat, :lon => lon,
-                    :zoom => params[:zoom],
-                    :name => "#{lat}, #{lon}" }]
+      # Coordinates in a query have come with markers for latitude and longitude.
+      if lat < -90 || lat > 90
+        @error = "Latitude #{lat} out of range"
+        render :action => "error"
+      elsif lon < -180 || lon > 180
+        @error = "Longitude #{lon} out of range"
+        render :action => "error"
+      else
+        @results = [{ :lat => lat, :lon => lon,
+                      :zoom => params[:zoom],
+                      :name => "#{lat}, #{lon}" }]
 
-      render :action => "results"
+        render :action => "results"
+      end
     end
   end
 
@@ -279,11 +305,11 @@ class GeocoderController < ApplicationController
         params.merge!(dms_to_decdeg(latlon)).delete(:query)
 
       elsif latlon = query.match(/^\s*([+-]?\d+(\.\d*)?)\s*[\s,]\s*([+-]?\d+(\.\d*)?)\s*$/)
-        params.merge!(:lat => latlon[1].to_f, :lon => latlon[3].to_f).delete(:query)
+        params.merge!(:lat => latlon[1].to_f, :lon => latlon[3].to_f, :latlon_digits => true).delete(:query)
       end
     end
 
-    params.permit(:query, :lat, :lon, :zoom, :minlat, :minlon, :maxlat, :maxlon)
+    params.permit(:query, :lat, :lon, :latlon_digits, :zoom, :minlat, :minlon, :maxlat, :maxlon)
   end
 
   def nsew_to_decdeg(captures)
index 52904d5b2b869550d6c0cc2c254c033b8277c573..8d1acec759699d511058061152f5fcd966dad15c 100644 (file)
@@ -2,6 +2,7 @@ class IssueCommentsController < ApplicationController
   layout "site"
 
   before_action :authorize_web
+  before_action :set_locale
   before_action :require_user
   before_action :check_permission
 
index 6cbe302d61d2b928b70e5305c8f6a3b9a246efa0..efb77e2f52aad92574600d3d87082e3e1376bbe1 100644 (file)
@@ -120,7 +120,7 @@ class SiteController < ApplicationController
     append_content_security_policy_directives(
       :connect_src => %w[*],
       :img_src => %w[* blob:],
-      :script_src => %w[dev.virtualearth.net *.wikipedia.org www.wikidata.org services.arcgisonline.com serviceslab.arcgisonline.com 'unsafe-eval'],
+      :script_src => %w[dev.virtualearth.net 'unsafe-eval'],
       :style_src => %w['unsafe-inline']
     )
 
index 502637c2a69b8926fc84a4dac6b2403f152574d4..1aa1e1fd300d36eedf230b0304e18ab662fbe50e 100644 (file)
@@ -232,6 +232,7 @@ class Changeset < ActiveRecord::Base
     bbox.to_unscaled.add_bounds_to(el1, "_") if bbox.complete?
 
     el1["comments_count"] = comments.length.to_s
+    el1["changes_count"] = num_changes.to_s
 
     if include_discussion
       el2 = XML::Node.new("discussion")
diff --git a/app/views/errors/forbidden.html.erb b/app/views/errors/forbidden.html.erb
new file mode 100644 (file)
index 0000000..4c3fb30
--- /dev/null
@@ -0,0 +1,3 @@
+<h1>Forbidden</h1>  
+<p>The operation you requested on the OpenStreetMap server is only available to administrators (HTTP 403)</p>
+<p>Feel free to <a href="http://wiki.openstreetmap.org/wiki/Contact" title="Various contact channels explained">contact</a> the OpenStreetMap community if you have found a broken link / bug. Make a note of the exact URL of your request.</p>
diff --git a/app/views/errors/internal_server_error.html.erb b/app/views/errors/internal_server_error.html.erb
new file mode 100644 (file)
index 0000000..a2b1ba6
--- /dev/null
@@ -0,0 +1,4 @@
+<h1>Application error</h1>
+<p>The OpenStreetMap server encountered an unexpected condition that prevented it from fulfilling the request (HTTP 500)</p>
+<p>Feel free to <a href="http://wiki.openstreetmap.org/wiki/Contact" title="Various contact channels explained">contact</a> the OpenStreetMap community if your problem persists. Make a note of the exact URL / post data of your request.</p>
+<p>This may be a problem in our Ruby On Rails code. 500 occurs with exceptions thrown outside of an action (like in Dispatcher setups or broken Ruby code)</p>
diff --git a/app/views/errors/not_found.html.erb b/app/views/errors/not_found.html.erb
new file mode 100644 (file)
index 0000000..6ef39d0
--- /dev/null
@@ -0,0 +1,3 @@
+<h1>File not found</h1>  
+<p>Couldn't find a file/directory/API operation by that name on the OpenStreetMap server (HTTP 404)</p>
+<p>Feel free to <a href="http://wiki.openstreetmap.org/wiki/Contact" title="Various contact channels explained">contact</a> the OpenStreetMap community if you have found a broken link / bug. Make a note of the exact URL of your request.</p>
index 1d294dc82222c25b75194e97c406d97c0295d49c..56c3051b2884daaf7415a75c37afd68caba8aa3c 100644 (file)
@@ -3,6 +3,7 @@
   <meta name="viewport" content="width=device-width, minimum-scale=1.0, maximum-scale=1.0"/>
   <!--[if lt IE 9]><%= javascript_include_tag "html5shiv" %><![endif]-->
   <%= javascript_include_tag "application" %>
+  <%= javascript_include_tag "i18n/" + I18n.locale.to_s %>
   <%= stylesheet_link_tag "screen-#{dir}", :media => "screen" %>
   <%= stylesheet_link_tag "print-#{dir}", :media => "print" %>
   <%= stylesheet_link_tag "leaflet-all", :media => "screen, print" %>
diff --git a/app/views/layouts/error.html.erb b/app/views/layouts/error.html.erb
new file mode 100644 (file)
index 0000000..590f320
--- /dev/null
@@ -0,0 +1,14 @@
+<!DOCTYPE html>
+<html xmlns="http://www.w3.org/1999/xhtml">
+  <head>
+    <meta charset="utf-8">
+    <title>OpenStreetMap</title>
+    <%= stylesheet_link_tag "errors", :media=> "screen" %>
+  </head>
+  <body>
+    <%= image_tag "osm_logo.png", :class => "logo" %>
+    <div class="details">
+      <%= yield %>
+    </div>
+  </body>
+</html>
index 9065ed8e35b83518a9291393c5c45329876f731b..b7e60eb4fd9ad352854f96bcee53fa52d3518afc 100644 (file)
@@ -52,6 +52,9 @@ Rails.application.configure do
   # Suppress logger output for asset requests.
   config.assets.quiet = true
 
+  # Export translations automatically
+  config.middleware.use I18n::JS::Middleware
+
   # Raises error for missing translations
   # config.action_view.raise_on_missing_translations = true
 
index 14495453866ffa28892422fa47a0e1976c91f512..fa970345f8992064002b761b6e2cfadf5d7e0912 100644 (file)
@@ -1,27 +1,8 @@
-# Split context in several files.
-# By default only one file with all translations is exported and
-# no configuration is required. Your settings for asset pipeline
-# are automatically recognized.
-#
-# If you want to split translations into several files or specify
-# locale contexts that will be exported, just use this file to do
-# so.
-#
-# If you're going to use the Rails 3.1 asset pipeline, change
-# the following configuration to something like this:
-#
-#   translations:
-#     - file: "app/assets/javascripts/i18n/translations.js"
-#
-# If you're running an old version, you can use something
-# like this:
-#
-#   translations:
-#     - file: "public/javascripts/translations.js"
-#       only: "*"
-#
+export_i18n_js: false
+
 translations:
-  - file: "app/assets/javascripts/i18n/translations.js"
+  - file: "app/assets/javascripts/i18n/%{locale}.js"
+    pretty_print: true
     only:
     - "*.date"
     - "*.time"
@@ -33,3 +14,7 @@ translations:
     - "*.diary_entry.edit.marker_text"
     - "*.layouts.project_name.title"
     - "*.geocoder.search_osm_nominatim.*"
+  - file: "app/assets/javascripts/i18n/embed.js"
+    pretty_print: true
+    only:
+    - "*.javascripts.embed.*"
index cbd93c1d8d38bdab1c94bb96fea848ae58ac4621..7bd35daf6acaa08322599b59b6589ac68461ae4c 100644 (file)
@@ -13,12 +13,13 @@ Rails.application.config.assets.paths << Rails.root.join("config")
 # application.js, application.css, and all non-JS/CSS in the 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 messages.js edit/*.js]
+Rails.application.config.assets.precompile += %w[user.js login.js diary_entry.js messages.js edit/*.js i18n/*.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]
 Rails.application.config.assets.precompile += %w[id.js id.css]
 Rails.application.config.assets.precompile += %w[embed.js embed.css]
+Rails.application.config.assets.precompile += %w[errors.css]
 Rails.application.config.assets.precompile += %w[html5shiv.js]
 Rails.application.config.assets.precompile += %w[images/marker-*.png img/*-handle.png]
 Rails.application.config.assets.precompile += %w[swfobject.js expressInstall.swf]
diff --git a/config/initializers/errors.rb b/config/initializers/errors.rb
new file mode 100644 (file)
index 0000000..226c6b9
--- /dev/null
@@ -0,0 +1 @@
+Rails.application.config.exceptions_app = Rails.application.routes
index 65996983fe5ca8bc47aee57d1a5eef45a78a6588..a7e22486be30795e32fb5d795ebb5a063773e4f7 100644 (file)
@@ -1,6 +1,7 @@
 files:
   - "**/*.js"
 exclude_paths:
+  - "app/assets/javascripts/i18n"
   - "vendor/assets/javascripts"
 options:
   eqeqeq: true
index 88735411bd9dc12d30c9bc870d4ef6d8e86dc291..48778993de4ef8882095b6bcdd6102a5a628d2a5 100644 (file)
@@ -377,9 +377,12 @@ ar:
         aerialway:
           cable_car: عربة قطار هوائي
           chair_lift: كرسي تلفريك
+          drag_lift: اسحبها لليسار
           gondola: تلفريك
+          platter: مصعد تزلج
           pylon: نقطة تعليق
           station: محطة قطار هوائي
+          t-bar: مصعد تزلج
         aeroway:
           aerodrome: المطار
           airstrip: مهبط طائرات
@@ -1308,12 +1311,11 @@ ar:
         <a href='https://blogs.openstreetmap.org/'></a>
         و موقع <a href='https://www.osmfoundation.org/'></a>
       open_data_title: البيانات المفتوحة
-      open_data_html: |-
-        OpenStreetMap هو <i> بيانات مفتوحة </ i>: أنت حر في استخدامها لأي غرض
-        طالما أنك تقوم باعتماد OpenStreetMap والمساهمين فيه. إذا قمت بتغيير أو
-        بناء على البيانات بطرق معينة ، يجوز لك توزيع النتيجة فقط
-        تحت نفس الرخصة. راجع <a href='٪{copyright_path}'> حقوق الطبع والنشر و
-        صفحة الترخيص </a> للحصول على التفاصيل.
+      open_data_html: "خريطة الشارع المفتوحة <i>بيانات مفتوحة</i>: أنت حر في استخدامها
+        لأي غرض\nطالما أنك تقوم بإحالة خريطة الشارع المفتوحة والمساهمين فيها، إذا
+        عدلت أو \nبنيت على البيانات بطرق معينة، فلا يجوز لك توزيع النتيجة إلا \nتحت
+        نفس الترخيص، راجع <a href='%{copyright_path}'>صفحة حقوق\nالطبع والنشر والترخيص</a>
+        للتفاصيل."
       legal_title: قانوني
       legal_html: |-
         هذا الموقع والعديد من الخدمات الأخرى ذات الصلة يتم تشغيلها رسميا من قبل <a href='https://osmfoundation.org/'>OpenStreetMapمؤسسة</a>(OSMF) نيابة عن المجتمع. يخضع استخدام جميع خدمات تشغيل OSMF الينا<a href="https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy">
@@ -1718,10 +1720,9 @@ ar:
           <a href='https://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'> التعديلات التلقائية </a>.
       questions:
         title: هل هناك أسئلة ؟
-        paragraph_1_html: |-
-          يحتوي OpenStreetMap على العديد من الموارد للتعلم حول المشروع ، حيث يطلب ويجيب
-          الأسئلة ، ومناقشة وتوثيق مواضيع رسم الخرائط بشكل تعاوني.
-          <a href='٪{help_url}'> احصل على المساعدة هنا </a>.
+        paragraph_1_html: "تحتوي خريطة الشارع المفتوحة على العديد من الموارد للتعلم
+          حول المشروع، وطرح \nالأسئلة والإجابة عليها، ومناقشة مواضيع التخطيط وتوثيقها
+          بشكل تعاوني،\n<a href='%{help_url}'>احصل على المساعدة هنا</a>."
       start_mapping: ابدأ التخطيط
       add_a_note:
         title: لا وقت للتعديل؟ أضف ملاحظة!
@@ -2024,15 +2025,14 @@ ar:
       title: أنشئ حسابا
       no_auto_account_create: للأسف نحن غير قادرين في الوقت الحالي على إنشاء حساب
         لك تلقائيًا.
-      contact_webmaster: يرجى الاتصال <a href="mailto:webmaster@openstreetmap.org">بمسؤول
-        الموقع</a> لترتيب الحساب المراد إنشاؤه - وسنحاول التعامل مع هذا الطلب بأسرع
-        وقت ممكن.
+      contact_webmaster: يُرجَى الاتصال <a href="%{webmaster}">بمدير الموقع</a> لترتيب
+        إنشاء حساب، سنحاول التعامل مع الطلب بأسرع وقت ممكن.
       about:
         header: حًرَّة وقابلة للتحرير
         html: |-
           <p>على عكس الخرائط الأخرى تماما، يتم إنشاء خريطة الشارع المفتوحة من قبل الناس مثلك، وهي حرة ويمكن لأي أحد الإصلاح والتحديث والتنزيل والاستخدام.</p>
            <P> أنشىء حسابا لبدء المساهمة.سنقوم بإرسال بريد إلكتروني لتأكيد حسابك.</p>
-      license_agreement: عند تأكيد حسابك ستحتاج إلى الموافقة على <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">شروط
+      license_agreement: عند تأكيد حسابك ستحتاج إلى الموافقة على <a href="HTTPS://www.osmfoundation.org/wiki/License/Contributor_Terms">شروط
         المساهم</a>.
       email address: 'عنوان البريد الإلكتروني:'
       confirm email address: 'تأكيد عنوان البريد الإلكتروني:'
@@ -2417,6 +2417,9 @@ ar:
       reopened_at_by_html: تم التنشيط قبل %{when} مِن قِبَل %{user}
     rss:
       title: ملاحظات خريطة الشارع المفتوحة
+      description_area: قائمة بالملاحظات أو التقارير أو التعليق عليها أو إغلاقها في
+        منطقتك [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
+      description_item: خلاصة rss للملاحظة %{id}
       opened: ملاحظة جديدة (بالقرب من %{place})
       commented: تعليق جديد (بالقرب من %{place})
       closed: مذكرة مغلقة (بالقرب من %{place})
@@ -2561,21 +2564,39 @@ ar:
         sharp_left_without_exit: إلى أقصى اليسار نحو%{name}
         turn_left_without_exit: انعطف يسارا إلى %{name}
         offramp_left: اسلك الطريق المنحدر على اليسار
+        offramp_left_with_exit: اسلك المخرج %{exit} على اليسار
+        offramp_left_with_exit_name: اسلك المخرج %{exit} على اليسار باتجاه %{name}
+        offramp_left_with_exit_directions: اسلك المخرج %{exit} على اليسار باتجاه %{directions}
+        offramp_left_with_exit_name_directions: اسلك المخرج %{exit} على اليسار باتجاه
+          %{name}، نحو %{directions}
         offramp_left_with_name: خذ الطريق المنحدرة إلى اليسار إلى %{name}
+        offramp_left_with_directions: اسلك الطريق المنحدر إلى اليسار نحو %{directions}
+        offramp_left_with_name_directions: اسلك الطريق المنحدر إلى اليسار نحو %{name}،
+          نحو %{directions}
         onramp_left_without_exit: انعطف يسارا على المنحدر إلى %{name}
+        onramp_left_with_directions: الاتجاه يسارا إلى الطريق المنحدر نحو %{directions}
+        onramp_left_with_name_directions: الاتجاه يسارا على المنحدر نحو %{name}، نحو
+          %{directions}
+        onramp_left_without_directions: الاتجاه يسارا إلى الطريق المنحدر
+        onramp_left: الاتجاه يسارا إلى الطريق المنحدر
         endofroad_left_without_exit: في نهاية الطريق انعطف يسارا إلى %{name}
         merge_left_without_exit: انعطف يسارا إلى %{name}
         fork_left_without_exit: عند التقاطع انعطف يسارا إلى %{name}
         slight_left_without_exit: اتجه إلى اليمين قليلا %{name}
         via_point_without_exit: (نقطة وسيطة)
         follow_without_exit: اتبع %{name}
+        roundabout_without_exit: عند الدوران، اسلك المخرج إلى %{name}
         leave_roundabout_without_exit: ترك الطريق الملتوية - %{name}
         stay_roundabout_without_exit: البقاء في طريق ملتوية - %{name}
-        start_without_exit: ابدأ من نهاية %{name}
+        start_without_exit: البدء من %{name}
         destination_without_exit: الوصول إلى الوجهة
         against_oneway_without_exit: الذهاب عكس في طريق اتجاه واحد %{name}
         end_oneway_without_exit: نهاية طريق اتجاه واحد %{name}
+        roundabout_with_exit: في الدوار، اسلك المخرج %{exit} إلى %{name}
+        roundabout_with_exit_ordinal: في الدوار، خذ %{exit} إلى %{name}
+        exit_roundabout: الخروج من الدوار نحو %{name}
         unnamed: طريق غير مسمى
+        courtesy: الاتجاهات مجاملة من %{link}
         exit_counts:
           first: الأول
           second: الثاني
@@ -2596,6 +2617,7 @@ ar:
       error: 'خطأ في الاتصال %{server}: %{error}'
       timeout: مهلة الاتصال %{server}
     context:
+      directions_from: الاتجاهات من هنا
       directions_to: الاتجاهات إلى هنا
       add_note: أضف ملاحظةً هنا
       show_address: أظهر العنوان
index c1bb99ed5ad9b24951e054d83f3d1c3a1ab72217..9e4efc1a4bcd58fc20d1c1f4da9e4236cd268611 100644 (file)
@@ -1001,6 +1001,37 @@ ast:
     new:
       title_html: Informe %{link}
       missing_params: Nun puede crease un informe nuevu
+      details: Por favor, apurre más detalles sobro'l problema (obligatoriu).
+      select: 'Escueye un motivu pal to informe:'
+      disclaimer:
+        intro: 'Antes d''unviar l''informe a los moderadores del sitiu, asegúrate
+          de que:'
+        not_just_mistake: Tas seguru de que'l problema nun ye namái un fallu
+        unable_to_fix: Nun puedes iguar el problema tu mesmu o cola ayuda d'otros
+          miembros de la comunidá.
+        resolve_with_user: Yá tentasti resolver el problema col usuariu en cuestión.
+      categories:
+        diary_entry:
+          spam_label: Esta entrada del diariu ye/contien spam
+          threat_label: Esta entrada del diariu contien una amenaza
+          other_label: Otros
+        diary_comment:
+          spam_label: Esti comentariu del diariu ye/contien spam
+          threat_label: Esti comentariu del diariu contien una amenaza
+          other_label: Otros
+        user:
+          spam_label: Esti perfil d'usuariu ye/contien spam
+          threat_label: Esti perfil d'usuariu contien una amenaza
+          vandal_label: Esti usuariu ye un vándalu
+          other_label: Otros
+        note:
+          spam_label: Esta nota ye spam
+          personal_label: Esta nota contien datos personales
+          abusive_label: Esta nota ye abusiva
+          other_label: Otros
+    create:
+      successful_report: L'informe rexistróse correutamente
+      provide_details: Apurre los detalles riquíos
   layouts:
     logo:
       alt_text: Logo d'OpenStreetMap
@@ -1014,6 +1045,7 @@ ast:
     edit: Editar
     history: Historial
     export: Esportar
+    issues: Problemes
     data: Datos
     export_data: Esportar datos
     gps_traces: Traces GPS
@@ -1789,8 +1821,13 @@ ast:
     require_cookies:
       cookies_needed: Paez que tienes les cookies desactivaes - activa les cookies
         nel restolador enantes de siguir.
+    require_admin:
+      not_an_admin: Has de ser alministrador pa facer esa aición.
     require_moderator:
       not_a_moderator: Has de ser moderador pa facer esa aición.
+    require_moderator_or_admin:
+      not_a_moderator_or_admin: Has de ser moderador o alministrador 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.
@@ -2088,6 +2125,7 @@ ast:
       friends_diaries: entraes de diariu de los amigos
       nearby_changesets: conxuntos de cambios d'usuarios cercanos
       nearby_diaries: entraes de diariu d'usuarios cercanos
+      report: Informar d'esti usuariu
     popup:
       your location: El to allugamientu
       nearby mapper: Mapeador próximu
index c68e164b61bd8cd327e7383e20247464ab17fea3..17687c4172adcfe09b5fd8657990833824ee206f 100644 (file)
@@ -1387,7 +1387,7 @@ be-Tarask:
       public editing:
         heading: 'Публічнае рэдагаваньне:'
         enabled: Уключана. Вы не ананім і можаце рэдагаваць зьвесткі.
-        enabled link: http://wiki.openstreetmap.org/wiki/Anonymous_edits
+        enabled link: https://wiki.openstreetmap.org/wiki/Anonymous_edits
         enabled link text: што гэта?
         disabled: Забаронены і ня можа рэдагаваць зьвесткі, усе папярэднія рэдагаваньні
           былі ананімнымі.
@@ -1398,7 +1398,7 @@ be-Tarask:
           ня могуць дасылаць Вам паведамленьні, ці бачыць Вашае месцазнаходжаньне.
           Каб быў бачны Ваш унёсак і людзі маглі кантактаваць з Вамі праз ўэб-сайт,
           націсьніце кнопку ніжэй. <b>Пасьля зьменаў API вэрсіі 0.6, толькі даступныя
-          для сувязі карыстальнікі могуць рэдагаваць зьвесткі на мапе</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">даведацца
+          для сувязі карыстальнікі могуць рэдагаваць зьвесткі на мапе</b>. (<a href="https://wiki.openstreetmap.org/wiki/Anonymous_edits">даведацца
           чаму</a>).<ul><li>Ваш адрас электроннай пошты ня будзе паказвацца публічна.</li><li>Гэтае
           дзеяньне ня можа быць адмененае і ўсе новыя карыстальнікі цяпер даступныя
           для сувязі па змоўчваньні.</li></ul>
index e6d3d3cdf44d03c763b361efb8411ae9dc2214ba..d06cfb68a033521b8a0634338647819a1ca02fa6 100644 (file)
@@ -24,19 +24,19 @@ bn:
   activerecord:
     models:
       acl: প্রবেশাধিকার নিয়ন্ত্রণ তালিকা
-      changeset: à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনধারà§\8dয
-      changeset_tag: à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনধারà§\8dয ট্যাগ
+      changeset: à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনসমà§\82হ
+      changeset_tag: à¦ªà¦°à¦¿à¦¬à¦°à§\8dতনসমà§\82হà§\87র ট্যাগ
       country: দেশ
-      diary_comment: ডাইরি মন্তব্য
-      diary_entry: ডাইরি ভুক্তি
+      diary_comment: ডাইরিতে মন্তব্য
+      diary_entry: ডাইরি ভুক্তি
       friend: বন্ধু
       language: ভাষা
       message: বার্তা
       node: সংযোগস্থল
-      node_tag: সংযোগস্থল ট্যাগ
+      node_tag: সংযোগস্থলের ট্যাগ
       notifier: অনুস্মারক
       old_node: পুরাতন সংযোগস্থল
-      old_node_tag: পুরাতন সংযোগস্থল ট্যাগ
+      old_node_tag: পুরাতন সংযোগস্থলের ট্যাগ
       old_relation: পুরনো সম্পর্ক
       old_relation_member: পুরনো সম্পর্ক সদস্য
       old_relation_tag: পুরনো সম্পর্ক ট্যাগ
@@ -90,13 +90,13 @@ bn:
         languages: ভাষা
         pass_crypt: পাসওয়ার্ড
   editor:
-    default: à¦¡à¦¿à¦«à¦²à§\8dà¦\9f (বর্তমানে %{name})
+    default: à¦ªà§\82রà§\8dবনিরà§\8dধারিত (বর্তমানে %{name})
     potlatch:
       name: পটল্যাচ ১
       description: পটল্যাচ ১ (ব্রাউজার থেকে সম্পাদনা)
     id:
       name: আইডি
-      description: à¦\86à¦\87ডি (বà§\8dরাà¦\89à¦\9cার à¦¸à¦®à§\8dপাদà¦\95à§\87)
+      description: à¦\86à¦\87ডি (বà§\8dরাà¦\89à¦\9cার à¦¥à§\87à¦\95à§\87 à¦¸à¦®à§\8dপাদনা)
     potlatch2:
       name: পটল্যাচ ২
       description: পটল্যাচ ২ (ব্রাউজার থেকে সম্পাদনা)
@@ -117,16 +117,16 @@ bn:
     anonymous: নামহীন
     no_comment: (কোন মন্তব্য নেই)
     part_of: অংশ
-    download_xml: এক্সএমএল ডাউনলোড
+    download_xml: XML ডাউনলোড করুন
     view_history: ইতিহাস দেখুন
     view_details: বিস্তারিত দেখুন
     location: 'অবস্থান:'
     changeset:
       title: 'পরিবর্তনধার্য: %{id}'
       belongs_to: লেখক
-      node: (%{count}টি) সংযোগস্থল
+      node: সংযোগস্থল (%{count}টি)
       node_paginated: সংযোগস্থল (%{count}টির %{x}-%{y})
-      way: (%{count}টি) রাস্তা
+      way: পথসমূহ (%{count}টি)
       way_paginated: পথসমূহ (%{count}টির %{x}-%{y})
       relation: সম্পর্ক (%{count}টি)
       relation_paginated: সম্পর্ক (%{count}টির %{x}-%{y})
@@ -190,17 +190,17 @@ bn:
       feature_warning: '%{num_features} বৈশিষ্ট্যগুলো লোড হচ্ছে, যা আপনার ব্রাউজারকে
         ধীর অথবা সংবেদনহীন করতে পারে। আপনি কি এই তথ্য প্রদর্শনের ব্যপারে নিশ্চিত?'
       load_data: তথ্য লোড করুন
-      loading: লোডিং...
+      loading: লোড হচ্ছে...
     tag_details:
-      tags: 'ট্যাগসমূহ:'
+      tags: ট্যাগসমূহ
       wiki_link:
-        key: '%{key} ট্যাগ এর উইকি বর্ণনা পাতা'
+        key: '%{key} ট্যাগের উইকি বর্ণনার পাতা'
         tag: '%{key}=%{value} ট্যাগ এর উইকি বর্ণনা পাতা'
       wikidata_link: উইকিউপাত্ত উপাদানে %{page}
       wikipedia_link: উইকিপিডিয়াতে %{page} প্রবন্ধ
       telephone_link: '%{phone_number}-এ কল করুন'
     note:
-      title: টীকা:%{id}
+      title: 'টীকা: %{id}'
       new_note: নতুন টীকা
       description: 'বর্ণনা:'
       open_title: 'অমীমাংসিত টীকা #%{note_name}'
@@ -481,6 +481,7 @@ bn:
           ambulance_station: রুগ্নবাহিকা স্টেশন
           landing_site: জরুরি অবতরণ ক্ষেত্র
           phone: জরুরি ফোন
+          "yes": জরুরী
         highway:
           abandoned: পরিত্যক্ত মহাসড়ক
           bridleway: অঙ্কুশ পথ
@@ -596,6 +597,7 @@ bn:
         military:
           airfield: সামরিক বিমানপোত
           barracks: সেনানিবাস
+          "yes": সামরিক
         mountain_pass:
           "yes": গিরিপথ
         natural:
@@ -863,7 +865,7 @@ bn:
     partners_partners: সহযোগীগণ
     help: সাহায্য
     about: পরিচিতি
-    copyright: মেধাসত্ব
+    copyright: à¦®à§\87ধাসà§\8dবতà§\8dব
     community: সম্প্রদায়
     community_blogs: সম্প্রদায়ের ব্লগ
     community_blogs_title: ওপেনস্ট্রীটম্যাপ সম্প্রদায়ের সদস্যগণের ব্লগ
@@ -907,10 +909,14 @@ bn:
       subject: '[ওপেনস্ট্রীটম্যাপ] পাসওয়ার্ড পুনঃধার্য করার অনুরোধ'
     lost_password_plain:
       greeting: হাই,
+      hopefully_you: কোনো একজন (সম্ভবত আপনি) এই ইমেইল ঠিকানার সাথে যুক্ত openstreetmap.org
+        অ্যাকাউন্টের পাসওয়ার্ড পরিবর্তনের অনুরোধ করেছেন।
       click_the_link: এটি যদি আপনি হন, তবে পাসওয়ার্ড পুনঃধার্য করতে দয়া করে নিচের
         লিংকে ক্লিক করুন।
     lost_password_html:
       greeting: হাই,
+      hopefully_you: কোনো একজন (সম্ভবত আপনি) এই ইমেইল ঠিকানার সাথে যুক্ত openstreetmap.org
+        অ্যাকাউন্টের পাসওয়ার্ড পরিবর্তনের অনুরোধ করেছেন।
       click_the_link: এটি যদি আপনি হন, তবে পাসওয়ার্ড পুনঃধার্য করতে দয়া করে নিচের
         লিংকে ক্লিক করুন।
     note_comment_notification:
@@ -1251,6 +1257,13 @@ bn:
     show:
       edit: বিবরণ সম্পাদনা করুন
       confirm: আপনি কি নিশ্চিত?
+    index:
+      title: আমার OAuth সংক্রান্ত তথ্য
+      my_tokens: আমার অনুমোদিত অ্যাপ্লিকেশনসমূহ
+      list_tokens: 'নিম্নলিখিত টোকেনগুলি আপনার নামে অধীনে অ্যাপ্লিকেশনগুলির জন্য তৈরী
+        করা হয়েছে:'
+      application: অ্যাপলিকেশনের নাম
+      issued_at: অনুমোদনের তারিখ
     form:
       name: নাম
   user:
@@ -1260,6 +1273,7 @@ bn:
       email or username: ইমেইল ঠিকানা অথবা ব্যবহারকারীনাম
       password: 'পাসওয়ার্ড:'
       remember: আমাকে মনে রাখো
+      lost password link: পাসওয়ার্ড ভুলে গেছেন?
       login_button: প্রবেশ
       register now: এখনই নিবন্ধন করুন
       with username: 'ইতিমধ্যে একটি ওপেনস্ট্রিটম্যাপ অ্যাকাউন্ট আছে? দয়া করে ব্যবহারকারী
@@ -1284,12 +1298,23 @@ bn:
       title: প্রস্থান
       logout_button: প্রস্থান
     lost_password:
+      title: পাসওয়ার্ড ভুলে গেছেন
       heading: পাসওয়ার্ড ভুলে গেছেন?
       email address: 'ইমেইল ঠিকানা:'
+      new password button: পাসওয়ার্ড পুনঃনির্ধারণ
+      help_text: নিবন্ধনের সময় ব্যবহৃত আপনার ইমেইল ঠিকানাটি লিখুন, ইমেইলের মাধ্যমে
+        আমরা একটি লিঙ্ক পাঠাবো যার মাধ্যমে আপনি পাসওয়ার্ড পরিবর্তন করতে পারবেন।
     reset_password:
+      title: পাসওয়ার্ড পুনঃনির্ধারণ
       password: 'পাসওয়ার্ড:'
       confirm password: 'পাসওয়ার্ড নিশ্চিত করুন:'
+      reset: পাসওয়ার্ড পুনঃনির্ধারণ
       flash changed: আপনার পাসওয়ার্ড পরিবর্তন করা হয়েছে।
+    new:
+      password: 'পাসওয়ার্ড:'
+      confirm password: 'পাসওয়ার্ড নিশ্চিতকরণ:'
+      auth no password: তৃতীয় কোনো পদ্ধতিতে লগইন সক্রিয় থাকলে পাসওয়ার্ড বাধ্যতামূলক
+        নয়, কিন্তু অতিরিক্ত কিছু সরঞ্জাম এবং সার্ভারের জন্য কখনো প্রয়োজন হতে পারে।
     terms:
       agree: একমত
       legale_select: 'আপনার দেশ বাছাই করুন:'
@@ -1301,11 +1326,13 @@ bn:
       my edits: আমার সম্পাদনা
       my profile: আমার প্রোফাইল
       my settings: আমার সেটিংস
+      oauth settings: OAuth সেটিংস
       edits: সম্পাদনাসমূহ
       email address: 'ই-মেইল ঠিকানা:'
       description: বিবরণ
       settings_link_text: সেটিংস
       my friends: আমার বন্ধুগণ
+      no friends: আপনি বন্ধুতালিকায় কাউকে যুক্ত করেননি।
       block_history: সক্রিয় বাধাসমূহ
       moderator_history: প্রদত্ত বাধাগুলি
       comments: মন্তব্যসমূহ
@@ -1326,16 +1353,27 @@ bn:
       openid:
         link: https://wiki.openstreetmap.org/wiki/OpenID
       public editing:
+        heading: 'সম্পাদনা উন্মুক্ত:'
+        enabled: সক্রিয়। নামবিহীন এবং উপাত্ত সম্পাদনা।
         enabled link text: এটি কী?
       contributor terms:
+        agreed: আপনি নতুন অবদানকারীর শর্তাবলীতে সম্মত।
+        agreed_with_pd: আপনি ঘোষণা করেছেন যে আপনি আপনার সম্পাদনাগুলো পাবলিক ডোমেইনের
+          অধীনে প্রকাশ করছেন।
         link text: এটি কী?
+      profile description: 'প্রোফাইলের বর্ণনা:'
+      preferred languages: 'পছন্দের ভাষা:'
+      preferred editor: 'পছন্দের সম্পাদক:'
       image: 'চিত্র:'
       gravatar:
         link text: এটি কী?
       new image: চিত্র যোগ করুন
+      delete image: বর্তমান ছবিটি অপসারণ করুন
+      home location: 'বাড়ির অবস্থান:'
       latitude: 'অক্ষাংশ:'
       longitude: 'দ্রাঘিমাংশ:'
       save changes button: পরিবর্তন সংরক্ষণ
+      return to profile: প্রোফাইলে ফিরুন
     confirm:
       button: নিশ্চিত করুন
     confirm_email:
index 68dec5cfb498be1703485dc39bb71262ec4a9586..65f3180c2bad78c85acb1defa705d73e5cbe5270 100644 (file)
@@ -12,6 +12,7 @@
 # Author: JAn Dudík
 # Author: Jezevec
 # Author: Jkjk
+# Author: Korytaacheck
 # Author: Kuvaly
 # Author: Luk
 # Author: LukasJandera
@@ -46,8 +47,8 @@ cs:
       changeset: Sada změn
       changeset_tag: Tag sady změn
       country: Země
-      diary_comment: Komentář k deníčku
-      diary_entry: Deníčkový záznam
+      diary_comment: Komentář k deníku
+      diary_entry: Deníkový záznam
       friend: Přítel
       language: Jazyk
       message: Zpráva
@@ -55,7 +56,7 @@ cs:
       node_tag: Tag uzlu
       notifier: Oznamovatel
       old_node: Starý uzel
-      old_node_tag: Starý tag uzlu
+      old_node_tag: Tag starého uzlu
       old_relation: Stará relace
       old_relation_member: Člen staré relace
       old_relation_tag: Tag staré relace
@@ -148,9 +149,9 @@ cs:
       title: 'Sada změn: %{id}'
       belongs_to: Autor
       node: Uzly (%{count})
-      node_paginated: Uzly (%{x}%{y} z %{count})
+      node_paginated: Uzly (%{x}-%{y} z %{count})
       way: Cesty (%{count})
-      way_paginated: Cesty (%{x}%{y} z %{count})
+      way_paginated: Cesty (%{x}-%{y} z %{count})
       relation: Relace (%{count})
       relation_paginated: Relace (%{x}–%{y} z %{count})
       comment: Komentáře (%{count})
@@ -292,22 +293,22 @@ cs:
       full: Celá diskuse
   diary_entry:
     new:
-      title: Nový záznam do deníčku
+      title: Nový záznam do deníku
       publish_button: Publikovat
     list:
-      title: Deníčky uživatelů
-      title_friends: Deníčky přátel
-      title_nearby: Deníčky uživatelů poblíž
-      user_title: Deníček uživatele %{user}
-      in_language_title: Deníčkové záznamy v jazyce %{language}
-      new: Nový záznam do deníčku
+      title: Deníky uživatelů
+      title_friends: Deníky přátel
+      title_nearby: Deníky uživatelů poblíž
+      user_title: Deník uživatele %{user}
+      in_language_title: Deníkové záznamy v jazyce %{language}
+      new: Nový záznam do deníku
       new_title: Vložit nový záznam do mého uživatelského deníku
-      no_entries: Žádné záznamy v deníčku
-      recent_entries: Nedávné deníčkové záznamy
+      no_entries: Žádné záznamy v deníku
+      recent_entries: Nedávné deníkové záznamy
       older_entries: Starší záznamy
       newer_entries: Novější záznamy
     edit:
-      title: Upravit deníčkový záznam
+      title: Upravit deníkový záznam
       subject: 'Předmět:'
       body: 'Text:'
       language: 'Jazyk:'
@@ -316,19 +317,19 @@ cs:
       longitude: 'Zeměpisná délka:'
       use_map_link: použít mapu
       save_button: Uložit
-      marker_text: Místo deníčkového záznamu
+      marker_text: Místo deníkového záznamu
     view:
-      title: Deníček uživatele %{user} | %{title}
-      user_title: Deníček uživatele %{user}
+      title: Deník uživatele %{user} | %{title}
+      user_title: Deník uživatele %{user}
       leave_a_comment: Zanechat komentář
       login_to_leave_a_comment: '%{login_link} k zanechání komentáře'
       login: Přihlaste se
       save_button: Uložit
     no_such_entry:
-      title: Deníčkový záznam nenalezen
+      title: Deníkový záznam nenalezen
       heading: Záznam s ID %{id} neexistuje
-      body: Je nám líto, ale žádný deníčkový záznam či komentář s ID %{id} neexistuje.
-        Zkontrolujte překlepy nebo jste možná klikli na chybný odkaz.
+      body: Je nám líto, ale žádný deníkový záznam či komentář s ID %{id} neexistuje.
+        Zkontrolujte překlepy, nebo jste možná klikli na chybný odkaz.
     diary_entry:
       posted_by: Zapsal %{link_user} %{created} v jazyce %{language_link}
       comment_link: Okomentovat tento zápis
@@ -353,17 +354,16 @@ cs:
       edit: Upravit
     feed:
       user:
-        title: Záznamy v OpenStreetMap deníčku uživatele %{user}
-        description: Nedávné záznamy v OpenStreetMap deníčku uživatele %{user}
+        title: Záznamy v OpenStreetMap deníku uživatele %{user}
+        description: Nedávné záznamy v OpenStreetMap deníku uživatele %{user}
       language:
-        title: Deníčkové záznamy OpenStreetMap v jazyce %{language_name}
-        description: Nedávné záznamy v deníčcích uživatelů OpenStreetMap v jazyce
-          %{language_name}
+        title: Deníkové záznamy OpenStreetMap v jazyce %{language_name}
+        description: Nedávné záznamy v denících uživatelů OpenStreetMap v jazyce %{language_name}
       all:
-        title: Deníčkové záznamy OpenStreetMap
-        description: Nedávné záznamy v deníčcích uživatelů OpenStreetMap
+        title: Deníkové záznamy OpenStreetMap
+        description: Nedávné záznamy v denících uživatelů OpenStreetMap
     comments:
-      has_commented_on: '%{display_name} okomentoval následující záznamy v deníčku'
+      has_commented_on: '%{display_name} okomentoval následující záznamy v deníku'
       post: Záznam
       when: Kdy
       comment: Komentář
@@ -446,10 +446,10 @@ cs:
           fuel: Čerpací stanice
           gambling: Hazardní hry
           grave_yard: Hřbitov
-          grit_bin: Zrnitý koš
+          grit_bin: Koš na štěrk
           hospital: Nemocnice
           hunting_stand: Posed
-          ice_cream: Zmrzlinárna
+          ice_cream: Zmrzlina
           kindergarten: Mateřská škola
           library: Knihovna
           marketplace: Tržnice
@@ -457,7 +457,7 @@ cs:
           motorcycle_parking: Parkoviště pro motocykly
           nightclub: Noční klub
           nursing_home: Pečovatelský dům
-          office: Úřad
+          office: Kancelář
           parking: Parkoviště
           parking_entrance: Vjezd na parkoviště
           parking_space: Parkoviště
@@ -472,7 +472,7 @@ cs:
           public_building: Veřejná budova
           recycling: Tříděný odpad
           restaurant: Restaurace
-          retirement_home: Domov důchodců
+          retirement_home: Domov pro seniory
           sauna: Sauna
           school: Škola
           shelter: Přístřeší
@@ -486,7 +486,7 @@ cs:
           taxi: Taxi
           telephone: Telefonní automat
           theatre: Divadlo
-          toilets: Záchody
+          toilets: WC
           townhall: Radnice
           university: Univerzita
           vending_machine: Prodejní automat
@@ -494,16 +494,16 @@ cs:
           village_hall: Společenský sál
           waste_basket: Odpadkový koš
           waste_disposal: Popelnice
-          water_point: Bod vody
+          water_point: Vodní zdroj
           youth_centre: Centrum pro mládež
         boundary:
           administrative: Administrativní hranice
           census: Hranice pro potřeby sčítání
           national_park: Národní park
-          protected_area: ChránÄ\9b¡ oblast
+          protected_area: ChránÄ\9b© Ãºzemí
         bridge:
           aqueduct: Akvadukt
-          boardwalk: Tabulová chůze
+          boardwalk: Dřevěný chodník
           suspension: Visutý most
           swing: Otočný most
           viaduct: Viadukt
@@ -970,6 +970,9 @@ cs:
   issues:
     index:
       title: Problémy
+      select_status: Vybrat status
+      select_type: Vybrat Typ
+      select_last_updated_by: Vybrat Naposled aktualizováno od
       reported_user: Nahlášený uživatel
       not_updated: Neaktualizováno
       search: Hledat
@@ -978,6 +981,13 @@ cs:
       issues_not_found: Takové problémy nebyly nalezeny
       status: Stav
       reports: Hlášení
+      last_updated: Poslední změna
+      last_updated_time_html: <abbr title='%{title}'>před %{time}</abbr>
+      last_updated_time_user_html: <abbr title='%{title}'>před %{time}</abbr> od %{user}
+      link_to_reports: Zobrazit hlášení
+      reports_count:
+        one: 1 Hlášení
+        other: '%{count} Hlášení'
       reported_item: Hlášená položka
       states:
         ignored: Ignorováno
@@ -993,9 +1003,13 @@ cs:
         zero: žádné
         one: 1 hlášení
         other: '%{count} hlášení'
+      report_created_at: První hlášení v %{datetime}
+      last_resolved_at: Naposledy vyřešeno v %{datetime}
+      last_updated_at: Poslední aktualizace v %{datetime} od %{displayname}
       resolve: Vyřešit
       ignore: Ignorovat
       reopen: Znovu otevřít
+      reports_of_this_issue: Hlášení o tomto vydání
       read_reports: Číst hlášení
       new_reports: Nové hlášení
       other_issues_against_this_user: Další hlášení týkající se tohoto uživatele
@@ -1008,8 +1022,10 @@ cs:
     reopen:
       reopened: Stav problému změněn na „Otevřeno”
     comments:
+      created_at: V %{datetime}
       reassign_param: Znovu pověřit řešením problému?
     reports:
+      updated_at: V %{datetime}
       reported_by_html: Nahlášeno jako %{category} uživatelem %{user}
     helper:
       reportable_title:
@@ -1032,10 +1048,20 @@ cs:
         resolve_with_user: Jste se pokusil/a problém řešit přímo s dotčeným uživatelem.
       categories:
         diary_entry:
+          spam_label: Tento deník je / obsahuje spam
+          offensive_label: Tento deník je obscénní / urážlivý
+          threat_label: Tento deník obsahuje hrozbu
           other_label: Ostatní
         diary_comment:
+          spam_label: Tento komentář deníku je / obsahuje spam
+          offensive_label: Tento komentář deníku je obscénní / urážlivý
+          threat_label: Tento komentář deníku obsahuje hrozbu
           other_label: Ostatní
         user:
+          spam_label: Tento uživatelský profil je / obsahuje spam
+          offensive_label: Tento uživatelský profil je obscénní / urážlivý
+          threat_label: Tento uživatelský profil obsahuje hrozbu
+          vandal_label: Tento uživatel je vandal
           other_label: Ostatní
         note:
           spam_label: Tato poznámka je SPAM
index 0bc3c825ed00da1a0bc23e5953a37ff14b6369b0..6d8ec74235de7907b9c0c5ee74106b9a5897ff3f 100644 (file)
@@ -25,6 +25,7 @@
 # Author: OleLaursen
 # Author: Peter Alberti
 # Author: Ruila
+# Author: Saederup92
 # Author: The real emj
 # Author: Winbladh
 ---
@@ -238,6 +239,7 @@ da:
       reopened_by_anonymous: Genaktiveret af en anonym for <abbr title='%{exact_time}'>%{when}
         siden</abbr>
       hidden_by: Skjult af %{user} for <abbr title='%{exact_time}'>%{when} siden</abbr>
+      report: Rapporter dette notat
     query:
       title: Find kortobjekter
       introduction: Klik på kortet for at finde kortobjekter i nærheden.
@@ -330,10 +332,12 @@ da:
       edit_link: Vis dette indlæg
       hide_link: Skjul dette indlæg
       confirm: Bekræft
+      report: Rapporter dette indlæg
     diary_comment:
       comment_from: Kommentar fra %{link_user}, %{comment_created_at}
       hide_link: Skjul denne kommentar
       confirm: Bekræft
+      report: Rapporter denne kommentar
     location:
       location: 'Sted:'
       view: Vis
@@ -953,6 +957,31 @@ da:
     results:
       no_results: Ingen resultater fundet
       more_results: Flere resultater
+  issues:
+    index:
+      title: Problemer
+      select_status: Vælg status
+      select_type: Vælg type
+      not_updated: Ikke opdateret
+      search: Søg
+      user_not_found: Brugeren findes ikke
+      status: Status
+      last_updated: Sidst opdateret
+      states:
+        ignored: Ignoréret
+    show:
+      ignore: Ignorér
+  reports:
+    new:
+      categories:
+        diary_entry:
+          other_label: Andet
+        diary_comment:
+          other_label: Andet
+        user:
+          other_label: Andet
+        note:
+          other_label: Andet
   layouts:
     logo:
       alt_text: OpenStreetMap-logo
@@ -2054,6 +2083,7 @@ da:
       friends_diaries: venners blogindlæg
       nearby_changesets: ændringssæt af brugere i nærheden
       nearby_diaries: blogindlæg af brugere i nærheden
+      report: Rapporter denne bruger
     popup:
       your location: Din position
       nearby mapper: Bruger i nærheden
index b72ea02455b04af117ed48ab281c693c2be29c01..5a3f95644ee238b6b58ee1e110f782f11e8dfa13 100644 (file)
@@ -857,7 +857,7 @@ eo:
           organic: Ekologi-manĝaĵa vendejo
           outdoor: Vojaĝil-vendejo
           paint: Farb-vendejo
-          pawnbroker: Lombardejo
+          pawnbroker: Mon-pruntejo (kontraŭ garantiaĵo)
           pet: Dombest-vendejo
           pharmacy: Apoteko
           photo: Fotovendejo
index 4d8852c29832e1ba9b529af35391bc67991bd58d..13f7e9f7b58399d05d946291beeda460355035db 100644 (file)
@@ -22,6 +22,7 @@
 # Author: Invadinado
 # Author: James
 # Author: Javiersanp
+# Author: Jelou
 # Author: Johnarupire
 # Author: Jynus
 # Author: KATRINE1992
@@ -39,6 +40,7 @@
 # Author: Pantareje
 # Author: PerroVerd
 # Author: Peter17
+# Author: Pompilos
 # Author: Remux
 # Author: Rubenwap
 # Author: Ruila
@@ -69,7 +71,7 @@ es:
       node_tag: Etiqueta del nodo
       notifier: Notificador
       old_node: Nodo antiguo
-      old_node_tag: Etiqueta del nodo antiguo
+      old_node_tag: Etiqueta de nodo antiguo
       old_relation: Relación antigua
       old_relation_member: Miembro de la relación antigua
       old_relation_tag: Etiqueta de la relación antigua
@@ -84,7 +86,7 @@ es:
       tracepoint: Punto de la traza
       tracetag: Etiqueta de la traza
       user: Usuario
-      user_preference: Preferencias de usuario
+      user_preference: Preferencia de usuario
       user_token: Pase de usuario
       way: Vía
       way_node: Nodo de la vía
@@ -227,9 +229,9 @@ es:
         way: vía
         relation: relación
     start_rjs:
-      feature_warning: Cargando %{num_features} características, pueden hacer que
-        su navegador se ralentice o que no responda. ¿Está seguro de que desea mostrar
-        estos datos?
+      feature_warning: Cargando %{num_features} características, lo que puede hacer
+        que su navegador se ralentice o que no responda. ¿Está seguro de que desea
+        mostrar estos datos?
       load_data: Cargar datos
       loading: Cargando...
     tag_details:
@@ -239,7 +241,7 @@ es:
         tag: La página en el wiki con la descripción de la etiqueta %{key}=%{value}
       wikidata_link: El elemento %{page} en Wikidata
       wikipedia_link: El artículo %{page} en Wikipedia
-      telephone_link: Llamar %{phone_number}
+      telephone_link: Llamar al %{phone_number}
     note:
       title: 'Nota: %{id}'
       new_note: Nota nueva
@@ -284,10 +286,10 @@ es:
       title_user: Conjunto de cambios por %{user}
       title_friend: Conjuntos de cambios realizados por mis amigos
       title_nearby: Conjuntos de cambios realizados por usuarios cercanos
-      empty: No hay conjuntos de cambios encontrados.
-      empty_area: No hay conjuntos de cambios en esta área.
+      empty: No se han encontrado conjuntos de cambios.
+      empty_area: No hay conjuntos de cambios en este área.
       empty_user: No hay conjuntos de cambios por este usuario.
-      no_more: No hay más conjuntos de cambios encontrados.
+      no_more: No se han encontrado más conjuntos de cambios.
       no_more_area: No hay más conjuntos de cambios en esta área.
       no_more_user: No hay más conjuntos de cambios por este usuario.
       load_more: Cargar más
index d7cf49e79394bcbd73912dee342d170e3ebe9b81..42dac5d628819566ee6235759ea1b0abb273f3eb 100644 (file)
@@ -153,24 +153,22 @@ et:
     relation_member:
       entry_role: '%{type} %{name} kui %{role}'
       type:
-        node: Sõlm
+        node: sõlm
         way: joon
         relation: relatsioon
     containing_relation:
       entry: Relatsioon %{relation_name}
       entry_role: Relatsioon %{relation_name} (kui %{relation_role})
     not_found:
-      sorry: |-
-        Vabandame, %{type}
-         #%{id} ei leitud.
+      sorry: Vabandust, %{type} %{id} ei leitud.
       type:
         node: sõlme
         way: joont
         relation: relatsiooni
         changeset: muudatuskogumit
-        note: märkuse
+        note: märkust
     timeout:
-      sorry: Kahjuks võttis andmete (%{type} id-ga %{id}) laadimine liiga kaua aega.
+      sorry: Kahjuks võttis %{type} %{id} andmete laadimine liiga kaua aega.
       type:
         node: sõlme
         way: joone
@@ -219,6 +217,7 @@ 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>
+      report: Teata sellest märkusest
     query:
       title: Info objektide kohta
       introduction: Klõpsa kaardil, et leida läheduses asuvad objektid.
@@ -310,10 +309,12 @@ et:
       edit_link: Muuda seda sissekannet
       hide_link: Peida see sissekanne
       confirm: Kinnita
+      report: Teata sellest sissekandest
     diary_comment:
       comment_from: Kommentaar kasutajalt %{link_user} %{comment_created_at}
       hide_link: Peida see kommentaar
       confirm: Kinnita
+      report: Teata sellest kommentaarist
     location:
       location: 'Asukoht:'
       view: Vaata
@@ -727,7 +728,7 @@ et:
           river: Jõgi
           stream: Oja
           wadi: Vadi
-          waterfall: Kosk
+          waterfall: Juga
           weir: Ülevool
           "yes": Veetee
       admin_levels:
@@ -750,6 +751,43 @@ et:
     results:
       no_results: Ei leidnud midagi
       more_results: Veel tulemusi
+  reports:
+    new:
+      title_html: Kaebus (%{link})
+      missing_params: Ei õnnestu uut kaebust koostada.
+      details: Palun esita probleemi kohta veel üksikasju (nõutav).
+      select: 'Vali kaebuse põhjus:'
+      disclaimer:
+        intro: Enne kui saadad saidi moderaatoritele kaebuse, veendu et
+        not_just_mistake: oled kindel, et tegu pole lihtsalt eksitusega;
+        unable_to_fix: sul ei õnnestu teiste kaastööliste abiga ise probleemi lahendada;
+        resolve_with_user: oled juba üritanud probleemi klaarida sellega seotud kasutaja
+          abiga.
+      categories:
+        diary_entry:
+          spam_label: See päeviku sissekanne sisaldab rämpspostitust
+          offensive_label: See päeviku sissekanne on kohatu või solvav
+          threat_label: See päeviku sissekanne sisaldab ähvardust
+          other_label: Muu
+        diary_comment:
+          spam_label: See päeviku kommentaar sisaldab rämpspostitust
+          offensive_label: See päeviku kommentaar on kohatu või solvav
+          threat_label: See päeviku kommentaar sisaldab ähvardust
+          other_label: Muu
+        user:
+          spam_label: See kasutajaprofiil sisaldab rämpspostitust
+          offensive_label: See kasutajaprofiil on kohatu või solvav
+          threat_label: See kasutajaprofiil sisaldab ähvardust
+          vandal_label: See kasutaja on vandaal
+          other_label: Muu
+        note:
+          spam_label: See märkus on rämpspostitus
+          personal_label: See märkus sisaldab isiklikke andmeid
+          abusive_label: See on märkuse väärkasutus
+          other_label: Muu
+    create:
+      successful_report: Sinu kaebus on edukalt vastu võetud.
+      provide_details: Palun sisesta nõutavad üksikasjad
   layouts:
     logo:
       alt_text: OpenStreetMapi logo
@@ -1110,7 +1148,9 @@ et:
           (2007, <a href="https://www.and.com">www.and.com</a>)
         contributors_nz_html: |-
           <strong>Uus-Meremaa</strong>: Sisaldab kaardiandmeid
-          asutusest Land Information New Zealand. Krooni autoriõigus kaitstud.
+          <a href="https://data.linz.govt.nz/">andmeteenusest LINZ</a>,
+          mis on kasutatavad litsentsi
+          <a href="https://creativecommons.org/licenses/by/4.0/deed.et">CC BY 4.0</a> tingimustel.
         contributors_si_html: |-
           <strong>Sloveenia</strong>: Sisaldab
           <a href="http://www.gu.gov.si/en/">mõõdistus- ja kaardistusteenistuse</a> ning
@@ -1145,8 +1185,7 @@ et:
         trademarks_title_html: <span id="trademarks"></span>Kaubamärgid
         trademarks_1_html: OpenStreetMap, suurendusklaasi logo ja State of the Map
           on OpenStreetMap Foundationi registreeritud kaubamärgid. Kui sul on nende
-          märkide kasutamise kohta küsimusi, siis vaata meie <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">Trademark
-          Policy">kaubamärgireegleid</a>.
+          märkide kasutamise kohta küsimusi, siis vaata meie <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">kaubamärgireegleid</a>.
     index:
       js_1: Sa kas kasutad veebilehitsejat, mis ei toeta JavaScript'i või sa oled
         JavaScript'i ära keelanud.
@@ -1289,6 +1328,7 @@ et:
       where_am_i: Kus see asub?
       where_am_i_title: Määra praegune asukoht otsimootori abil
       submit_text: Otsi
+      reverse_directions_text: Pööra suund
     key:
       table:
         entry:
@@ -1793,6 +1833,7 @@ et:
       friends_diaries: sõprade päevikusissekanded
       nearby_changesets: lähedalasuvate kasutajate muudatuskogumid
       nearby_diaries: lähedalasuvate kasutajate päevikusissekanded
+      report: Teata sellest kasutajast
     popup:
       your location: Sinu asukoht
       nearby mapper: Lähedaloevad kaardistajad
@@ -2180,6 +2221,7 @@ et:
     directions:
       engines:
         graphhopper_bicycle: Rattaga (GraphHopper)
+        graphhopper_car: Autoga (GraphHopper)
         graphhopper_foot: Jalgsi (GraphHopper)
         mapquest_bicycle: Rattaga (MapQuest)
         mapquest_car: Autoga (MapQuest)
@@ -2191,6 +2233,12 @@ et:
         no_route: Ei suutnud leida teekonda nende kahe koha vahel.
         no_place: Kohta "%{place}" ei õnnestunud kahjuks leida.
       instructions:
+        continue_without_exit: 'Liigu edasi teele: %{name}'
+        endofroad_right_without_exit: 'Tee lõpus pööra paremale teele: %{name}'
+        turn_right_without_exit: 'Pööra paremale teele: %{name}'
+        turn_left_without_exit: 'Pööra vasakule teele: %{name}'
+        endofroad_left_without_exit: 'Tee lõpus pööra vasakule teele: %{name}'
+        start_without_exit: 'Alusta teelt: %{name}'
         unnamed: nimetu
       time: Kestus
     query:
index 63bbffb31807a4c3aa84d2e0d602afef6dd662aa..7ed15f7d51fbb817d4f0f2fb070fc9a4a203d334 100644 (file)
@@ -650,6 +650,7 @@ eu:
           water_park: Ur jolas-parkea
           "yes": Aisialdia
         man_made:
+          adit: Galeriara sarrera
           beacon: Itsas argia
           beehive: Erlauntza
           breakwater: Dikea
@@ -1407,9 +1408,9 @@ eu:
         contributors_nl_html: |-
           <strong>Herbehereak</strong>: Contains &copy; AND data, 2007
           (<a href="http://www.and.com">www.and.com</a>)
-        contributors_nz_html: |-
-          <strong>Zeelanda Berria</strong>: datuak biltzen ditu
-          Zeelanda Berriko Landako informaziotik. Erregin Copyright erreserbatuta.
+        contributors_nz_html: '<strong>Zeelanda Berria</strong>: <a href="https://data.linz.govt.nz/">LINZ
+          datu zerbitzuko</a> datuak biltzen ditu, <a href="https://creativecommons.org/licenses/by/4.0/">CC
+          BY 4.0</a> lizentziaren arabera berrerabili daitezkeenak.'
         contributors_si_html: |-
           <strong>Eslovenia</strong>: datuak biltzen ditu
           <a href="http://www.gu.gov.si/en/"> Burutzea eta Mapping Agintaritzatik </a> eta
index 72f68c244733a3b8962aeb957d14d9104c8a4f6c..b0808825d901b9fe6f4f088e112a6b33ee54de1b 100644 (file)
@@ -152,7 +152,7 @@ fa:
       hidden_commented_by: نظر مخفی از %{user}،‏ <abbr title='%{exact_time}'>%{when}
         پیش</abbr>
       commented_by: نظر از %{user}،‏ <abbr title='%{exact_time}'>%{when} پیش</abbr>
-      changesetxml: تغییرات انجام شده XML
+      changesetxml: Changeset XML
       osmchangexml: osmChange XML
       feed:
         title: تغییرات انجام شده %{id}
@@ -275,8 +275,7 @@ fa:
       no_more_user: این کاربر تغییرات دیگری انجام نداده.
       load_more: بارگیری بیشتر
     timeout:
-      sorry: پوزش، فهرست تغییرات انجام شده ی درخواستی شما برای بازیابی بیش از حد زمان
-        میبرد.
+      sorry: پوزش، بازیابی فهرست تغییرات درخواستی شما خیلی زمان برد.
     rss:
       title_all: بحث در مورد جعبه تغییر OpenStreetMap
       title_particular: 'بحث در مورد جعبه تغییر شماره #% {changeset_id} OpenStreetMap'
@@ -1173,7 +1172,7 @@ fa:
       reply_button: پاسخ
       unread_button: علامت‌گذاری به عنوان خوانده‌شده
       destroy_button: حذف
-      back: Ø¹Ù\82ب
+      back: Ø¨Ø±Ú¯Ø´Øª
       to: به
       wrong_user: شما بعنوان `%{user}' وارد سامانه شده‌اید اما پیامی که درخواست خواندنش
         را داده‌اید توسط کاربر ارسال نشده یا به او ارسال نشده‌است. برای امکان خواندن
@@ -1534,17 +1533,17 @@ fa:
       preview: پیش‌نمایش
     markdown_help:
       title_html: تجزیه با <a href="https://daringfireball.net/projects/markdown/">مارک‌داون</a>
-      headings: عنوان‌ ها
+      headings: عنوان‌‌بندی
       heading: عنوان
       subheading: عنوان فرعی
-      unordered: لیست نا مرتب
+      unordered: لیست نامرتب
       ordered: لیست مرتب
       first: اولین مورد
       second: دومین مورد
       link: پیوند
       text: متن
       image: تصویر
-      alt: متن جایگزین تصویر
+      alt: متن جایگزین
       url: نشانی اینترنتی
     welcome:
       title: خوش آمدید!
@@ -1596,24 +1595,24 @@ fa:
     visibility:
       private: خصوصی (اشترک‌گذاری به‌صورت ناشناس، نقاط نامرتب)
       public: عمومی (نمایش در فهرست ردها بعنوان ناشناس و با نقاط نامرتب)
-      trackable: قابل پی‌گیری (اشتراک‌گذاری به‌صورت ناشناس، نقاط مرتب بر اساس زمان)
+      trackable: قابل ردگیری (اشتراک‌گذاری به‌صورت ناشناس، نقاط مرتب بر اساس زمان)
       identifiable: قابل شناسایی (نمایش در لیست ردها، قابل شناسایی، نقاط مرتب بر اساس
         زمان)
     new:
       upload_trace: بارگذاری رد GPS
-      upload_gpx: 'بارگذاری پرونده ی GPX:'
+      upload_gpx: 'بارگذاری پروندهٔ GPX:'
       description: 'توضیحات:'
       tags: 'برچسب‌ها:'
-      tags_help: Ø¬Ø¯Ø§Ø´Ø¯Ù\87 ØªÙ\88سط Ù\88Û\8cرگÙ\88Ù\84
+      tags_help: Ø¬Ø¯Ø§Ø´Ø¯Ù\87 Ø¨Ø§ Ú©Ø§Ù\85ا (,)
       visibility: 'پدیداری:'
       visibility_help: این به چه معناست؟
       upload_button: بارگذاری
       help: کمک
     create:
       upload_trace: بارگذاری رد GPS
-      trace_uploaded: پروندهٔ GPX شما بارگذاری شده است و در انتظار درج در پایگاه داده
-        است. این کار معمولاً کمتر از نیم ساعت طول می‌کشد و در صورت تکمیل، ایمیلی به
-        Ø´Ù\85ا Ù\81رستادÙ\87 Ø®Ù\88اÙ\87د Ø´د.
+      trace_uploaded: پروندهٔ GPX شما بارگذاری شده و در انتظار درج در پایگاه‌داده
+        است. این کار معمولاً کمتر از نیم ساعت طول می‌کشد. هنگامی که انجام شد ایمیلی
+        Ø¨Ø±Ø§Û\8c Ø´Ù\85ا Ù\81رستادÙ\87 Ù\85Û\8câ\80\8cØ´Ù\88د.
       traces_waiting:
         one: شما %{count} رد منتظر بارگذاری دارید. لطفاً قبل از بارگذاری موارد بیشتر
           منتظر بمانید تا اینها بارگذاری بشوند که صف برای سایر کاربران بسته نشود.
@@ -1632,7 +1631,7 @@ fa:
       owner: 'مالک:'
       description: 'شرح:'
       tags: 'برچسب‌ها:'
-      tags_help: Ø¬Ø¯Ø§Ø´Ø¯Ù\87 ØªÙ\88سط Ù\88Û\8cرگÙ\88Ù\84
+      tags_help: Ø¬Ø¯Ø§Ø´Ø¯Ù\87 Ø¨Ø§ Ú©Ø§Ù\85ا (,)
       save_button: ذخیرهٔ تغییرات
       visibility: 'پدیداری:'
       visibility_help: به چه معنی است؟
@@ -1664,7 +1663,7 @@ fa:
       newer: ردهای تازه‌تر
     trace:
       pending: در انتظار
-      count_points: '&#8207;%{count} نقطه'
+      count_points: ‏%{count} نقطه
       ago: '%{time_in_words_ago} پیش'
       more: بیشتر
       trace_details: مشاهده جزئیات رد
@@ -1680,8 +1679,9 @@ fa:
       map: نقشه
     list:
       public_traces: ردهای GPS عمومی
+      my_traces: ردهای جی‌پی‌اس من
       public_traces_from: ردهای GPS عمومی از %{user}
-      description: مرور آخرین ردهای GPS بارگذاری شده
+      description: مرور آخرین ردهای GPS بارگذاریشده
       tagged_with: با  %{tags} برچسب خورده
       empty_html: هنوز چیزی اینجا نیست. <a href='%{upload_link}'> رد جدیدی بارگذاری
         کنید</a> یا در <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>صفحه
@@ -1690,7 +1690,7 @@ fa:
       see_all_traces: دیدن همه ردها
       see_my_traces: ردهای من
     delete:
-      scheduled_for_deletion: پی‌گیری برای حذف برنامه ریزی شده
+      scheduled_for_deletion: این رد برای حذف زمان‌بندی شد
     make_public:
       made_public: رد عمومی شد
     offline_warning:
@@ -1946,8 +1946,8 @@ fa:
       my edits: ویرایش های من
       my traces: ردهای من
       my notes: یادداشت‌های من
-      my messages: پیام های من
-      my profile: نمایه ی من
+      my messages: پیامهای من
+      my profile: نمایهٔ من
       my settings: تنظیمات من
       my comments: نظرات من
       oauth settings: تنظیمات oauth
@@ -1973,8 +1973,8 @@ fa:
       spam score: 'امتیاز هرزنامه:'
       description: شرح
       user location: موقعبت کاربر
-      if set location: مکان خانه تان را در صفحه ی %{settings_link} تنظیم کنید تا کاربران
-        نزدیک تان را ببینید.
+      if set location: مکان خانه‌تان را در صفحهٔ %{settings_link} تنظیم کنید تا کاربران
+        نزدیکتان را ببینید.
       settings_link_text: تنظیمات
       no friends: شما هنوز هیچ دوستی اضافه نکرده‌اید
       km away: '%{count} کیلومتر فاصله'
@@ -2001,9 +2001,9 @@ fa:
       unhide_user: آشکار ساختن این کاربر
       delete_user: حذف این کاربر
       confirm: تأیید
-      friends_changesets: تغییرات انجام شده ی دوستان
+      friends_changesets: ویرایش‌های دوستان
       friends_diaries: روزنوشت‌های دوستان
-      nearby_changesets: تغییرات انجام شده ی کاربران نزدیک
+      nearby_changesets: ویرایش‌های کاربران نزدیک
       nearby_diaries: روزنوشت‌های کاربران نزدیک
       report: گزارش این کاربر
     popup:
@@ -2104,7 +2104,7 @@ fa:
     make_friend:
       heading: افزودن %{user} بعنوان دوست؟
       button: افزودن بعنوان دوست
-      success: '%{name} اکنون دوست شما است!'
+      success: اکنون %{name} دوست شماست!
       failed: پوزش، افزودن %{name} به عنوان دوست ناموفق بود.
       already_a_friend: شما در حال حاضر با %{name} دوست هستید.
     remove_friend:
@@ -2321,15 +2321,15 @@ fa:
       embed: HTML
       custom_dimensions: تنظیم ابعاد سفارشی
       format: 'قالب:'
-      scale: 'مقیاس:'
-      image_size: تصویر لایه ی استاندارد را نشان می دهد در
+      scale: 'مقیاس: ‪'
+      image_size: 'لایهٔ استاندارد در تصویری به ‌این ابعاد نمایش داده می‌شود: ‎'
       download: دریافت
       short_url: آدرس کوتاه
       include_marker: شامل نشانگر
       center_marker: مرکز نقشه در نشانگر
       paste_html: برای درج در وب سایت HTML را جایگذاری کنید
       view_larger_map: نمایش نقشه بزرگتر
-      only_standard_layer: فقط از لایه Ø§Ø³ØªØ§Ù\86دارد Ù\85Û\8cتÙ\88اÙ\86 Ø®Ø±Ù\88جÛ\8c ØªØµÙ\88Û\8cرÛ\8c Ú¯Ø±Ù\81ت
+      only_standard_layer: فقط از لایهÙ\94 Ø§Ø³ØªØ§Ù\86دارد Ù\85Û\8câ\80\8cتÙ\88اÙ\86 Ø®Ø±Ù\88جÛ\8c ØªØµÙ\88Û\8cرÛ\8c Ú¯Ø±Ù\81ت
     embed:
       report_problem: گزارش مشکل
     key:
@@ -2441,11 +2441,22 @@ fa:
         roundabout_with_exit: در میدان، خروجی %{exit} به طرف %{name} را انتخاب کنید
         unnamed: بی نام
         courtesy: جهت از %{link}
+        exit_counts:
+          first: اول
+          second: دوم
+          third: سوم
+          fourth: چهارم
+          fifth: پنجم
+          sixth: ششم
+          seventh: هفتم
+          eighth: هشتم
+          ninth: نهم
+          tenth: دهم
       time: مدت
     query:
       node: گره
       way: راه
-      relation: Ø§Ø±ØªØ¨Ø§Ø·
+      relation: Ø±Ø§Ø¨Ø·Ù\87
       nothing_found: ویژگی‌ای یافت نشد
       error: 'خطار در ارتباط %{server}: %{error}'
       timeout: اتمام زمان %{server}
index 0e099b30c21aeffb0ef1479fa289142a83d766da..84aee173e4d9616d08a6016729ee2ff59c7e7357 100644 (file)
@@ -218,7 +218,7 @@ fi:
       load_data: Lataa tiedot
       loading: Ladataan tietoja...
     tag_details:
-      tags: Tagit
+      tags: Ominaisuustiedot
       wiki_link:
         key: Wikisivu avaimelle %{key}
         tag: Wikisivu tietueelle %{key}=%{value}
@@ -248,6 +248,7 @@ fi:
         sitten</abbr>
       hidden_by: Piilottanut käyttäjä %{user} <abbr title='%{exact_time}'>%{when}
         sitten</abbr>
+      report: Ilmianna karttailmoitus
     query:
       title: Ominaisuuskysely
       introduction: Näytä luettelo lähistön karttakohteista napsauttamalla karttaa.
@@ -340,10 +341,12 @@ fi:
       edit_link: Muokkaa päiväkirjamerkintää
       hide_link: Piilota tämä merkintä
       confirm: Vahvista
+      report: Ilmianna julkaisu
     diary_comment:
       comment_from: Kommentti käyttäjältä %{link_user} %{comment_created_at}
       hide_link: Piilota tämä kommentti
       confirm: Vahvista
+      report: Ilmianna kommentti
     location:
       location: 'Sijainti:'
       view: Näytä
@@ -964,6 +967,110 @@ fi:
     results:
       no_results: Ei hakutuloksia
       more_results: Lisää tuloksia
+  issues:
+    index:
+      title: Tapaukset
+      select_status: Valitse tila
+      select_type: Valitse tyyppi
+      select_last_updated_by: Valitse viimeisin päivittäjä
+      reported_user: Ilmiannettu
+      not_updated: Ei päivitetty
+      search: Etsi
+      search_guidance: 'Etsi tapauksia:'
+      user_not_found: Käyttäjää ei löydy
+      issues_not_found: Tapahtumia ei löytynyt
+      status: Tila
+      reports: Ilmiannot
+      last_updated: Päivitetty
+      last_updated_time_html: <abbr title='%{title}'>%{time} sitten</abbr>
+      last_updated_time_user_html: käyttäjä %{user} <abbr title='%{title}'>%{time}
+        sitten</abbr>
+      link_to_reports: Näytä ilmiannot
+      reports_count:
+        one: 1 ilmoitus
+        other: '%{count} ilmiantoa'
+      reported_item: Ilmiannettu kohde
+      states:
+        ignored: Aiheeton
+        open: Käsittelyssä
+        resolved: Ratkaistu
+    update:
+      new_report: Ilmianto on vastaanotettu
+      successful_update: Ilmianto on päivitetty
+      provide_details: Täydennä tarvittavat tiedot
+    show:
+      title: '%{status} Tapaus #%{issue_id}'
+      reports:
+        zero: Ei ilmiantoa
+        one: Yksi ilmianto
+        other: '%{count} ilmiantoa'
+      report_created_at: Ilmoitettu ensimmäisen kerran %{datetime}
+      last_resolved_at: Ratkaistu %{datetime}
+      last_updated_at: Viimeisin käsittelijä %{displayname} %{datetime}
+      resolve: Ratkaise
+      ignore: Merkitse aiheettomaksi
+      reopen: Avaa uudelleen
+      reports_of_this_issue: Ilmianna tapahtuma
+      read_reports: Lue ilmiantoja
+      new_reports: Uudet ilmiannot
+      other_issues_against_this_user: Muut tähän käyttäjään kohdistetut ilmiannot
+      no_other_issues: Ei muita tähän käyttäjään kohdistuvia ilmiantoja.
+      comments_on_this_issue: Tapauksen kommentit
+    resolve:
+      resolved: Tapaus on merkitty ratkaistuksi
+    ignore:
+      ignored: Tapaus on merkitty aiheettomaksi
+    reopen:
+      reopened: Tapaus on merkitty käsittelyssä olevaksi
+    comments:
+      created_at: '%{datetime}'
+      reassign_param: Haluatko määrittää tapauksen tilan uudelleen?
+    reports:
+      updated_at: '%{datetime}'
+      reported_by_html: Käyttäjä %{user} ilmiantanut merkinnällä %{category}
+    helper:
+      reportable_title:
+        diary_comment: '%{entry_title}, kommenttitunnus %{comment_id}'
+        note: Karttailmoitustunnus %{note_id}
+  issue_comments:
+    create:
+      comment_created: Kommentti jätetty
+  reports:
+    new:
+      title_html: Ilmianna %{link}
+      missing_params: Ilmoituksen luominen epäonnistui
+      details: Kuvaile ongelmaa (pakollinen)
+      select: 'Valitse ilmiannon syy:'
+      disclaimer:
+        intro: 'Varmista ennen ilmiantoa seuraavat asiat:'
+        not_just_mistake: Ongelma ei ole vain väärinkäsitys
+        unable_to_fix: Et voi ratkaista ongelmaa itse tai muun yhteisön tuella
+        resolve_with_user: Kyseinen käyttäjä ei ole ollut halukas yhteistyöhön
+      categories:
+        diary_entry:
+          spam_label: Päiväkirjamerkintä on roskapostia
+          offensive_label: Päiväkirjamerkintä on hyökkäävä
+          threat_label: Päiväkirjamerkintä sisältää uhkauksia
+          other_label: Muu
+        diary_comment:
+          spam_label: Päiväkirjamerkinnän kommentti on roskapostia
+          offensive_label: Päiväkirjamerkinnän kommentti on hyökkäävä
+          threat_label: Päiväkirjamerkinnän kommentti sisältää uhkauksia
+          other_label: Muu
+        user:
+          spam_label: Tämä käyttäjäsivu on roskapostia
+          offensive_label: Käyttäjäsivu on hyökkäävä
+          threat_label: Käyttäjäsivu sisältää uhkauksia
+          vandal_label: Käyttäjä harrastaa ilkivaltaa
+          other_label: Muu
+        note:
+          spam_label: Karttailmoitus on roskapostia
+          personal_label: Karttailmoitus sisältää henkilökohtaisia tietoja
+          abusive_label: Karttailmoitus on loukkaava
+          other_label: Muu
+    create:
+      successful_report: Ilmianto on rekisteröity
+      provide_details: Täydennä puuttuvat tiedot
   layouts:
     logo:
       alt_text: OpenStreetMap-logo
@@ -977,6 +1084,7 @@ fi:
     edit: Muokkaa
     history: Historia
     export: Vienti
+    issues: Ilmiannot
     data: Tiedot
     export_data: Vie tiedostona
     gps_traces: GPS-jäljet
@@ -1309,8 +1417,9 @@ fi:
         contributors_nl_html: |-
           <strong>Alankomaat</strong>: Sisältää &copy; AND-karttatietoja vuodelta 2007
           (<a href="https://www.and.com">www.and.com</a>)
-        contributors_nz_html: '<strong>Uusi-Seelanti</strong>: Sisältää karttatietoja
-          Land Information New Zealandista. Crown Copyright.'
+        contributors_nz_html: |-
+          <strong>Uusi-Seelanti</strong>: Sisältää karttatietoja <a href="https://data.linz.govt.nz/">LINZ-tietopalvelusta</a>, jotka on lisensoitu jatkokäyttöä varten
+          <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a> -lisenssillä.
         contributors_si_html: "<strong>Slovenia</strong>: Sisältää \n<a href=\"http://www.gu.gov.si/en/\">Maanmittaus-
           ja kartoitusviranomaisen</a> sekä\n<a href=\"http://www.mkgp.gov.si/en/\">Maatalous-,
           metsä- ja ruokaministeriön</a> tuottamia karttatietoja\n(Slovenian julkista
@@ -1629,12 +1738,13 @@ fi:
       identifiable: Tunnistettavissa (näytetään jälkiluettelossa ja pisteet tunnistettavasti
         järjestettynä aikaleimoineen)
     new:
+      upload_trace: Tallenna GPS-jälki
       upload_gpx: 'Tallenna GPX-tiedosto:'
       description: 'Kuvaus:'
-      tags: 'Tagit:'
-      tags_help: pilkuilla erotettu lista
+      tags: 'Ominaisuustiedot:'
+      tags_help: pilkuilla eroteltu lista
       visibility: 'Näkyvyys:'
-      visibility_help: mitä tämä tarkoittaa?
+      visibility_help: Mitä tämä tarkoittaa?
       visibility_help_url: https://wiki.openstreetmap.org/wiki/Fi:GPS-j%C3%A4lkien_julkisuus
       upload_button: Tallenna
       help: Ohje
@@ -1665,13 +1775,13 @@ fi:
       edit: muokkaa
       owner: 'Käyttäjä:'
       description: 'Kuvaus:'
-      tags: 'Tagit:'
-      tags_help: pilkuilla erotettu lista
+      tags: 'Ominaisuustiedot:'
+      tags_help: pilkuilla eroteltu lista
       save_button: Tallenna muutokset
       visibility: 'Näkyvyys:'
-      visibility_help: mitä tämä tarkoittaa?
+      visibility_help: Mitä tämä tarkoittaa?
     trace_optionals:
-      tags: Tagit
+      tags: Ominaisuustiedot
     view:
       title: Näytetään jälkeä %{name}
       heading: Näytetään jälkeä %{name}
@@ -1685,7 +1795,7 @@ fi:
       edit: muokkaa
       owner: 'Käyttäjä:'
       description: 'Kuvaus:'
-      tags: Tagit
+      tags: 'Ominaisuustiedot:'
       none: Ei mitään
       edit_track: Muokkaa jäljen tietoja
       delete_track: Poista tämä jälki
@@ -1745,8 +1855,12 @@ fi:
     require_cookies:
       cookies_needed: Selaimen evästeet on otettu pois päältä - salli evästeiden käyttö
         selaimessasi ennen jatkamista.
+    require_admin:
+      not_an_admin: Vain pääkäyttäjät voivat käyttää tätä toimintoa.
     require_moderator:
       not_a_moderator: Tämän toiminnon suorittamiseksi sinun on oltava ylläpitäjä.
+    require_moderator_or_admin:
+      not_a_moderator_or_admin: Vain ylläpitäjät voivat käyttää tätä toimintoa.
     setup_user_auth:
       blocked_zero_hour: Olet saanut kiireellisen viestin OpenStreetMapin verkkopalvelussa.
         Viesti on luettava, ennen kuin karttaan voi tallentaa muutoksia.
@@ -2037,6 +2151,7 @@ fi:
       friends_diaries: kaverien päiväkirjamerkinnät
       nearby_changesets: lähialueen käyttäjien muutoskokoelmat
       nearby_diaries: lähialueen käyttäjien päiväkirjamerkinnät
+      report: Ilmianna käyttäjä
     popup:
       your location: Oma sijaintisi
       nearby mapper: Lähellä oleva kartoittaja
index ab2a24bb355942b651f8673ee6838f3f69d5021d..6ace815b445821471bf5c2a100403a75a7f6cb24 100644 (file)
@@ -1808,10 +1808,10 @@ fr:
       tags_help: données séparées par des virgules
       visibility: 'Visibilité :'
       visibility_help: qu’est-ce que cela veut dire ?
-      visibility_help_url: https://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
+      visibility_help_url: https://wiki.openstreetmap.org/wiki/FR:Visibilit%C3%A9_des_traces_GPS
       upload_button: Envoyer
       help: Aide
-      help_url: https://wiki.openstreetmap.org/wiki/Upload
+      help_url: https://wiki.openstreetmap.org/wiki/FR:Upload
     create:
       upload_trace: Envoyer la trace GPS
       trace_uploaded: Votre fichier GPX a été envoyé et est en attente de son intégration
index ef31c19eb8d71a2c7791f6d918be7b5610e91087..ff2a4c1225bc78a90f2a6358ff67df37bc5b11b2 100644 (file)
@@ -6,6 +6,7 @@
 # Author: Elisardojm
 # Author: Gallaecio
 # Author: Macofe
+# Author: Maria zaos
 # Author: Navhy
 # Author: Nemo bis
 # Author: Toliño
@@ -217,6 +218,7 @@ gl:
       reopened_by_anonymous: Reactivado por un anónimo <abbr title='%{exact_time}'>hai
         %{when}</abbr>
       hidden_by: Agochado por %{user} <abbr title='%{exact_time}'>hai %{when}</abbr>
+      report: Informar desta nota
     query:
       title: Consultar as características
       introduction: Prema no mapa para atopar características preto de aquí.
@@ -309,10 +311,12 @@ gl:
       edit_link: Editar esta entrada
       hide_link: Agochar esta entrada
       confirm: Confirmar
+      report: Informar desta entrada
     diary_comment:
       comment_from: Comentario de %{link_user} o %{comment_created_at}
       hide_link: Agochar este comentario
       confirm: Confirmar
+      report: Informar deste comentario
     location:
       location: 'Localización:'
       view: Ver
@@ -937,27 +941,74 @@ gl:
   issues:
     index:
       title: Problemas
+      select_status: Seleccionar estado
       select_type: Seleccionar tipo
+      select_last_updated_by: Seleccionar última actualización por
+      reported_user: Usuario denunciado
+      not_updated: Non Actualizados
       search: Procurar
+      search_guidance: 'Procurar problemas:'
       user_not_found: O usuario non existe
+      issues_not_found: Non se atoparon problemas
       status: Estado
       reports: Informes
+      last_updated: Última actualización
+      last_updated_time_html: <abbr title='%{title}'>Hai %{time}</abbr>
+      last_updated_time_user_html: <abbr title='%{title}'>Hai %{time}</abbr> por %{user}
       link_to_reports: Ver informes
+      reports_count:
+        one: 1 informe
+        other: '%{count} informes'
+      reported_item: Elemento informado
       states:
         ignored: Ignorados
+        open: Abertos
+        resolved: Resoltos
+    update:
+      new_report: O seu informe rexistrouse con éxito
+      provide_details: Por favor, achegue os detalles que se lle requiren.
     show:
+      last_updated_at: Última actualización o %{datetime} por%{displayname}
       resolve: Resolver
       ignore: Ignorar
       reopen: Reabrir
       new_reports: Informes novos
+    resolve:
+      resolved: O estado da incidencia pasou a "Resolta"
+    ignore:
+      ignored: O estado da incidencia pasou a "Ignorada"
+    reopen:
+      reopened: O estado da incidencia pasou a "Aberta"
+    comments:
+      created_at: O %{datetime}
+    reports:
+      updated_at: O %{datetime}
+    helper:
+      reportable_title:
+        note: Nota n.º %{note_id}
+  issue_comments:
+    create:
+      comment_created: O comentario creouse correctamente
   reports:
     new:
+      details: Por favor, achegue máis detalles sobre o problema (requirido)
+      select: Seleccione unha razón pola que queira informarnos
+      disclaimer:
+        not_just_mistake: Vostede está seguro/a de que o problema non é un simple
+          erro
+        unable_to_fix: Non é quen de arranxar o problema só ou coa axuda dos membros
+          da comunidade
+        resolve_with_user: Vostede xa tentou resolver o problema co usuario en cuestión
       categories:
         diary_entry:
+          spam_label: Esta entrada de diario é/contén spam
+          offensive_label: Esta entrada do diario é obscena/ofensiva
+          threat_label: Esta entrada de diario contén unha ameaza
           other_label: Outro
         diary_comment:
           other_label: Outro
         user:
+          spam_label: Esta conta de usuario/a é/contén spam
           offensive_label: Este perfil de usuario é ofensivo/obsceno
           threat_label: Este perfil de usuario contén unha ameaza
           vandal_label: Este usuario é un vándalo
@@ -967,6 +1018,9 @@ gl:
           personal_label: Esta nota contén datos persoais
           abusive_label: Esta nota é abusiva
           other_label: Outro
+    create:
+      successful_report: O seu informe rexistrouse con éxito
+      provide_details: Por favor, achegue os detalles que se lle solicitan.
   layouts:
     logo:
       alt_text: Logotipo do OpenStreetMap
@@ -1670,14 +1724,17 @@ gl:
       identifiable: Identificable (mostrado na lista de pistas e como identificable;
         puntos ordenados coa data e hora)
     new:
+      upload_trace: Subir traza GPS
       upload_gpx: 'Cargar un ficheiro GPX:'
       description: 'Descrición:'
       tags: 'Etiquetas:'
       tags_help: separadas por comas
       visibility: 'Visibilidade:'
       visibility_help: que significa isto?
+      visibility_help_url: https://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
       upload_button: Subir
       help: Axuda
+      help_url: https://wiki.openstreetmap.org/wiki/Upload
     create:
       upload_trace: Cargar unha pista GPS
       trace_uploaded: O seu ficheiro GPX foi cargado e está pendente de inserción
@@ -2085,6 +2142,7 @@ gl:
       friends_diaries: entradas de diario dos amigos
       nearby_changesets: conxuntos de cambios dos usuarios de lugares próximos
       nearby_diaries: entradas de diario dos usuarios de lugares próximos
+      report: Denunciar este usuario
     popup:
       your location: A súa localización
       nearby mapper: Cartógrafo próximo
index 547f70fffdb0980aa1a3365444d4997741d92b86..ffe78393e990d5b35a02f8fd5be1b66f2546c52a 100644 (file)
@@ -951,6 +951,7 @@ he:
     index:
       title: בעיות
       select_status: לבחור מצב
+      select_type: בחר סוג
   layouts:
     logo:
       alt_text: הלוגו של OpenStreetMap
index f3e45ded415ad74010b3f25319d3a63577c89d17..0371dbf6728c068df6732eefcdbed9b95d77f4a8 100644 (file)
@@ -227,6 +227,7 @@ is:
       reopened_by_anonymous: Endurvirkjað af nafnlausum notanda fyrir <abbr title='%{exact_time}'>%{when}
         síðan</abbr>
       hidden_by: Falið af %{user} <abbr title='%{exact_time}'>fyrir %{when} síðan</abbr>
+      report: Tilkynna þennan minnispunkt
     query:
       title: Rannsaka fitjur
       introduction: Smelltu á kortið til að finna fitjur í nágrenninu.
@@ -319,10 +320,12 @@ is:
       edit_link: Breyta þessari færslu
       hide_link: Fela þessa færslu
       confirm: Staðfestu
+      report: Tilkynna þessa færslu
     diary_comment:
       comment_from: Athugasemd eftir %{link_user} sett inn %{comment_created_at}
       hide_link: Fela þessa athugasemd
       confirm: Staðfestu
+      report: Tilkynna þessa athugasemd
     location:
       location: 'Staðsetning:'
       view: kort
@@ -943,6 +946,60 @@ is:
     results:
       no_results: Ekkert fannst
       more_results: Fleiri niðurstöður
+  issues:
+    index:
+      title: Vandamál
+      select_status: Veldu stöðu
+      select_type: Veldu gerð
+      select_last_updated_by: Veldu síðast uppfært af
+      reported_user: Tilkynntur notandi
+      not_updated: Ekki uppfært
+      search: Leita
+      search_guidance: 'Leita að vandamálum:'
+      user_not_found: Notandi er ekki til
+      issues_not_found: Engin slík vandamál fundust
+      status: Staða
+      reports: Skýrslur
+      last_updated: Síðast uppfært
+      last_updated_time_html: <abbr title='%{title}'> fyrir %{time} síðan</abbr>
+      last_updated_time_user_html: <abbr title='%{title}'> fyrir %{time} síðan</abbr>
+        af %{user}
+      link_to_reports: Skoða skýrslur
+      reports_count:
+        one: 1 skýrsla
+        other: '%{count} skýrslur'
+      reported_item: Tilkynnt atriði
+      states:
+        ignored: Hunsað
+        open: Opna
+        resolved: Leyst
+    show:
+      resolve: Leysa
+      ignore: Hunsa
+      reopen: Enduropna
+      read_reports: Lesta skýrslur
+      new_reports: Nýjar skýrslur
+    comments:
+      created_at: Þann %{datetime}
+    reports:
+      updated_at: Þann %{datetime}
+    helper:
+      reportable_title:
+        note: 'Minnispunktur #%{note_id}'
+  reports:
+    new:
+      categories:
+        diary_entry:
+          other_label: Annað
+        diary_comment:
+          other_label: Annað
+        user:
+          vandal_label: Þessi notandi er að skemma
+          other_label: Annað
+        note:
+          spam_label: Þessi minnispunktur er ruslpóstur
+          abusive_label: Þessi minnispunktur er misnotkun
+          other_label: Annað
   layouts:
     project_name:
       title: OpenStreetMap
@@ -959,6 +1016,7 @@ is:
     edit: Breyta
     history: Breytingaskrá
     export: Flytja út
+    issues: Vandamál
     data: Gögn
     export_data: Flytja út gögn
     gps_traces: GPS ferlar
@@ -1325,7 +1383,7 @@ is:
           (<a href="https://www.and.com">www.and.com</a>)
         contributors_nz_html: |-
           <strong>Nýja-Sjáland</strong>: Inniheldur gögn með uppruna frá
-          Land Information New Zealand. Með Crown Copyright höfundarrétti.
+          <a href="https://data.linz.govt.nz/">LINZ Data Service</a> og er með notkunarleyfi til endurnýtingar fyrir <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
         contributors_si_html: |-
           <strong>Slóvenía</strong>: Inniheldur gögn frá
           <a href="http://www.gu.gov.si/en/">landmælinga og kortagerðaryfirvöldum</a> og
@@ -1659,6 +1717,7 @@ is:
       identifiable: Auðkennanlegur (sýndur í ferlalista sem auðkennanlegir, raðaðir
         punktar með tímastimpli)
     new:
+      upload_trace: Senda inn GPS feril
       upload_gpx: 'Hlaða inn GPX skrá:'
       description: 'Lýsing:'
       tags: 'Merki:'
@@ -1770,8 +1829,13 @@ is:
     require_cookies:
       cookies_needed: Þú virðist ekki vera með stuðning við vefkökur í vafranum þínum.
         Þú verður að virkja þann stuðning áður en þú getur haldið áfram.
+    require_admin:
+      not_an_admin: Þú þarft að vera möppudýr til að framkvæma þessa aðgerð.
     require_moderator:
       not_a_moderator: Þú þarft að vera ritstjóri til að framkvæma þessa aðgerð.
+    require_moderator_or_admin:
+      not_a_moderator_or_admin: Þú þarft að vera ritstjóri til að framkvæma þessa
+        aðgerð
     setup_user_auth:
       blocked_zero_hour: Þú átt áríðandi skilaboð á OpenStreetMap vefsvæðinu. Þú verður
         að lesa þessi skilaboð áður en þú getur aftur vistað neinar breytingar.
@@ -2079,6 +2143,7 @@ is:
       friends_diaries: bloggfærslur vina
       nearby_changesets: breytingasett vina í næsta nágrenni
       nearby_diaries: bloggfærslur vina í næsta nágrenni
+      report: Tilkynna þennan notanda
     popup:
       your location: Staðsetning þín
       nearby mapper: Nálægur notandi
index 49f32068f442f368af50e073d2ae8907773c6cc5..5c553e0cbce0962237c56487cd0e4f0edcb889d3 100644 (file)
@@ -194,7 +194,7 @@ it:
       entry: Relazione %{relation_name}
       entry_role: Relazione %{relation_name} (come %{relation_role})
     not_found:
-      sorry: 'Spiacenti, %{type} #%{id} non può essere trovato.'
+      sorry: 'Impossibile trovare %{type} #%{id}.'
       type:
         node: nodo
         way: percorso
index ae112dab3f9120d689d482ee2f8a9f408c2f807c..4d9db692c4639342f5343f4e17506d1c5e6659be 100644 (file)
@@ -1873,6 +1873,7 @@ ja:
       friends_diaries: 友達の日記エントリ
       nearby_changesets: 周辺の利用者のメモ
       nearby_diaries: 周辺のユーザーの日記エントリ
+      report: この利用者を報告
     popup:
       your location: 自分の位置
       nearby mapper: 周辺のマッパー
index 0bfbbb2d72441278882dc010b70fbf6837a0e382..e88172174ac8532774e1916b88a86e2b29a90b92 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Kabyle (Taqbaylit)
 # Exported from translatewiki.net
 # Export driver: phpyaml
+# Author: Alem
 # Author: Belkacem77
 # Author: Mastanabal
 # Author: Mhenni
@@ -136,6 +137,8 @@ kab:
         title_comment: Agraw n ubeddel %{id} - %{comment}
       join_discussion: Qqen akken ad tedduḍ ar usqerdec
       discussion: Asqerdec
+      still_open: Tagrumma isenfilen zgan ldin - asqerdec ad yili mara isenfilen meṛṛa
+        ttwamedlen.
     node:
       title: 'Takerrist: %{name}'
       history_title: 'Amazray n tkerrist: %{name}'
@@ -217,6 +220,7 @@ kab:
       reopened_by_anonymous: Irmed-it useqdac udrig <abbr title='%{exact_time}'>%{when}
         aya</abbr>
       hidden_by: Yeffer-it %{user} <abbr title='%{exact_time}'>%{when} aya</abbr>
+      report: Sillef tazmilt agi
     query:
       title: Tuttriwin ɣef tɣawsiwin
       introduction: Sit ɣef tkarḍa allen ad tafeḍ tiɣawsiwin iqeṛben.
@@ -309,10 +313,12 @@ kab:
       edit_link: Ẓreg anekcam-agi
       hide_link: Ffer anekcam-agi
       confirm: Sentem
+      report: Sillef anekcum agi
     diary_comment:
       comment_from: Awennit n %{link_user} di %{comment_created_at}
       hide_link: Ffer awennit-agi
       confirm: Sentem
+      report: Sillef awennit agi
     location:
       location: 'Adig:'
       view: Sken
@@ -353,12 +359,18 @@ kab:
           chair_lift: Tilisɣimt
           drag_lift: Tiliski
           gondola: Tilituzdiɣt
+          platter: Asalay n uḍebsi
+          pylon: Aɛmud
           station: Taɣsert n tilituzdiɣt
+          t-bar: Amessawen n tafeggagt s T
         aeroway:
           aerodrome: Anafag
+          airstrip: Tazribt n tarussi
           apron: Tamnaḍt n usseɣser
           gate: Tabburt
           helipad: Anafag n ukuptir
+          holding_position: Ideg n taganit
+          parking_position: Amḍiq n aniɣsur
           runway: Tafuɣalt
           taxiway: Abrid n tkeṛṛust n unafag
           terminal: Anemdu
@@ -404,6 +416,7 @@ kab:
           fuel: Aserɣu
           gambling: Uraren yidrimen
           grave_yard: Tajebbant
+          grit_bin: Asenduq n tasent
           hospital: Sbiṭar
           hunting_stand: Tanefsart n uselfeɣ
           ice_cream: Tamagrist
@@ -417,6 +430,7 @@ kab:
           office: Tanarit
           parking: Aneɣsar
           parking_entrance: Tabburt n uneɣsar
+          parking_space: Amḍiq n aniɣsur
           pharmacy: Tansafart
           place_of_worship: Amḍiq n weɛbad
           police: Tamsulta
@@ -458,6 +472,8 @@ kab:
           national_park: Taẓribt taɣelnawt
           protected_area: Tamnaḍt yettwaḥerzen
         bridge:
+          aqueduct: Aqadus
+          boardwalk: Amerreḥ
           suspension: Tiqenṭert iɛelqen
           swing: Tillegwit yeddawaren
           viaduct: Tiqenṭaṛt
@@ -476,8 +492,11 @@ kab:
           tailor: Axeggaḍ
           "yes": Taḥanutt n Tinḍi
         emergency:
+          ambulance_station: Taɣsirt n tasindut
+          assembly_point: Tineqiḍt n timlilit
           landing_site: Annar n trusi n utrab
           phone: Tiliɣri n utrab
+          water_tank: Tanutfi n waman utrib
         highway:
           abandoned: Abrid agejdan yettwattun
           bridleway: Aɣaras n yimnayen
index 51358e60209373afbb347ae2275ff57ab8f75436..e6bccdb82d0fa27eaebc3a48f863034fccb4524e 100644 (file)
@@ -981,18 +981,23 @@ ko:
       successful_update: 보고서가 성공적으로 업데이트되었습니다
       provide_details: 필수 상세 정보를 지정해 주십시오
     show:
+      title: '%{status} 문제 #%{issue_id}'
       reports:
         zero: 보고서 없음
         one: 보고서 1개
         other: 보고서 %{count}개
       report_created_at: '%{datetime}에 처음 보고됨'
+      last_resolved_at: '%{datetime}에 마지막으로 해결됨'
+      last_updated_at: '%{displayname}에 의해 %{datetime}에 마지막으로 갱신됨'
       resolve: 해결
       ignore: 무시
       reopen: 다시 열림
       reports_of_this_issue: 이 이슈의 보고
       read_reports: 보고서 읽기
       new_reports: 새 보고서
+      other_issues_against_this_user: 이 사용자에 대한 다른 문제
       no_other_issues: 이 사용자에 대한 다른 이슈가 없습니다.
+      comments_on_this_issue: 해당 이슈에 대한 의견
     resolve:
       resolved: 이슈 상태가 '해결됨'으로 설정되었습니다
     ignore:
@@ -1000,9 +1005,18 @@ ko:
     reopen:
       reopened: 이슈 상태가 '열림'으로 설정되었습니다
     comments:
+      created_at: '%{datetime}에'
       reassign_param: 이슈를 다시 할당하시겠습니까?
     reports:
+      updated_at: '%{datetime}에'
       reported_by_html: '%{user}님이 %{category} 분류로 보고함'
+    helper:
+      reportable_title:
+        diary_comment: '%{entry_title}, 댓글 #%{comment_id}'
+        note: '노트 #%{note_id}'
+  issue_comments:
+    create:
+      comment_created: 댓글이 성공적으로 만들어졌습니다
   reports:
     new:
       title_html: '%{link} 보고'
@@ -1013,11 +1027,14 @@ ko:
         intro: '보고서를 사이트 운영자에게 보내기 전에 다음을 확인하십시오:'
         not_just_mistake: 문제가 그저 실수가 아님을 확신합니다
         unable_to_fix: 직접 또는 동료 공동체 회원의 도움을 받아 문제를 해결할 수 없습니다
+        resolve_with_user: 사용자와 관련된 문제를 이미 해결하려고 시도했습니다
       categories:
         diary_entry:
           spam_label: 이 일기 항목은 스팸입니다
+          offensive_label: 이 일기 항목은 음란물이거나 모욕적입니다
           other_label: 기타
         diary_comment:
+          spam_label: 이 일기 댓글은 스팸입니다
           other_label: 기타
         user:
           spam_label: 이 사용자 프로필은 스팸이거나 스팸을 포함합니다
@@ -1025,11 +1042,16 @@ ko:
           vandal_label: 이 사용자는 문서 훼손자입니다
           other_label: 기타
         note:
+          spam_label: 이 노트는 스팸입니다
+          personal_label: 이 노트에 개인 정보가 있습니다
+          abusive_label: 이 주석은 부적절합니다
           other_label: 기타
     create:
       successful_report: 보고서가 성공적으로 등록되었습니다
       provide_details: 필수 상세 정보를 지정해 주십시오
   layouts:
+    project_name:
+      title: 오픈스트리트맵
     logo:
       alt_text: OpenStreetMap 로고
     home: 현재 위치로 가기
@@ -1349,9 +1371,9 @@ ko:
         contributors_nl_html: |-
           <strong>네덜란드</strong>: &copy; AND 데이터, 2007년
           (<a href="https://www.and.com">www.and.com</a>)을 포함합니다.
-        contributors_nz_html: |-
-          <strong>뉴질랜드</strong>: Land Information New Zealand에서의
-          데이터를 포함합니다. Crown이 저작권을 소유합니다.
+        contributors_nz_html: '<strong>뉴질랜드</strong>: <a href="https://data.linz.govt.nz/">LINZ
+          데이터 서비스</a>의 데이터를 포함하며, <a href="https://creativecommons.org/licenses/by/4.0/">CC
+          BY 4.0</a>에 따라 재사용될 수 있습니다.'
         contributors_si_html: |-
           <strong>슬로베니아</strong>: <a href="http://www.gu.gov.si/en/">Surveying and Mapping Authority</a>와
           <a href="http://www.mkgp.gov.si/en/">Ministry of Agriculture, Forestry and Food</a>
@@ -2066,7 +2088,7 @@ ko:
       current email address: '현재 이메일 주소:'
       new email address: '새 이메일 주소:'
       email never displayed publicly: (절대 공개하지 않습니다)
-      external auth: '바깥 인증:'
+      external auth: '외부 인증:'
       openid:
         link: https://wiki.openstreetmap.org/wiki/OpenID
         link text: 이게 뭐죠?
@@ -2407,6 +2429,8 @@ ko:
       new:
         intro: 실수했거나 없는 무언가를 발견했나요? 다른 매퍼에게 알려주어 고칠 수 있게 해주세요. 마커를 올바른 위치로 이동하고, 참고를
           남겨 문제를 설명해주세요.
+        advice: 노트는 공개되어 지도 업데이트에 쓰일 수 있으므로 개인 정보 또는 저작권이 있는 지도나 디렉터리 리스팅의 정보를 입력하지
+          마십시오.
         add: 참고 추가
       show:
         anonymous_warning: 익명 사용자의 참고도 있으므로 별도로 확인해야 합니다.
@@ -2435,8 +2459,21 @@ ko:
       instructions:
         continue_without_exit: '%{name}(으)로 계속 가세요'
         slight_right_without_exit: '%{name}을(를) 따라 오른쪽으로 완만하게 도세요'
+        offramp_right: 우측 램프로 이동
+        offramp_right_with_exit: 우측 %{exit} 출구로 이동
+        offramp_right_with_exit_name: '%{name} 쪽으로 우측 %{exit} 출구로 이동'
+        offramp_right_with_exit_directions: '%{directions} 방향으로 우측 %{exit} 출구로 이동'
+        offramp_right_with_exit_name_directions: '%{directions} 방향으로 %{name} 쪽으로 우측
+          %{exit} 출구로 이동'
         offramp_right_with_name: 오른쪽에서 %{name}(으)로 진입하세요
+        offramp_right_with_directions: '%{directions} 방향으로 좌측 램프로 이동'
+        offramp_right_with_name_directions: '%{directions} 방향으로 %{name} 쪽으로 우측 램프로
+          이동'
         onramp_right_without_exit: 경사로에서 %{name}(으)로 우회전
+        onramp_right_with_directions: '%{directions} 방향으로 램프로 우회전'
+        onramp_right_with_name_directions: '%{directions} 방향으로 %{name} 쪽으로 램프로 우회전'
+        onramp_right_without_directions: 램프로 우회전
+        onramp_right: 램프로 우회전
         endofroad_right_without_exit: 길 끝쪽에서 %{name}(으)로 우회전
         merge_right_without_exit: '%{name}을(를) 따라 우회전'
         fork_right_without_exit: 분기점에서 %{name}(으)로 우회전
@@ -2445,8 +2482,20 @@ ko:
         uturn_without_exit: '%{name}을(를) 따라 유턴하세요'
         sharp_left_without_exit: '%{name}을(를) 따라 왼쪽으로 꺾으세요'
         turn_left_without_exit: '%{name}을(를) 따라 왼쪽으로 도세요'
+        offramp_left: 좌측 램프로 이동
+        offramp_left_with_exit: 좌측 %{exit} 출구로 이동
+        offramp_left_with_exit_name: '%{name} 쪽으로 좌측 %{exit} 출구로 이동'
+        offramp_left_with_exit_directions: '%{directions} 방향으로 좌측 %{exit} 출구로 이동'
+        offramp_left_with_exit_name_directions: '%{directions} 방향으로 %{name} 쪽으로 좌측
+          %{exit} 출구로 이동'
         offramp_left_with_name: '%{name}을(를) 향해 램프로 좌회전'
+        offramp_left_with_directions: '%{directions} 방향으로 좌측 램프로 이동'
+        offramp_left_with_name_directions: '%{directions} 방향으로 %{name} 쪽으로 램프로 이동'
         onramp_left_without_exit: 경사로에서 %{name}(으)로 좌회전
+        onramp_left_with_directions: '%{directions} 방향으로 램프로 좌회전'
+        onramp_left_with_name_directions: '%{directions} 방향으로 %{name} 쪽으로 램프로 좌회전'
+        onramp_left_without_directions: 램프로 좌회전
+        onramp_left: 램프로 좌회전
         endofroad_left_without_exit: 길 끝쪽에서 %{name}(으)로 좌회전
         merge_left_without_exit: '%{name}을(를) 따라 좌회전'
         fork_left_without_exit: 분기점에서 %{name}(으)로 좌회전
index 26cd1d151dbd1ae6923dc8889607b9bfd23dd1c5..cc5fd72e60c4919aebcb8432e49ef9b14e680f74 100644 (file)
@@ -1002,6 +1002,7 @@ ku-Latn:
       reopened: Rewşa pirsgirêk wekî "Vekirî" hat eyarkirin
     comments:
       created_at: Di %{datetime} de
+      reassign_param: Bila pirsgirêk ji nû ve bê tayînkirin?
     reports:
       updated_at: Di %{datetime} de
       reported_by_html: Ji aliyê %{user} ve wekî %{category} hat raporkirin
index 82372ef0f029a194d9b5a10d3f01bc7255d97afb..bc1ff60fb64be19db2315e37fc198fadebfc914e 100644 (file)
@@ -4,6 +4,7 @@
 # Author: Aurimas
 # Author: Cyklopas
 # Author: Eitvys200
+# Author: Empers
 # Author: Garas
 # Author: Macofe
 # Author: Mantak111
@@ -249,7 +250,7 @@ lt:
     list:
       title: Pakeitimai
       title_user: Naudotojo %{user} pakeitimai
-      title_friend: Jūsų draugų pakeitimai
+      title_friend: Mano draugų pakeitimai
       title_nearby: Netoliese esančių naudotojų pakeitimai
       empty: Nerasta pakeitimų.
       empty_area: Nėra šios vietos pakeitimų.
@@ -317,10 +318,12 @@ lt:
       edit_link: Keisti šį įrašą
       hide_link: Slėpti šį įrašą
       confirm: Patvirtinti
+      report: Pranešti apie šį įrašą
     diary_comment:
       comment_from: Naudotojo %{link_user} komentaras, parašytas %{comment_created_at}
       hide_link: Slėpti šį komentarą
       confirm: Patvirtinti
+      report: Pranešti apie šį komentarą
     location:
       location: 'Vieta:'
       view: Žiūrėti
@@ -366,6 +369,7 @@ lt:
           aerodrome: Aerodromas
           apron: Oro uosto aikštelė
           gate: Vartai
+          hangar: Angaras
           helipad: Sraigtasparnių aikštelė
           parking_position: Stovėjimo Pozicija
           runway: Pakilimo takas
@@ -490,6 +494,7 @@ lt:
           defibrillator: Defibriliatorius
           landing_site: Avarinio nusileidimo aikštelė
           phone: Avarinis telefonas
+          "yes": Avarinis
         highway:
           abandoned: Apleistas kelias
           bridleway: Jodinėjimo takas
@@ -502,6 +507,7 @@ lt:
           emergency_access_point: Skubios prieigos punktas
           footway: Pėsčiųjų takas
           ford: Brasta
+          give_way: Ženklas "Duoti kelią"
           living_street: Gyvenamosios zonos gatvė
           milestone: Riboženklis
           motorway: Automagistralė
@@ -630,6 +636,8 @@ lt:
           chimney: Kaminas
           crane: Kranas
           lighthouse: Švyturys
+          mine: Kasykla
+          mineshaft: Kasyklos šachta
           monitoring_station: Stebėjimo Stotis
           pipeline: Vamzdynas
           surveillance: Stebėjimas
@@ -637,6 +645,7 @@ lt:
           watermill: Vandens Malūnas
           water_tower: Vandens Bokštas
           water_well: Šulinys
+          windmill: Vėjo malūnas
           works: Gamykla
           "yes": Žmogaus sukurta
         military:
@@ -894,6 +903,13 @@ lt:
     results:
       no_results: Daugiau rezultatų nėra
       more_results: Daugiau rezultatų
+  issues:
+    index:
+      search: Ieškoti
+      states:
+        open: Atidaryta
+    show:
+      ignore: Ignoruoti
   layouts:
     logo:
       alt_text: OpenStreetMap logotipas
index dcd36a514d2371aa37a427d1c77d4eb65f1eb02b..3a05a949f0affe23d4e9434327529c86696b4974 100644 (file)
@@ -345,12 +345,12 @@ lv:
   geocoder:
     search:
       title:
-        latlon: Rezultāti no <a href="http://openstreetmap.org/">Iekšējās meklēšanas</a>
-        ca_postcode: Rezultāti no <a href="http://geocoder.ca/">Geocoder.CA</a>
-        osm_nominatim: Rezultāti no <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+        latlon: Rezultāti no <a href="https://openstreetmap.org/">Iekšējās meklēšanas</a>
+        ca_postcode: Rezultāti no <a href="https://geocoder.ca/">Geocoder.CA</a>
+        osm_nominatim: Rezultāti no <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
           Nominatim</a>
         geonames: Rezultāti no <a href="http://www.geonames.org/">GeoNames</a>
-        osm_nominatim_reverse: Rezultāti no <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+        osm_nominatim_reverse: Rezultāti no <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
           Nominatim</a>
         geonames_reverse: Rezultāti no <a href="http://www.geonames.org/">GeoNames</a>
     search_osm_nominatim:
@@ -620,10 +620,16 @@ lv:
           "yes": Atpūtas vieta
         man_made:
           beehive: Bišu strops
+          bridge: Tilts
+          bunker_silo: Bunkurs
           chimney: Skurstenis
           lighthouse: Bāka
           pipeline: Cauruļvads
           tower: Tornis
+          watermill: Ūdens dzirnavas
+          water_tower: Ūdens tornis
+          water_well: Aka
+          windmill: Vēja dzirnavas
           works: Rūpnīca
           "yes": Cilvēku radīts
         military:
@@ -782,6 +788,7 @@ lv:
           jewelry: Juvelierizstrādājumu veikals
           kiosk: Kiosks
           laundry: Veļas mazgātava
+          lottery: Loterija
           mall: Tirdzniecības centrs
           market: Tirgus
           mobile_phone: Mobilo telefonu veikals
@@ -858,7 +865,7 @@ lv:
         level10: Priekšpilsētas robeža
     description:
       title:
-        osm_nominatim: Atrašanās vieta no <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+        osm_nominatim: Atrašanās vieta no <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
           Nominatim</a>
         geonames: Atrašanās vieta no <a href="http://www.geonames.org/">GeoNames</a>
       types:
@@ -868,6 +875,15 @@ lv:
     results:
       no_results: Nav atrasts neviens rezultāts
       more_results: Vairāk rezultātu
+  issues:
+    index:
+      search: Meklēt
+      status: Statuss
+      states:
+        ignored: Ignorēts
+        open: Atvērt
+    show:
+      ignore: Ignorēt
   layouts:
     logo:
       alt_text: OpenStreetMap logo
@@ -1274,9 +1290,9 @@ lv:
       user_page_link: dalībnieka lapa
       anon_edits_link_text: Uzzini, kāpēc tā notiek.
       flash_player_required: Jums nepieciešams Flash playeris lai izmantotu Potlatch
-        - OpenStreetMap Flash redaktoru. Jūs varat <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">Lejupielādēt
+        - OpenStreetMap Flash redaktoru. Jūs varat <a href="https://get.adobe.com/flashplayer/">Lejupielādēt
         Flash Player no Adobe.com</a>.  OpenStreetMap rediģēšanai ir pieejamas arī<a
-        href="http://wiki.openstreetmap.org/wiki/Editing">vairākas citas iespējas</a>
+        href="https://wiki.openstreetmap.org/wiki/Editing">vairākas citas iespējas</a>
         .
       potlatch_unsaved_changes: Tev ir nesaglabātas izmaiņas. (Lai saglabātu iekš
         Potlatch, tev ir jānoņem atlase no esošā ceļa vai punkta, ja labojiet tiešraides
@@ -1473,7 +1489,7 @@ lv:
       edit: Labot
       preview: Priekšskatījums
     markdown_help:
-      title_html: Parsēts ar <a href="http://daringfireball.net/projects/markdown/">Markdown</a>
+      title_html: Parsēts ar <a href="https://daringfireball.net/projects/markdown/">Markdown</a>
       headings: Virsraksti
       heading: Virsraksts
       subheading: Apakšvirsraksts
@@ -1916,6 +1932,7 @@ lv:
       if set location: Ja Tu uzstādi savu atrašanās vietu, skaista karte un sīkumi
         parādīsies šeit. Tu vari uzstādīt savu mājvietu savā %{settings_link} lapā.
       settings_link_text: iestatījumi
+      my friends: Mani draugi
       no friends: Tu  vēl neesi pievienojis draugus.
       km away: '%{count} km attālumā'
       m away: '%{count} m attālumā'
@@ -1945,6 +1962,7 @@ lv:
       friends_diaries: Skatīt visus draugu dienasgrāmatu ierakstus
       nearby_changesets: Skatīt visas tuvējo lietotāju izmaiņu kopas
       nearby_diaries: Skatīt visus tuvējo lietotāju dienasgrāmatu ierakstus
+      report: Ziņot par šo lietotāju
     popup:
       your location: Jūsu atrašanās vieta
       nearby mapper: Kartētājs tuvējā apkārtnē
@@ -1957,12 +1975,12 @@ lv:
       email never displayed publicly: (nekad netiek rādīta publiski)
       external auth: 'Ārējā autentifikācija:'
       openid:
-        link: http://wiki.openstreetmap.org/wiki/OpenID
+        link: https://wiki.openstreetmap.org/wiki/OpenID
         link text: Kas tas ir?
       public editing:
         heading: 'Publiska rediģēšana:'
         enabled: Ieslēgts. Nav anonīms, un var rediģēt datus.
-        enabled link: http://wiki.OpenStreetMap.org/wiki/Anonymous_edits
+        enabled link: https://wiki.OpenStreetMap.org/wiki/Anonymous_edits
         enabled link text: Kas tas ir?
         disabled: Atspējots un nevar labot datus, visi iepriekšējie labojumi ir anonīmi.
         disabled link text: Kāpēc nevar rediģēt?
@@ -1971,7 +1989,7 @@ lv:
         text: Pašlaik tavi labojumi ir anonīmi un cilvēki nevar nosūtīt tev ziņojumus
           vai redzēt tavu atrašanās vietu. Lai parādītu, ko tu esi labojis un ļautu
           cilvēkiem sazināties ar tevi caur mājaslapu, spied uz pogu zemāk. <b>Kopš
-          0.6 API nomaiņas, tikai publiski lietotāji var labot karti</b>. (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">uzzini
+          0.6 API nomaiņas, tikai publiski lietotāji var labot karti</b>. (<a href="https://wiki.openstreetmap.org/wiki/Anonymous_edits">uzzini
           kāpēc</a>). <ul><li>Tava e-pasta adrese netiks atklāta, ja kļūsi publisks.</li><li>Šo
           darbību nevar atgriezt un visi jaunie lietotāji ir publiski pēc noklusējuma.
       contributor terms:
diff --git a/config/locales/mo.yml b/config/locales/mo.yml
new file mode 100644 (file)
index 0000000..0c5dede
--- /dev/null
@@ -0,0 +1,632 @@
+# Messages for Moldovan (молдовеняскэ)
+# Exported from translatewiki.net
+# Export driver: phpyaml
+# Author: Cybernenea11
+# Author: TheChampionMan1234
+---
+mo:
+  time:
+    formats:
+      friendly: '%e %B %Y ла %H:%M'
+  activerecord:
+    models:
+      acl: Листа де контрол ал акчесулуй
+      changeset: Сет де модификэрь
+      changeset_tag: Маркаж пентру сетул де модификэрь
+      country: Царэ
+      diary_comment: Коментариу ла журнал
+      diary_entry: Ынреӂистраре ын журнал
+      friend: Приетен
+      language: Лимбэ
+      message: Mесаж
+      node: Нод
+      node_tag: Нод таг
+      notifier: Нотификатор
+      old_node: Нод векь
+      old_node_tag: Таг нод векь
+      old_relation: Релацие веке
+      old_relation_member: Мембру ал релацией векь
+      old_relation_tag: Маркаж пентру релация веке
+      old_way: Кале веке
+      relation: Релацие
+      session: Сесиуне
+      trace: Маршрутэ
+      user: Утилизатор
+      way: Кале
+    attributes:
+      diary_comment:
+        body: Концинут
+      diary_entry:
+        user: Утилизатор
+        title: Субьект
+        latitude: Латитудине
+        longitude: Лонӂитудине
+        language: Лимбэ
+      friend:
+        user: Утилизатор
+        friend: Приетен
+      trace:
+        user: Утилизатор
+        visible: Визибилитате
+        name: Денумире
+        size: Дименсиуне
+        latitude: Латитудине
+        longitude: Лонӂитудине
+        public: Публик
+        description: Дескриере
+      message:
+        sender: Тримицэтор
+        title: Субьект
+        body: Концинут
+        recipient: Дестинатар
+      user:
+        email: Пошта електроникэ
+        active: Актив
+        display_name: Нумеле афишат
+        description: Дескриере
+        languages: Лимбь
+        pass_crypt: Паролэ
+  browse:
+    created: Креат
+    closed: Ынкис
+    created_html: Креат <abbr title='%{title}'>ку %{time} ын урмэ</abbr>
+    closed_html: Ынкис <abbr title='%{title}'>ку %{time} ын урмэ</abbr>
+    created_by_html: Креат <abbr title='%{title}'>ку %{time} ын урмэ</abbr> де %{user}
+    deleted_by_html: Штерс <abbr title='%{title}'>ку %{time} ын урмэ</abbr> де %{user}
+    edited_by_html: Модификат <abbr title='%{title}'>ку %{time} ын урмэ</abbr> де
+      %{user}
+    closed_by_html: Ынкис <abbr title='%{title}'>ку %{time} ын урмэ</abbr> де %{user}
+    version: Версиуне
+    anonymous: аноним
+    no_comment: (фэрэ коментариу)
+    part_of: Партичипэ ын
+    download_xml: Дескэркаря XML
+    view_history: Екзаминаря историкулуй
+    view_details: Май деталият
+    location: 'Ситуаре:'
+    changeset:
+      belongs_to: Аутор
+      node: Пункте (%{count})
+      node_paginated: Пункте (%{x}-%{y} дин %{count})
+      way: Кэй (%{count})
+      way_paginated: Кэй (%{x}-%{y} дин %{count})
+      relation: Релаций (%{count})
+      relation_paginated: Релаций (%{x}-%{y} дин %{count})
+      comment: Коментарий (%{count})
+      hidden_commented_by: Коментариу аскунс скрис де %{user} <abbr title='%{exact_time}'>ку
+        %{when} ын урмэ</abbr>
+      commented_by: Коментариу скрис де %{user} <abbr title='%{exact_time}'>ку %{when}
+        ын урмэ</abbr>
+      join_discussion: Вэ ругэм сэ ынтраць ын конт пентру а вэ алэтура дискуцией
+      discussion: Дискуцие
+    node:
+      title: 'Пункт: %{name}'
+    way:
+      title: 'Кале: %{name}'
+      nodes: Пункте
+    relation:
+      title: 'Релацие: %{name}'
+      history_title: 'Историкул релацией: %{name}'
+      members: Мембри
+    relation_member:
+      entry_role: '%{type} %{name} ын ролул %{role}'
+      type:
+        node: Пункт
+        way: Кале
+        relation: Релацие
+    containing_relation:
+      entry: Релация %{relation_name}
+      entry_role: Релация %{relation_name} (ын ролул %{relation_role})
+    not_found:
+      type:
+        node: пункт
+        way: кале
+        relation: релацие
+        note: нотэ
+    timeout:
+      type:
+        node: пункт
+        way: кале
+    start_rjs:
+      loading: Се ынкаркэ...
+    tag_details:
+      tags: Маркаже
+    note:
+      title: 'Нотэ: %{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>
+      commented_by: Коментариу скрис де %{user} <abbr title='%{exact_time}'>ку %{when}
+        ын урмэ</abbr>
+      commented_by_anonymous: Коментариу аноним <abbr title='%{exact_time}'>ку %{when}
+        ын урмэ</abbr>
+      closed_by: Резолватэ де %{user} <abbr title='%{exact_time}'>ку %{when} ын урмэ</abbr>
+      closed_by_anonymous: Резолватэ аноним <abbr title='%{exact_time}'>ку %{when}
+        ын урмэ</abbr>
+      reopened_by: Редескисэ де %{user} <abbr title='%{exact_time}'>ку %{when} ын
+        урмэ</abbr>
+      reopened_by_anonymous: Редескисэ аноним <abbr title='%{exact_time}'>ку %{when}
+        ын урмэ</abbr>
+      hidden_by: Аскунсэ де кэтре %{user} <abbr title='%{exact_time}'>ку %{when} ын
+        урмэ</abbr>
+  changeset:
+    changeset_paging_nav:
+      showing_page: Паӂина %{page}
+      next: Урмэтоаря →
+      previous: ← Пречедента
+    changeset:
+      anonymous: Аноним
+      no_edits: (фэрэ модификэрь)
+    changesets:
+      user: Утилизатор
+      comment: Коментариу
+  diary_entry:
+    new:
+      publish_button: Публикаре
+    edit:
+      subject: 'Субьект:'
+      body: 'Концинут:'
+      language: 'Лимбэ:'
+      location: 'Ситуаре:'
+      latitude: 'Латитудине:'
+      longitude: 'Лонӂитудине:'
+    view:
+      login: Ынтраря ын конт
+    diary_entry:
+      confirm: Конфирмаре
+    diary_comment:
+      confirm: Конфирмаре
+    location:
+      edit: Редактаре
+    comments:
+      post: Месаж
+      when: Кынд
+      comment: Коментариу
+      ago: ку %{ago} ын урмэ
+  geocoder:
+    search_osm_nominatim:
+      prefix:
+        aerialway:
+          cable_car: Фуникулар
+        aeroway:
+          aerodrome: Аеродром
+          hangar: Хангар
+          terminal: Терминал
+        amenity:
+          animal_shelter: Адэпост пентру анимале
+          atm: Банкомат
+          bank: Институцие банкарэ
+          bar: Бар
+          bbq: Грэтар
+          bench: Банкэ/Лавицэ
+          bus_station: Стацие де аутобусе
+          cafe: Кафеня
+          car_wash: Спэлэторие Ауто
+          casino: Казиноу
+          cinema: Чинематограф
+          clinic: Поликлиникэ
+          clock: Часорник
+          college: Колеӂиу
+          courthouse: Жудекэторие
+          crematorium: Крематориу
+          dentist: Стоматолоӂие
+          doctors: Медик
+          drinking_water: Апэ потабилэ
+          driving_school: Шкоала ауто
+          embassy: Амбасадэ
+          fuel: Бензинэрие
+          hospital: Спитал
+          ice_cream: Ынгецатэ
+          kindergarten: Грэдиницэ де копий
+          library: Библиотекэ
+          monastery: Мэнэстире
+          motorcycle_parking: Паркаре пентру моточиклете
+          office: Офичиу
+          parking: Паркаре
+          pharmacy: Фармачие
+          police: Полицие
+          post_box: Кутие пошталэ
+          post_office: Офичиу поштал
+          preschool: Институцие прешколарэ
+          prison: Ынкисоаре
+          public_building: Клэдире публикэ
+          restaurant: Рестаурант
+          sauna: Саунэ
+          school: Шкоалэ
+          shelter: Адэпост
+          shop: Магазин
+          shower: Душ
+          studio: Студиоу
+          swimming_pool: Базин де ынот
+          taxi: Таксиу
+          telephone: Телефон публик
+          theatre: Театру
+          toilets: Тоалетэ/Вичеу
+          university: Университате
+          veterinary: Ветеринар
+          waste_basket: Ладэ де гуной
+          youth_centre: Чентрул пентру тинерет
+        boundary:
+          administrative: Граница административэ
+          national_park: Парк национал
+        bridge:
+          aqueduct: Апедукт
+          boardwalk: Тротуар
+          suspension: Под суспендат
+          viaduct: Виадукт
+          "yes": Под
+        building:
+          "yes": Клэдире
+        craft:
+          brewery: Фабрикэ де бере
+          carpenter: Дулгер
+          electrician: Електричиан
+          gardener: Грэдинар
+          painter: Пиктор/Пикторицэ
+          photographer: Фотограф
+          plumber: Инсталатор
+          shoemaker: Чизмар/Чуботар
+          tailor: Кроитор/Кроиторясэ
+          "yes": Ателиер
+        emergency:
+          phone: Телефон де урӂенцэ
+        highway:
+          bus_stop: Оприря аутобусулуй
+          construction: Репарация/Конструкция друмулуй
+          elevator: Асченсор/Лифт
+          ford: Вад
+          give_way: Индикатор «Чедязэ тречеря»
+          living_street: Страда пиетоналэ
+          motorway: Аутострадэ
+          motorway_junction: Интерсекцие де друмурь
+          path: Потекэ
+          pedestrian: Кале пиетоналэ
+          primary: Друм принчипал
+          primary_link: Друм принчипал
+          raceway: Чиркуит де курсе
+          rest_area: Зонэ де одихнэ
+          road: Друм
+          secondary: Друм секундар
+          secondary_link: Друм секундар
+          steps: Скарэ
+          stop: Индикатор «Оприре»
+          street_lamp: Фелинар де страдэ
+          track: Друм де царэ
+          traffic_signals: Семафор
+          trail: Потекэ
+          "yes": Друм
+        historic:
+          archaeological_site: Лукрэрь археолоӂиче
+          battlefield: Кымп де луптэ
+          building: Клэдире историкэ
+          bunker: Бункер
+          castle: Четате/Фортэряцэ
+          church: Бисерикэ
+          city_gate: Порциле орашулуй
+          citywalls: Зидуриле орашулуй
+          fort: Форт
+          house: Касэ
+          memorial: Мемориал
+          mine: Минэ
+          monument: Монумент
+          roman_road: Друмул роман
+          ruins: Руине
+          stone: Пятрэ
+          tomb: Мормынт
+          tower: Турн
+          wayside_cross: Троицэ
+          wreck: Епавэ
+          "yes": Лок историк
+        junction:
+          "yes": Интерсекцие
+        landuse:
+          allotments: Грэдинэрит
+          basin: Базин/Резервор де апэ
+          cemetery: Чимитир/Цинтирим
+          construction: Конструкцие/Шантиер
+          farm: Фермэ
+          forest: Господэрие силвикэ
+          garages: Гараже
+          grass: Ярбэ
+          industrial: Реӂиуне индустриалэ
+          landfill: Гуноиште/Гроапэ де гуной
+          mine: Минэ
+          quarry: Кариерэ
+          railway: Кале фератэ
+          reservoir: Резервор де апэ
+          vineyard: Вицэ-де-вие
+          "yes": Фолосиря пэмынтулуй
+        leisure:
+          fishing: Пескуит
+          garden: Грэдинэ
+          golf_course: Терен де голф
+          horse_riding: Кэлэрие
+          ice_rink: Патиноар
+          miniature_golf: Мини-голф
+          nature_reserve: Резервацие натуралэ
+          park: Парк
+          pitch: Терен де спорт
+          playground: Терен де жок
+          resort: Бэй
+          sauna: Саунэ
+          stadium: Стадион
+          swimming_pool: Базин де ынот
+          track: Пистэ де алергэрь
+          water_park: Парк акватик
+          "yes": Рэгаз
+        man_made:
+          beacon: Фар
+          beehive: Ступ/Штюбей
+          breakwater: Спарӂевал
+          bridge: Под
+          bunker_silo: Бункер
+          chimney: Кош де фум
+          flagpole: Бэцул стягулуй
+          lighthouse: Фар
+          mast: Катарг
+          mine: Минэ
+          petroleum_well: Сондэ де петрол
+          pipeline: Кондуктэ
+          surveillance: Систем де суправегере
+          tower: Турн
+          watermill: Моарэ де апэ
+          water_tower: Кастел де апэ
+          works: Фабрикэ
+        military:
+          airfield: Аеродромул милитар
+          barracks: Казарме
+          bunker: Бункер
+          "yes": Милитар
+        mountain_pass:
+          "yes": Трекэтоаре ын мунць
+        natural:
+          beach: Плажэ
+          cape: Кап/Промонториу
+          cave_entrance: Ынтраря ын пештерэ
+          crater: Кратер
+          dune: Дунэ
+          fjord: Фиорд
+          forest: Пэдуре
+          geyser: Гейзер
+          glacier: Гецар
+          hill: Дял/Колинэ
+          island: Инсулэ
+          marsh: Млаштинэ
+          mud: Глод/Норой
+          peak: Кряста мунтелуй
+          reef: Речиф
+          rock: Стынкэ
+          sand: Нисип
+          scrub: Туфиш
+          spring: Извор
+          stone: Пятрэ
+          strait: Стрымтоаре
+          tree: Копак
+          valley: Вале
+          volcano: Вулкан
+          water: Апэ
+          wetland: Терен млэштинос
+          wood: Пэдуре
+        office:
+          accountant: Контабил
+          administrative: Администрацие
+          architect: Архитект
+          association: Асочиацие
+          company: Компание
+          educational_institution: Институцие де ынвэцэмынт
+          employment_agency: Аӂенция пентру окупаря форцей де мункэ
+          estate_agent: Аӂенция имобилиарэ
+          government: Институцие де стат
+          lawyer: Журист
+          telecommunication: Офичиул компанией де телекомуникаций
+          travel_agent: Аӂенцие де туризм
+          "yes": Офичиу
+        place:
+          allotments: Грэдинэрит
+          city: Ораш
+          country: Царэ
+          farm: Фермэ
+          house: Касэ
+          houses: Касе
+          island: Инсулэ
+          islet: Инсулицэ
+          postcode: Код поштал
+          sea: Маре
+          suburb: Субурбие
+          town: Орэшел
+          village: Сат
+          "yes": Лок
+        railway:
+          abandoned: Каля фератэ абандонатэ/демонтатэ
+          construction: Репарация/Конструкция кэий ферате
+          halt: Стацие де кале фератэ
+          narrow_gauge: Кале фератэ ку екартамент ынгуст/Дековил
+          platform: Платформэ де кале фератэ
+          subway: Метроу
+          subway_entrance: Ынтраря ын метроу
+          tram: Трамвай
+        shop:
+          bakery: Франзелэрие
+          beauty: Салон де фрумусеце
+          bicycle: Магазин де бичиклете
+          books: Либрэрие
+          butcher: Мэчелэрие
+          car: Вынзаря аутовехикулелор
+          car_parts: Пьесе ауто
+          car_repair: Репараря аутовехикулелор
+          carpet: Магазин де ковоаре
+          clothes: Магазин де хайне
+          computer: Магазин де компутатоаре
+          confectionery: Кофетэрие
+          convenience: Алиментарэ
+          cosmetics: Магазин де косметикэ
+          department_store: Магазин универсал
+          dry_cleaning: Курэцэторие кимикэ
+          estate_agent: Аӂенция имобилиарэ
+          fashion: Магазин де модэ
+          fish: Пескэрие
+          florist: Флорэрие
+          furniture: Магазин де мобилэ
+          gallery: Галерие
+          general: Магазин
+          gift: Магазин де кадоурь
+          greengrocer: Магазин де легуме
+          grocery: Магазин де продусе алиментаре
+          hairdresser: Фризерие/Бэрбиерие
+          jewelry: Магазин де бижутерий/Ӂюваерӂерие
+          kiosk: Кьоск
+          laundry: Спэлэторие
+          lottery: Лотерие
+          market: Пяцэ/Тырг
+          massage: Масаж
+          mobile_phone: Магазин де телефоане мобиле
+          motorcycle: Вынзаря моточиклетелор
+          music: Магазин де музикэ
+          newsagent: Кьоск де зиаре
+          pawnbroker: Ломбард
+          pharmacy: Фармачие
+          shoes: Магазин де ынкэлцэминте
+          sports: Магазин де мэрфурь спортиве
+          stationery: Папетэрие
+          supermarket: Супермаркет
+          tailor: Кроитор/Кроиторясэ
+          ticket: Касэ де билете
+          toys: Магазин де жукэрий
+          travel_agency: Аӂенцие де туризм
+          tyres: Анвелопе де аутомобил
+          wine: Магазин де винурь
+          "yes": Магазин
+        tourism:
+          apartment: Апартамент ын кирие
+          artwork: Оперэ де артэ
+          attraction: Обьектив туристик
+          cabin: Колибэ
+          gallery: Галерие
+          hotel: Хотел
+          information: Информацие
+          motel: Мотел
+          museum: Музеу
+          zoo: Грэдинэ зоолоӂикэ
+        tunnel:
+          "yes": Тунел
+        waterway:
+          dam: Диг
+          ditch: Шанц/Хиндикь
+          dock: Док
+          drain: Скурӂере
+          lock: Еклузэ
+          lock_gate: Поартэ де еклузэ
+          river: Рыу/Флувиу
+          stream: Пырэу
+          waterfall: Каскадэ
+    description:
+      types:
+        cities: Ораше
+        towns: Орэшеле
+        places: Локурь
+    results:
+      no_results: Ну с'а гэсит нич ун резултат
+      more_results: Май мулте резултате
+  issues:
+    index:
+      title: Проблеме
+      select_status: Алеӂець статутул
+      select_type: Алеӂець типул
+      search: Кэутаре
+  layouts:
+    logo:
+      alt_text: Логотипул OpenStreetMap
+    logout: Ынкееря сесиуний
+    log_in: Ынтраря ын конт
+    sign_up: Креаря контулуй
+    start_mapping: Ынчепець картографиеря
+    sign_up_tooltip: Креаць ун конт пентру а ынчепе редактаря
+    edit: Редактаре
+    history: Историк
+    export: Експортаре
+    issues: Проблеме
+    data: Дате
+    export_data: Експортаря дателор
+    gps_traces: Трасаре-GPS
+    user_diaries: Журналеле утилизаторилор
+    edit_with: Редактаря ку ажуторул %{editor}
+    intro_header: Бине аць венит ла OpenStreetMap!
+    intro_text: OpenStreetMap есте о хартэ а лумий, креатэ де оамень ка ши думнявоастрэ,
+      ши поате фи утилизатэ ын мод либер суб о личенцэ дескисэ.
+    intro_2_create_account: Креаць ун конт де утилизатор
+    partners_html: Хостингул есте сусцинут де %{ucl}, %{bytemark} ши %{ic}, прекум
+      ши де кэтре алць %{partners}.
+    partners_ucl: Колеӂиул Университар дин Лондра (UCL)
+    partners_ic: Колеӂиул Империал дин Лондра
+    partners_bytemark: Хостингул Bytemark
+    partners_partners: партенерь
+    help: Ажутор
+    about: Деспре проект
+    copyright: Дрепт де аутор
+    community: Комунитате
+    community_blogs: Блогуриле комунитэций
+    foundation: Фондул
+    foundation_title: Фондул OpenStreetMap
+    make_a_donation:
+      text: Фачець о донацие
+    learn_more: Афлаць май мулте
+    more: Май мулте
+  site:
+    export:
+      title: Експортаре
+  user:
+    login:
+      title: Презентаци-вэ
+      heading: Презентаци-вэ
+      email or username: 'Пошта електроникэ сау нумеле де утилизатор:'
+      password: 'Паролэ:'
+      remember: Пэстраря сесиуний
+      lost password link: Аць уйтат парола?
+      login_button: Ынтраря ын конт
+      register now: Ынреӂистраци-вэ акум
+      create account minute: Креаць ун конт де утилизатор. Ачест лукру ну вэ ва луа
+        мулт тимп.
+      no account: Ну авець ун конт де утилизатор?
+      openid_logo_alt: Ынтраря ку ажуторул OpenID
+      auth_providers:
+        openid:
+          title: Ынтраря ку ажуторул OpenID
+          alt: Ынтраря ку ажуторул OpenID URL
+        google:
+          title: Ынтраря ку ажуторул Google
+          alt: Ынтраря ку ажуторул Google OpenID
+        facebook:
+          title: Ынтраря ку ажуторул Facebook
+          alt: Ынтраря ку ажуторул контулуй де Facebook
+        windowslive:
+          title: Ынтраря ку ажуторул Windows Live
+          alt: Ынтраря ку ажуторул контулуй де Windows Live
+        github:
+          title: Ынтраря ку ажуторул GitHub
+          alt: Ынтраря ку ажуторул контулуй де GitHub
+        wikipedia:
+          title: Ынтраря ку ажуторул Википедией
+          alt: Ынтраря ку ажуторул контулуй де Википедия
+        yahoo:
+          title: Ынтраря ку ажуторул Yahoo
+          alt: Ынтраря ку ажуторул Yahoo OpenID
+        wordpress:
+          title: Ынтраря ку ажуторул Wordpress
+          alt: Ынтраря ку ажуторул Wordpress OpenID
+        aol:
+          title: Ынтраря ку ажуторул AOL
+          alt: Ынтраря ку ажуторул AOL OpenID
+    logout:
+      title: Ынкееря сесиуний
+      heading: Ешире дин OpenStreetMap
+      logout_button: Ынкееря сесиуний
+    lost_password:
+      title: Рестабилиря паролей
+      heading: Аць уйтат парола?
+      email address: 'Адреса де поштэ електроникэ:'
+      new password button: Рестабилиря паролей
+...
index 9d5a38d481df3083db27b1f987198c8ebdbf4cb5..fd73c429a2c30e3ca97ef37057b041fa5858bc3c 100644 (file)
@@ -15,6 +15,7 @@
 # Author: Kingu
 # Author: Laaknor
 # Author: Macofe
+# Author: MarkusHD
 # Author: Nemo bis
 # Author: Nghtwlkr
 # Author: Oyvind
@@ -317,7 +318,7 @@ nb:
       comment_link: Kommenter dette innlegget
       reply_link: Svar på dette innlegget
       comment_count:
-        one: '{count} kommentar'
+        one: '%{count} kommentar'
         zero: Ingen kommentarer
         other: '%{count} kommentarer'
       edit_link: Rediger innlegget
index 9ddc2bc1bdc5c6083852a3cc10a7457124d012d8..95f0b78bc9b6bfa4008f0be93c945845d4f32aba 100644 (file)
@@ -564,7 +564,7 @@ pl:
           path: Ścieżka
           pedestrian: Droga dla pieszych
           platform: Miejsce oczekiwania dla pasażerów
-          primary: Droga pierwszorzędna (krajowa)
+          primary: Droga pierwszorzędna
           primary_link: Droga pierwszorzędna – dojazd
           proposed: Droga planowana
           raceway: Tor wyścigowy
@@ -572,7 +572,7 @@ pl:
           rest_area: Miejsce obsługi podróżnych
           road: Droga
           secondary: Droga drugorzędna
-          secondary_link: Droga drugorzędna – dojazd
+          secondary_link: Droga drugorzędna – łącznik
           service: Droga serwisowa/dojazdowa
           services: Miejsce Obsługi Podróżnych
           speed_camera: Fotoradar
@@ -973,6 +973,26 @@ pl:
     results:
       no_results: Nie odnaleziono wyników
       more_results: Więcej wyników
+  issues:
+    index:
+      user_not_found: Użytkownika nie istnieje
+    helper:
+      reportable_title:
+        note: 'Uwaga #%{note_id}'
+  reports:
+    new:
+      select: 'Wybierz powód zgłoszenia:'
+      categories:
+        diary_entry:
+          spam_label: Wpis dziennika jest/zawiera spam
+        user:
+          spam_label: Profil użytkownika jest/zawiera spam
+          threat_label: Profil użytkownika zawiera groźbę
+          other_label: Inny
+        note:
+          spam_label: Uwaga jest spamem
+          personal_label: Uwaga zawiera dane osobiste
+          abusive_label: Ta uwaga jest obraźliwa
   layouts:
     project_name:
       title: OpenStreetMap
@@ -1653,6 +1673,7 @@ pl:
       identifiable: Zidentyfikowany (wyświetlany na liście śladów i jako zidentyfikowany,
         uporządkowane punkty ze znacznikami czasu)
     new:
+      upload_trace: Wgraj ślad GPS
       upload_gpx: Prześlij plik GPX
       description: Opis
       tags: 'Tagi:'
@@ -2071,6 +2092,7 @@ pl:
       friends_diaries: wpisy w dziennikach znajomych
       nearby_changesets: pobliskie zestawy zmian
       nearby_diaries: pobliskie wpisy w dziennikach
+      report: Zgłoś tego użytkownika
     popup:
       your location: Twoje położenie
       nearby mapper: Mapowicz z okolicy
@@ -2461,7 +2483,7 @@ pl:
         anonymous_warning: Uwaga zawiera informacje od anonimowych użytkowników, które
           powinny być dodatkowo zweryfikowane przed wprowadzeniem zmian na mapie.
         hide: Ukryj
-        resolve: Rozwiąż
+        resolve: Oznacz jako rozwiązaną
         reactivate: Ponownie aktywuj
         comment_and_resolve: Skomentuj i rozwiąż
         comment: Dodaj komentarz
@@ -2499,6 +2521,7 @@ pl:
         turn_left_without_exit: Skręć w lewo w %{name}
         offramp_left_with_name: Jedź zjazdem w lewo do %{name}.
         onramp_left_without_exit: Skręć w lewo do podjazdu do %{name}.
+        onramp_left_without_directions: Skręć w lewo na łącznik
         endofroad_left_without_exit: Na końcu tej drogi skręć w lewo w kierunku %{name}.
         merge_left_without_exit: Skręć w lewo w kierunku %{name}.
         fork_left_without_exit: Na rozwidleniu dróg skręć w prawo w kierunku %{name}.
index 51b47735754c613531956ac4a1834d63f1e5c010..e330c578c55876e7eaf9a6f92318392a040d4e77 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Brazilian Portuguese (português do Brasil)
 # Exported from translatewiki.net
 # Export driver: phpyaml
+# Author: Alvarenga
 # Author: Amgauna
 # Author: Athena in Wonderland
 # Author: BraulioBezerra
@@ -47,6 +48,7 @@ pt-BR:
   time:
     formats:
       friendly: '%e de %B de %Y às %H:%M'
+      blog: '%e %B %Y'
   activerecord:
     models:
       acl: Lista de controle de acesso
@@ -117,6 +119,7 @@ pt-BR:
         pass_crypt: Senha
   printable_name:
     with_version: '%{id}, v%{version}'
+    with_name_html: '%{name} (%{id})'
   editor:
     default: Padrão (atualmente %{name})
     potlatch:
@@ -1164,7 +1167,7 @@ pt-BR:
         more_info_1: Mais informações sobre erros de importação de arquivos GPX e
           como evitá-los
         more_info_2: 'podem ser encontradas em:'
-        import_failures_url: http://wiki.openstreetmap.org/wiki/GPX_Import_Failures?uselang=pt-br
+        import_failures_url: https://wiki.openstreetmap.org/wiki/GPX_Import_Failures?uselang=pt-br
       success:
         subject: '[OpenStreetMap] Sucesso ao importar arquivo GPX'
         loaded_successfully: |-
@@ -1868,7 +1871,7 @@ pt-BR:
         wiki</a>.
       upload_trace: Enviar uma trilha
       see_all_traces: Ver todas as trilhas
-      see_my_traces: Ver meus trilhos
+      see_my_traces: Ver minhas trilhas
     delete:
       scheduled_for_deletion: Trilha marcada para ser apagada
     make_public:
@@ -2106,6 +2109,7 @@ pt-BR:
       terms declined: Lamentamos que você tenha decidido não aceitar os novos Termos
         do Contribuidor. Para mais informações, consulte <a href="%{url}">esta página
         do wiki</a> .
+      terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=pt-br
     terms:
       title: Termos do contribuidor
       heading: Termos do contribuidor
@@ -2115,11 +2119,11 @@ pt-BR:
       consider_pd: Em adição ao disposto acima, eu desejo que minhas contribuições
         sejam de Domínio Público
       consider_pd_why: o que é isso?
-      consider_pd_why_url: http://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
+      consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
       guidance: 'Informações para ajudar a entender estes termos: um <a href="%{summary}">Resumo
         humano legível</a> e algumas <a href="%{translations}">traduções informais</a>'
       agree: Concordo
-      declined: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
+      declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined?uselang=pt-br
       decline: Discordo
       you need to accept or decline: Por favor leia e, em seguida, aceite ou recuse
         os novos Termos do Contribuidor para continuar.
@@ -2241,7 +2245,7 @@ pt-BR:
           e aceitar os novos Termos de Contribuição.
         agreed_with_pd: Você também declara que considera suas edições em Domínio
           Público.
-        link: http://www.osmfoundation.org/wiki/License/Contributor_Terms
+        link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
         link text: o que é isso?
       profile description: 'Descrição do Perfil:'
       preferred languages: 'Idiomas Preferidos:'
@@ -2249,6 +2253,7 @@ pt-BR:
       image: 'Imagem:'
       gravatar:
         gravatar: Use o Gravatar
+        link: https://wiki.openstreetmap.org/wiki/Gravatar?uselang=pt-br
         link text: O que é isto?
         disabled: O Gravatar foi desativado.
         enabled: A exibição do seu Gravatar foi ativada.
@@ -2554,7 +2559,7 @@ pt-BR:
         header: Camadas do Mapa
         notes: Notas de Mapa
         data: Dados do Mapa
-        gps: Trlhas de GPS públicas
+        gps: Trilhas de GPS públicas
         overlays: Ativar sobreposições para solucionar problemas do mapa
         title: Camadas
       copyright: © <a href='%{copyright_url}'>contribuidores do OpenStreetMap</a>
index 2c56ff3036fd2678c3f730f060480958a19bd442..cc372890d5428b6ac99174a89aaddce64f418484 100644 (file)
@@ -408,7 +408,7 @@ pt-PT:
           boat_rental: Aluguer de Barcos
           brothel: Bordel
           bureau_de_change: Casa de câmbio
-          bus_station: Estação de autocarros
+          bus_station: Estação rodoviária
           cafe: Café
           car_rental: Aluguer de automóveis
           car_sharing: Car Sharing (partilha de carros)
index 267edd355144a1f58202ef7f0d02db0fa1d4c222..7c701409d5d6b96f1878b1c04802aabca82a880b 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: phpyaml
 # Author: C1pr1an
 # Author: EddyPetrisor
+# Author: Kyouko
 # Author: McDutchie
 # Author: Minisarm
 # Author: Ruila
@@ -240,7 +241,7 @@ ro:
     list:
       title: Set de modificări
       title_user: Seturi de modificări făcute de %{user}
-      title_friend: Seturi de modificări de la prietenii dv.
+      title_friend: Seturi de modificări de la prietenii mei
       title_nearby: Modificări de la utilizatori din apropiere
       empty: Niciun set de modificări găsit.
       empty_area: Niciun set de modificări în această zonă.
@@ -267,7 +268,7 @@ ro:
       user_title: Jurnalul utilizatorului %{user}
       in_language_title: Înregistrări de jurnal în %{language}
       new: O nouă înregistrare în jurnal
-      new_title: Compune o înregistrare nouă în jurnalul dvs. de utilizator
+      new_title: Compune o înregistrare nouă în jurnalul meu de utilizator
       no_entries: Nu există înregistrări în jurnal
       recent_entries: Înregistrări recente din jurnal
       older_entries: Înregistrări mai vechi
@@ -307,10 +308,12 @@ ro:
       edit_link: Editează această înregistrare
       hide_link: Ascunde această înregistrare
       confirm: Confirmă
+      report: Reclamă această înregistrare
     diary_comment:
       comment_from: Comentariu de la %{link_user} pe %{comment_created_at}
       hide_link: Ascunde acest comentariu
       confirm: Confirmă
+      report: Reclamă acest comentariu
     location:
       location: 'Loc:'
       view: Vizualizează
@@ -338,12 +341,12 @@ ro:
   geocoder:
     search:
       title:
-        latlon: Rezultate <a href="http://openstreetmap.org/">interne</a>
-        ca_postcode: Rezultate de la <a href="http://geocoder.ca/">Geocoder.CA</a>
-        osm_nominatim: Rezultate de la <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+        latlon: Rezultate de la <a href="https://openstreetmap.org/">interne</a>
+        ca_postcode: Rezultate de la <a href="https://geocoder.ca/">Geocoder.CA</a>
+        osm_nominatim: Rezultate de la <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
           Nominatim</a>
         geonames: Rezultate de la <a href="http://www.geonames.org/">GeoNames</a>
-        osm_nominatim_reverse: Rezultate de la <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+        osm_nominatim_reverse: Rezultate de la <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
           Nominatim</a>
         geonames_reverse: Rezultate de la <a href="http://www.geonames.org/">GeoNames</a>
     search_osm_nominatim:
index c125f3d878f34638cc802e84a9b5539696ed45b2..8563c48d992bade1f2657030377d94351cd4b228 100644 (file)
@@ -13,6 +13,7 @@
 # Author: Ruila
 # Author: Skalcaa
 # Author: Stefanb
+# Author: Upwinxp
 ---
 sl:
   time:
@@ -223,6 +224,7 @@ sl:
       reopened_by_anonymous: Ponovno aktiviral anonimni <abbr title='%{exact_time}'>%{when}
         nazaj</abbr>
       hidden_by: Skril %{user} <abbr title='%{exact_time}'>%{when} nazaj</abbr>
+      report: Prijavi to opombo
     query:
       title: Poišči značilnosti
       introduction: Kliknite na zemljevid za iskanje bližnjih značilnosti.
@@ -316,10 +318,12 @@ sl:
       edit_link: Uredi ta vnos
       hide_link: Skrij ta vnos
       confirm: Potrdi
+      report: Prijavi ta vnos
     diary_comment:
       comment_from: Komentar uporabnika %{link_user} dne %{comment_created_at}
       hide_link: Skrij ta komentar
       confirm: Potrdi
+      report: Prijavi ta komentar
     location:
       location: 'Lokacija:'
       view: Poglej
@@ -541,7 +545,7 @@ sl:
           unclassified: Neopredeljena cesta
           "yes": Cesta
         historic:
-          archaeological_site: Arheološko najdbišče
+          archaeological_site: Arheološko najdišče
           battlefield: Bojišče
           boundary_stone: Mejni kamen
           building: Zgodovinska stavba
@@ -640,6 +644,7 @@ sl:
           embankment: Nasip
           flagpole: Zastavni drog
           lighthouse: Svetilnik
+          mast: Steber
           mine: Rudnik
           mineshaft: Rudniški jašek
           petroleum_well: Naftna vrtina
@@ -822,6 +827,7 @@ sl:
           optician: Optik
           organic: Trgovina z ekološko hrano
           outdoor: Trgovina za dejavnosti na prostem
+          paint: Trgovina z barvami
           pet: Trgovina za male živali
           pharmacy: Lekarna
           photo: Fotograf
@@ -860,6 +866,7 @@ sl:
           viewpoint: Razgledna točka
           zoo: Živalski vrt
         tunnel:
+          building_passage: Prehod skozi zgradbo
           culvert: Podzemni kanal
           "yes": Predor
         waterway:
@@ -901,6 +908,20 @@ sl:
     results:
       no_results: Ni zadetkov
       more_results: Več zadetkov
+  issues:
+    index:
+      status: Stanje
+    show:
+      ignore: Prezri
+      reopen: Ponovno odpri
+  issue_comments:
+    create:
+      comment_created: Vaš komentar je bil uspešno ustvarjen
+  reports:
+    new:
+      disclaimer:
+        intro: 'Pred pošiljanjem poročila moderatorjem strani se prosimo prepričajte,
+          da:'
   layouts:
     logo:
       alt_text: OpenStreetMap logotip
@@ -990,7 +1011,7 @@ sl:
     signup_confirm:
       subject: '[OpenStreetMap] Dobrodošli na OpenStreetMap'
       greeting: Pozdravljeni!
-      created: Nekdo (upamo da ste to vi) je pravkar ustvarili račun na %{site_url}.
+      created: Nekdo (upamo, da ste to vi) je pravkar ustvaril račun na %{site_url}.
       confirm: 'Pred karkoli drugim, morate potrditi, da je ta zahteva prišla od vas.
         Zato kliknite na spodnjo povezavo, da potrdite svoj račun:'
       welcome: Ko boste potrdili svoj račun, vam bomo za začetek nudili nekaj dodatnih
@@ -999,7 +1020,7 @@ sl:
       subject: '[OpenStreetMap] Potrdite svoj elektronski naslov'
     email_confirm_plain:
       greeting: Pozdravljeni,
-      hopefully_you: Nekdo (upamo da ste to vi) je zahteval spremembo svojega e-poštnega
+      hopefully_you: Nekdo (upamo, da ste to vi) je zahteval spremembo svojega e-poštnega
         naslova v %{server_url} na %{new_address}.
       click_the_link: Če ste to vi, vas prosimo, da kliknete na spodnjo povezavo za
         potrditev spremembe.
@@ -1013,7 +1034,7 @@ sl:
       subject: '[OpenStreetMap] Zahteva za ponastavitev gesla'
     lost_password_plain:
       greeting: Pozdravljeni,
-      hopefully_you: Nekdo (upamo da ste to vi) je zahteval ponastavitev gesla uporabniškega
+      hopefully_you: Nekdo (verjetno vi) je zahteval ponastavitev gesla uporabniškega
         računa openstreetmap.org s tem e-poštnim naslovom.
       click_the_link: Če ste to vi, vas prosimo, da kliknete na spodnjo povezavo za
         ponastavitev gesla.
@@ -1439,6 +1460,7 @@ sl:
       identifiable: Določljiva (prikazana na seznamu kot razpoznava, urejene točke
         s časom)
     new:
+      upload_trace: Naloži sled GPS
       upload_gpx: 'Naložite datoteko GPX:'
       description: 'Opis:'
       tags: 'Oznake:'
@@ -1497,6 +1519,7 @@ sl:
       delete_track: Izbriši to sled
       trace_not_found: Sledi ni bilo mogoče najti!
       visibility: 'Vidljivost:'
+      confirm_delete: Izbriši to sled?
     trace_paging_nav:
       showing_page: Stran %{page}
       older: Starejše sledi
@@ -1519,6 +1542,7 @@ sl:
       map: zemljevid
     list:
       public_traces: Javne sledi GPS
+      my_traces: Moje sledi GPS
       public_traces_from: Javne sledi GPS uporabnika %{user}
       description: Prebrskaj nedavno poslane sledi GPS
       tagged_with: ' z oznako %{tags}'
@@ -1526,7 +1550,8 @@ sl:
         izvedete več o GPS sledeh na <a href='https://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>wiki
         strani</a>.
       upload_trace: Naloži sled GPS
-      see_all_traces: Seznam vseh sledi
+      see_all_traces: Pokaži vse sledi
+      see_my_traces: Pokaži moje sledi
     delete:
       scheduled_for_deletion: Sled bo izbrisana
     make_public:
@@ -1678,15 +1703,27 @@ sl:
         google:
           title: Prijava z Googlom
           alt: Prijava z Google OpenID-jem
+        facebook:
+          title: Prijavi se s Facebookom
+          alt: Prijavi se z računom Facebook
+        windowslive:
+          title: Prijavi se z Windows Live
+          alt: Prijavi se z računom Windows Live
         github:
           title: Vpis z GitHub-om
           alt: Vpis z računom pri GitHub-u
+        wikipedia:
+          title: Prijavi se z Wikipedio
+          alt: Prijavi se z računom Wikipedia
         yahoo:
           title: Prijava z Yahoo
           alt: Prijava z Yahoo OpenID
         wordpress:
           title: Prijava z Wordpressom
           alt: Prijava z Wordpress OpenID-jem
+        aol:
+          title: Prijavi se z AOL-om
+          alt: Prijavi se z z OpenID-jem AOL
     logout:
       title: Odjava
       heading: Odjava iz OpenStreetMap
@@ -1806,6 +1843,7 @@ sl:
       if set location: Nastavite vašo domačo lokacijo na strani %{settings_link},
         da vidite bližnje uporabnike.
       settings_link_text: vaših nastavitev
+      my friends: Moji prijatelji
       no friends: Niste še dodali nobenih prijateljev.
       km away: oddaljen %{count} km
       m away: oddaljen %{count} m
@@ -1836,6 +1874,7 @@ sl:
       friends_diaries: dnevniki prijateljev
       nearby_changesets: paketi sprememb bližnjih uporabnikov
       nearby_diaries: dnevniški vnosi bližnjih uporabnikov
+      report: Prijavi tega uporabnika
     popup:
       your location: Vaša lokacija
       nearby mapper: Bližnji kartograf
@@ -1877,7 +1916,7 @@ sl:
         agreed_with_pd: Prav tako ste izjavili, da so vaša urejanja v javni lasti.
         link text: Kaj je to?
       profile description: 'Opis uporabnika:'
-      preferred languages: 'Jezikovne preference:'
+      preferred languages: 'Prednostni jeziki:'
       preferred editor: 'Izbran urejevalnik:'
       image: 'Slika:'
       gravatar:
@@ -1888,7 +1927,7 @@ sl:
       keep image: Obdrži trenutno sliko
       delete image: Odstrani trenutno sliko
       replace image: Zamenjaj trenutno sliko
-      image size hint: (Najbolje delujejo kvadratne slike vsaj 100x100 točk)
+      image size hint: (najbolje delujejo kvadratne slike vsaj 100x100 točk)
       home location: 'Domača lokacija:'
       no home location: Niste nastavili vaše domače lokacije.
       latitude: 'Zemljepisna širina:'
@@ -1904,7 +1943,7 @@ sl:
       heading: Preverite vaš e-poštni naslov!
       introduction_1: Poslali smo vam potrditveno e-pošto.
       introduction_2: Potrdite svoj račun s klikom na povezavo v e-pošti in takoj
-        boste lahko začeli kartiranti.
+        boste lahko začeli kartirati.
       press confirm button: Za aktivacijo vašega uporabniškega računa pritisnite na
         gumb Potrdi spodaj.
       button: Potrdi
@@ -2203,6 +2242,9 @@ sl:
         intro: Ste opazili napako ali pa kaj manjka? Obvestite ostale kartografe o
           tem, da lahko to popravimo. Premaknite oznako na pravilno lokacijo in vpišite
           opombo, kjer pojasnite problem.
+        advice: Vaša opomba je javna in se jo lahko uporabi za posodobitev zemljevida.
+          Ne vnašajte osebnih podatkov, ali podatkov z avtorsko-zaščitenih zemljevidov
+          ali iz imenikov.
         add: Dodaj opombo
       show:
         anonymous_warning: To opomba vključuje pripombe anonimnih uporabnikov, ki
@@ -2229,7 +2271,7 @@ sl:
       distance: Razdalja
       errors:
         no_route: Ni mogoče najti poti med tema dvema položajema.
-        no_place: Žal tega kraja ni bilo mogoče najti.
+        no_place: Žal kraja '%{place}' ni bilo mogoče najti.
       instructions:
         continue_without_exit: Nadaljujte po %{name}
         slight_right_without_exit: Rahlo desno na %{name}
index 7d509fce7551aa79d59549949362fa9e6a08c6fd..b972ae86db25ced614747743fe11c708a6e4135c 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: phpyaml
 # Author: Acamicamacaraca
 # Author: Aktron
+# Author: BadDog
 # Author: Macofe
 # Author: Magnumns
 # Author: Milicevic01
@@ -116,9 +117,9 @@ sr:
     closed_html: Затворено пре <abbr title='%{title}'>%{time}</abbr>
     created_by_html: Направио %{user} пре <abbr title='%{title}'>%{time}</abbr>
     deleted_by_html: Избрисао %{user} пре <abbr title='%{title}'>%{time}</abbr>
-    edited_by_html: Ð\98зменио %{user} пре <abbr title='%{title}'>%{time}</abbr>
-    closed_by_html: Затворио %{user} пре <abbr title='%{title}'>%{time}</abbr>
-    version: Ð\98здаÑ\9aе
+    edited_by_html: Ð£Ñ\80едио ÐºÐ¾Ñ\80иÑ\81ник %{user} пре <abbr title='%{title}'>%{time}</abbr>
+    closed_by_html: Затворио корисник %{user} пре <abbr title='%{title}'>%{time}</abbr>
+    version: Ð\92еÑ\80зиÑ\98а
     in_changeset: Скуп измена
     anonymous: анониман
     no_comment: (нема коментара)
@@ -922,6 +923,20 @@ sr:
       select_type: Одаберите врсту
       select_last_updated_by: Одаберите по кориснику последњег ажурирања
       reported_user: Пријављени корисник
+      search: Претрага
+      user_not_found: Корисник не постоји
+      reports: Извештаји
+      last_updated: Последње ажурирање
+      link_to_reports: Прикажи извештаје
+      states:
+        open: Отвори
+        resolved: Решено
+    show:
+      resolve: Разреши
+      ignore: Игнориши
+      reopen: Поново отвори
+      read_reports: Прочитај извештаје
+      new_reports: Нови извештаји
     helper:
       reportable_title:
         diary_comment: '%{entry_title}, коментар %{comment_id}'
@@ -951,6 +966,7 @@ sr:
     edit: Уреди
     history: Историја
     export: Извези
+    issues: Проблеми
     data: Подаци
     export_data: Извези податке
     gps_traces: ГПС трагови
@@ -1372,7 +1388,7 @@ sr:
       format_to_export: Формат за извоз
       osm_xml_data: Подаци у XML формату
       map_image: Слика мапе (приказује стандардни слој)
-      embeddable_html: Уградиви HTML кôд
+      embeddable_html: Уградиви HTML код
       licence: Лиценца
       export_details: Подаци OpenStreetMap-а су доступни под лиценцом <a href="http://opendatacommons.org/licenses/odbl/1.0/">Open
         Data Commons Open Database License</a> (ODbL).
@@ -1407,7 +1423,7 @@ sr:
       latitude: 'Ширина:'
       longitude: 'Дужина:'
       output: Исход
-      paste_html: HTML кôд за уградњу на сајт
+      paste_html: HTML код за уградњу на сајт
       export_button: Извези
     fixthemap:
       title: Пријави проблем / Поправи карту
@@ -1991,6 +2007,7 @@ sr:
       if set location: Постави почетну позицију на страници %{settings_link} да видиш
         кориснике у околини.
       settings_link_text: поставкама
+      my friends: Моји пријатељи
       no friends: Нисте додали ниједног пријатеља.
       km away: удаљено %{count} км
       m away: удаљено %{count} м
@@ -2020,6 +2037,7 @@ sr:
       friends_diaries: Дневник пријатеља
       nearby_changesets: Спискови промена корисника у околини
       nearby_diaries: Дневници корисника у околини
+      report: Пријави овог корисника
     popup:
       your location: Ваша локација
       nearby mapper: Оближњи картограф
@@ -2451,6 +2469,17 @@ sr:
         roundabout_with_exit: На кружном току изаберите излаз %{exit} на %{name}
         unnamed: без имена
         courtesy: Путању је омогућио %{link}
+        exit_counts:
+          first: "1."
+          second: "2."
+          third: "3."
+          fourth: "4."
+          fifth: "5."
+          sixth: "6."
+          seventh: "7."
+          eighth: "8."
+          ninth: "9."
+          tenth: "10."
       time: Време
     query:
       node: Тачка
index 86de2987cf1eb8ed8a4c84637e6f1513e7ac0d34..691e6af412a8ec9dc3bc344ca564855e61a3e81f 100644 (file)
@@ -215,6 +215,7 @@ th:
       reopened_by_anonymous: เปิดใช้ซ้ำโดยผู้ไม่ประสงค์ออกนาม เมื่อ <abbr title='%{exact_time}'>%{when}
         ก่อน</abbr>
       hidden_by: ซ่อนโดย %{user} เมื่อ <abbr title='%{exact_time}'>%{when} ก่อน</abbr>
+      report: แจ้งปัญหาเกี่ยวกับหมายเหตุนี้
     query:
       title: ส่วนประกอบในพื้นที่
       introduction: คลิกที่แผนที่เพื่อค้นหาคุณสมบัติต่าง ๆ ที่อยู่ใกล้เคียง
@@ -310,6 +311,7 @@ th:
       comment_from: ความคิดเห็นจาก %{link_user} เมื่อ %{comment_created_at}
       hide_link: ซ่อนข้อคิดเห็นนี้
       confirm: ยืนยัน
+      report: แจ้งปัญหาเกี่ยวกับความเห็นนี้
     location:
       location: 'ที่ตั้ง:'
       view: ดู
@@ -424,7 +426,7 @@ th:
           parking_entrance: ทางเข้าที่จอดรถ
           parking_space: ซองจอดรถ
           pharmacy: ร้านขายยา
-          place_of_worship: à¸ªà¸\96าà¸\99à¸\97ีà¹\88à¸\9bระà¸\81อà¸\9aà¸\9eิà¸\98ีà¸\97าà¸\87ศาสà¸\99า
+          place_of_worship: à¸¨à¸²à¸ªà¸\99สà¸\96าà¸\99
           police: สถานีตำรวจ
           post_box: ตู้ไปรษณีย์
           post_office: ที่ทำการไปรษณีย์
@@ -511,7 +513,7 @@ th:
           motorway_link: ถนนทางหลวงพิเศษ
           passing_place: ที่หลีกรถ
           path: เส้นทาง
-          pedestrian: à¸\97าà¸\87คนเดิน
+          pedestrian: à¸\96à¸\99à¸\99คนเดิน
           platform: ชานชาลา
           primary: ถนนสายหลัก
           primary_link: ถนนสายหลัก
@@ -706,7 +708,7 @@ th:
           stone: หลักหิน
           strait: ช่องแคบ
           tree: ต้นไม้
-          valley: à¸«à¸¸à¸\9aà¸\9c
+          valley: à¸«à¸¸à¸\9aà¹\80à¸\82
           volcano: ภูเขาไฟ
           water: น้ำ
           wetland: พื้นที่ชุ่มน้ำ
@@ -786,7 +788,7 @@ th:
           bakery: ร้านขายขนมอบ
           beauty: ร้านเสริมสวย
           beverages: ร้านขายเครื่องดื่ม
-          bicycle: à¸£à¹\89าà¸\99à¸\82ายà¹\81ละà¹\80à¸\8aà¹\88าà¸\88ัà¸\81รยาà¸\99
+          bicycle: ร้านจักรยาน
           bookmaker: ร้านทำหนังสือ
           books: ร้านขายหนังสือ
           boutique: ร้านเสริมสวย
@@ -858,7 +860,7 @@ th:
           ticket: ร้านขายตั๋ว
           tobacco: ร้านขายยาสูบ
           toys: ร้านขายของเล่น
-          travel_agency: à¸\95ัวà¹\81à¸\97à¸\99à¸\81ารà¹\80à¸\94ิà¸\99à¸\97าà¸\87
+          travel_agency: à¸\95ัวà¹\81à¸\97à¸\99à¸\9aริษัà¸\97à¸\99ำà¹\80à¸\97ีà¹\88ยว
           tyres: ร้านขายยางรถ
           vacant: ร้านทิ้งร้าง
           variety_store: ร้านขายของจุกจิก
@@ -929,6 +931,19 @@ th:
     results:
       no_results: ไม่พบผลลัพธ์
       more_results: ดูผลลัพธ์เพิ่ม
+  issues:
+    index:
+      status: สถานะ
+  reports:
+    new:
+      categories:
+        diary_entry:
+          other_label: อื่นๆ
+        note:
+          spam_label: หมายเหตุนี้เป็นสแปม
+          personal_label: หมายเหตุนี้มีข้อมูลส่วนบุคคล
+          abusive_label: หมายเหตุนี้ใช้ถ้อยคำหยาบคายหรือส่งเสริมความรุนแรง
+          other_label: อื่นๆ
   layouts:
     logo:
       alt_text: ตราสัญลักษณ์ OpenStreetMap
@@ -1267,6 +1282,7 @@ th:
         trademarks_title_html: <span id="trademarks"></span>เครืองหมายการค้า
     index:
       js_1: ท่านกำลังใช้เบราว์เซอร์ที่ไม่รองรับจาวาสคริปต์ หรือท่านปิดใช้งานจาวาสคริปต์
+      js_2: OpenStreetMap ใช้จาวาสคริปต์ในการแสดงแผนที่
       permalink: ลิงก์ถาวร
       shortlink: ลิงก์ย่อ
       createnote: เพิ่มหมายเหตุ
@@ -2032,6 +2048,7 @@ th:
         notes: หมายเหตุแผนที่
         data: ข้อมูลแผนที่
         gps: รอยทาง GPS สาธารณะ
+        title: ชั้นแผนที่
       donate_link_text: <a class='donate-attr' href='%{donate_url}'>บริจาค</a>
     site:
       edit_tooltip: แก้ไขแผนที่
@@ -2056,6 +2073,14 @@ th:
         comment: แสดงความเห็น
     directions:
       ascend: ลาดขึ้น
+      engines:
+        graphhopper_bicycle: จักยาน (GraphHopper)
+        graphhopper_car: รถยนต์ (GraphHopper)
+        graphhopper_foot: เดินเท้า (GraphHopper)
+        mapquest_bicycle: จักรยาน (MapQuest)
+        mapquest_car: รถยนต์ (MapQuest)
+        mapquest_foot: เดินเท้า (MapQuest)
+        osrm_car: รถยนต์ (OSRM)
       descend: ลาดลง
       directions: เส้นทาง
       distance: ระยะทาง
@@ -2066,8 +2091,9 @@ th:
         endofroad_right_without_exit: เมื่อถึงสุดถนนเลี้ยวขวาไปที่ถนน %{name}
         merge_right_without_exit: เลี้ยวขวาเข้าสู่ถนน %{name} ซึ่งเป็นทางเอก
         fork_right_without_exit: ที่ทางแยกเลี้ยวขวาไปที่ถนน %{name}
+        sharp_right_without_exit: หักขวาเข้า %{name}
         uturn_without_exit: วกกลับไปตามถนน %{name}
-        sharp_left_without_exit: à¹\80ลีà¹\89ยวà¸\8bà¹\89ายหัà¸\81à¹\84à¸\9bà¸\97ีà¹\88 %{name}
+        sharp_left_without_exit: à¸«à¸±à¸\81à¸\8bà¹\89ายà¹\80à¸\82à¹\89า %{name}
         turn_left_without_exit: เลี้ยวซ้ายไปที่ %{name}
         offramp_left_with_name: ใช้ทางลาดด้านซ้ายไปที่ %{name}
         onramp_left_without_exit: เลี้ยวซ้ายบนทางลาดไปที่ถนน %{name}
@@ -2075,10 +2101,23 @@ th:
         merge_left_without_exit: เลี้ยวซ้ายเข้าสู่ถนน %{name} ซึ่งเป็นทางเอก
         fork_left_without_exit: ที่ทางแยกเลี้ยวซ้ายไปที่ถนน %{name}
         slight_left_without_exit: ขยับซ้ายเล็กน้อยไปที่ %{name}
+        follow_without_exit: ไปตาม %{name}
+        start_without_exit: เริ่มที่ %{name}
         destination_without_exit: ตรงไปยังจุดหมาย
         roundabout_with_exit: ณ วงเวียน ใช้ทางออก %{exit} ไปที่ถนน %{name}
         unnamed: ถนนไม่มีชื่อ
         courtesy: เอื้อเฟื้อเส้นทางโดย %{link}
+        exit_counts:
+          first: แรก
+          second: ที่สอง
+          third: ที่สาม
+          fourth: ที่สี่
+          fifth: ที่ห้า
+          sixth: ที่หก
+          seventh: ที่เจ็ด
+          eighth: ที่แปด
+          ninth: ที่เก้า
+          tenth: ที่สิบ
       time: เวลา
     query:
       node: หมุด
index b4dbd96a7d4893041610f599136395ba7c51dd0a..3a4545eca50f5a6efddd6e13096a15d9f7ea4604 100644 (file)
@@ -27,6 +27,7 @@
 # Author: Szoszv
 # Author: Talha Samil Cakir
 # Author: Tarikozket
+# Author: TmY e12
 # Author: Trncmvsr
 # Author: Trockya
 # Author: Uğurkent
@@ -396,6 +397,7 @@ tr:
           platter: Teleferik
           pylon: Pilon
           station: Teleferik İstasyonu
+          t-bar: T-Bar Kaldırma
         aeroway:
           aerodrome: Havaalanı
           airstrip: Uçuş Pisti
@@ -450,6 +452,7 @@ tr:
           fuel: Petrol ofisi
           gambling: Kumarhane
           grave_yard: Mezarlık
+          grit_bin: kum kovası
           hospital: Hastane
           hunting_stand: Avcılık Standı
           ice_cream: Dondurma
@@ -506,6 +509,7 @@ tr:
           protected_area: Korumalı Alan
         bridge:
           aqueduct: Su kemeri
+          boardwalk: Deniz kıyısındaki tahta yol
           suspension: Asma köprüsü
           swing: Asma Köprüsü
           viaduct: Viyadük
@@ -575,6 +579,7 @@ tr:
           trail: İz
           trunk: Bölünmüş anayol
           trunk_link: Bölünmüş anayol bağlantısı
+          turning_loop: Dönüş
           unclassified: Sınıflandırılmamış yolu
           "yes": Yol
         historic:
@@ -679,7 +684,10 @@ tr:
           crane: Vinç
           dolphin: Palamar
           dyke: Bent
+          embankment: Toprak set
           flagpole: Bayrak Direği
+          gasometer: Gazölçer
+          groyne: Erozyonu önleyici set
           kiln: Çömlek Fırını
           lighthouse: Deniz Feneri
           mast: Direk
@@ -970,6 +978,9 @@ tr:
       title: Sorunlar
       select_status: Durum Seç
       select_type: Tür Seç
+      select_last_updated_by: Son Güncelleme
+      reported_user: Bildirilen Kullanıcı
+      not_updated: Güncellenmedi
       search: Ara
       search_guidance: 'Arama Sorunları:'
       user_not_found: Kullanıcı mevcut değil
@@ -1054,6 +1065,20 @@ tr:
           offensive_label: Bu günlük yorum, müstehcense veya saldırgansa
           threat_label: Bu günlük yorum, bir tehdit içeriyorsa
           other_label: Diğer
+        user:
+          spam_label: Bu kullanıcı profili spam içeriyor
+          offensive_label: Bu kullanıcı profili müstehcen/saldırgan
+          threat_label: Bu kullanıcının profili bir tehdit içeriyor
+          vandal_label: Bu kullanıcı bir vandal
+          other_label: Diğer
+        note:
+          spam_label: Bu not bir spam
+          personal_label: Bu not kişisel veriler içerir
+          abusive_label: Bu not kötüye kullanım amaçlı
+          other_label: Diğer
+    create:
+      successful_report: Raporunuz başarıyla kaydedildi
+      provide_details: Lütfen gerekli bilgileri sağlayın
   layouts:
     logo:
       alt_text: OpenStreetMap logosu
@@ -1067,6 +1092,7 @@ tr:
     edit: Düzenle
     history: Geçmiş
     export: Dışa aktar
+    issues: Sorunlar
     data: Veri
     export_data: Verinin Dışalımı
     gps_traces: GPS İzleri
@@ -1678,7 +1704,7 @@ tr:
           toilets: Tuvaletler
     richtext_area:
       edit: Düzenle
-      preview: Ön izle
+      preview: Önizle
     markdown_help:
       title_html: <a href="https://daringfireball.net/projects/markdown/">Markdown</a>
         ile çözümlendi
@@ -1763,8 +1789,10 @@ tr:
       tags_help: virgül (,) ile ayrılmış
       visibility: 'Görünürlük:'
       visibility_help: Bu ne demek?
+      visibility_help_url: https://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
       upload_button: Gönder
       help: Yardım
+      help_url: https://wiki.openstreetmap.org/wiki/Upload
     create:
       upload_trace: GPS İzi Gönder
       trace_uploaded: GPX dosya yüklendi ve veritabanına eklemek için bekliyor. Bu
@@ -1866,8 +1894,13 @@ tr:
     require_cookies:
       cookies_needed: Çerezleri devre dışı bırakmış görünüyorsunuz - devam etmeden
         önce lütfen tarayıcınızda çerezleri etkinleştirin.
+    require_admin:
+      not_an_admin: Bu eylemi gerçekleştirmek için yönetici olmanız gerekiyor.
     require_moderator:
       not_a_moderator: Bu eylemi gerçekleştirebilmek için moderatör olmalısınız.
+    require_moderator_or_admin:
+      not_a_moderator_or_admin: Bu işlemi gerçekleştirmek için moderatör veya yönetici
+        olmanız gerekiyor
     setup_user_auth:
       blocked_zero_hour: OpenStreetMap web sitesinde önemli bir mesajınız var. Düzenlemelerinizi
         kaydetmeden önce mesajı okumanız gerekiyor.
@@ -2165,6 +2198,7 @@ tr:
       friends_diaries: arkadaşların günlük girdileri
       nearby_changesets: yakınlarındaki kullanıcıların bütün değişiklik kayıtları
       nearby_diaries: yakınlarındaki kullanıcıların bütün günlük girdileri
+      report: Bu kullanıcıyı rapor et
     popup:
       your location: Konumum
       nearby mapper: Komşu haritacı
@@ -2577,8 +2611,14 @@ tr:
         continue_without_exit: '%{name} üzerinde devam edin.'
         slight_right_without_exit: '%{name} üstünden hafif sağa'
         offramp_right: Sağdaki rampayı çıkın
+        offramp_right_with_exit: Sağdaki %{exit} çıkışa girin
+        offramp_right_with_exit_name: '%{name} yerine %{exit} çıkışından sağa dönün'
+        offramp_right_with_exit_directions: '%{directions} yönünde sağdaki %{exit}
+          çıkışını yapın.'
         offramp_right_with_name: Sağdaki rampayı kullanarak %{name} girin
         onramp_right_without_exit: Rampadan sağa dönerek %{name} girin
+        onramp_right_without_directions: Rampaya doğru sağa dönün
+        onramp_right: Rampaya doğru sağa dönün
         endofroad_right_without_exit: Yolun sonunda sağa %{name} yönünde dönün
         merge_right_without_exit: '%{name} üzerine sağdan birleşin'
         fork_right_without_exit: Çataldan sağa doğru %{name} üzerine
@@ -2587,8 +2627,11 @@ tr:
         uturn_without_exit: '%{name} boyunca U dönüşü'
         sharp_left_without_exit: '%{name} üstünden sola keskin dönüş'
         turn_left_without_exit: '%{name} üstünden sola dönün'
+        offramp_left: Rampaya doğru sola dönün
         offramp_left_with_name: Soldaki rampayı kullanarak %{name} girin
         onramp_left_without_exit: Rampadan sola dönerek %{name} girin
+        onramp_left_without_directions: Rampaya doğru sola dönün
+        onramp_left: Rampaya doğru sola dönün
         endofroad_left_without_exit: Yolun sonunda sola %{name} yönünde dönün
         merge_left_without_exit: '%{name} üzerine soldan birleşin'
         fork_left_without_exit: Çataldan sola doğru %{name} üzerine
index bcb9dcb865cc2d6c1fa7e0d39b91d093ce7087ee..60cb8b3b509aa0b49e3e71027be702166c54902f 100644 (file)
@@ -502,6 +502,7 @@ vi:
           motorway: Đường Cao tốc
           motorway_junction: Ngã tư Đường Cao tốc
           motorway_link: Đường Cao tốc
+          passing_place: Nơi Vượt qua
           path: Lối
           pedestrian: Đường Dành cho Người Đi bộ
           platform: Sân ga
@@ -639,12 +640,14 @@ vi:
           wastewater_plant: Nhà máy Nước thải
           water_tower: Tháp nước
           water_well: Giếng
+          water_works: Nhà máy Nước
           works: Nhà máy
           "yes": Nhân tạo
         military:
           airfield: Sân bay Không quân
           barracks: Trại Lính
           bunker: Boong ke
+          "yes": Quân sự
         mountain_pass:
           "yes": Đèo
         natural:
@@ -690,6 +693,7 @@ vi:
           accountant: Kế toán viên
           administrative: Công sở
           architect: Kiến trúc sư
+          association: Hiệp hội
           company: Công ty
           educational_institution: Học viện
           employment_agency: Trung tâm Tuyển dụng
@@ -811,6 +815,7 @@ vi:
           optician: Tiệm Kính mắt
           organic: Tiệm Thực phẩm Hữu cơ
           outdoor: Tiệm Thể thao Ngoài trời
+          paint: Tiệm Sơn
           pet: Tiệm Vật nuôi
           pharmacy: Nhà thuốc
           photo: Tiệm Rửa Hình
index 0522115f1b0d85bc7ecdfc81cf3dc10a32cd7d24..6a3efe3b05674370850163e370c9ccade1452c1b 100644 (file)
@@ -313,4 +313,9 @@ OpenStreetMap::Application.routes.draw do
 
   # redactions
   resources :redactions
+
+  # errors
+  match "/403", :to => "errors#forbidden", :via => :all
+  match "/404", :to => "errors#not_found", :via => :all
+  match "/500", :to => "errors#internal_server_error", :via => :all
 end
diff --git a/public/403.html b/public/403.html
deleted file mode 100644 (file)
index 3aab8cc..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-   "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<body>
-  <img src="/assets/osm_logo.png" style="float:left; margin:10px">
-  <div style="float:left;">
-    <h1>Forbidden</h1>  
-    <p>The operation you requested on the OpenStreetMap server is only available to administrators (HTTP 403)</p>
-    <p>Feel free to <a href="http://wiki.openstreetmap.org/wiki/Contact" title="Various contact channels explained">contact</a> the OpenStreetMap community if you have found a broken link / bug. Make a note of the exact URL of your request.</p>
-  </div>
-</body>
-</html>
diff --git a/public/404.html b/public/404.html
deleted file mode 100644 (file)
index 94eff45..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-   "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<body>
-  <img src="/assets/osm_logo.png" style="float:left; margin:10px">
-  <div style="float:left;">
-    <h1>File not found</h1>  
-    <p>Couldn't find a file/directory/API operation by that name on the OpenStreetMap server (HTTP 404)</p>
-    <p>Feel free to <a href="http://wiki.openstreetmap.org/wiki/Contact" title="Various contact channels explained">contact</a> the OpenStreetMap community if you have found a broken link / bug. Make a note of the exact URL of your request.</p>
-  </div>
-</body>
-</html>
diff --git a/public/500.html b/public/500.html
deleted file mode 100644 (file)
index 1580caa..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
-   "http://www.w3.org/TR/html4/loose.dtd">
-<html>
-<body>
-  <img src="/assets/osm_logo.png" style="float:left; margin:10px">
-  <div style="float:left;">
-    <h1>Application error</h1>
-    <p>The OpenStreetMap server encountered an unexpected condition that prevented it from fulfilling the request (HTTP 500)</p>
-    <p>Feel free to <a href="http://wiki.openstreetmap.org/wiki/Contact" title="Various contact channels explained">contact</a> the OpenStreetMap community if your problem persists. Make a note of the exact URL / post data of your request.</p>
-    <p>This may be a problem in our Ruby On Rails code. 500 occurs with exceptions thrown outside of an action (like in Dispatcher setups or broken Ruby code)</p>
-  </div>
-</body>
-</html>
diff --git a/test/controllers/errors_controller_test.rb b/test/controllers/errors_controller_test.rb
new file mode 100644 (file)
index 0000000..01b07ef
--- /dev/null
@@ -0,0 +1,33 @@
+require "test_helper"
+
+class ErrorsControllerTest < ActionController::TestCase
+  def test_routes
+    assert_routing(
+      { :path => "/403", :method => :get },
+      { :controller => "errors", :action => "forbidden" }
+    )
+    assert_routing(
+      { :path => "/404", :method => :get },
+      { :controller => "errors", :action => "not_found" }
+    )
+    assert_routing(
+      { :path => "/500", :method => :get },
+      { :controller => "errors", :action => "internal_server_error" }
+    )
+  end
+
+  def test_forbidden
+    get :forbidden
+    assert_response :forbidden
+  end
+
+  def test_not_found
+    get :not_found
+    assert_response :not_found
+  end
+
+  def test_internal_server_error
+    get :internal_server_error
+    assert_response :internal_server_error
+  end
+end
index e05c8d06a2744147751589696b9f7cdd9048ca14..3f6e25ea6ae0c16a9e59d70f4e756b85f6b2f56b 100644 (file)
@@ -294,6 +294,30 @@ class GeocoderControllerTest < ActionController::TestCase
     results_check_error "Longitude 180.23 out of range"
   end
 
+  def test_search_latlon_digits
+    get :search_latlon, :params => { :lat => 1.23, :lon => 4.56, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check({ :name => "1.23, 4.56", :lat => 1.23, :lon => 4.56, :zoom => 16 },
+                  { :name => "4.56, 1.23", :lat => 4.56, :lon => 1.23, :zoom => 16 })
+
+    get :search_latlon, :params => { :lat => -91.23, :lon => 4.56, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check :name => "4.56, -91.23", :lat => 4.56, :lon => -91.23, :zoom => 16
+
+    get :search_latlon, :params => { :lat => -1.23, :lon => 170.23, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check :name => "-1.23, 170.23", :lat => -1.23, :lon => 170.23, :zoom => 16
+
+    get :search_latlon, :params => { :lat => 91.23, :lon => 94.56, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check_error "Latitude or longitude are out of range"
+
+    get :search_latlon, :params => { :lat => -91.23, :lon => -94.56, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check_error "Latitude or longitude are out of range"
+
+    get :search_latlon, :params => { :lat => 1.23, :lon => -180.23, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check_error "Latitude or longitude are out of range"
+
+    get :search_latlon, :params => { :lat => 1.23, :lon => 180.23, :zoom => 16, :latlon_digits => true }, :xhr => true
+    results_check_error "Latitude or longitude are out of range"
+  end
+
   ##
   # Test the Canadian postcode search
   def test_search_ca_postcode
index fb3eef8953d7183aa2942b5594a3b9fe5e9526d8..673a0a9d6798c58940b14b6ac00fd4c099604b1a 100644 (file)
@@ -1,7 +1,7 @@
 FactoryBot.define do
   factory :changeset_comment do
     sequence(:body) { |n| "Changeset comment #{n}" }
-    visible true
+    visible { true }
 
     changeset
 
index f42242e786a1c343e611e2411148ccd530fc0097..d4ebdcee133d8811822db1f8974e8f13066f3b27 100644 (file)
@@ -1,13 +1,13 @@
 FactoryBot.define do
   factory :changeset do
-    created_at Time.now.utc
-    closed_at Time.now.utc + 1.day
+    created_at { Time.now.utc }
+    closed_at { Time.now.utc + 1.day }
 
     user
 
     trait :closed do
-      created_at Time.now.utc - 5.hours
-      closed_at Time.now.utc - 4.hours
+      created_at { Time.now.utc - 5.hours }
+      closed_at { Time.now.utc - 4.hours }
     end
   end
 end
index e209bd25dab26f2827fc737afb5fb1dc3273e7d4..c575c3398e3fe16108329098316eb2430cb822d4 100644 (file)
@@ -5,6 +5,6 @@ FactoryBot.define do
     association :reported_user, :factory => :user
 
     # Default to assigning to an administrator
-    assigned_role "administrator"
+    assigned_role { "administrator" }
   end
 end
index ddf4588e98e29e75569803ae2b68a3716e6ba6c1..c97904259169b1120912a32cf517ec846b038a3e 100644 (file)
@@ -1,7 +1,7 @@
 FactoryBot.define do
   factory :language do
-    code "en"
-    english_name "English"
-    native_name "English"
+    code { "en" }
+    english_name { "English" }
+    native_name { "English" }
   end
 end
index ece10ae72cb4d3ee1d7d2b3469c08980d1a53b65..57a434fa1e739fb8ec32ee56922419631d32f95c 100644 (file)
@@ -2,17 +2,17 @@ FactoryBot.define do
   factory :message do
     sequence(:title) { |n| "Message #{n}" }
     sequence(:body) { |n| "Body text for message #{n}" }
-    sent_on Time.now
+    sent_on { Time.now }
 
     association :sender, :factory => :user
     association :recipient, :factory => :user
 
     trait :unread do
-      message_read false
+      message_read { false }
     end
 
     trait :read do
-      message_read true
+      message_read { true }
     end
   end
 end
index d849755cd18fb14124e6bea753d82dcffdadec96..ae32926cdc0a2c81be54e89f36756249e71badc1 100644 (file)
@@ -1,16 +1,16 @@
 FactoryBot.define do
   factory :node do
-    latitude 1 * GeoRecord::SCALE
-    longitude 1 * GeoRecord::SCALE
+    latitude { 1 * GeoRecord::SCALE }
+    longitude { 1 * GeoRecord::SCALE }
 
     changeset
 
-    visible true
-    timestamp Time.now
-    version 1
+    visible { true }
+    timestamp { Time.now }
+    version { 1 }
 
     trait :deleted do
-      visible false
+      visible { false }
     end
 
     trait :with_history do
index d3fb3ce966922ecde7223f4fc330b783d3cbf789..da51c022818cfaad36cf15a27093c3567bb7e540 100644 (file)
@@ -1,8 +1,8 @@
 FactoryBot.define do
   factory :note_comment do
     sequence(:body) { |n| "This is note comment #{n}" }
-    visible true
-    event "opened"
+    visible { true }
+    event { "opened" }
     note
   end
 end
index 56a9541dcc56548414aa0104e98f965da8771caf..77b4245aa5b037fdf5eb491d565e63f2017d93d0 100644 (file)
@@ -1,12 +1,12 @@
 FactoryBot.define do
   factory :note do
-    latitude 1 * GeoRecord::SCALE
-    longitude 1 * GeoRecord::SCALE
-    # tile QuadTile.tile_for_point(1,1)
+    latitude { 1 * GeoRecord::SCALE }
+    longitude { 1 * GeoRecord::SCALE }
+    # tile { QuadTile.tile_for_point(1,1) }
 
     factory :note_with_comments do
       transient do
-        comments_count 1
+        comments_count { 1 }
       end
 
       after(:create) do |note, evaluator|
index 089363397bb054bf1f3434f59b0484fa55b39754..e129b62f7b7a5b6118f6cf9f136964c193aecb65 100644 (file)
@@ -1,13 +1,13 @@
 FactoryBot.define do
   factory :old_node do
-    latitude 1 * GeoRecord::SCALE
-    longitude 1 * GeoRecord::SCALE
+    latitude { 1 * GeoRecord::SCALE }
+    longitude { 1 * GeoRecord::SCALE }
 
     changeset
     association :current_node, :factory => :node
 
-    visible true
-    timestamp Time.now
-    version 1
+    visible { true }
+    timestamp { Time.now }
+    version { 1 }
   end
 end
index a6e87a38bd4aaaef1d5cf1e348fb2fe759e5bb62..8fdb23f58e3b65752aed5e819edca7aaec4b6be7 100644 (file)
@@ -1,8 +1,8 @@
 FactoryBot.define do
   factory :old_relation do
-    timestamp Time.now
-    visible true
-    version 1
+    timestamp { Time.now }
+    visible { true }
+    version { 1 }
 
     changeset
     association :current_relation, :factory => :relation
index 524a71074131f80daab8f1490bcd2a37c664c17c..17495d7ea862703017f0124ed3506ee533407783 100644 (file)
@@ -1,6 +1,6 @@
 FactoryBot.define do
   factory :old_relation_member do
-    member_role ""
+    member_role { "" }
 
     old_relation
     # Default to creating nodes, but could be ways or relations as members
index a57ccb7136be6643028e3ad0e0e9e1153c120a40..4fc0721d798d14e2c64d9c5579aee9360df4dc44 100644 (file)
@@ -1,8 +1,8 @@
 FactoryBot.define do
   factory :old_way do
-    timestamp Time.now
-    visible true
-    version 1
+    timestamp { Time.now }
+    visible { true }
+    version { 1 }
 
     changeset
     association :current_way, :factory => :way
index 0a544aaf7548122d014597840955022f5ff44671..80bc8316fd84330d1837881cf8b1c4cef1ab962e 100644 (file)
@@ -1,6 +1,6 @@
 FactoryBot.define do
   factory :old_way_node do
-    sequence_id 1
+    sequence_id { 1 }
 
     old_way
     node
index c4c947a4f8858099f2bdfe1b7e84d3bb8c3a1207..8bb00e287e4045e3ada93f7a154b9f26412660e1 100644 (file)
@@ -1,13 +1,13 @@
 FactoryBot.define do
   factory :relation do
-    timestamp Time.now
-    visible true
-    version 1
+    timestamp { Time.now }
+    visible { true }
+    version { 1 }
 
     changeset
 
     trait :deleted do
-      visible false
+      visible { false }
     end
 
     trait :with_history do
index 4357f3de7eb873dfca2aa1a6608d20a6a10c5d0e..b4498a28d1ad780784a8f81b10186a5b9b09be03 100644 (file)
@@ -1,6 +1,6 @@
 FactoryBot.define do
   factory :relation_member do
-    member_role ""
+    member_role { "" }
 
     relation
     # Default to creating nodes, but could be ways or relations as members
index 7936d46b2d3f4b619a75e9e6437e4d1c878154b3..084c2d1ac891951c1b22f11b5ec3c599fb9fd62c 100644 (file)
@@ -1,7 +1,7 @@
 FactoryBot.define do
   factory :report do
     sequence(:details) { |n| "Report details #{n}" }
-    category "other"
+    category { "other" }
     issue
     user
   end
index ad520ea1f1f74e047efff100b1c2636bc6871006..4ba152f6e05c73244b9860483a31afddf4676f40 100644 (file)
@@ -1,10 +1,10 @@
 FactoryBot.define do
   factory :tracepoint do
-    trackid 1
-    latitude 1 * GeoRecord::SCALE
-    longitude 1 * GeoRecord::SCALE
-    # tile QuadTile.tile_for_point(1,1)
-    timestamp Time.now
+    trackid { 1 }
+    latitude { 1 * GeoRecord::SCALE }
+    longitude { 1 * GeoRecord::SCALE }
+    # tile { QuadTile.tile_for_point(1,1) }
+    timestamp { Time.now }
 
     trace
   end
index efc1180cdbe7afc2c3a5c5b63f7edda94c1caec8..8663ccf2795eb8866b032b6ef85736ca9a5fed1e 100644 (file)
@@ -5,15 +5,15 @@ FactoryBot.define do
 
     user
 
-    timestamp Time.now
-    inserted true
+    timestamp { Time.now }
+    inserted { true }
 
     trait :deleted do
-      visible false
+      visible { false }
     end
 
     transient do
-      fixture nil
+      fixture { nil }
     end
 
     after(:create) do |trace, evaluator|
index d6ee1fa8c03249f9f4216cde09b890c921936bc0..69d5ba376471b2684b6fff8ba31cdb4e45af39c6 100644 (file)
@@ -2,13 +2,13 @@ FactoryBot.define do
   factory :user do
     sequence(:email) { |n| "user#{n}@example.com" }
     sequence(:display_name) { |n| "User #{n}" }
-    pass_crypt Digest::MD5.hexdigest("test")
+    pass_crypt { Digest::MD5.hexdigest("test") }
 
     # These attributes are not the defaults, but in most tests we want
     # a 'normal' user who can log in without being redirected etc.
-    status "active"
-    terms_seen true
-    data_public true
+    status { "active" }
+    terms_seen { true }
+    data_public { true }
 
     trait :with_home_location do
       home_lat { rand(-90.0...90.0) }
@@ -16,23 +16,23 @@ FactoryBot.define do
     end
 
     trait :pending do
-      status "pending"
+      status { "pending" }
     end
 
     trait :active do
-      status "active"
+      status { "active" }
     end
 
     trait :confirmed do
-      status "confirmed"
+      status { "confirmed" }
     end
 
     trait :suspended do
-      status "suspended"
+      status { "suspended" }
     end
 
     trait :deleted do
-      status "deleted"
+      status { "deleted" }
     end
 
     factory :moderator_user do
index d206511b4616c7053e2d3b7c49e9e8895f5db7be..53864bb0eb6fc5bbf75cf19b36e8d8b50875a6f1 100644 (file)
@@ -1,17 +1,17 @@
 FactoryBot.define do
   factory :user_block do
     sequence(:reason) { |n| "User Block #{n}" }
-    ends_at Time.now + 1.day
+    ends_at { Time.now + 1.day }
 
     user
     association :creator, :factory => :moderator_user
 
     trait :needs_view do
-      needs_view true
+      needs_view { true }
     end
 
     trait :expired do
-      ends_at Time.now - 1.day
+      ends_at { Time.now - 1.day }
     end
 
     trait :revoked do
index 68826e91942e98c8180949e2ba31bde7cc4c9913..1b6b18dc98a0aedae7821791d9831c0c3c4549ce 100644 (file)
@@ -1,13 +1,13 @@
 FactoryBot.define do
   factory :way do
-    timestamp Time.now
-    visible true
-    version 1
+    timestamp { Time.now }
+    visible { true }
+    version { 1 }
 
     changeset
 
     trait :deleted do
-      visible false
+      visible { false }
     end
 
     trait :with_history do
@@ -27,7 +27,7 @@ FactoryBot.define do
 
     factory :way_with_nodes do
       transient do
-        nodes_count 1
+        nodes_count { 1 }
       end
 
       after(:create) do |way, evaluator|
index 770de02d9b3474fcd9376c7c47c551bcdb0a2999..230fe1270bf607eb52ff59837764d6211cf229d8 100644 (file)
@@ -1,6 +1,6 @@
 FactoryBot.define do
   factory :way_node do
-    sequence_id 1
+    sequence_id { 1 }
 
     way
     node
index ed2a14b2fd866ba4ac586588f5fa44b332d0495b..6ed4c3c09d859680b93dd4b8fe3276d8c1676cd7 100644 (file)
@@ -228,7 +228,21 @@ input::-moz-focus-inner {
 }
 
 
-/* points */
+/* points & notes */
+
+g.note .stroke {
+    stroke: #222;
+    stroke-width: 1;
+    fill: #222;
+    opacity: 0.6;
+}
+
+g.note.active .stroke {
+    stroke: #222;
+    stroke-width: 1;
+    fill: #222;
+    opacity: 0.8;
+}
 
 g.point .stroke {
     stroke: #444;
@@ -236,26 +250,31 @@ g.point .stroke {
     fill: #fff;
 }
 
-g.point .shadow {
+g.point .shadow,
+g.note .shadow {
     fill: none;
     stroke: #f6634f;
     stroke-width: 16;
     stroke-opacity: 0;
 }
 
+g.note.related:not(.selected) .shadow,
+g.note.hover:not(.selected) .shadow,
 g.point.related:not(.selected) .shadow,
 g.point.hover:not(.selected) .shadow {
     stroke-opacity: 0.5;
 }
 
+g.note.selected .shadow,
 g.point.selected .shadow {
     stroke-opacity: 0.7;
 }
 
+/* g.note ellipse.stroke, */
 g.point ellipse.stroke {
     display: none;
 }
-
+.mode-drag-note g.note.active ellipse.stroke,
 .mode-drag-node g.point.active ellipse.stroke {
     display: block;
 }
@@ -451,37 +470,6 @@ g.turn circle {
 }
 
 
-/* GPX Paths */
-
-.layer-gpx {
-    pointer-events: none;
-}
-
-path.gpx {
-    stroke: #ff26d4;
-    stroke-width: 2;
-    fill: none;
-}
-
-text.gpxlabel-halo,
-text.gpxlabel {
-    font-size: 10px;
-    font-weight: bold;
-    dominant-baseline: middle;
-}
-
-text.gpxlabel {
-    fill: #ff26d4;
-}
-
-text.gpxlabel-halo {
-    opacity: 0.7;
-    stroke: #000;
-    stroke-width: 5px;
-    stroke-miterlimit: 1;
-}
-
-
 /* Default - light gray */
 path.area.stroke {
     stroke: #ddd;
@@ -810,12 +798,12 @@ path.stroke.tag-highway {
 path.stroke.tag-highway-motorway,
 path.stroke.tag-highway-motorway_link,
 path.stroke.tag-motorway {
-    stroke:#CF2081;
+    stroke: #CF2081;
 }
 path.casing.tag-highway-motorway,
 path.casing.tag-highway-motorway_link,
 path.casing.tag-motorway {
-    stroke:#70372f;
+    stroke: #70372f;
 }
 
 .preset-icon .icon.iD-highway-trunk,
@@ -826,12 +814,12 @@ path.casing.tag-motorway {
 path.stroke.tag-highway-trunk,
 path.stroke.tag-highway-trunk_link,
 path.stroke.tag-trunk {
-    stroke:#DD2F22;
+    stroke: #DD2F22;
 }
 path.casing.tag-highway-trunk,
 path.casing.tag-highway-trunk_link,
 path.casing.tag-trunk {
-    stroke:#70372f;
+    stroke: #70372f;
 }
 
 .preset-icon .icon.iD-highway-primary,
@@ -842,12 +830,12 @@ path.casing.tag-trunk {
 path.stroke.tag-highway-primary,
 path.stroke.tag-highway-primary_link,
 path.stroke.tag-primary {
-    stroke:#F99806;
+    stroke: #F99806;
 }
 path.casing.tag-highway-primary,
 path.casing.tag-highway-primary_link,
 path.casing.tag-primary {
-    stroke:#70372f;
+    stroke: #70372f;
 }
 
 .preset-icon .icon.iD-highway-secondary,
@@ -858,12 +846,12 @@ path.casing.tag-primary {
 path.stroke.tag-highway-secondary,
 path.stroke.tag-highway-secondary_link,
 path.stroke.tag-secondary {
-    stroke:#F3F312;
+    stroke: #F3F312;
 }
 path.casing.tag-highway-secondary,
 path.casing.tag-highway-secondary_link,
 path.casing.tag-secondary {
-    stroke:#70372f;
+    stroke: #70372f;
 }
 
 .preset-icon .icon.iD-highway-tertiary,
@@ -874,12 +862,12 @@ path.casing.tag-secondary {
 path.stroke.tag-highway-tertiary,
 path.stroke.tag-highway-tertiary_link,
 path.stroke.tag-tertiary {
-    stroke:#FFF9B3;
+    stroke: #FFF9B3;
 }
 path.casing.tag-highway-tertiary,
 path.casing.tag-highway-tertiary_link,
 path.casing.tag-tertiary {
-    stroke:#70372f;
+    stroke: #70372f;
 }
 
 .legacy-carto .preset-icon .icon.iD-highway-motorway,
@@ -890,12 +878,12 @@ path.casing.tag-tertiary {
 .legacy-carto path.stroke.tag-highway-motorway,
 .legacy-carto path.stroke.tag-highway-motorway_link,
 .legacy-carto path.stroke.tag-motorway {
-    stroke:#58a9ed;
+    stroke: #58a9ed;
 }
 .legacy-carto path.casing.tag-highway-motorway,
 .legacy-carto path.casing.tag-highway-motorway_link,
 .legacy-carto path.casing.tag-motorway {
-    stroke:#2c5476;
+    stroke: #2c5476;
 }
 
 .legacy-carto .preset-icon .icon.iD-highway-trunk,
@@ -906,12 +894,12 @@ path.casing.tag-tertiary {
 .legacy-carto path.stroke.tag-highway-trunk,
 .legacy-carto path.stroke.tag-highway-trunk_link,
 .legacy-carto path.stroke.tag-trunk {
-    stroke:#8cd05f;
+    stroke: #8cd05f;
 }
 .legacy-carto path.casing.tag-highway-trunk,
 .legacy-carto path.casing.tag-highway-trunk_link,
 .legacy-carto path.casing.tag-trunk {
-    stroke:#46682f;
+    stroke: #46682f;
 }
 
 .legacy-carto .preset-icon .icon.iD-highway-primary,
@@ -922,12 +910,12 @@ path.casing.tag-tertiary {
 .legacy-carto path.stroke.tag-highway-primary,
 .legacy-carto path.stroke.tag-highway-primary_link,
 .legacy-carto path.stroke.tag-primary {
-    stroke:#e06d5f;
+    stroke: #e06d5f;
 }
 .legacy-carto path.casing.tag-highway-primary,
 .legacy-carto path.casing.tag-highway-primary_link,
 .legacy-carto path.casing.tag-primary {
-    stroke:#70372f;
+    stroke: #70372f;
 }
 
 .legacy-carto .preset-icon .icon.iD-highway-secondary,
@@ -938,12 +926,12 @@ path.casing.tag-tertiary {
 .legacy-carto path.stroke.tag-highway-secondary,
 .legacy-carto path.stroke.tag-highway-secondary_link,
 .legacy-carto path.stroke.tag-secondary {
-    stroke:#eab056;
+    stroke: #eab056;
 }
 .legacy-carto path.casing.tag-highway-secondary,
 .legacy-carto path.casing.tag-highway-secondary_link,
 .legacy-carto path.casing.tag-secondary {
-    stroke:#75582b;
+    stroke: #75582b;
 }
 
 .legacy-carto .preset-icon .icon.iD-highway-tertiary,
@@ -954,12 +942,12 @@ path.casing.tag-tertiary {
 .legacy-carto path.stroke.tag-highway-tertiary,
 .legacy-carto path.stroke.tag-highway-tertiary_link,
 .legacy-carto path.stroke.tag-tertiary {
-    stroke:#ffff7e;
+    stroke: #ffff7e;
 }
 .legacy-carto path.casing.tag-highway-tertiary,
 .legacy-carto path.casing.tag-highway-tertiary_link,
 .legacy-carto path.casing.tag-tertiary {
-    stroke:#7f7f3f;
+    stroke: #7f7f3f;
 }
 
 .preset-icon .icon.iD-highway-residential {
@@ -968,24 +956,24 @@ path.casing.tag-tertiary {
 }
 path.stroke.tag-highway-residential,
 path.stroke.tag-residential {
-    stroke:#fff;
+    stroke: #fff;
 }
 path.casing.tag-highway-residential,
 path.casing.tag-residential {
-    stroke:#444;
+    stroke: #444;
 }
 
 .preset-icon .icon.iD-highway-unclassified {
-    color: #dcd9b9;
+    color: #dca;
     fill: #444;
 }
 path.stroke.tag-highway-unclassified,
 path.stroke.tag-unclassified {
-    stroke:#dcd9b9;
+    stroke: #dca;
 }
 path.casing.tag-highway-unclassified,
 path.casing.tag-unclassified {
-    stroke:#444;
+    stroke: #444;
 }
 
 
@@ -1180,7 +1168,7 @@ path.stroke.tag-highway-corridor,
 path.stroke.tag-highway-pedestrian,
 path.stroke.tag-corridor,
 path.stroke.tag-pedestrian {
-    stroke:#fff;
+    stroke: #fff;
     stroke-dasharray: 2, 8;
 }
 .low-zoom path.stroke.tag-highway-corridor,
@@ -1208,11 +1196,11 @@ path.casing.tag-pedestrian.tag-unpaved {
 }
 path.stroke.tag-highway-road,
 path.stroke.tag-road {
-    stroke:#9e9e9e;
+    stroke: #9e9e9e;
 }
 path.casing.tag-highway-road,
 path.casing.tag-road {
-    stroke:#666;
+    stroke: #666;
 }
 
 .preset-icon .icon.iD-highway-service {
@@ -1221,24 +1209,24 @@ path.casing.tag-road {
 }
 path.stroke.tag-highway-service,
 path.stroke.tag-service {
-    stroke:#fff;
+    stroke: #fff;
 }
 path.casing.tag-highway-service,
 path.casing.tag-service {
-    stroke:#666;
+    stroke: #666;
 }
 
 /* special service roads and bus guideways */
 /* with `service=* tag`  (e.g. parking_aisle, alley, drive-through */
 .preset-icon .icon.iD-highway-bus_guideway,
 .preset-icon .icon.iD-highway-service.tag-service {
-    color: #dcd9b9;
+    color: #dca;
     fill: #666;
 }
 path.stroke.tag-highway-bus_guideway,
 path.stroke.tag-highway-service.tag-service,
 path.stroke.tag-service.tag-service {
-    stroke: #dcd9b9;
+    stroke: #dca;
 }
 path.casing.tag-highway-bus_guideway,
 path.casing.tag-highway-service.tag-service,
@@ -1276,7 +1264,7 @@ path.stroke.tag-highway-bridleway {
 
 path.casing.tag-highway-path,
 path.casing.tag-highway-path.tag-unpaved {
-    stroke: #c5b59f;
+    stroke: #dca;
     stroke-linecap: round;
     stroke-dasharray: none;
 }
@@ -1293,33 +1281,23 @@ path.casing.tag-highway-bridleway.tag-unpaved {
 
 .preset-icon .icon.iD-category-path,
 .preset-icon .icon.iD-highway-path {
-    color: #746f6f;
-    fill: #c5b59f;
+    color: #988;
+    fill: #dca;
 }
 path.stroke.tag-highway-path {
-    stroke: #746f6f;
+    stroke: #988;
 }
 
 .preset-icon .icon.tag-route-foot,
 .preset-icon .icon.tag-route-hiking,
 .preset-icon .icon.iD-highway-footway {
-    color: #ae8681;
+    color: #988;
     fill: #fff;
 }
 path.stroke.tag-highway-footway {
-    stroke: #ae8681;
+    stroke: #988;
 }
 
-.preset-icon .icon.iD-highway-footway.tag-crossing {
-    color: #444;
-}
-path.stroke.tag-highway-footway.tag-crossing {
-    stroke: #444;
-    stroke-dasharray: 6, 4;
-}
-.low-zoom path.stroke.tag-highway-footway.tag-crossing {
-    stroke-dasharray: 3, 2;
-}
 
 .preset-icon .icon.tag-route-bicycle,
 .preset-icon .icon.iD-highway-cycleway {
@@ -1359,7 +1337,6 @@ path.casing.tag-highway-steps.tag-unpaved {
 }
 
 /* highway midpoints */
-
 g.midpoint.tag-highway-corridor .fill,
 g.midpoint.tag-highway-pedestrian .fill,
 g.midpoint.tag-highway-steps .fill,
@@ -1383,7 +1360,6 @@ path.stroke.area.tag-aeroway,
 }
 
 /* narrow aeroways (taxiway) */
-
 path.shadow.tag-aeroway-taxiway,
 path.shadow.tag-taxiway {
     stroke-width: 16;
@@ -1426,7 +1402,6 @@ path.casing.tag-taxiway {
 
 
 /* wide aeroways (runway) */
-
 .preset-icon .icon.tag-aeroway-runway,
 .preset-icon .icon.tag-runway {
     color: #444;
@@ -1464,7 +1439,6 @@ path.fill.tag-aeroway-runway {
 }
 
 /* railways */
-
 .preset-icon .icon.tag-railway.other-line {
     color: #fff;
     fill: #777;
@@ -1475,7 +1449,6 @@ path.fill.tag-aeroway-runway {
 }
 
 /* railway areas */
-
 path.stroke.area.tag-railway,
 .low-zoom path.stroke.area.tag-railway {
     stroke: white;
@@ -1489,7 +1462,6 @@ path.casing.area.tag-railway,
 }
 
 /* narrow widths */
-
 path.shadow.tag-railway {
     stroke-width: 16;
 }
@@ -1515,7 +1487,6 @@ path.stroke.tag-railway {
 
 
 /* styles */
-
 path.casing.tag-railway {
     stroke: #555;
 }
@@ -1529,9 +1500,11 @@ path.stroke.tag-railway {
     color: #999;
     fill: #eee;
 }
+path.casing.tag-railway-disused,
 path.casing.tag-railway-abandoned {
     stroke: #999;
 }
+path.stroke.tag-railway-disused,
 path.stroke.tag-railway-abandoned {
     stroke: #eee;
 }
@@ -1547,50 +1520,7 @@ path.casing.tag-railway-subway {
 path.stroke.tag-railway-subway {
     stroke: #bbb;
 }
-
-
-/* railway platforms - like sidewalks */
-
-.preset-icon .icon.iD-highway-footway.tag-railway-platform {
-    color: #ae8681;
-    fill: #dcd9b9;
-}
-path.shadow.tag-railway-platform {
-    stroke-width: 16;
-}
-path.casing.tag-railway-platform {
-    stroke: #dcd9b9;
-    stroke-width: 5;
-    stroke-linecap: round;
-    stroke-dasharray: none;
-}
-path.stroke.tag-railway-platform {
-    stroke: #ae8681;
-    stroke-width: 3;
-    stroke-linecap: butt;
-    stroke-dasharray: 6, 6;
-}
-
-.low-zoom path.shadow.tag-railway-platform {
-    stroke-width: 12;
-}
-.low-zoom path.casing.tag-railway-platform {
-    stroke-width: 3;
-}
-.low-zoom path.stroke.tag-railway-platform {
-    stroke-width: 1;
-    stroke-linecap: butt;
-    stroke-dasharray: 3, 3;
-}
-
-g.midpoint.tag-railway-platform .fill {
-    fill: #fff;
-    stroke: #333;
-    stroke-opacity: .8;
-    opacity: .8;
-}
 /* waterways */
-
 .preset-icon .icon.tag-waterway.other-line {
     color: #77d3de;
     fill: #77d3de;
@@ -1616,7 +1546,6 @@ path.stroke.tag-waterway {
 
 
 /* narrow waterways (default) */
-
 path.shadow.tag-waterway {
     stroke-width: 16;
 }
@@ -1639,7 +1568,6 @@ path.stroke.tag-waterway {
 
 
 /* wide waterways (river) */
-
 path.shadow.tag-waterway-river {
     stroke-width: 20;
 }
@@ -1662,7 +1590,6 @@ path.stroke.tag-waterway-river {
 
 
 /* ditch */
-
 .preset-icon .icon.tag-waterway-ditch {
     color: #8eabf3;
 }
@@ -1672,7 +1599,6 @@ path.stroke.tag-waterway-ditch {
 
 
 /* waterway areas */
-
 path.area.stroke.tag-waterway-dock,
 path.area.stroke.tag-waterway-boatyard,
 path.area.stroke.tag-waterway-fuel {
@@ -1764,7 +1690,7 @@ path.stroke.tag-barrier {
 /* bridges */
 path.casing.tag-bridge {
     stroke-opacity: 0.6;
-    stroke: #000;
+    stroke: #000 !important;
     stroke-linecap: butt;
     stroke-dasharray: none;
 }
@@ -1916,44 +1842,109 @@ path.fill.tag-building {
     background-color: rgba(224, 110, 95, 0.3);
 }
 
-/* piers */
-.preset-icon .icon.tag-man_made-pier {
-    color: #ae8681;
-    fill: #dcd9b9;
+
+/* "Special" paths - platforms, piers, crossings */
+.preset-icon .icon.tag-public_transport-platform,
+.preset-icon .icon.tag-railway-platform,
+.preset-icon .icon.tag-man_made-pier,
+.preset-icon .icon.tag-footway.tag-footway-crossing,
+.preset-icon .icon.tag-crossing {
+    color: #988;
+    fill: #dca;
 }
 
-.preset-icon-fill-area.tag-man_made-pier {
-    border-color: #ae8681;
-    background-color: #dcd9b9;
+.preset-icon-fill-area.tag-public_transport-platform,
+.preset-icon-fill-area.tag-railway-platform,
+.preset-icon-fill-area.tag-man_made-pier,
+.preset-icon-fill-area.tag-footway.tag-footway-crossing,
+.preset-icon-fill-area.tag-crossing {
+    border-color: #988;
+    background-color: #dca;
 }
 
-path.shadow.tag-man_made-pier {
+path.shadow.tag-public_transport-platform,
+path.shadow.tag-railway-platform,
+path.shadow.tag-man_made-pier,
+path.shadow.tag-footway.tag-footway-crossing,
+path.shadow.tag-crossing {
     stroke-width: 16;
 }
-path.casing.tag-man_made-pier {
-    stroke: #dcd9b9;
+path.casing.tag-public_transport-platform,
+path.casing.tag-railway-platform,
+path.casing.tag-man_made-pier,
+path.casing.tag-footway.tag-footway-crossing,
+path.casing.tag-crossing {
+    stroke: #dca;
     stroke-width: 5;
     stroke-linecap: round;
     stroke-dasharray: none;
 }
-path.stroke.tag-man_made-pier {
-    stroke: #ae8681;
+path.stroke.tag-public_transport-platform,
+path.stroke.tag-railway-platform,
+path.stroke.tag-man_made-pier,
+path.stroke.tag-footway.tag-footway-crossing,
+path.stroke.tag-crossing {
+    stroke: #988;
     stroke-width: 3;
     stroke-linecap: butt;
     stroke-dasharray: 6, 6;
 }
 
-.low-zoom path.shadow.tag-man_made-pier {
+.low-zoom path.shadow.tag-public_transport-platform,
+.low-zoom path.shadow.tag-railway-platform,
+.low-zoom path.shadow.tag-man_made-pier,
+.low-zoom path.shadow.tag-footway.tag-footway-crossing,
+.low-zoom path.shadow.tag-crossing {
     stroke-width: 12;
 }
-.low-zoom path.casing.tag-man_made-pier {
+.low-zoom path.casing.tag-public_transport-platform,
+.low-zoom path.casing.tag-railway-platform,
+.low-zoom path.casing.tag-man_made-pier,
+.low-zoom path.casing.tag-footway.tag-footway-crossing,
+.low-zoom path.casing.tag-crossing {
     stroke-width: 3;
 }
-.low-zoom path.stroke.tag-man_made-pier {
+.low-zoom path.stroke.tag-public_transport-platform,
+.low-zoom path.stroke.tag-railway-platform,
+.low-zoom path.stroke.tag-man_made-pier,
+.low-zoom path.stroke.tag-footway.tag-footway-crossing,
+.low-zoom path.stroke.tag-crossing {
     stroke-width: 1;
     stroke-linecap: butt;
     stroke-dasharray: 3, 3;
 }
+
+g.midpoint.tag-public_transport-platform .fill,
+g.midpoint.tag-railway-platform .fill,
+g.midpoint.tag-man_made-pier .fill,
+g.midpoint.tag-footway.tag-footway-crossing .fill,
+g.midpoint.tag-crossing .fill {
+    fill: #fff;
+    stroke: #333;
+    stroke-opacity: .8;
+    opacity: .8;
+}
+
+/* marked crossings, zebras */
+.preset-icon .icon.tag-crossing.tag-crossing-marked,
+.preset-icon .icon.tag-crossing.tag-crossing-zebra {
+    color: #444;
+    fill: #dca;
+}
+path.casing.tag-crossing.tag-crossing-marked,
+path.casing.tag-crossing.tag-crossing-zebra {
+    stroke: #dca;
+}
+path.stroke.tag-crossing.tag-crossing-marked,
+path.stroke.tag-crossing.tag-crossing-zebra {
+    stroke: #444;
+    stroke-dasharray: 6, 4;
+}
+.low-zoom path.stroke.tag-crossing.tag-crossing-marked,
+.low-zoom path.stroke.tag-crossing.tag-crossing-zebra {
+    stroke-dasharray: 3, 2;
+}
+
 /* Cursors */
 
 .nope,
@@ -2014,7 +2005,8 @@ path.stroke.tag-man_made-pier {
 .mode-draw-area #map,
 .mode-add-line  #map,
 .mode-add-area  #map,
-.mode-drag-node #map {
+.mode-drag-node #map,
+.mode-drag-note #map {
     cursor: crosshair; /* Opera */
     cursor: url(<%= asset_path("iD/img/cursor-draw.png") %>) 9 9, crosshair; /* FF */
 }
@@ -2038,6 +2030,7 @@ path.stroke.tag-man_made-pier {
 }
 
 .mode-add-point #map,
+.mode-add-note #map,
 .mode-browse.lasso #map,
 .mode-browse.lasso .way,
 .mode-browse.lasso .vertex,
@@ -2064,20 +2057,63 @@ path.stroke.tag-man_made-pier {
     background-color: #fff;
 }
 
+@media screen and (min-width: 1600px) {
+    #photoviewer {
+        width: 490px;
+        height: 370px;
+    }
+}
+
 #photoviewer button.thumb-hide {
     border-radius: 0;
     padding: 5px;
     position: absolute;
+    right: 5px;
+    top: 5px;
+    z-index: 50;
+}
+
+#photoviewer button.resize-handle-xy {
+    border-radius: 0;
+    position: absolute;
+    top: 0;
+    right: 0;
+    z-index: 49;
+    cursor: nesw-resize;
+    height: 25px;
+    width: 25px;
+}
+
+#photoviewer button.resize-handle-x {
+    border-radius: 0;
+    position: absolute;
+    top: 0;
     right: 0;
+    bottom: 0;
+    z-index: 48;
+    cursor: ew-resize;
+    height: auto;
+    width: 6px;
+}
+
+#photoviewer button.resize-handle-y {
+    border-radius: 0;
+    position: absolute;
     top: 0;
+    right: 0;
     z-index: 48;
+    cursor: ns-resize;
+    height: 6px;
+    width: 100%;
 }
 
+
 .photo-wrapper,
 .photo-wrapper img {
     width: 100%;
     height: 100%;
     overflow: hidden;
+    object-fit: cover;
 }
 
 .photo-wrapper .photo-attribution {
@@ -2101,6 +2137,10 @@ path.stroke.tag-man_made-pier {
 
 /* markers and sequences */
 .viewfield-group {
+    pointer-events: none;
+}
+.mode-browse .viewfield-group,
+.mode-select .viewfield-group {
     pointer-events: visible;
     cursor: pointer;
 }
@@ -2227,9 +2267,24 @@ path.stroke.tag-man_made-pier {
 
 
 /* Streetside Viewer (pannellum) */
-.ms-wrapper .photo-attribution .image_link {
+.ms-wrapper .photo-attribution .image-link {
     display: block;
 }
+.ms-wrapper .photo-attribution .attribution-row {
+    display: flex;
+    flex-flow: row nowrap;
+    justify-content: space-between;
+    align-items: center;
+    padding: 0 5px;
+}
+.ms-wrapper .photo-attribution .image-view-link {
+    text-align: left;
+    margin: 0 5px;
+}
+.ms-wrapper .photo-attribution .image-report-link {
+    text-align: right;
+}
+
 .ms-wrapper .photo-attribution a:active,
 .ms-wrapper .photo-attribution a:hover {
     color: #0fffc4;
@@ -2245,8 +2300,6 @@ path.stroke.tag-man_made-pier {
 }
 
 label.streetside-hires {
-    float: left;
-    padding: 0 10px;
     cursor: pointer;
 }
 .streetside-hires span {
@@ -2297,7 +2350,19 @@ label.streetside-hires {
     color: #20c4ff;
 }
 
-.osc-controls-wrap {
+.osc-image-wrap {
+    width: 100%;
+    height: 100%;
+    transform-origin:0 0;
+    -ms-transform-origin:0 0;
+    -webkit-transform-origin:0 0;
+    -moz-transform-origin:0 0;
+    -o-transform-origin:0 0;
+}
+
+
+/* photo-controls (step forward, back, rotate) */
+.photo-controls-wrap {
     text-align: center;
     position: absolute;
     top: 10px;
@@ -2305,38 +2370,148 @@ label.streetside-hires {
     z-index: 10;
 }
 
-.osc-controls {
+.photo-controls {
     display: inline-block;
     z-index: 10;
 }
 
-.osc-controls button {
+.photo-controls button,
+.photo-controls button:focus {
     height: 18px;
     width: 18px;
     background: rgba(0,0,0,0.65);
     color: #eee;
     border-radius: 0;
 }
-.osc-controls button:first-of-type {
+.photo-controls button:first-of-type {
     border-radius: 3px 0 0 3px;
 }
-.osc-controls button:last-of-type {
+.photo-controls button:last-of-type {
     border-radius: 0 3px 3px 0;
 }
-.osc-controls button:hover,
-.osc-controls button:active,
-.osc-controls button:focus {
+.photo-controls button:hover,
+.photo-controls button:active {
     background: rgba(0,0,0,0.85);
     color: #fff;
 }
 
-.osc-image-wrap {
-    transform-origin:0 0;
-    -ms-transform-origin:0 0;
-    -webkit-transform-origin:0 0;
-    -moz-transform-origin:0 0;
-    -o-transform-origin:0 0;
+
+/* OSM Notes Layer */
+.layer-notes {
+    pointer-events: none;
+}
+.layer-notes .note * {
+    pointer-events: none;
+}
+.mode-browse .layer-notes .note .note-fill,
+.mode-select .layer-notes .note .note-fill,
+.mode-select-data .layer-notes .note .note-fill,
+.mode-select-note .layer-notes .note .note-fill {
+    pointer-events: visible;
+    cursor: pointer; /* Opera */
+    cursor: url(<%= asset_path("iD/img/cursor-select-point.png") %>), pointer; /* FF */
+}
+
+.note-header-icon .note-shadow,
+.layer-notes .note .note-shadow {
+    color: #000;
+}
+.note-header-icon .note-fill,
+.layer-notes .note .note-fill {
+    color: #ff3300;
+    stroke: #333;
+    stroke-width: 40px;
+}
+.note-header-icon.new .note-fill,
+.layer-notes .note.new .note-fill {
+    color: #ffee00;
+    stroke: #333;
+    stroke-width: 40px;
 }
+.note-header-icon.closed .note-fill,
+.layer-notes .note.closed .note-fill {
+    color: #55dd00;
+    stroke: #333;
+    stroke-width: 40px;
+}
+
+/* slight adjustments to preset icon for note icons */
+.note-header-icon .preset-icon-28 {
+    top: 18px;
+}
+.note-header-icon .note-icon-annotation {
+    position: absolute;
+    top: 22px;
+    left: 22px;
+    margin: auto;
+}
+.note-header-icon .note-icon-annotation .icon {
+    width: 15px;
+    height: 15px;
+}
+
+
+/* Custom Map Data (geojson, gpx, kml, vector tile) */
+
+.layer-mapdata {
+    pointer-events: none;
+}
+
+.layer-mapdata path.shadow {
+    pointer-events: stroke;
+    stroke: #f6634f;
+    stroke-width: 16;
+    stroke-opacity: 0;
+    fill: none;
+}
+.layer-mapdata path.MultiPoint.shadow,
+.layer-mapdata path.Point.shadow {
+    pointer-events: fill;
+    fill: #f6634f;
+    fill-opacity: 0;
+}
+.layer-mapdata path.shadow.hover:not(.selected) {
+    stroke-opacity: 0.4;
+}
+.layer-mapdata path.shadow.selected {
+    stroke-opacity: 0.7;
+}
+
+.layer-mapdata path.stroke {
+    stroke: #ff26d4;
+    stroke-width: 2;
+    fill: none;
+}
+
+.layer-mapdata path.fill {
+    stroke-width: 0;
+    stroke-opacity: 0.3;
+    stroke: #ff26d4;
+    fill: #ff26d4;
+    fill-opacity: 0.3;
+    fill-rule: evenodd;
+}
+
+.layer-mapdata text.label-halo,
+.layer-mapdata text.label {
+    font-size: 10px;
+    font-weight: bold;
+    dominant-baseline: middle;
+}
+.layer-mapdata text.label {
+    fill: #ff26d4;
+}
+.layer-mapdata text.label.hover,
+.layer-mapdata text.label.selected {
+    fill: #f6634f;
+}
+.layer-mapdata text.label-halo {
+    opacity: 0.7;
+    stroke: #000;
+    stroke-width: 5px;
+    stroke-miterlimit: 1;
+}
+
 /* Fill Styles */
 
 .low-zoom.fill-wireframe path.stroke,
@@ -2346,6 +2521,11 @@ label.streetside-hires {
     stroke-dasharray: none !important;
     fill: none !important;
 }
+.low-zoom.fill-wireframe .layer-mapdata path.stroke,
+.fill-wireframe .layer-mapdata path.stroke {
+    stroke-width: 2 !important;
+    stroke-opacity: 1 !important;
+}
 
 .low-zoom.fill-wireframe path.shadow,
 .fill-wireframe path.shadow {
@@ -2381,7 +2561,6 @@ label.streetside-hires {
 }
 /* Basics
 ------------------------------------------------------- */
-
 /*
   Opera misbehaves when the window is resized vertically unless 100% width + height are
   applied to both html and body. https://gist.github.com/jfirebaugh/bd225bcfdd3a633850c4
@@ -2396,10 +2575,10 @@ body {
         "Segoe UI", "Roboto", "Oxygen", "Ubuntu", "Cantarell",
         "Fira Sans", "Droid Sans", "Helvetica Neue", "Arial",
         sans-serif;
-    margin:0;
-    padding:0;
+    margin: 0;
+    padding: 0;
     min-width: 768px;
-    color:#333;
+    color: #333;
     overflow: hidden;
     -ms-user-select: none;
 }
@@ -2504,8 +2683,8 @@ div, textarea, label, input, form, span, ul, li, ol, a, button, h1, h2, h3, h4,
 }
 
 a, button, input, textarea {
-    -webkit-tap-highlight-color:rgba(0,0,0,0);
-    -webkit-touch-callout:none;
+    -webkit-tap-highlight-color: rgba(0,0,0,0);
+    -webkit-touch-callout: none;
 }
 
 a,
@@ -2557,8 +2736,8 @@ h4, h5 {
 
 p {
     font-size: 12px;
-    margin:0;
-    padding:0;
+    margin: 0;
+    padding: 0;
 }
 
 p:last-child {
@@ -2583,7 +2762,6 @@ a:hover {
 
 /* Forms
 ------------------------------------------------------- */
-
 textarea  {
     resize: vertical;
     font:normal 12px/20px "-apple-system", BlinkMacSystemFont,
@@ -2599,13 +2777,13 @@ input[type=number],
 input[type=url],
 input[type=tel],
 input[type=email] {
-    background-color: white;
+    background-color: #fff;
     color: #333;
-    border:1px solid #ccc;
-    padding:5px 20px 5px 10px;
-    height:30px;
+    border: 1px solid #ccc;
+    padding: 5px 20px 5px 10px;
+    height: 30px;
     width: 100%;
-    border-radius:4px;
+    border-radius: 4px;
     text-overflow: ellipsis;
 }
 [dir='rtl'] textarea,
@@ -2615,7 +2793,7 @@ input[type=email] {
 [dir='rtl'] input[type=url],
 [dir='rtl'] input[type=tel],
 [dir='rtl'] input[type=email] {
-    padding:5px 10px 5px 20px;
+    padding: 5px 10px 5px 20px;
 }
 
 textarea:focus,
@@ -2648,14 +2826,14 @@ input[type="radio"] {
 /* tables */
 
 table {
-    background-color: white;
+    background-color: #fff;
     border-collapse: collapse;
-    width:100%;
-    border-spacing:0;
+    width: 100%;
+    border-spacing: 0;
 }
 
 table th {
-    text-align:left;
+    text-align: left;
 }
 
 table.tags, table.tags td, table.tags th {
@@ -2669,24 +2847,22 @@ table.tags, table.tags td, table.tags th {
 
 /* Grid
 ------------------------------------------------------- */
-
-.col0    { float:left; width:04.1666%; }
-.col1    { float:left; width:08.3333%; }
-.col2    { float:left; width:16.6666%; }
-.col3    { float:left; width:25.0000%; max-width: 300px; }
-.col4    { float:left; width:33.3333%; max-width: 400px; }
-.col5    { float:left; width:41.6666%; max-width: 500px; }
-.col6    { float:left; width:50.0000%; max-width: 600px; }
-.col7    { float:left; width:58.3333%; }
-.col8    { float:left; width:66.6666%; }
-.col9    { float:left; width:75.0000%; }
-.col10   { float:left; width:83.3333%; }
-.col11   { float:left; width:91.6666%; }
-.col12   { float:left; width:100.0000%; }
+.col0    { float: left; width: 04.1666%; }
+.col1    { float: left; width: 08.3333%; }
+.col2    { float: left; width: 16.6666%; }
+.col3    { float: left; width: 25.0000%; max-width: 300px; }
+.col4    { float: left; width: 33.3333%; max-width: 400px; }
+.col5    { float: left; width: 41.6666%; max-width: 500px; }
+.col6    { float: left; width: 50.0000%; max-width: 600px; }
+.col7    { float: left; width: 58.3333%; }
+.col8    { float: left; width: 66.6666%; }
+.col9    { float: left; width: 75.0000%; }
+.col10   { float: left; width: 83.3333%; }
+.col11   { float: left; width: 91.6666%; }
+.col12   { float: left; width: 100.0000%; }
 
 /* UI Lists
 ------------------------------------------------------- */
-
 ul li { list-style: none;}
 
 .toggle-list > label {
@@ -2694,7 +2870,7 @@ ul li { list-style: none;}
     padding: 5px 10px;
     display: block;
     height: 30px;
-    background-color: white;
+    background-color: #fff;
     color: #7092ff;
     cursor: pointer;
 }
@@ -2726,28 +2902,24 @@ ul li { list-style: none;}
 /* Utility Classes
 ------------------------------------------------------- */
 .fillL {
-    background: white;
+    background: #fff;
     color: #333;
 }
-
 .fillL2 {
     background: #f6f6f6;
     color: #333;
 }
-
 .fillL3 {
     background: #ececec;
     color: #333;
 }
-
 .fillD {
-    background:rgba(0,0,0,.5);
-    color: white;
+    background: rgba(0,0,0,.5);
+    color: #fff;
 }
-
 .fillD2 {
-    background:rgba(0,0,0,.75);
-    color: white;
+    background: rgba(0,0,0,.75);
+    color: #fff;
 }
 
 .fl { float: left;}
@@ -2774,45 +2946,23 @@ li.hide {
 
 .loading {
     background: url(<%= asset_path("iD/img/loader_bg.gif") %>);
-    background-size:5px 5px;
-}
-
-.panewrap {
-    position:absolute;
-    width:200%;
-    height:100%;
-    right: -100%;
+    background-size: 5px 5px;
 }
 
 
-.pane {
-    position:absolute;
-    width:50%;
-    top: 0;
-    bottom: 30px;
-}
-
-.pane:first-child {
-    left: 0;
-}
-
-.pane:last-child {
-    right: 0;
-}
-
-/* Buttons */
-
+/* Buttons
+------------------------------------------------------- */
 button {
     text-align: center;
     line-height: 20px;
-    border:0;
-    background: white;
+    border: 0;
+    background: #fff;
     font-weight: bold;
-    color:#333;
-    font-size:12px;
+    color: #333;
+    font-size: 12px;
     display: inline-block;
-    height:40px;
-    border-radius:4px;
+    height: 40px;
+    border-radius: 4px;
 }
 
 button:focus,
@@ -2854,7 +3004,7 @@ button.minor:hover {
 
 .button-wrap {
     display: inline-block;
-    padding-right:10px;
+    padding-right: 10px;
     margin: 0;
 }
 
@@ -2871,7 +3021,7 @@ button.minor:hover {
 }
 
 .joined button {
-    border-radius:0;
+    border-radius: 0;
     border-right: 1px solid rgba(0,0,0,.5);
 }
 [dir='rtl'] .joined button {
@@ -2880,7 +3030,7 @@ button.minor:hover {
 }
 
 .fillL .joined button {
-    border-right: 1px solid white;
+    border-right: 1px solid #fff;
 }
 
 .joined button:first-child {
@@ -2900,7 +3050,7 @@ button.minor:hover {
 
 button.action {
     background: #7092ff;
-    color: white;
+    color: #fff;
 }
 
 button[disabled].action,
@@ -2969,8 +3119,31 @@ button.save.has-count .count::before {
     right: -6px;
 }
 
-/* Icons */
+.help-wrap svg.icon.pre-text.add-note,
+button.add-note svg.icon {
+    height: 15px;
+    width: 15px;
+    color: rgba(0,0,0,0.25);
+    stroke: #333;
+    stroke-width: 60px;
+    margin-top: 3px;
+}
+button.add-note svg.icon {
+    margin-left: unset;
+    margin-right: 7px;
+}
+[dir='rtl'] button.add-note svg.icon {
+    margin-left: 7px;
+    margin-right: unset;
+}
+.help-wrap svg.icon.pre-text.add-note {
+    margin-left: 3px;
+    margin-right: 3px;
+}
+
 
+/* Icons
+------------------------------------------------------- */
 .icon {
     vertical-align: top;
     width: 20px;
@@ -2988,8 +3161,13 @@ button.save.has-count .count::before {
     margin-right: 5px;
 }
 [dir='rtl'] .icon.pre-text {
-  margin-left: 5px;
-  margin-right: 0;
+    margin-left: 5px;
+    margin-right: 0;
+}
+
+.icon.pre-text.user-icon {
+    margin-left: 5px;
+    margin-right: 5px;
 }
 
 .icon.light {
@@ -3017,9 +3195,8 @@ button.save.has-count .count::before {
 }
 
 
-/* ToolBar / Persistent UI Elements
+/* Toolbar / Persistent UI Elements
 ------------------------------------------------------- */
-
 #bar {
     position: fixed;
     padding: 10px 0;
@@ -3040,7 +3217,6 @@ button.save.has-count .count::before {
 
 /* Header for modals / panes
 ------------------------------------------------------- */
-
 .header {
     border-bottom: 1px solid #ccc;
     height: 60px;
@@ -3070,6 +3246,8 @@ button.save.has-count .count::before {
 }
 
 .field-help-title button.close,
+.sidebar-component .header button.data-editor-close,
+.sidebar-component .header button.note-editor-close,
 .entity-editor-pane .header button.preset-close,
 .preset-list-pane .header button.preset-choose {
     position: absolute;
@@ -3077,6 +3255,8 @@ button.save.has-count .count::before {
     top: 0;
 }
 [dir='rtl'] .field-help-title button.close,
+[dir='rtl'] .sidebar-component .header button.data-editor-close,
+[dir='rtl'] .sidebar-component .header button.note-editor-close,
 [dir='rtl'] .entity-editor-pane .header button.preset-close,
 [dir='rtl'] .preset-list-pane .header button.preset-choose {
     left: 0;
@@ -3114,11 +3294,20 @@ button.save.has-count .count::before {
 .footer {
     position: absolute;
     bottom: 0;
+    margin: 0;
     padding: 5px 20px 5px 20px;
     border-top: 1px solid #ccc;
     background-color: #fafafa;
     width: 100%;
     z-index: 1;
+    flex-wrap: wrap;
+    justify-content: space-between;
+    list-style: none;
+    display: flex;
+}
+
+.footer > a {
+    justify-content: center;
 }
 
 .sidebar-component .body {
@@ -3130,9 +3319,8 @@ button.save.has-count .count::before {
 }
 
 
-/* Hide-Toggle
+/* Hide/Toggle collapsable sections (aka Disclosure)
 ------------------------------------------------------- */
-
 .hide-toggle .icon.pre-text {
     vertical-align: text-top;
     width: 16px;
@@ -3153,9 +3341,8 @@ a.hide-toggle {
 }
 
 
-/* Inspector
+/* Sidebar / Inspector
 ------------------------------------------------------- */
-
 #sidebar {
     position: relative;
     float: left;
@@ -3177,6 +3364,28 @@ a.hide-toggle {
     right: 0;
 }
 
+.panewrap {
+    position: absolute;
+    width: 200%;
+    height: 100%;
+    right: -100%;
+}
+
+.pane {
+    position: absolute;
+    width: 50%;
+    top: 0;
+    bottom: 30px;
+}
+
+.pane:first-child {
+    left: 0;
+}
+
+.pane:last-child {
+    right: 0;
+}
+
 .inspector-wrap {
     width: 100%;
     height: 100%;
@@ -3198,15 +3407,12 @@ a.hide-toggle {
 .feature-list-pane .inspector-body {
     top: 120px;
 }
-
 .preset-list-pane .inspector-body {
     top: 120px;
 }
-
 .entity-editor-pane .inspector-body {
     top: 60px;
 }
-
 .selection-list-pane .inspector-body {
     top: 60px;
 }
@@ -3242,12 +3448,12 @@ a.hide-toggle {
     font-weight: bold;
 }
 
-/* Feature list */
 
+/* Feature List / Search Results
+------------------------------------------------------- */
 .feature-list  {
-    width:100%;
+    width: 100%;
 }
-
 .no-results-item,
 .geocode-item,
 .feature-list-item {
@@ -3258,7 +3464,7 @@ a.hide-toggle {
 }
 
 .feature-list-item {
-    background-color: white;
+    background-color: #fff;
     font-weight: bold;
     height: 40px;
     line-height: 20px;
@@ -3298,11 +3504,11 @@ a.hide-toggle {
 }
 
 .feature-list-item .entity-type {
-    color:#7092ff;
+    color: #7092ff;
 }
 
 .feature-list-item:hover .entity-type {
-    color:#597be7;
+    color: #597be7;
 }
 
 .feature-list-item .entity-name {
@@ -3316,13 +3522,10 @@ a.hide-toggle {
 }
 
 
-/* Presets
+/* Preset List and Icons
 ------------------------------------------------------- */
-
-/* Preset grid  */
-
 .preset-list  {
-    width:100%;
+    width: 100%;
     padding: 20px 20px 10px 20px;
     border-bottom: 1px solid #ccc;
 }
@@ -3498,7 +3701,6 @@ a.hide-toggle {
 .preset-list-item button.tag-reference-button:hover {
     background: #f1f1f1;
 }
-
 .preset-list-item button.tag-reference-button .icon {
     opacity: .5;
 }
@@ -3545,27 +3747,23 @@ a.hide-toggle {
 }
 
 
-/* preset form basics */
-
+/* Entity/Preset Editor
+------------------------------------------------------- */
 .preset-editor {
     overflow: hidden;
     padding-bottom: 10px;
 }
-
 .preset-editor a.hide-toggle {
     margin: 0 20px 5px 20px;
 }
-
 .preset-editor .form-fields-container {
     padding: 10px;
     margin: 0 10px 10px 10px;
     border-radius: 8px;
 }
-
 .preset-editor .form-fields-container:empty {
     display: none;
 }
-
 .entity-editor-pane .preset-list-item .preset-list-button-wrap {
     margin-bottom: 0;
 }
@@ -3665,12 +3863,13 @@ a.hide-toggle {
     border-bottom: 1px solid #ccc
 }
 
-/* Preset form (hover mode) */
-
+/* Inspector (hover styles)
+------------------------------------------------------- */
 .inspector-hover .checkselect label:last-of-type,
 .inspector-hover .preset-input-wrap .label,
 .inspector-hover .form-field-multicombo,
 .inspector-hover .structure-extras-wrap,
+.inspector-hover .comments-container .comment,
 .inspector-hover input,
 .inspector-hover textarea,
 .inspector-hover label {
@@ -3688,6 +3887,12 @@ a.hide-toggle {
     border: 1px solid #ccc;
 }
 
+/* no scrollbars */
+.inspector-hover div {
+    overflow-x: hidden;
+    overflow-y: hidden;
+}
+
 /* hide and remove from layout */
 .inspector-hidden,
 .inspector-hover label input[type="checkbox"],
@@ -3710,14 +3915,14 @@ a.hide-toggle {
 /* hide but preserve in layout */
 .inspector-hover .entity-editor-pane button.minor,
 .inspector-hover .combobox-caret,
-.inspector-hover .entity-editor-pane .header button,
+.inspector-hover .header button,
 .inspector-hover .spin-control,
 .inspector-hover .form-field-multicombo .chips .remove,
 .inspector-hover .hide-toggle:before,
 .inspector-hover .more-fields,
 .inspector-hover .form-label-button-wrap,
 .inspector-hover .tag-reference-button,
-.inspector-hover .view-on-osm {
+.inspector-hover .footer * {
     opacity: 0;
 }
 
@@ -3726,6 +3931,10 @@ a.hide-toggle {
 .inspector-hover .tag-row .form-field.input-wrap-position {
     width: 50%;
 }
+.inspector-hover .tag-row .key-wrap,
+.inspector-hover .tag-row .input-wrap-position {
+    height: 31px;
+}
 
 .inspector-hover .tag-row:first-child input.value {
     border-top-right-radius: 4px;
@@ -3790,8 +3999,8 @@ a.hide-toggle {
     overflow: hidden;
 }
 
-/* adding additional preset fields */
-
+/* More Fields dropdown
+------------------------------------------------------- */
 .more-fields {
     padding: 0 20px 20px 20px;
     font-weight: bold;
@@ -3827,10 +4036,8 @@ a.hide-toggle {
 }
 
 
-/* preset form access */
-/* preset form cycleway */
-/* preset form structure extras */
-
+/* Field - Access, Cycleway, Structure
+------------------------------------------------------- */
 .structure-extras-wrap li,
 .form-field-cycleway .preset-input-wrap li,
 .form-field-access .preset-input-wrap li {
@@ -3899,8 +4106,8 @@ a.hide-toggle {
 }
 
 
-/* preset form multicombo */
-
+/* Field - Multicombo
+------------------------------------------------------- */
 .form-field-multicombo {
     border: 1px solid #cfcfcf;
     border-top: 0px;
@@ -3910,11 +4117,9 @@ a.hide-toggle {
     border-radius: 0 0 4px 4px;
     overflow: hidden;
 }
-
 .form-field-multicombo:focus {
     border-bottom: 0px;
 }
-
 .form-field-multicombo.active {
     border-bottom-left-radius: 0px;
     border-bottom-right-radius: 0px;
@@ -3959,8 +4164,8 @@ a.hide-toggle {
 }
 
 
-/* preset form numbers */
-
+/* Field - Numeric
+------------------------------------------------------- */
 input[type=number] {
     position: relative;
     padding-right: 20%;
@@ -4013,13 +4218,11 @@ input[type=number] {
     left: 0; right: 0; bottom: 0; top: 0;
     margin: auto;
 }
-
 .spin-control button.decrement::after {
     border-top: 5px solid #ccc;
     border-left: 5px solid transparent;
     border-right: 5px solid transparent;
 }
-
 .spin-control button.increment::after {
     border-bottom: 5px solid #ccc;
     border-left: 5px solid transparent;
@@ -4027,27 +4230,23 @@ input[type=number] {
 }
 
 
-/* preset form checkbox */
-
+/* Field - Checkbox
+------------------------------------------------------- */
 .checkselect label:last-of-type {
     display: block;
-    background: white;
+    background: #fff;
     padding: 5px 10px;
     color: #7092ff;
 }
-
 .checkselect label:hover {
     background: #f1f1f1;
 }
-
 .checkselect .set {
     color: inherit;
 }
-
 .checkselect label:not(.set) input[type="checkbox"] {
     opacity: .5;
 }
-
 .checkselect .reverser.button {
     display: block;
     float: right;
@@ -4063,21 +4262,23 @@ input[type=number] {
     display: none;
 }
 
-/* Preset form radio button */
 
+/* Field - Radio button
+------------------------------------------------------- */
 .toggle-list button.remove {
     border-radius: 0 0 3px 3px;
 }
-
 .toggle-list button.remove .icon {
     position: absolute;
     left: 5px;
 }
-
 .toggle-list button.remove::before {
     content: none;
 }
 
+
+/* Field - Maxspeed
+------------------------------------------------------- */
 #preset-input-maxspeed_advisory,
 #preset-input-maxspeed {
     border-right: none;
@@ -4099,7 +4300,9 @@ input[type=number] {
     border-radius: 0 0 0 4px;
 }
 
-/* Wikipedia field */
+
+/* Field - Wikipedia
+------------------------------------------------------- */
 .form-field .wiki-lang {
     border-radius: 0;
 }
@@ -4119,7 +4322,9 @@ input[type=number] {
     left: 32px;
 }
 
-/* Localized field */
+
+/* Field - Localized Name
+------------------------------------------------------- */
 .form-field .localized-main {
     padding-right: 12%;
 }
@@ -4150,7 +4355,6 @@ input[type=number] {
 .form-field .localized-wrap {
     padding: 0 10px;
 }
-
 .form-field .localized-wrap .entry {
     position: relative;
     overflow: hidden;
@@ -4173,18 +4377,17 @@ input[type=number] {
     border-radius: 0;
     border-top-width: 0;
 }
-
 .form-field .localized-wrap .entry .localized-value {
     border-top-width: 0;
     border-radius: 0 0 4px 4px;
 }
-
 .form-field .localized-wrap .form-label button {
     border-top-right-radius: 3px;
 }
 
-/* Preset form address */
 
+/* Field - Address
+------------------------------------------------------- */
 .addr-row input {
     border-right: 0;
     border-bottom: 0;
@@ -4223,8 +4426,9 @@ input[type=number] {
     border-radius: 0 0 0 4px;
 }
 
-/* Restrictions editor */
 
+/* Field - Restriction Editor
+------------------------------------------------------- */
 .form-field-restrictions .restriction-controls-container {
     background-color: #fff;
     border-top: 1px solid #ccc;
@@ -4314,8 +4518,9 @@ input[type=number] {
     color: #78f;
 }
 
-/* Changeset editor while comment text is empty */
 
+/* Field - Changeset Comment
+------------------------------------------------------- */
 .form-field-comment:not(.present) #preset-input-comment {
     border-color: rgb(230, 100, 100);
 }
@@ -4336,14 +4541,15 @@ input[type=number] {
     border-color: rgb(230, 100, 100);
 }
 
-/* combobox dropdown */
 
+/* Field - Combobox
+------------------------------------------------------- */
 div.combobox {
     z-index: 9999;
     display: none;
     box-shadow: 0 4px 10px 1px rgba(0,0,0,.2);
     margin-top: -1px;
-    background: white;
+    background: #fff;
     max-height: 245px;
     overflow-y: auto;
     overflow-x: hidden;
@@ -4394,8 +4600,9 @@ div.combobox {
     border-right: 5px solid transparent;
 }
 
-/* Field Help */
 
+/* Field Help
+------------------------------------------------------- */
 .field-help-body {
     display: block;
     position: absolute;
@@ -4495,8 +4702,8 @@ div.combobox {
 }
 
 
-/* Raw Tag Editor */
-
+/* Raw Tag Editor
+------------------------------------------------------- */
 .tag-list {
     padding-top: 10px;
 }
@@ -4622,7 +4829,6 @@ div.combobox {
 }
 
 /* Adding form fields to tag editor */
-
 .raw-tag-editor .add-tag {
     width: 40%;
     height: 30px;
@@ -4640,7 +4846,6 @@ div.combobox {
 }
 
 /* Tag reference */
-
 button.minor.tag-reference-loading {
     background-color: #f5f5f5;
 }
@@ -4702,8 +4907,8 @@ img.tag-reference-wiki-image {
 }
 
 
-/* Raw relation membership editor */
-
+/* Raw Member / Membership Editor
+------------------------------------------------------- */
 .raw-member-editor .member-list li:first-child,
 .raw-membership-editor .member-list li:first-child {
     padding-top: 10px;
@@ -4749,29 +4954,189 @@ input.key-trap {
     border: 1px solid rgba(0,0,0,0);
 }
 
-/* Fullscreen button */
-div.full-screen {
-    float: right;
-    width: 40px;
-    margin-right: 10px;
+
+/* OSM Note Editor
+------------------------------------------------------- */
+.note-header {
+    background-color: #f6f6f6;
+    border-radius: 5px;
+    border: 1px solid #ccc;
+    display: flex;
+    flex-flow: row nowrap;
+    align-items: center;
 }
 
-div.full-screen .tooltip {
-    min-width: 160px;
+.note-header-icon {
+    background-color: #fff;
+    padding: 10px;
+    flex: 0 0 62px;
+    position: relative;
+    width: 60px;
+    height: 60px;
+    border-right: 1px solid #ccc;
+    border-radius: 5px 0 0 5px;
+}
+[dir='rtl'] .note-header-icon {
+    border-right: unset;
+    border-left: 1px solid #ccc;
+    border-radius: 0 5px 5px 0;
 }
 
-div.full-screen > button, div.full-screen > button.active {
+.note-header-icon .icon-wrap {
+    position: absolute;
+    top: 0px;
+}
+
+.note-header-label {
+    background-color: #f6f6f6;
+    padding: 0 15px;
+    flex: 1 1 100%;
+    font-size: 14px;
+    font-weight: bold;
+    border-radius: 0 5px 5px 0;
+}
+[dir='rtl'] .note-header-label {
+    border-radius: 5px 0 0 5px;
+}
+
+.note-category {
+    margin: 20px 0px;
+}
+
+.comments-container {
+    background: #ececec;
+    padding: 1px 10px;
+    border-radius: 8px;
+    margin-top: 20px;
+}
+
+.comment {
+    background-color: #fff;
+    border-radius: 5px;
+    border: 1px solid #ccc;
+    margin: 10px auto;
+    display: flex;
+    flex-flow: row nowrap;
+}
+.comment-avatar {
+    padding: 10px;
+    flex: 0 0 62px;
+}
+.comment-avatar .icon.comment-avatar-icon {
     width: 40px;
     height: 40px;
-    background: transparent;
+    object-fit: cover;
+    border: 1px solid #ccc;
+    border-radius: 20px;
+}
+.comment-main {
+    padding: 10px 10px 10px 0;
+    flex: 1 1 100%;
+    flex-flow: column nowrap;
+    overflow: hidden;
+    overflow-wrap: break-word;
+}
+[dir='rtl'] .comment-main {
+    padding: 10px 0 10px 10px;
 }
 
-div.full-screen > button:hover {
-    background-color: rgba(0, 0, 0, .8);
+.comment-metadata {
+    flex-flow: row nowrap;
+    justify-content: space-between;
+}
+.comment-author {
+    font-weight: bold;
+    color: #333;
+}
+.comment-date {
+    color: #aaa;
+}
+.comment-text {
+    color: #333;
+    margin-top: 10px;
+    overflow-y: auto;
+    max-height: 250px;
+}
+.comment-text::-webkit-scrollbar {
+    border-left: none;
 }
 
-/* Map Controls */
+.note-save {
+    padding: 10px;
+}
+
+.note-save #new-comment-input {
+    width: 100%;
+    height: 100px;
+    max-height: 300px;
+    min-height: 100px;
+}
+
+.note-save .detail-section {
+    margin: 10px 0;
+}
+
+.note-report {
+    float: right;
+}
+
+
+/* Custom Data Editor
+------------------------------------------------------- */
+.data-header {
+    background-color: #f6f6f6;
+    border-radius: 5px;
+    border: 1px solid #ccc;
+    display: flex;
+    flex-flow: row nowrap;
+    align-items: center;
+}
 
+.data-header-icon {
+    background-color: #fff;
+    padding: 10px;
+    flex: 0 0 62px;
+    position: relative;
+    width: 60px;
+    height: 60px;
+    border-right: 1px solid #ccc;
+    border-radius: 5px 0 0 5px;
+}
+[dir='rtl'] .data-header-icon {
+    border-right: unset;
+    border-left: 1px solid #ccc;
+    border-radius: 0 5px 5px 0;
+}
+
+.data-header-icon .icon-wrap {
+    position: absolute;
+    top: 0px;
+}
+
+.data-header-label {
+    background-color: #f6f6f6;
+    padding: 0 15px;
+    flex: 1 1 100%;
+    font-size: 14px;
+    font-weight: bold;
+    border-radius: 0 5px 5px 0;
+}
+[dir='rtl'] .data-header-label {
+    border-radius: 5px 0 0 5px;
+}
+
+/* tag editor - no buttons */
+.data-editor.raw-tag-editor button {
+    display: none;
+}
+.data-editor.raw-tag-editor .tag-row .key-wrap,
+.data-editor.raw-tag-editor .tag-row .input-wrap-position {
+    width: 50%;
+}
+
+
+/* Map Controls
+------------------------------------------------------- */
 .map-controls {
     right: 0;
     top: 132px;
@@ -4799,7 +5164,32 @@ div.full-screen > button:hover {
     background: #7092ff;
 }
 
-/* Zoomer */
+
+/* Fullscreen Button (disabled)
+------------------------------------------------------- */
+div.full-screen {
+    float: right;
+    width: 40px;
+    margin-right: 10px;
+}
+
+div.full-screen .tooltip {
+    min-width: 160px;
+}
+
+div.full-screen > button, div.full-screen > button.active {
+    width: 40px;
+    height: 40px;
+    background: transparent;
+}
+
+div.full-screen > button:hover {
+    background-color: rgba(0, 0, 0, .8);
+}
+
+
+/* Zoom Buttons
+------------------------------------------------------- */
 .zoombuttons > button.zoom-in {
     border-radius: 4px 0 0 0;
 }
@@ -4807,7 +5197,9 @@ div.full-screen > button:hover {
     border-radius: 0 4px 0 0;
 }
 
-/* Geolocator */
+
+/* Geolocate Button
+------------------------------------------------------- */
 .geolocate-control {
     margin-bottom: 10px;
 }
@@ -4818,7 +5210,9 @@ div.full-screen > button:hover {
     border-radius: 0 0 4px 0;
 }
 
-/* Pane Buttons */
+
+/* Background / Map Data / Help Pane buttons
+------------------------------------------------------- */
 .help-control > button {
     border-radius: 0 0 0 4px;
 }
@@ -4838,8 +5232,8 @@ div.full-screen > button:hover {
 }
 
 
-/* Background / Map Data Settings */
-
+/* Background / Map Data Settings
+------------------------------------------------------- */
 .map-data-control,
 .background-control {
     position: relative;
@@ -4859,7 +5253,7 @@ div.full-screen > button:hover {
 .layer-list li {
     position: relative;
     height: 30px;
-    background-color: white;
+    background-color: #fff;
     color: #7092ff;
 }
 
@@ -4870,23 +5264,21 @@ div.full-screen > button:hover {
 .layer-list > li:first-child {
     border-radius: 3px 3px 0 0;
 }
-
 .layer-list > li:last-child {
     border-radius: 0 0 3px 3px;
 }
-
 .layer-list > li:only-child {
     border-radius: 3px;
 }
-
 .layer-list li:not(:last-child) {
     border-bottom: 1px solid #ccc;
 }
-
 .layer-list li:hover {
     background-color: #ececec;
 }
 
+.layer-list li.active button,
+.layer-list li.switch button,
 .layer-list li.active,
 .layer-list li.switch {
     background: #e8ebff;
@@ -4898,7 +5290,7 @@ div.full-screen > button:hover {
     float: right;
 }
 
-[dir='rtl'] .list-item-gpx-browse svg {
+[dir='rtl'] .list-item-data-browse svg {
     transform: rotateY(180deg);
 }
 
@@ -4921,9 +5313,45 @@ div.full-screen > button:hover {
     text-overflow: ellipsis;
 }
 
+.map-data-control .layer-list button,
+.background-control .layer-list button {
+    float: right;
+    height: 100%;
+    width: 10%;
+    border-left: 1px solid #ccc;
+    border-radius: 0;
+}
+[dir='rtl'] .map-data-control .layer-list button,
+[dir='rtl'] .background-control .layer-list button {
+    float: left;
+    border-left: none;
+    border-right: 1px solid #ccc;
+}
+
+.map-data-control .layer-list button .icon,
+.background-control .layer-list button .icon {
+    opacity: 0.5;
+}
 
-/* Background Display Options */
+.map-data-control .layer-list button:first-of-type,
+.background-control .layer-list button:first-of-type {
+    border-radius: 0 3px 3px 0;
+}
+[dir='rtl'] .map-data-control .layer-list button:first-of-type,
+[dir='rtl'] .background-control .layer-list button:first-of-type {
+    border-radius: 3px 0 0 3px;
+}
+
+.map-data-control .vectortile-container .vectortile-header {
+    padding-bottom: 5px;
+}
+.map-data-control .vectortile-container .vectortile-footer {
+    padding-bottom: 10px;
+}
 
+
+/* Background - Display Options Sliders
+------------------------------------------------------- */
 .display-options-container {
     padding: 10px;
 }
@@ -4956,8 +5384,8 @@ div.full-screen > button:hover {
 }
 
 
-/* Adjust Alignment controls */
-
+/* Background - Adjust Alignment
+------------------------------------------------------- */
 .background-control .nudge-container {
     border: 1px solid #ccc;
     border-radius: 4px;
@@ -5084,42 +5512,8 @@ div.full-screen > button:hover {
 }
 
 
-.map-data-control .layer-list button,
-.background-control .layer-list button {
-    float: right;
-    height: 100%;
-    width: 10%;
-    border-left: 1px solid #ccc;
-    border-radius: 0;
-}
-[dir='rtl'] .map-data-control .layer-list button,
-[dir='rtl'] .background-control .layer-list button {
-    float: left;
-    border-left: none;
-    border-right: 1px solid #ccc;
-}
-
-.map-data-control .layer-list button .icon,
-.background-control .layer-list button .icon {
-    opacity: 0.5;
-}
-
-.map-data-control .layer-list button:first-of-type,
-.background-control .layer-list button:first-of-type {
-    border-radius: 0 3px 3px 0;
-}
-[dir='rtl'] .map-data-control .layer-list button:first-of-type,
-[dir='rtl'] .background-control .layer-list button:first-of-type {
-    border-radius: 3px 0 0 3px;
-}
-
-/* Side panes */
-
-/*.map-data-control .map-pane,
-.background-control .map-pane,
-.help-control .map-pane {
-}
-*/
+/* Side Panes - Background / Map Data / Help
+------------------------------------------------------- */
 .map-pane {
     position: fixed;
     top: 60px;
@@ -5165,9 +5559,9 @@ div.full-screen > button:hover {
     padding-bottom: 15px;
 }
 
-/* Help */
-
 
+/* Help
+------------------------------------------------------- */
 .help-wrap p {
     font-size: 15px;
     margin-bottom: 20px;
@@ -5195,7 +5589,7 @@ div.full-screen > button:hover {
 
 .help-wrap .toc {
     width: 40%;
-    float:right;
+    float: right;
     margin-left: 20px;
     margin-bottom: 20px;
     padding-left: 5px;
@@ -5268,9 +5662,8 @@ div.full-screen > button:hover {
 }
 
 
-/* Tiles
+/* Raster Background Tiles
 ------------------------------------------------------- */
-
 img.tile {
     position: absolute;
     transform-origin: 0 0;
@@ -5330,7 +5723,6 @@ img.tile-debug {
 
 /* Map
 ------------------------------------------------------- */
-
 #map {
     position: relative;
     overflow: hidden;
@@ -5358,6 +5750,7 @@ img.tile-debug {
     bottom: 0;
 }
 
+
 /* Map-In-Map
 ------------------------------------------------------- */
 .map-in-map {
@@ -5373,11 +5766,11 @@ img.tile-debug {
 }
 
 .map-in-map-tiles {
-    transform-origin:0 0;
-    -ms-transform-origin:0 0;
-    -webkit-transform-origin:0 0;
-    -moz-transform-origin:0 0;
-    -o-transform-origin:0 0;
+    transform-origin: 0 0;
+    -ms-transform-origin: 0 0;
+    -webkit-transform-origin: 0 0;
+    -moz-transform-origin: 0 0;
+    -o-transform-origin: 0 0;
 
     -moz-user-select: none;
     -webkit-user-select: none;
@@ -5415,7 +5808,7 @@ img.tile-debug {
 }
 
 
-/* Debug
+/* Debug Data
 ------------------------------------------------------- */
 .debug {
     stroke: currentColor;
@@ -5454,7 +5847,8 @@ img.tile-debug {
     padding: 0 5px;
 }
 
-/* Info Box
+
+/* Information Panels
 ------------------------------------------------------- */
 .info-panels {
     display: flex;
@@ -5511,7 +5905,6 @@ img.tile-debug {
 .panel-title button.close:hover {
     color: #fff;
 }
-
 .panel-title button.close .icon {
     height: 20px;
     width: 16px;
@@ -5535,7 +5928,7 @@ img.tile-debug {
     padding: 0 4px;
     margin-top: 10px;
     margin-right: 10px;
-    color: white;
+    color: #fff;
 }
 [dir='rtl'] .panel-content .button {
     margin-right: auto;
@@ -5560,14 +5953,13 @@ img.tile-debug {
 }
 
 
-/* About Section
+/* About Section, Attribution, Footer
 ------------------------------------------------------- */
-
 #about {
     width: 100%;
     position: absolute;
-    right:0;
-    bottom:0;
+    right: 0;
+    bottom: 0;
     border-radius: 0;
     pointer-events: none;
     display: flex;
@@ -5627,8 +6019,9 @@ img.tile-debug {
     height: 30px;
 }
 
-/* footer flash message */
 
+/* Footer - Flash messages
+------------------------------------------------------- */
 #flash-wrap {
     display: flex;
     flex: 0 0 100%;
@@ -5710,8 +6103,8 @@ img.tile-debug {
 }
 
 
-/* footer scale */
-
+/* Footer - Scale bar, About, Source Switcher
+------------------------------------------------------- */
 #scale-block {
     vertical-align: bottom;
     width: 250px;
@@ -5757,7 +6150,6 @@ img.tile-debug {
     shape-rendering: crispEdges;
 }
 
-
 #about-list {
     text-align: right;
     margin-right: 10px;
@@ -5786,7 +6178,6 @@ img.tile-debug {
     padding: 5px 5px 5px 0;
 }
 
-
 #about-list li:last-child {
     border-left: 0;
     margin-left: 0;
@@ -5802,7 +6193,7 @@ img.tile-debug {
 }
 .source-switch a.live {
     background: #d32232;
-    color:#fff;
+    color: #fff;
 }
 
 .feature-warning a {
@@ -5839,8 +6230,8 @@ img.tile-debug {
     color: #ccf;
 }
 
-/* Notification Badges */
-
+/* Notification Badges
+------------------------------------------------------- */
 /* For an icon (e.g. new version) */
 .badge {
     display: inline-block;
@@ -5865,13 +6256,13 @@ img.tile-debug {
     vertical-align: baseline;
     width: 11px;
     height: 11px;
-    fill: white;
+    fill: #fff;
 }
 
 /* For text (e.g. upcoming events) */
 .badge-text {
     display: inline-block;
-    color: white;
+    color: #fff;
     text-align: center;
     width: 16px;
     height: 16px;
@@ -5887,13 +6278,12 @@ img.tile-debug {
 }
 
 
-/* Modals
+/* Modals / Prompts
 ------------------------------------------------------- */
-
 .modal {
     top: 40px;
     display: inline-block;
-    position:absolute;
+    position: absolute;
     border-radius: 3px;
     overflow: hidden;
     left: 0;
@@ -5905,7 +6295,6 @@ img.tile-debug {
 .modal .loader {
     margin-bottom: 10px;
 }
-
 .modal .description {
     text-align: center;
 }
@@ -5919,23 +6308,20 @@ img.tile-debug {
     right: 0;
     overflow: auto;
 }
-
 .shaded:before {
     content:'';
-    background:rgba(0,0,0,0.5);
-    position:fixed;
-    left:0px; right:0px; top:0px; bottom:0px;
+    background: rgba(0,0,0,0.5);
+    position: fixed;
+    left: 0px; right: 0px; top: 0px; bottom: 0px;
 }
 
 .modal-section {
     padding: 20px;
     border-bottom: 1px solid #ccc;
 }
-
 .modal-section.header h3 {
     padding: 0;
 }
-
 .modal-section.buttons {
     text-align: center;
 }
@@ -5947,10 +6333,17 @@ img.tile-debug {
     vertical-align: middle;
 }
 
+.save-section .buttons {
+    display: flex;
+    flex-wrap: wrap;
+    justify-content: space-around;
+    margin-bottom: 30px;
+}
+
 .save-section .buttons .action,
 .save-section .buttons .secondary-action {
-    display: inline-block;
-    margin: 0 20px 0 0;
+    width: 45%;
+    margin: 10px auto;
     text-align: center;
     vertical-align: middle;
 }
@@ -6002,7 +6395,7 @@ img.tile-debug {
     color: #e06c5e;
 }
 
-/* Success Modal
+/* Success Screen / Community Index
 ------------------------------------------------------- */
 .save-success.body {
     overflow-y: scroll;
@@ -6204,6 +6597,27 @@ svg.mouseclick use.right {
 }