]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'openstreetmap/pull/1285'
authorTom Hughes <tom@compton.nu>
Thu, 15 Sep 2016 18:21:21 +0000 (19:21 +0100)
committerTom Hughes <tom@compton.nu>
Thu, 15 Sep 2016 18:21:21 +0000 (19:21 +0100)
48 files changed:
.rubocop.yml
.rubocop_todo.yml
Gemfile.lock
app/assets/images/banners/sotmlatam-2016.jpg [new file with mode: 0644]
app/assets/javascripts/leaflet.layers.js
app/assets/javascripts/leaflet.map.js
app/assets/javascripts/osm.js.erb
app/controllers/amf_controller.rb
app/controllers/swf_controller.rb
app/helpers/banner_helper.rb
app/models/node.rb
app/models/relation.rb
app/models/trace.rb
app/models/way.rb
app/views/api/permissions.builder
app/views/changeset/_comments.rss.builder
app/views/changeset/comments_feed.rss.builder
app/views/changeset/list.atom.builder
app/views/changeset/timeout.atom.builder
app/views/diary_entry/rss.rss.builder
app/views/notes/_note.gpx.builder
app/views/notes/_note.rss.builder
app/views/notes/_note.xml.builder
app/views/notes/feed.rss.builder
app/views/notes/index.gpx.builder
app/views/notes/index.rss.builder
app/views/notes/show.gpx.builder
app/views/notes/show.rss.builder
app/views/trace/georss.rss.builder
app/views/user/api_read.builder
config/banners.yml
config/example.application.yml
config/initializers/r2.rb
config/locales/ar.yml
config/locales/diq.yml
config/locales/en-GB.yml
config/locales/eo.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/nl.yml
config/locales/pl.yml
config/locales/pt-BR.yml
config/locales/te.yml
db/migrate/008_remove_segments.rb
db/migrate/020_populate_node_tags_and_remove.rb
lib/classic_pagination/pagination.rb
script/gravatar
vendor/assets/leaflet/leaflet.osm.js

index f12f24a9f4c0b4a6215032efadfed4a27845042d..7b8ced04030eec60860e15bacb92595a6ea1017d 100644 (file)
@@ -1,5 +1,9 @@
 inherit_from: .rubocop_todo.yml
 
+AllCops:
+  Include:
+    - '**/*.builder'
+
 Rails:
   Enabled: true
 
index 927f4078070ae9d2794dc30daf88973a9bf404f8..3a3008e9eaefa24f7ee2ccacafde158cddf33bb6 100644 (file)
@@ -1,6 +1,6 @@
 # This configuration was generated by
 # `rubocop --auto-gen-config`
-# on 2016-07-13 09:47:52 +0100 using RuboCop version 0.41.2.
+# on 2016-09-07 11:03:27 +0100 using RuboCop version 0.41.2.
 # The point is for the user to remove these configuration records
 # one by one as the offenses are removed from the code base.
 # Note that changes in the inspected code, or installation of new
@@ -14,11 +14,11 @@ Lint/AmbiguousOperator:
     - 'test/lib/bounding_box_test.rb'
     - 'test/lib/country_test.rb'
 
-# Offense count: 115
+# Offense count: 117
 Lint/AmbiguousRegexpLiteral:
   Enabled: false
 
-# Offense count: 29
+# Offense count: 30
 # Configuration parameters: AllowSafeAssignment.
 Lint/AssignmentInCondition:
   Exclude:
@@ -43,11 +43,16 @@ Lint/HandleExceptions:
     - 'app/controllers/user_controller.rb'
     - 'config/initializers/session.rb'
 
-# Offense count: 616
+# Offense count: 2
+Lint/ShadowingOuterLocalVariable:
+  Exclude:
+    - 'app/views/changeset/list.atom.builder'
+
+# Offense count: 626
 Metrics/AbcSize:
   Max: 277
 
-# Offense count: 11
+# Offense count: 12
 Metrics/BlockNesting:
   Max: 5
 
@@ -56,17 +61,17 @@ Metrics/BlockNesting:
 Metrics/ClassLength:
   Max: 1650
 
-# Offense count: 67
+# Offense count: 68
 Metrics/CyclomaticComplexity:
   Max: 20
 
-# Offense count: 2485
+# Offense count: 2561
 # Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
 # URISchemes: http, https
 Metrics/LineLength:
   Max: 962
 
-# Offense count: 596
+# Offense count: 604
 # Configuration parameters: CountComments.
 Metrics/MethodLength:
   Max: 179
@@ -135,7 +140,7 @@ Style/AsciiComments:
   Exclude:
     - 'test/models/message_test.rb'
 
-# Offense count: 217
+# Offense count: 218
 Style/Documentation:
   Enabled: false
 
index 5a9456b35b34183b587e5567abda772e757a588b..066e3023da1692fe5d759b5ec2cf5f20022d5c44 100644 (file)
@@ -42,11 +42,11 @@ GEM
     addressable (2.4.0)
     arel (6.0.3)
     ast (2.3.0)
-    autoprefixer-rails (6.3.7)
+    autoprefixer-rails (6.4.1.1)
       execjs
     bigdecimal (1.1.0)
     builder (3.2.2)
-    capybara (2.7.1)
+    capybara (2.8.1)
       addressable
       mime-types (>= 1.16)
       nokogiri (>= 1.3.3)
@@ -66,15 +66,15 @@ GEM
       execjs
     coffee-script-source (1.10.0)
     colorize (0.8.1)
-    composite_primary_keys (8.1.3)
+    composite_primary_keys (8.1.4)
       activerecord (~> 4.2.0)
     concurrent-ruby (1.0.2)
-    coveralls (0.8.14)
+    coveralls (0.8.15)
       json (>= 1.8, < 3)
       simplecov (~> 0.12.0)
       term-ansicolor (~> 1.3)
       thor (~> 0.19.1)
-      tins (~> 1.6.0)
+      tins (>= 1.6.0, < 2)
     crass (1.0.2)
     dalli (2.7.6)
     deadlock_retry (1.2.0)
@@ -82,7 +82,7 @@ GEM
     dynamic_form (1.1.4)
     erubis (2.7.0)
     execjs (2.7.0)
-    exifr (1.2.4)
+    exifr (1.2.5)
     factory_girl (4.7.0)
       activesupport (>= 3.0.0)
     factory_girl_rails (4.7.0)
@@ -90,25 +90,25 @@ GEM
       railties (>= 3.0.0)
     faraday (0.9.2)
       multipart-post (>= 1.2, < 3)
-    fspath (2.1.1)
-    globalid (0.3.6)
+    fspath (3.0.1)
+    globalid (0.3.7)
       activesupport (>= 4.1.0)
     hashie (3.4.4)
     htmlentities (4.3.4)
     http_accept_language (2.0.5)
-    httpclient (2.8.0)
+    httpclient (2.8.2.4)
     i18n (0.7.0)
-    i18n-js (3.0.0.rc13)
+    i18n-js (3.0.0.rc14)
       i18n (~> 0.6, >= 0.6.6)
-    image_optim (0.22.1)
+    image_optim (0.24.0)
       exifr (~> 1.2, >= 1.2.2)
-      fspath (~> 2.1)
+      fspath (~> 3.0)
       image_size (~> 1.3)
       in_threads (~> 1.3)
       progress (~> 3.0, >= 3.0.1)
     image_size (1.4.2)
     in_threads (1.3.1)
-    jquery-rails (4.1.1)
+    jquery-rails (4.2.1)
       rails-dom-testing (>= 1, < 3)
       railties (>= 4.2.0)
       thor (>= 0.14, < 2.0)
@@ -135,7 +135,7 @@ GEM
     libv8 (3.16.14.15)
     libxml-ruby (2.9.0)
     logstash-event (1.2.02)
-    logstasher (1.0.0)
+    logstasher (1.0.1)
       activerecord (>= 4.0)
       activesupport (>= 4.0)
       logstash-event (~> 1.2.0)
@@ -156,7 +156,7 @@ GEM
     nokogiri (1.6.8)
       mini_portile2 (~> 2.1.0)
       pkg-config (~> 1.1.7)
-    nokogumbo (1.4.7)
+    nokogumbo (1.4.9)
       nokogiri
     oauth (0.4.7)
     oauth-plugin (0.5.1)
@@ -173,7 +173,7 @@ GEM
     omniauth (1.3.1)
       hashie (>= 1.2, < 4)
       rack (>= 1.0, < 3)
-    omniauth-facebook (3.0.0)
+    omniauth-facebook (4.0.0)
       omniauth-oauth2 (~> 1.2)
     omniauth-github (1.1.2)
       omniauth (~> 1.0)
@@ -189,9 +189,9 @@ GEM
     omniauth-openid (1.0.1)
       omniauth (~> 1.0)
       rack-openid (~> 1.3.1)
-    omniauth-windowslive (0.0.9.1)
+    omniauth-windowslive (0.0.11)
       multi_json (>= 1.0.3)
-      omniauth-oauth2 (~> 1.0)
+      omniauth-oauth2 (~> 1.4)
     paperclip (4.3.7)
       activemodel (>= 3.2.0)
       activesupport (>= 3.2.0)
@@ -207,8 +207,8 @@ GEM
       cliver (~> 0.3.1)
       websocket-driver (>= 0.2.0)
     powerpack (0.1.1)
-    progress (3.1.1)
-    psych (2.1.0)
+    progress (3.2.2)
+    psych (2.1.1)
     r2 (0.2.6)
     rack (1.6.4)
     rack-cors (0.4.0)
@@ -251,7 +251,7 @@ GEM
     ref (2.0.0)
     request_store (1.3.1)
     rinku (2.0.0)
-    rubocop (0.41.2)
+    rubocop (0.42.0)
       parser (>= 2.3.1.1, < 3.0)
       powerpack (~> 0.1)
       rainbow (>= 1.99.1, < 3.0)
@@ -259,12 +259,12 @@ GEM
       unicode-display_width (~> 1.0, >= 1.0.1)
     ruby-openid (2.7.0)
     ruby-progressbar (1.8.1)
-    sanitize (4.0.1)
+    sanitize (4.2.0)
       crass (~> 1.0.2)
       nokogiri (>= 1.4.4)
       nokogumbo (~> 1.4.1)
     sass (3.4.22)
-    sass-rails (5.0.5)
+    sass-rails (5.0.6)
       railties (>= 4.0.0, < 6)
       sass (~> 3.1)
       sprockets (>= 2.8, < 4.0)
@@ -276,10 +276,10 @@ GEM
       simplecov-html (~> 0.10.0)
     simplecov-html (0.10.0)
     soap4r-ruby1.9 (2.0.5)
-    sprockets (3.6.3)
+    sprockets (3.7.0)
       concurrent-ruby (~> 1.0)
       rack (> 1, < 3)
-    sprockets-rails (3.1.1)
+    sprockets-rails (3.2.0)
       actionpack (>= 4.0)
       activesupport (>= 4.0)
       sprockets (>= 3.0.0)
@@ -292,12 +292,12 @@ GEM
     thread_safe (0.3.5)
     tilt (2.0.5)
     timecop (0.8.1)
-    tins (1.6.0)
+    tins (1.12.0)
     tzinfo (1.2.2)
       thread_safe (~> 0.1)
-    uglifier (3.0.0)
+    uglifier (3.0.2)
       execjs (>= 0.3.0, < 3)
-    unicode-display_width (1.1.0)
+    unicode-display_width (1.1.1)
     validates_email_format_of (1.6.3)
       i18n
     vendorer (0.1.16)
diff --git a/app/assets/images/banners/sotmlatam-2016.jpg b/app/assets/images/banners/sotmlatam-2016.jpg
new file mode 100644 (file)
index 0000000..97efa75
Binary files /dev/null and b/app/assets/images/banners/sotmlatam-2016.jpg differ
index 9f2e50a6f4afaa928cb6c1611b24843708cabd09..c294f13ef2ef749065a4753e3a0e5f13a369a03b 100644 (file)
@@ -50,7 +50,7 @@ L.OSM.layers = function(options) {
 
       map.whenReady(function() {
         var miniMap = L.map(div[0], {attributionControl: false, zoomControl: false})
-          .addLayer(new layer.constructor());
+          .addLayer(new layer.constructor({ apikey: layer.options.apikey }));
 
         miniMap.dragging.disable();
         miniMap.touchZoom.disable();
index 7395898b7d488066e44a23b4d7766fd5fbda4205..3af81f76634f08c8f127090e4a01e82c22c7772a 100644 (file)
@@ -16,32 +16,39 @@ L.OSM.Map = L.Map.extend({
     var copyright = I18n.t('javascripts.map.copyright', {copyright_url: '/copyright'});
     var donate = I18n.t('javascripts.map.donate_link_text', {donate_url: 'http://donate.openstreetmap.org'});
 
-    this.baseLayers = [
-      new L.OSM.Mapnik({
-        attribution: copyright + " &hearts; " + donate,
-        code: "M",
-        keyid: "mapnik",
-        name: I18n.t("javascripts.map.base.standard")
-      }),
-      new L.OSM.CycleMap({
+    this.baseLayers = [];
+
+    this.baseLayers.push(new L.OSM.Mapnik({
+      attribution: copyright + " &hearts; " + donate,
+      code: "M",
+      keyid: "mapnik",
+      name: I18n.t("javascripts.map.base.standard")
+    }));
+
+    if (OSM.THUNDERFOREST_KEY) {
+      this.baseLayers.push(new L.OSM.CycleMap({
         attribution: copyright + ". Tiles courtesy of <a href='http://www.thunderforest.com/' target='_blank'>Andy Allan</a>",
+        apikey: OSM.THUNDERFOREST_KEY,
         code: "C",
         keyid: "cyclemap",
         name: I18n.t("javascripts.map.base.cycle_map")
-      }),
-      new L.OSM.TransportMap({
+      }));
+
+      this.baseLayers.push(new L.OSM.TransportMap({
         attribution: copyright + ". Tiles courtesy of <a href='http://www.thunderforest.com/' target='_blank'>Andy Allan</a>",
+        apikey: OSM.THUNDERFOREST_KEY,
         code: "T",
         keyid: "transportmap",
         name: I18n.t("javascripts.map.base.transport_map")
-      }),
-      new L.OSM.HOT({
-        attribution: copyright + ". Tiles courtesy of <a href='http://hot.openstreetmap.org/' target='_blank'>Humanitarian OpenStreetMap Team</a>",
-        code: "H",
-        keyid: "hot",
-        name: I18n.t("javascripts.map.base.hot")
-      })
-    ];
+      }));
+    }
+
+    this.baseLayers.push(new L.OSM.HOT({
+      attribution: copyright + ". Tiles courtesy of <a href='http://hot.openstreetmap.org/' target='_blank'>Humanitarian OpenStreetMap Team</a>",
+      code: "H",
+      keyid: "hot",
+      name: I18n.t("javascripts.map.base.hot")
+    }));
 
     this.noteLayer = new L.FeatureGroup();
     this.noteLayer.options = {code: 'N'};
index 138416be12525fa1fb1480c3e5151f69ffb76daa..10b7cfdb81cda46676c9d397ded0d558fcf61af6 100644 (file)
@@ -23,6 +23,9 @@ OSM = {
 <% if defined?(MAPZEN_VALHALLA_KEY) %>
   MAPZEN_VALHALLA_KEY:     <%= MAPZEN_VALHALLA_KEY.to_json %>,
 <% end %>
+<% if defined?(THUNDERFOREST_KEY) %>
+  THUNDERFOREST_KEY:       <%= THUNDERFOREST_KEY.to_json %>,
+<% end %>
 
   MARKER_GREEN:            <%= image_path("marker-green.png").to_json %>,
   MARKER_RED:              <%= image_path("marker-red.png").to_json %>,
index 9cd6857483982e89cb8c5feec0098ee774a540d2..ac6da0566aab5e88fdcee41f1c58b68370ee7027 100644 (file)
@@ -86,14 +86,14 @@ class AmfController < ApplicationController
           orn = renumberednodes.dup
           result = putway(renumberednodes, *args)
           result[4] = renumberednodes.reject { |k, _v| orn.key?(k) }
-          renumberedways[result[2]] = result[3] if result[0] == 0 && result[2] != result[3]
+          renumberedways[result[2]] = result[3] if result[0].zero? && result[2] != result[3]
         when "putrelation" then
           result = putrelation(renumberednodes, renumberedways, *args)
         when "deleteway" then
           result = deleteway(*args)
         when "putpoi" then
           result = putpoi(*args)
-          renumberednodes[result[2]] = result[3] if result[0] == 0 && result[2] != result[3]
+          renumberednodes[result[2]] = result[3] if result[0].zero? && result[2] != result[3]
         when "startchangeset" then
           result = startchangeset(*args)
         end
@@ -163,7 +163,7 @@ class AmfController < ApplicationController
       end
 
       # open a new changeset
-      if opennew != 0
+      if opennew.nonzero?
         cs = Changeset.new
         cs.tags = cstags
         cs.user_id = user.id
@@ -540,7 +540,7 @@ class AmfController < ApplicationController
       tags = strip_non_xml_chars tags
 
       relid = relid.to_i
-      visible = (visible.to_i != 0)
+      visible = visible.to_i.nonzero?
 
       new_relation = nil
       relation = nil
@@ -644,7 +644,7 @@ class AmfController < ApplicationController
           id = a[2].to_i
           version = a[3].to_i
 
-          return -2, "Server error - node with id 0 found in way #{originalway}." if id == 0
+          return -2, "Server error - node with id 0 found in way #{originalway}." if id.zero?
           return -2, "Server error - node with latitude -90 found in way #{originalway}." if lat == 90
 
           id = renumberednodes[id] if renumberednodes[id]
index ceaf7e4c0d306f15d6f06ac17f9d94e027eb6087..9033a073328a4ae6f0014ea72681a06e3c867d8e 100644 (file)
@@ -195,7 +195,7 @@ class SwfController < ApplicationController
   # Find number of bits required to store arbitrary-length binary
 
   def length_sb(n)
-    Math.frexp(n + (n == 0 ? 1 : 0))[1] + 1
+    Math.frexp(n + (n.zero? ? 1 : 0))[1] + 1
   end
 
   # ====================================================================
index 98308ae12a2b87e3a6f0bef937dd78a4a6206237..4e888173b34ca0e127ff4574239413d9a6b26792 100644 (file)
@@ -7,7 +7,7 @@ module BannerHelper
       rescue
         parsed = nil
       end
-      parsed.is_a?(Date) && parsed.past?
+      !parsed.is_a?(Date) || (parsed.is_a?(Date) && parsed.past?)
     end
   end
 
@@ -17,6 +17,7 @@ module BannerHelper
     banner_key = nil
     cookie_key = nil
     min_index = 9999
+    min_date = Date.new(9999, 1, 1)
 
     banners.each do |k, v|
       ckey = banner_cookie(v[:id]).to_sym
@@ -30,9 +31,14 @@ module BannerHelper
       # pick banner with mininum queue position
       next if index > min_index
 
+      # or if equal queue position, pick banner with soonest end date (i.e. next expiring)
+      end_date = Date.parse(v[:enddate])
+      next if index == min_index && end_date > min_date
+
       banner_key = k
       cookie_key = ckey
       min_index = index
+      min_date = end_date
     end
 
     unless banner_key.nil?
index a6814405c731195442304ee1f08d90107061d2cc..a5becbf4d0b2e4ff260416fe2c6e7092124c68d0 100644 (file)
@@ -81,7 +81,7 @@ class Node < ActiveRecord::Base
       node.id = pt["id"].to_i
       # .to_i will return 0 if there is no number that can be parsed.
       # We want to make sure that there is no id with zero anyway
-      raise OSM::APIBadUserInput.new("ID of node cannot be zero when updating.") if node.id == 0
+      raise OSM::APIBadUserInput.new("ID of node cannot be zero when updating.") if node.id.zero?
     end
 
     # We don't care about the time, as it is explicitly set on create/update/delete
index 062f0ed04ec073a869ecabfd3f5414e95e940c6d..4c80be210e6c64ef23004641f2d64ed8d6c770d0 100644 (file)
@@ -60,7 +60,7 @@ class Relation < ActiveRecord::Base
       relation.id = pt["id"].to_i
       # .to_i will return 0 if there is no number that can be parsed.
       # We want to make sure that there is no id with zero anyway
-      raise OSM::APIBadUserInput.new("ID of relation cannot be zero when updating.") if relation.id == 0
+      raise OSM::APIBadUserInput.new("ID of relation cannot be zero when updating.") if relation.id.zero?
     end
 
     # We don't care about the timestamp nor the visibility as these are either
index a1e98467648507fef371d1c827a03a67526696ca..85c0244d5b89175e595e436119280feb7b8b8ec3 100644 (file)
@@ -197,7 +197,7 @@ class Trace < ActiveRecord::Base
       trace.id = pt["id"].to_i
       # .to_i will return 0 if there is no number that can be parsed.
       # We want to make sure that there is no id with zero anyway
-      raise OSM::APIBadUserInput.new("ID of trace cannot be zero when updating.") if trace.id == 0
+      raise OSM::APIBadUserInput.new("ID of trace cannot be zero when updating.") if trace.id.zero?
     end
 
     # We don't care about the time, as it is explicitly set on create/update/delete
index d0a252803631c7d1d81f391683cf8747d2718aba..b31ffc1d16a7b38d4064e811194f05361fb13b96 100644 (file)
@@ -58,7 +58,7 @@ class Way < ActiveRecord::Base
       way.id = pt["id"].to_i
       # .to_i will return 0 if there is no number that can be parsed.
       # We want to make sure that there is no id with zero anyway
-      raise OSM::APIBadUserInput.new("ID of way cannot be zero when updating.") if way.id == 0
+      raise OSM::APIBadUserInput.new("ID of way cannot be zero when updating.") if way.id.zero?
     end
 
     # We don't care about the timestamp nor the visibility as these are either
index 066f5678877965f76ba3915ec50d76867015d270..6d26a9e532521d05f826c3a38edb8a9d0462bb8e 100644 (file)
@@ -1,6 +1,6 @@
 # create list of permissions
-xml.instruct! :xml, :version=>"1.0"
-xml.osm("version" => "#{API_VERSION}", "generator" => "OpenStreetMap Server") do
+xml.instruct! :xml, :version => "1.0"
+xml.osm("version" => API_VERSION.to_s, "generator" => "OpenStreetMap Server") do
   xml.permissions do
     @permissions.each do |permission|
       xml.permission :name => permission
index 8ad5cbaa77f1fb4f206e7b16a00f263a573761c6..5c683c86d8ec224fe42ddd6d1bd5d5dc16e019ed 100644 (file)
@@ -1,17 +1,15 @@
 comments.each do |comment|
   xml.item do
     xml.title t("changeset.rss.comment", :author => comment.author.display_name, :changeset_id => comment.changeset.id.to_s)
-    
+
     xml.link url_for(:controller => "browse", :action => "changeset", :id => comment.changeset.id, :anchor => "c#{comment.id}", :only_path => false)
     xml.guid url_for(:controller => "browse", :action => "changeset", :id => comment.changeset.id, :anchor => "c#{comment.id}", :only_path => false)
 
     xml.description do
-      xml.cdata! render(:partial => "comment", :object => comment, :formats => [ :html ])
+      xml.cdata! render(:partial => "comment", :object => comment, :formats => [:html])
     end
 
-    if comment.author
-      xml.dc :creator, comment.author.display_name
-    end
+    xml.dc :creator, comment.author.display_name if comment.author
 
     xml.pubDate comment.created_at.to_s(:rfc822)
   end
index 60a229a30e73f97e86a437f104d71522f65e7ff0..f6d304a4cbd9bf8c6a4da50d1dba7341cbd23650 100644 (file)
@@ -1,14 +1,13 @@
-xml.rss("version" => "2.0", 
+xml.rss("version" => "2.0",
         "xmlns:dc" => "http://purl.org/dc/elements/1.1/") do
   xml.channel do
     if @changeset
-      xml.title t('changeset.rss.title_particular', :changeset_id => @changeset.id)
+      xml.title t("changeset.rss.title_particular", :changeset_id => @changeset.id)
     else
-      xml.title t('changeset.rss.title_all')
+      xml.title t("changeset.rss.title_all")
     end
     xml.link url_for(:controller => "site", :action => "index", :only_path => false)
 
     xml << render(:partial => "comments", :object => @comments)
   end
 end
-
index 3e0cd9ec58c6624bf3c27535f93cc5568351a607..979a7492f08efcc1cf4f82cb4690c167dc5d6446 100644 (file)
@@ -1,20 +1,20 @@
 atom_feed(:language => I18n.locale, :schema_date => 2009,
-          :id => url_for(params.merge({ :only_path => false })),
-          :root_url => url_for(params.merge({ :action => :list, :format => nil, :only_path => false })),
+          :id => url_for(params.merge(:only_path => false)),
+          :root_url => url_for(params.merge(:action => :list, :format => nil, :only_path => false)),
           "xmlns:georss" => "http://www.georss.org/georss") do |feed|
   feed.title changeset_list_title(params, @user)
 
-  feed.updated @edits.map {|e|  [e.created_at, e.closed_at].max }.max
+  feed.updated @edits.map { |e| [e.created_at, e.closed_at].max }.max
   feed.icon "http://#{SERVER_URL}/favicon.ico"
   feed.logo "http://#{SERVER_URL}/images/mag_map-rss2.0.png"
 
-  feed.rights :type => 'xhtml' do |xhtml|
+  feed.rights :type => "xhtml" do |xhtml|
     xhtml.a :href => "http://creativecommons.org/licenses/by-sa/2.0/" do |a|
       a.img :src => "http://#{SERVER_URL}/images/cc_button.png", :alt => "CC by-sa 2.0"
     end
   end
 
-  for changeset in @edits
+  @edits.each do |changeset|
     feed.entry(changeset, :updated => changeset.closed_at, :id => changeset_url(changeset.id, :only_path => false)) do |entry|
       entry.link :rel => "alternate",
                  :href => changeset_read_url(changeset, :only_path => false),
@@ -23,20 +23,20 @@ atom_feed(:language => I18n.locale, :schema_date => 2009,
                  :href => changeset_download_url(changeset, :only_path => false),
                  :type => "application/osmChange+xml"
 
-      if !changeset.tags.empty? and changeset.tags.has_key? "comment"
-        entry.title t('browse.changeset.feed.title_comment', :id => h(changeset.id), :comment => h(changeset.tags['comment'])), :type => "html"
+      if !changeset.tags.empty? && changeset.tags.key?("comment")
+        entry.title t("browse.changeset.feed.title_comment", :id => h(changeset.id), :comment => h(changeset.tags["comment"])), :type => "html"
       else
-        entry.title t('browse.changeset.feed.title', :id => h(changeset.id))
+        entry.title t("browse.changeset.feed.title", :id => h(changeset.id))
       end
 
       if changeset.user.data_public?
         entry.author do |author|
           author.name changeset.user.display_name
-          author.uri url_for(:controller => 'user', :action => 'view', :display_name => changeset.user.display_name, :only_path => false)
+          author.uri url_for(:controller => "user", :action => "view", :display_name => changeset.user.display_name, :only_path => false)
         end
       end
 
-      feed.content :type => 'xhtml' do |xhtml|
+      feed.content :type => "xhtml" do |xhtml|
         xhtml.style "th { text-align: left } tr { vertical-align: top }"
         xhtml.table do |table|
           table.tr do |tr|
index a4faeb34b1ed93f0ee164acfcd0bb14ece71f182..c878905e6ed17d63ac9c33713f53232949cc38a5 100644 (file)
@@ -1,12 +1,12 @@
 atom_feed(:language => I18n.locale, :schema_date => 2009,
-          :id => url_for(params.merge({ :only_path => false })),
-          :root_url => url_for(params.merge({ :only_path => false, :format => nil })),
+          :id => url_for(params.merge(:only_path => false)),
+          :root_url => url_for(params.merge(:only_path => false, :format => nil)),
           "xmlns:georss" => "http://www.georss.org/georss") do |feed|
   feed.title @title
 
-  feed.subtitle :type => 'xhtml' do |xhtml|
+  feed.subtitle :type => "xhtml" do |xhtml|
     xhtml.p do |p|
-      p << t('changeset.timeout.sorry')
+      p << t("changeset.timeout.sorry")
     end
   end
 end
index 240025fa7484a00ec0300ecf96c687a1ed0a86f2..7adcb3b5245309c17693cabaea040e3170d8f8d7 100644 (file)
@@ -1,6 +1,6 @@
 xml.instruct!
 
-xml.rss("version" => "2.0", 
+xml.rss("version" => "2.0",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
@@ -12,10 +12,10 @@ xml.rss("version" => "2.0",
       xml.title "OpenStreetMap"
       xml.width "100"
       xml.height "100"
-      xml.link url_for(:action => "list", :host=> SERVER_URL)
+      xml.link url_for(:action => "list", :host => SERVER_URL)
     end
 
-    for entry in @entries
+    @entries.each do |entry|
       xml.item do
         xml.title h(entry.title)
         xml.link url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :host => SERVER_URL)
@@ -24,11 +24,11 @@ xml.rss("version" => "2.0",
         xml.author entry.user.display_name
         xml.pubDate entry.created_at.to_s(:rfc822)
         xml.comments url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :anchor => "comments", :host => SERVER_URL)
-        
-        if entry.latitude and entry.longitude
+
+        if entry.latitude && entry.longitude
           xml.geo :lat, entry.latitude.to_s
           xml.geo :long, entry.longitude.to_s
-          xml.georss :point, "#{entry.latitude.to_s} #{entry.longitude.to_s}"
+          xml.georss :point, "#{entry.latitude} #{entry.longitude}"
         end
       end
     end
index 8a96db81cc61bdb3882f4e3ab089e8a13670f7d0..9d8ede249d80a711c74b39794700b5bbf30ab014 100644 (file)
@@ -3,7 +3,7 @@ xml.wpt("lon" => note.lon, "lat" => note.lat) do
   xml.name t("browse.note.title", :id => note.id)
 
   xml.desc do
-    xml.cdata! render(:partial => "description", :object => note, :formats => [ :html ])
+    xml.cdata! render(:partial => "description", :object => note, :formats => [:html])
   end
 
   xml.link("href" => browse_note_url(note, :host => SERVER_URL))
@@ -22,8 +22,6 @@ xml.wpt("lon" => note.lon, "lat" => note.lat) do
     xml.date_created note.created_at
     xml.status note.status
 
-    if note.closed?
-      xml.date_closed note.closed_at
-    end
+    xml.date_closed note.closed_at if note.closed?
   end
 end
index a095b636d9ed45a8bf907a7731f140597168e36f..900e7fd7cb328bfcb0e6e3b59ef2e8b4cafcc4b8 100644 (file)
@@ -2,20 +2,18 @@ xml.item do
   location = describe_location(note.lat, note.lon, 14, locale)
 
   if note.closed?
-    xml.title t('note.rss.closed', :place => location)
+    xml.title t("note.rss.closed", :place => location)
   elsif note.comments.length > 1
-    xml.title t('note.rss.commented', :place => location)
+    xml.title t("note.rss.commented", :place => location)
   else
-    xml.title t('note.rss.opened', :place => location)
+    xml.title t("note.rss.opened", :place => location)
   end
 
   xml.link browse_note_url(note)
   xml.guid note_url(note)
-  xml.description render(:partial => "description", :object => note, :formats => [ :html ])
+  xml.description render(:partial => "description", :object => note, :formats => [:html])
 
-  if note.author
-    xml.author note.author.display_name
-  end
+  xml.author note.author.display_name if note.author
 
   xml.pubDate note.updated_at.to_s(:rfc822)
   xml.geo :lat, note.lat
index ee9570205ce8e79d18e982aaea5487831cb51090..fb6738aaa1c6342a150f8c69670abe0b5987f3ca 100644 (file)
@@ -12,9 +12,7 @@ xml.note("lon" => note.lon, "lat" => note.lat) do
   xml.date_created note.created_at
   xml.status note.status
 
-  if note.closed?
-    xml.date_closed note.closed_at
-  end
+  xml.date_closed note.closed_at if note.closed?
 
   xml.comments do
     note.comments.each do |comment|
index e663d94a60ff8d19c61cfb0cb4ccc4ddc84829f9..708192e5f48f020149ead7ef6dadd3aabdb5ee1c 100644 (file)
@@ -1,12 +1,12 @@
 xml.instruct!
 
-xml.rss("version" => "2.0", 
+xml.rss("version" => "2.0",
         "xmlns:dc" => "http://purl.org/dc/elements/1.1/",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
-    xml.title t('note.rss.title')
-    xml.description t('note.rss.description_area', :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon )
+    xml.title t("note.rss.title")
+    xml.description t("note.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
     xml.link url_for(:controller => "site", :action => "index", :only_path => false)
 
     @comments.each do |comment|
@@ -14,17 +14,15 @@ xml.rss("version" => "2.0",
 
       xml.item do
         xml.title t("note.rss.#{comment.event}", :place => location)
-        
+
         xml.link url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
         xml.guid url_for(:controller => "browse", :action => "note", :id => comment.note.id, :anchor => "c#{comment.id}", :only_path => false)
 
         xml.description do
-          xml.cdata! render(:partial => "entry", :object => comment, :formats => [ :html ])
+          xml.cdata! render(:partial => "entry", :object => comment, :formats => [:html])
         end
 
-        if comment.author
-          xml.dc :creator, comment.author.display_name
-        end
+        xml.dc :creator, comment.author.display_name if comment.author
 
         xml.pubDate comment.created_at.to_s(:rfc822)
         xml.geo :lat, comment.note.lat
index 5207ec3f81d82430913b4a18ce9cdb0c08fcbf0c..58da357da5f6daa688ed27de65f333c2c83b9858 100644 (file)
@@ -1,6 +1,6 @@
 xml.instruct!
 
-xml.gpx("version" => "1.1", 
+xml.gpx("version" => "1.1",
         "creator" => "OpenStreetMap.org",
         "xmlns" => "http://www.topografix.com/GPX/1/1",
         "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
index 53806f50207960699523bab209f3d137ce0081b9..ecbbb73263afac0bc5c757b2101195692a9ac372 100644 (file)
@@ -1,11 +1,11 @@
 xml.instruct!
 
-xml.rss("version" => "2.0", 
+xml.rss("version" => "2.0",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
-    xml.title t('note.rss.title')
-    xml.description t('note.rss.description_area', :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon )
+    xml.title t("note.rss.title")
+    xml.description t("note.rss.description_area", :min_lat => @min_lat, :min_lon => @min_lon, :max_lat => @max_lat, :max_lon => @max_lon)
     xml.link url_for(:controller => "site", :action => "index", :only_path => false)
 
     xml << (render(:partial => "note", :collection => @notes) || "")
index 8bb6c9688c60cae7f62113c813d23b5d9b6b4b40..f87ff4dd947ba2f8f323287e6a9916cbe04644d0 100644 (file)
@@ -1,6 +1,6 @@
 xml.instruct!
 
-xml.gpx("version" => "1.1", 
+xml.gpx("version" => "1.1",
         "creator" => "OpenStreetMap.org",
         "xmlns" => "http://www.topografix.com/GPX/1/1",
         "xmlns:xsi" => "http://www.w3.org/2001/XMLSchema-instance",
index e566ff02ec2b224ff2e3222e9f410893259e618d..62ccbe8a94a4ab2f3f2969eff254b4264ae65d1f 100644 (file)
@@ -1,11 +1,11 @@
 xml.instruct!
 
-xml.rss("version" => "2.0", 
+xml.rss("version" => "2.0",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
   xml.channel do
-    xml.title t('note.rss.title')
-    xml.description t('note.rss.description_item', :id => @note.id)
+    xml.title t("note.rss.title")
+    xml.description t("note.rss.description_item", :id => @note.id)
     xml.link url_for(:controller => "site", :action => "index", :only_path => false)
 
     xml << render(:partial => "note", :object => @note)
index 0b2e26d11e66e49b9c52cef2f2982aebcb53134b..176f2bdbf9c9aa43f8197d4fb74d3283bce2478f 100644 (file)
@@ -1,6 +1,6 @@
 xml.instruct!
 
-xml.rss("version" => "2.0", 
+xml.rss("version" => "2.0",
         "xmlns:dc" => "http://purl.org/dc/elements/1.1/",
         "xmlns:geo" => "http://www.w3.org/2003/01/geo/wgs84_pos#",
         "xmlns:georss" => "http://www.georss.org/georss") do
@@ -25,14 +25,14 @@ xml.rss("version" => "2.0",
         xml.guid url_for(:controller => :trace, :action => :view, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
 
         xml.description do
-          xml.cdata! render(:partial => "description", :object => trace, :formats => [ :html ])
+          xml.cdata! render(:partial => "description", :object => trace, :formats => [:html])
         end
 
         xml.dc :creator, trace.user.display_name
 
         xml.pubDate trace.timestamp.to_s(:rfc822)
 
-        if trace.latitude and trace.longitude
+        if trace.latitude && trace.longitude
           xml.geo :lat, trace.latitude
           xml.geo :long, trace.longitude
           xml.georss :point, "#{trace.latitude} #{trace.longitude}"
index e976954206f08fe892c2405ecc492fdc7fdc22c8..7136b9f5867af6de53994dcad04ff5527a4f95d7 100644 (file)
@@ -3,16 +3,14 @@ xml.osm("version" => API_VERSION, "generator" => GENERATOR) do
   xml.tag! "user", :id => @this_user.id,
                    :display_name => @this_user.display_name,
                    :account_created => @this_user.creation_time.xmlschema do
-    if @this_user.description
-      xml.tag! "description", @this_user.description
-    end
+    xml.tag! "description", @this_user.description if @this_user.description
     if @user && @user == @this_user
-      xml.tag! "contributor-terms", :agreed => !!@this_user.terms_agreed,
-                                    :pd => !!@this_user.consider_pd
+      xml.tag! "contributor-terms", :agreed => @this_user.terms_agreed.present?,
+                                    :pd => @this_user.consider_pd
     else
-      xml.tag! "contributor-terms", :agreed => !!@this_user.terms_agreed
+      xml.tag! "contributor-terms", :agreed => @this_user.terms_agreed.present?
     end
-    if @this_user.image.file? or @this_user.image_use_gravatar
+    if @this_user.image.file? || @this_user.image_use_gravatar
       xml.tag! "img", :href => user_image_url(@this_user, :size => 256)
     end
     xml.tag! "roles" do
@@ -31,7 +29,7 @@ xml.osm("version" => API_VERSION, "generator" => GENERATOR) do
       end
     end
     if @user && @user == @this_user
-      if @this_user.home_lat and @this_user.home_lon
+      if @this_user.home_lat && @this_user.home_lon
         xml.tag! "home", :lat => @this_user.home_lat,
                          :lon => @this_user.home_lon,
                          :zoom => @this_user.home_zoom
index 48c7b8fa099c9cca2bfdf0c5445b3e85def3eb9e..29f1ca86af890ef6273351bc7486ae93dbaa4faa 100644 (file)
@@ -11,3 +11,10 @@ sotmasia2016:
   link: http://stateofthemap.asia/
   img: banners/sotmasia-2016.jpg
   enddate: 2016-oct-01
+
+sotmlatam2016:
+  id: sotmlatam2016
+  alt: State of the Map Latam 2016
+  link: http://state.osmlatam.org/
+  img: banners/sotmlatam-2016.jpg
+  enddate: 2016-nov-25
index 9234099b774005a37fb934129e9804dd77ba880b..b5d4db363f054d8b14af4eab88777850b2bf99d2 100644 (file)
@@ -111,6 +111,8 @@ defaults: &defaults
   #mapquest_key: ""
   # Mapzen authentication details
   #mapzen_valhalla_key: ""
+  # Thunderforest authentication details
+  #thunderforest_key: ""
 
 development:
   <<: *defaults
index 545d7bc0274db58afb8488d731ad9ed45f8c6315..7fbb5c115002480f2f969303f7ca0b3fefbc9be5 100644 (file)
@@ -1,23 +1,16 @@
-class R2Template < Tilt::Template
-  self.default_mime_type = "text/css"
+require "r2"
 
-  def self.engine_initialized?
-    defined? ::R2
-  end
-
-  def initialize_engine
-    require_template_library "r2"
-  end
-
-  def prepare
-    @output = R2.r2(data)
-  end
-
-  def evaluate(_scope, _locals, &_block)
-    @output
+class R2ScssProcessor < Sprockets::ScssProcessor
+  def self.call(input)
+    output = super(input)
+    data = R2.r2(output[:data])
+    output.delete(:map)
+    output.merge(:data => data)
   end
 end
 
 Rails.application.config.assets.configure do |env|
-  env.register_engine ".r2", R2Template
+  env.register_mime_type "text/r2+scss", :extensions => [".r2.scss"]
+  env.register_transformer "text/r2+scss", "text/css", R2ScssProcessor
+  env.register_preprocessor "text/r2+scss", Sprockets::DirectiveProcessor.new(:comments => ["//", ["/*", "*/"]])
 end
index 1c664589e7a31c8f4da0e5ab8d9a3401b0f5cd77..8ce06b426d494459195fc16f372e5afeb0e492ea 100644 (file)
@@ -422,6 +422,7 @@ ar:
           bicycle_parking: موقف دراجات
           bicycle_rental: تأجير دراجة
           biergarten: حديقة البيرة
+          boat_rental: تأجير قوارب
           brothel: بيت دعارة
           bureau_de_change: مكتب صرافة
           bus_station: محطة حافلات
@@ -966,7 +967,7 @@ ar:
     native:
       title: حول هذه الصفحة
       native_link: النسخة العربية
-      mapping_link: Ø¥بدأ التخطيط
+      mapping_link: Ø§بدأ التخطيط
     legal_babble:
       title_html: حقوق النشر والترخيص
       more_title_html: معرفة المزيد
index ab5d85597dfa5e54a046bc45bc39c23decf4aed1..e9a94b147c4d7532f37771bad58f6abe92bbbcea 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Zazaki (Zazaki)
 # Exported from translatewiki.net
 # Export driver: phpyaml
+# Author: Asmen
 # Author: Erdemaslancan
 # Author: Gorizon
 # Author: Gırd
@@ -185,7 +186,7 @@ diq:
       enclosing: Muhtewa xısusiyeti
   changeset:
     changeset_paging_nav:
-      showing_page: Pele %{page}
+      showing_page: Perr %{page}
       next: Peyên »
       previous: « Verên
     changeset:
@@ -823,7 +824,7 @@ diq:
       tags: 'Etiketi:'
       none: Çıniyo
     trace_paging_nav:
-      showing_page: Pele %{page}
+      showing_page: Perr %{page}
     trace:
       pending: PAWEDEYO
       count_points: '%{count} puan'
@@ -1046,7 +1047,7 @@ diq:
       status: Weziyet
       revoker_name: Terknoğ
       not_revoked: (nê terkiyayo)
-      showing_page: Pele %{page}
+      showing_page: Perr %{page}
       next: Peyên »
       previous: « Verên
     helper:
index c4ea03585badb6bef6bfe2b93125827373bd46f0..8bb77465b2eb299ad577133fe8ab166e568dfd28 100644 (file)
@@ -1480,6 +1480,9 @@ en-GB:
           track: Track
           bridleway: Bridleway
           cycleway: Cycleway
+          cycleway_national: National cycleway
+          cycleway_regional: Regional cycleway
+          cycleway_local: Local cycleway
           footway: Footway
           rail: Railway
           subway: Subway
@@ -1532,6 +1535,9 @@ en-GB:
           private: Private access
           destination: Destination access
           construction: Roads under construction
+          bicycle_shop: Bicycle shop
+          bicycle_parking: Bicycle parking
+          toilets: Toilets
     richtext_area:
       edit: Edit
       preview: Preview
@@ -2014,6 +2020,8 @@ en-GB:
         gravatar: Use Gravatar
         link: http://wiki.openstreetmap.org/wiki/Gravatar
         link text: what is this?
+        disabled: Gravatar has been disabled.
+        enabled: Display of your Gravatar has been enabled.
       new image: Add an image
       keep image: Keep the current image
       delete image: Remove the current image
index d593651b6a588c402af1ea2f8cc852d1c7e25f5f..bf8132612d997f29c982f329d3327b5018f91609 100644 (file)
@@ -112,7 +112,7 @@ eo:
     created_by_html: Kreita <abbr title='%{title}'>antaŭ %{time}</abbr> de %{user}
     deleted_by_html: Forigita <abbr title='%{title}'>antaŭ %{time}</abbr> de %{user}
     edited_by_html: Ŝanĝita <abbr title='%{title}'>antaŭ %{time}</abbr> de %{user}
-    closed_by_html: Fermita abbr title='%{title}'>antaŭ %{time}</abbr> de %{user}
+    closed_by_html: Fermita <abbr title='%{title}'>antaŭ %{time}</abbr> de %{user}
     version: Versio
     in_changeset: Ŝanĝaro
     anonymous: anonimulo
index dc80afb6cedf5917635ac1c7e5ee4af6ffb45a8d..221033da84026349b9dc6b2a2ed4719479e316ea 100644 (file)
@@ -1463,6 +1463,7 @@ lt:
           track: Pėdsakas
           bridleway: Takas galvijams varyti
           cycleway: Dviračių takas
+          cycleway_local: Vietinis dviračių takas
           footway: Pėsčiųjų takas
           rail: Geležinkelis
           subway: Metro
index 26491d1b8692a3d1bcf00e376cce5f0a99b0dffb..1f42da3d7f3a51017e4b34d4dad31d17f6d60b54 100644 (file)
@@ -2,6 +2,7 @@
 # Exported from translatewiki.net
 # Export driver: phpyaml
 # Author: Admresdeserv.
+# Author: Bbot22
 # Author: Cuu508
 # Author: Edgars2007
 # Author: GreenZeb
@@ -136,6 +137,7 @@ lv:
       feed:
         title: Izmaiņu kopa %{id}
         title_comment: Izmaiņu kopa %{id} - %{comment}
+      join_discussion: Ieejiet sistēmā lai pievienotos diskusijai
       discussion: Diskusija
     node:
       title: 'Punkts: %{name}'
@@ -216,6 +218,11 @@ lv:
       reopened_by_anonymous: Atkal aktivizēja anonīms <abbr title='%{exact_time}'>%{when}
         atpakaļ</abbr>
       hidden_by: Paslēpa %{user} <abbr title='%{exact_time}'>%{when} atpakaļ</abbr>
+    query:
+      title: Vaicājuma funkcijas
+      introduction: Noklikšķiniet uz kartes, lai atrastu tuvumā esošos objektus.
+      nearby: Tuvējie objekti
+      enclosing: Ietvertās funkcijas
   changeset:
     changeset_paging_nav:
       showing_page: Rāda lapu %{page}
@@ -247,6 +254,11 @@ lv:
       sorry: Atvainojiet, jūsu pieprasīto izmaiņu kopu ielāde prasīja pārāk daudz
         laika.
     rss:
+      title_all: Diskusija par izmaiņām OpenStreetMap
+      title_particular: 'Diskusija par OpenStreetMap izmaiņām #%{changeset_id}'
+      comment: 'Jauni komentāri par autora: %{author} pārmaiņām %{changeset_id}'
+      commented_at_html: Atjaunots %{when} atpakaļ
+      commented_at_by_html: '%{user} atjaunoja %{when} atpakaļ'
       full: Pilna diskusija
   diary_entry:
     new:
@@ -329,7 +341,7 @@ lv:
   export:
     title: Eksportēt
     start:
-      area_to_export: Kvadrants, kuru eksportēt
+      area_to_export: Apgabals, kuru eksportēt
       manually_select: Manuāli izvēlēties citu teritoriju
       format_to_export: Eksportēšanas formāts
       osm_xml_data: OpenStreetMap XML dati
@@ -388,8 +400,10 @@ lv:
     search_osm_nominatim:
       prefix:
         aerialway:
+          cable_car: Kabeļu Mašīna
           chair_lift: Krēslu Pacēlājs
           drag_lift: Vilkšanas Pacēlājs
+          gondola: Gondola Lifts
           station: Pacēlāja Stacija
         aeroway:
           aerodrome: Lidlauks
@@ -420,6 +434,7 @@ lv:
           car_wash: Automazgātava
           casino: Kazino
           charging_station: Uzlādēšanas stacija
+          childcare: Bērnu aprūpe
           cinema: Kino
           clinic: Klīnika
           clock: Pulkstenis
@@ -493,6 +508,7 @@ lv:
           veterinary: Veterinārā ķirurģija
           village_hall: Pagastmāja
           waste_basket: Atkritumu grozs
+          waste_disposal: Atkritumu izgāztuve
           youth_centre: Jauniešu centrs
         boundary:
           administrative: Administratīvā robeža
@@ -519,9 +535,12 @@ lv:
           tailor: Drēbnieks
           "yes": Amatnieks
         emergency:
+          ambulance_station: Ātrās Palīdzības staciija
           defibrillator: Defibrilators
+          landing_site: Avārijas nosēšanās vieta
           phone: Telefons ārkārtas situācijai
         highway:
+          abandoned: Pamests lielceļš
           bridleway: Izjādes taka
           bus_guideway: Vadāmais Autobuss
           bus_stop: Autobusa pietura
@@ -543,7 +562,7 @@ lv:
           primary_link: Galvenais valsts ceļš
           proposed: Ieplānots Ceļš
           raceway: Sacensību trase
-          residential: Dzīvojamā zona
+          residential: Dzīvojamais ceļš
           rest_area: Atpūtas zona
           road: Ceļš
           secondary: Sekundāras nozīmes ceļš
@@ -556,11 +575,13 @@ lv:
           tertiary: Pašvaldību autoceļi
           tertiary_link: Pašvaldību autoceļš
           track: Zemesceļš
+          traffic_signals: Satiksmes regulators
           trail: Taka
           trunk: Maģistrālais ceļš
           trunk_link: Maģistrālais ceļš
           unclassified: Neklasificēts ceļš
           unsurfaced: Ceļš bez seguma
+          "yes": Ceļš
         historic:
           archaeological_site: Arheoloģisku izrakumu vieta
           battlefield: Kaujas lauks
@@ -572,6 +593,7 @@ lv:
           city_gate: Pilsētas vārti
           citywalls: Pilsētas Sienas
           fort: Forts
+          heritage: Kultūras mantojums
           house: Māja
           icon: Ikona
           manor: Muiža
@@ -619,6 +641,7 @@ lv:
           road: Ceļa Apgabals
           village_green: Ciema Centrālais Parks
           vineyard: Vīna dārzs
+          "yes": Zemes izmantojums
         leisure:
           beach_resort: Pludmales kūrorts
           bird_hide: Putnu Slēptuve
@@ -647,11 +670,13 @@ lv:
           swimming_pool: Peldbaseins
           track: Skrejceļš
           water_park: Ūdens atrakciju parks
+          "yes": Atpūtas vieta
         man_made:
           lighthouse: Bāka
           pipeline: Cauruļvads
           tower: Tornis
           works: Rūpnīca
+          "yes": Cilvēku radīts
         military:
           airfield: Militārais lidlauks
           barracks: Barakas
@@ -684,6 +709,7 @@ lv:
           reef: Rifs
           ridge: Grēda
           rock: Klints
+          saddle: Segli
           sand: Smiltis
           scree: Nogāze
           scrub: Krūmājs
@@ -698,6 +724,7 @@ lv:
           wood: Mežs
         office:
           accountant: Grāmatvedis
+          administrative: Administrācija
           architect: Arhitekts
           company: Uzņēmums
           employment_agency: Nodarbinātības aģentūra
@@ -710,6 +737,8 @@ lv:
           travel_agent: Tūrisma aģentūra
           "yes": Birojs
         place:
+          allotments: Mazdārziņi
+          block: Bloks
           airport: Lidosta
           city: Pilsēta
           country: Valsts
@@ -734,6 +763,7 @@ lv:
           town: Pilsēta
           unincorporated_area: Neiekļauts apgabals
           village: Ciems
+          "yes": Vieta
         railway:
           abandoned: Pamests dzelzceļš
           construction: Dzelzceļš būvniecības stadijā
@@ -836,6 +866,7 @@ lv:
           "yes": Veikals
         tourism:
           alpine_hut: Kalnu būda
+          apartment: Dzīvokļi
           artwork: Mākslas darbs
           attraction: Atrakcija
           bed_and_breakfast: Guļamvieta un brokastis
@@ -960,7 +991,7 @@ lv:
     legal_babble:
       title_html: Autortiesības un Licence
       intro_1_html: |-
-        OpenStreetMap ir <i>atvērti dati</i>, kad licencēti zem <a
+        OpenStreetMap ir <i>atvērto datu</i>, kad licencēti zem <a
         href="http://opendatacommons.org/licenses/odbl/">Atvērtās Datu Kopas Atvērtās Datubāzes licences</a> (ODbL).
       intro_2_html: |-
         Tu vari kopēt, izplatīt, nosūtīt un adaptēt mūsu kartes
@@ -1025,6 +1056,11 @@ lv:
       contributors_nz_html: |-
         <strong>Jaunzēlande</strong>: Ietver datus no
             Land Information New Zealand. Crown Copyright reserved.
+      contributors_si_html: |-
+        <strong>Slovēnija</strong>: Satur datus no
+        <a href="http://www.gu.gov.si/en/">Aptauju un kartogrāfijas aģentūras</a> un
+        <a href="http://www.mkgp.gov.si/en/">Lauksaimniecības, mežsaimniecībass un pārtikas ministrijas</a>
+        (Slovēnijas publiskā informācija).
       contributors_za_html: |-
         <strong>Dienvidāfrika</strong>: Ietver datus no
             <a href="http://www.ngi.gov.za/">Chief Directorate:
@@ -1052,6 +1088,11 @@ lv:
         mūsu <a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">noņemšanas
         procedūru</a> vai paziņo pa tiešo mums, izmantojot
         <a href="http://dmca.openstreetmap.org/">on-line ziņošanas veidni</a>.
+      trademarks_title_html: <span id="trademarks"></span>Reģistrētas preču zīmes
+      trademarks_1_html: OpenStreetMap, lupa un štata karte ir reģistrētas OpenStreetMap
+        fonda preču zīmes. Ja jums ir jautājumi par mūsu logotipu lietošanu, lūdzu
+        sūtiet jūsu jautājumus uz <a href="http://wiki.osmfoundation.org/wiki/Licensing_Working_Group">Licence
+        Working Group</a>.
   welcome_page:
     title: Laipni lūdzam!
     introduction_html: Sveicināts OpenStreetMap, bezmaksas un rediģējamā pasaules
@@ -1079,6 +1120,12 @@ lv:
         vai ceļa ātruma ierobežojums.
     rules:
       title: Noteikumi!
+      paragraph_1_html: OpenStreetMap ir tikai daži formālie noteikumi, bet mēs ceram,
+        ka visi dalībnieki sadarbosies un komunicēs ar mūsu kopienu un tās biedriem.
+        Ja jūs apsverat citas iespējas, kas nav manuālā rediģēšana ar roku tad lūdzu
+        izlasiet un sekojiet pamācībām <a href='http://wiki.openstreetmap.org/wiki/Import/Guidelines'>Importi</a>
+        un <a href='http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'>Automātiskā
+        rediģēšana</a>.
     questions:
       title: Kādi jautājumi?
       paragraph_1_html: Nepieciešama palīdzība kartējot, vai nav skaidrs kā lietot
@@ -1099,6 +1146,20 @@ lv:
       title: Kā palīdzēt
       join_the_community:
         title: Pievienojies kopienai
+        explanation_html: Konstatējot problēmas ar mūsu kartes datiem, piemēram trūkstošu
+          ceļu vai adresi, labākais variants, kā rīkoties ir pievienoties OpenStreetMap
+          kopienai un pievienot vai atjaunot datus jums pašam.
+      add_a_note:
+        instructions_html: Noklikšķiniet uz <a class='icon note'></a> vai arī uz tās
+          pašas ikonas kartes displejā. Tādā veidā jūs pievienosiet marķieri šai kartei,
+          kuru jūs varēsiet izkustināt, 'velkot'. Pievienojiet savu  ziņu un tad uzspiediet
+          'Saglabāt' un pārējie lietotāji to izpētīs.
+    other_concerns:
+      title: Citas bažas
+      explanation_html: "Ja jums ir bažas par to, kā mūsu dati tiek izmantoti, vai
+        par saturu, lūdzu, skatiet mūsu\n<a href=\"/copyright\">autortiesību lapu,</a>
+        lai iegūtu juridisko informāciju, vai sazinieties ar atbilstošo \n<a href=\"http://wiki.osmfoundation.org/wiki/Working_Groups\">OSMF
+        darba grupu</a>."
   help_page:
     title: Palīdzības saņemšana
     introduction: OpenStreetMap ir vairāki resursi, lai uzzinātu par projektu, uzdotu
@@ -1109,15 +1170,28 @@ lv:
       description: Sāc ar šo īso ceļvedi, kurš aptver OpenStreetMap pamatus.
     beginners_guide:
       url: http://wiki.openstreetmap.org/wiki/Lv:Beginners%27_guide
+      title: Iesācēja Rokasgrāmata
+      description: Lietotāju uzturēta pamācība priekš iesācējiem.
     help:
       url: http://forum.openstreetmap.org/viewforum.php?id=59
       title: help.openstreetmap.org
       description: Uzdod jautājumu vai atrodi atbildes iekš OSM jautājumu un atbilžu
         lapas.
+    mailing_lists:
+      title: Adresātu Saraksti
+      description: Uzdodiet jautājumu vai apspriediet interesējošās tēmas par vispārējajiem
+        vai reģionālajiem adresātu sarakstiem.
     forums:
       title: Forumi
+      description: Jautājumi un diskusijas priekš tiem, kuri dod priekšroku foruma-tipa
+        interfeisa stilam.
     irc:
       title: IRC
+      description: Interaktīvais čats dažādās valodās par dažādām tēmām.
+    switch2osm:
+      title: switch2osm
+      description: Palīdzība uzņēmumiem un organizācijām, kuras pāriet uz OpenStreetMap
+        balstītajām kartēm un citiem pakalpojumiem.
     wiki:
       url: http://wiki.openstreetmap.org/
       title: wiki.openstreetmap.org
@@ -1146,6 +1220,11 @@ lv:
       veidotājiem. Ja tu maini vai būvē pa virtsu datiem dažādos veidos, tu vai tos
       izplatīt tikai zem tās pašas licences. Apskati <a href=''%{copyright_path}''>Autortiesību
       un Licences lapu</a> priekš padziļinātas informācijas.'
+    legal_title: Juridiskie jautājumi
+    legal_html: "Šo vietni un daudzus citus ar to saistītos pakalpojumus oficiāli
+      pārvalda <a href='http://osmfoundation.org/'>OpenStreetMap fonds</a> (OSMF)
+      kopienas vārdā.\n<br> \nLūdzu <a href='http://osmfoundation.org/Contact'>sazinieties
+      OSMF</a>, ja jums ir jautājumi par autortiesībām vai citiem juridiskajiem jautājumiem."
     partners_title: Partneri
   notifier:
     diary_comment_notification:
@@ -1249,7 +1328,16 @@ lv:
     changeset_comment_notification:
       greeting: Sveicināti,
       commented:
+        subject_own: '[OpenStreetMap] %{commenter} ir komentējis kādu no tavām izmaiņām'
+        subject_other: '[OpenStreetMap] %{commenter} ir komentējis kādu no izmaiņām,
+          kas jūs interesē'
+        your_changeset: '%{commenter} komentēja vienu no jūsu izmaiņām, kas tika veiktas
+          %{time}'
+        commented_changeset: '%{commenter} komentēja kartes izmaiņu, kuru veica %{changeset_author}
+          %{time} un, kura jūs interesē'
+        partial_changeset_with_comment: ar komentāru '%{changeset_comment}'
         partial_changeset_without_comment: bez komentāra
+      details: Vairāk informācijas par izmaiņām varat atrast %{url}.
   message:
     inbox:
       title: iesūtne
@@ -1359,6 +1447,10 @@ lv:
       close: Aizvērt
     search:
       search: Meklēt
+      get_directions: Iegūt norādījumus
+      get_directions_title: Iegūt norādījumus starp diviem punktiem
+      from: "No"
+      to: Uz
       where_am_i: Kur es esmu?
       where_am_i_title: Aprakstiet pašreizējo atrašanās vietu izmantojot meklētāju
       submit_text: OK
@@ -1366,6 +1458,7 @@ lv:
       table:
         entry:
           motorway: Automaģistrāle
+          main_road: Galvenais ceļš
           trunk: Maģistrālais ceļš
           primary: Galvenais valsts ceļš
           secondary: Sekundāras nozīmes ceļš
@@ -1373,6 +1466,9 @@ lv:
           track: Zemesceļš
           bridleway: Izjādes taka
           cycleway: Veloceliņš
+          cycleway_national: Valsts velosipēdceļš
+          cycleway_regional: Reģionālais velosipēdceļš
+          cycleway_local: Vietējais velosipēdceļš
           footway: Gājēju ceļš
           rail: Dzelzceļš
           subway: Metro
@@ -1587,6 +1683,7 @@ lv:
       allow_read_gpx: lasīt jūsu privātās GPS trases.
       allow_write_gpx: augšupielādēt GPS trases.
       allow_write_notes: labot piezīmes.
+      grant_access: Piešķirt piekļuvi
     oauthorize_success:
       title: Autorizācijas pieprasījums atļauts
       allowed: Tu esi piešķīris tiesības %{app_name} piekļūt tavam lietotājam.
@@ -1671,6 +1768,7 @@ lv:
       register now: Reģistrēties
       with username: 'Jau ir OpenStreetMap lietotājs? Lūdzu autorizējies ar savu lietotājvārdu
         un paroli:'
+      with external: Alternatīvi, varat izmantot trešās puses 'ielogošanās' opciju
       new to osm: Jauns iekš OpenStreetMap?
       to make changes: Lai veiktu izmaiņas OpenStreetMap datos, jums jābūt savam kontam.
       create account minute: Izveidojiet kontu. Tas aizņem mazāk par minūti.
@@ -1683,6 +1781,31 @@ lv:
         pārzini</a>, ja tu vēlies šo diskutēt.
       auth failure: Diemžēl nevarēja ieiet ar šiem datiem
       openid_logo_alt: Pieteikties ar OpenID
+      auth_providers:
+        openid:
+          title: Pieslēgties ar OpenID
+          alt: Pieslēgties ar OpenID saiti
+        google:
+          title: Pieslēgties ar Google
+          alt: Pieslēgties ar Google OpenID
+        facebook:
+          title: Pieslēgties ar Facebook
+          alt: Pieslēgties ar Facebook kontu
+        windowslive:
+          title: Pieslēgties ar Windows Live
+          alt: Pieslēgties ar Windows Live kontu
+        github:
+          title: Pieslēgties ar GitHub
+          alt: Pieslēgties ar GitHub kontu
+        yahoo:
+          title: Pieslēgties ar Yahoo
+          alt: Pieslēgties ar Yahoo OpenID
+        wordpress:
+          title: Pieslēgties ar WordPress
+          alt: Pieslēgties ar WordPress OpenID
+        aol:
+          title: Pieslēgties ar AOL
+          alt: Pieslēgties ar AOL OpenID
     logout:
       title: Iziet
       heading: Iziet no OpenStreetMap
@@ -1727,8 +1850,12 @@ lv:
       display name: 'Rādāmais vārds:'
       display name description: Vārds, kas tiks rādīts publiski. Jūs to vēlāk varēsiet
         izmainīt iestatījumos.
+      external auth: 'Trešo Pušu Autentifikācija:'
       password: 'Parole:'
       confirm password: 'Parole (pārbaudei):'
+      use external auth: Alternatīvi, varat izmantot trešās puses 'ielogošanās' opciju
+      auth no password: Ar trešās partijas autentifikāciju nav nepieciešama parole,
+        bet dažiem rīkiem vai serveriem tā vēl joprojām varētu būt nepieciešama.
       continue: Reģistrēties
       terms accepted: Paldies, ka pieņēmāt jaunos devuma noteikumus!
       terms declined: Mums žēl, ka tu izvēlējies nepieņemt jaunos Veidotāju Noteikumus.
@@ -1758,6 +1885,7 @@ lv:
       heading: Lietotājs %{user} neeksistē
       body: Atvaino, nav lietotāja ar lietotājvārdu %{user}. Lūdzu pārbaudi pareizrakstību,
         vai varbūt saite, uz kuras Tu uzspiedi, ir nepareiza.
+      deleted: dzēsts
     view:
       my diary: Mana dienasgrāmata
       new diary entry: jauns dienasgrāmatas ieraksts
@@ -1809,13 +1937,13 @@ lv:
         revoke:
           administrator: Atņemt administratora tiesības
           moderator: Atņemt moderatora tiesības
-      block_history: saņemtie bloķējumi
+      block_history: Aktīvie bloki
       moderator_history: dotie bloķējumi
       comments: Komentāri
-      create_block: bloķēt šo lietotāju
-      activate_user: aktivizēt šo lietotāju
-      deactivate_user: deaktivizēt šo lietotāju
-      confirm_user: apstiprināt šo lietotāju
+      create_block: Bloķēt šo lietotāju
+      activate_user: Aktivizēt šo lietotāju
+      deactivate_user: Deaktivizēt šo lietotāju
+      confirm_user: Apstiprināt šo lietotāju
       hide_user: Slēpt šo dalībnieku
       unhide_user: Parādīt šo dalībnieku
       delete_user: Dzēst šo dalībnieku
@@ -1834,6 +1962,7 @@ lv:
       current email address: 'Pašreizējā e-pasta adrese:'
       new email address: 'Jauna e-pasta adrese:'
       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 text: Kas tas ir?
@@ -1868,6 +1997,8 @@ lv:
       gravatar:
         gravatar: Izmantot Gravatar
         link text: kas šis ir?
+        disabled: Gravatar ir atspējots.
+        enabled: Jūsu Gravatar apskate ir iespējota
       new image: Pievienot attēlu
       keep image: Paturēt pašreizējo attēlu
       delete image: Novākt pašreizējo attēlu
@@ -1908,8 +2039,10 @@ lv:
       press confirm button: Spied uz apstiprināšanas pogu zemāk, lai apstiprinātu
         savu jauno e-pasta adresi.
       button: Apstiprināt
-      success: Jūsu e-pasta adrese ir apstiprināta, paldies par reģistrēšanos!
+      success: Apstiprinājām jūsu epasta adreses maiņu!
       failure: E-pasta adrese jau ir apstiprināta ar šo pilnvaru.
+      unknown_token: Šim apstiprinājuma kodam ir izbeidzies derīguma termiņš vai arī
+        tas neeksistē.
     set_home:
       flash success: Mājas atrašanās vieta veiksmīgi saglabāta
     go_public:
@@ -1951,6 +2084,18 @@ lv:
           Šo lēmumu drīz pārskatīs administrators, vai
           tu vari sazināties ar %{webmaster}, ja tu vēlies apspriesties par šo.
         </p>
+    auth_failure:
+      connection_failed: Neizdevās savienoties ar autentifikācijas sniedzēju
+      invalid_credentials: Nederīgi autentifikācijas dati
+      no_authorization_code: Nav autorizācijas koda
+      unknown_signature_algorithm: Nezināms paraksta algoritms
+      invalid_scope: Nederīgs lauks
+    auth_association:
+      heading: Jūsu ID nav vēl asociēts ar OpenStreetMap kontu.
+      option_1: Ja jūs tikko iepazināties ar OpenStreetMap tad lūdzu izveidojiet jaunu
+        kontu izmantojot zemāk esošo formu.
+      option_2: Ja jums jau ir konts, jūs varat ieiet savā kontā izmantojot jūsu lietotājvārdu
+        un paroli un tad sasaistīt savu kontu ar jūsu ID lietotāja iestatījumos.
   user_role:
     filter:
       not_an_administrator: Tikai administratori var veikt lietotāju lomu pārvaldi,
@@ -2065,6 +2210,8 @@ lv:
       heading: '%{block_on} bloķēts pēc %{block_by}'
       time_future: Beidzas %{time}
       time_past: Beidzās %{time} atpakaļ.
+      created: Izveidots
+      ago: '%{time} atpakaļ'
       status: Statuss
       show: Rādīt
       edit: Labot
@@ -2115,6 +2262,7 @@ lv:
       link: Saite vai HTML
       long_link: Saite
       short_link: Īsā saite
+      geo_uri: Ģeo saite
       embed: HTML
       custom_dimensions: Uzstādīt pielāgotus izmērus
       format: 'Formāts:'
@@ -2126,6 +2274,7 @@ lv:
       center_marker: Centrēt karti uz marķieri
       paste_html: Ielīmē HTML, lai ievietotu mājaslapā
       view_larger_map: Skatīt lielāku karti
+      only_standard_layer: Tikai standarta slāni var eksportēt kā attēlu
     embed:
       report_problem: Ziņot par problēmu
     key:
@@ -2159,17 +2308,23 @@ lv:
       createnote_disabled_tooltip: Pietuvini karti, lai pievienotu piezīmi
       map_notes_zoom_in_tooltip: Pietuvināt, lai redzētu piezīmes
       map_data_zoom_in_tooltip: Pietuvināt, lai redzētu kartes datus
+      queryfeature_tooltip: Vaicājuma funkcijas
+      queryfeature_disabled_tooltip: Tuvināt pie kārtas funkcijām
     changesets:
       show:
         comment: Komentēt
+        subscribe: Abonēt
+        unsubscribe: Atteikties no abonējuma
         hide_comment: paslēpt
+        unhide_comment: parādīt
     notes:
       new:
         intro: Piezīmes domātas, lai norādītu uz kartes kļūdām. Ja vēlies pamēģināt
           pats ievietot informāciju, zīmēt vai izlabot kļūdu, izmanto pogu "Labot"
           lapas augšpusē. Piezīmes parādās citiem kartētājiem, tādēļ lūdzu, cik vien
           iespējams precīzāk un detalizētāk visu izklāsti, kā arī marķieri novieto
-          pēc iespējas pareizākajā pozīcijā.
+          pēc iespējas pareizākajā pozīcijā. (Lūdzu neizmantojiet personīgo informāciju
+          vai arī informāciju no citām ar autortiesībām aizsargātām kartēm.)
         add: Pievienot piezīmi
       show:
         anonymous_warning: Šī piezīme ietver komentārus no anonīmiem lietotājiem,
@@ -2181,8 +2336,60 @@ lv:
         comment: Komentēt
     edit_help: Pārvieto karti un pietuvini vietai, kuru vēlies labot, tad spied šeit.
     directions:
+      engines:
+        graphhopper_bicycle: Ar velosipēdu (GraphHopper)
+        graphhopper_foot: Ar kājām (GraphHopper)
+        mapquest_bicycle: Ar velosipēdu (MapQuest)
+        mapquest_car: Ar mašīnu (MapQuest)
+        mapquest_foot: Ar kājām (MapQuest)
+        osrm_car: Ar mašīnu (OSRM)
+        mapzen_bicycle: Ar velosipēdu (Mapzen)
+        mapzen_car: Ar mašīnu (Mapzen)
+        mapzen_foot: Ar kājām (Mapzen)
+      directions: Norādes
+      distance: Attālums
+      errors:
+        no_route: Nevarēja atrast maršrutu starp šīm divām vietām.
+        no_place: Atvainojiet - nevarēja atrast šo vietu.
       instructions:
+        continue_without_exit: Turpināt uz %{name}
+        slight_right_without_exit: Nedaudz pa labi uz %{name}
+        offramp_right_without_exit: Izmantojiet slīpumu pa labi uz %{name}
+        onramp_right_without_exit: Pagriezieties pa labi uz slīpuma pie %{name}
+        endofroad_right_without_exit: Ceļa beigās nogriezieties pa labi uz %{name}
+        merge_right_without_exit: Izgriezieties uz %{name}
+        fork_right_without_exit: Krustojumā pagriezieties pa labi uz %{name}
+        turn_right_without_exit: Pagriezieties pa labi uz %{name}
+        sharp_right_without_exit: Pagriezieties strauji pa labi uz %{name}
+        uturn_without_exit: Griezieties atpakaļgaitā garām %{name}
+        sharp_left_without_exit: Nogriezieties strauji pa kreisi uz %{name}
+        turn_left_without_exit: Nogriezieties pa kreisi uz %{name}
+        offramp_left_without_exit: Izmantojiet slīpumu pa kreisi uz %{name}
+        onramp_left_without_exit: Pagriezieties pa kreisi uz slīpuma pie %{name}
+        endofroad_left_without_exit: Ceļa beigās nogriezieties pa kreisi uz %{name}
+        merge_left_without_exit: Izgriezieties pa kreisi uz %{name}
+        fork_left_without_exit: Krustojumā pagriezieties pa kreisi uz %{name}
+        slight_left_without_exit: Iegriezieties nedaudz pa kreisi uz %{name}
+        via_point_without_exit: (caur punktu)
         follow_without_exit: Sekot %{name}
+        roundabout_without_exit: Pie apkārtceļa griezieties pie %{name}
+        leave_roundabout_without_exit: Atstājiet apkārtceļu - %{name}
+        stay_roundabout_without_exit: Palieciet apkārtceļā - %{name}
+        start_without_exit: Startēt beigās pie %{name}
+        destination_without_exit: Sasniedziet galamērķi
+        against_oneway_without_exit: Brauciet pret vienvirziena ceļu pie %{name}
+        end_oneway_without_exit: Vienvirziena ceļa beigas pie %{name}
+        roundabout_with_exit: Pēc apkārtceļa nogriezieties uz izejas %{exit} pie %{name}
+        unnamed: nenosaukts ceļš
+        courtesy: Virzienos, pieklājīgi no %{link}
+      time: Laiks
+    query:
+      node: Punkts
+      way: Ceļš
+      relation: Relācija
+      nothing_found: Nav atrastas iespējas
+      error: 'Kļūda sazinoties ar %{server}: %{error}'
+      timeout: Saskares laiks pārsniedza %{server}
   redaction:
     edit:
       description: Apraksts
index 6ea66c058a068ac88b8eec2c10fcbfdc9e51b44e..2b46b49a907cdae2553925d82faa62075f126af5 100644 (file)
@@ -32,6 +32,7 @@
 # Author: Siebrand
 # Author: Sjoerddebruin
 # Author: Southparkfan
+# Author: Sven L
 # Author: Tjcool007
 # Author: Trijnstel
 ---
@@ -52,7 +53,7 @@ nl:
       message: Bericht
       node: Node
       node_tag: Nodelabel
-      notifier: Melding
+      notifier: Melder
       old_node: Oude node
       old_node_tag: Oud nodelabel
       old_relation: Oude relatie
@@ -69,7 +70,7 @@ nl:
       tracepoint: Trackpunt
       tracetag: Tracklabel
       user: Gebruiker
-      user_preference: Gebruikersvoorkeuren
+      user_preference: Gebruikersvoorkeur
       user_token: Gebruikersnummer
       way: Weg
       way_node: Wegnode
index ab33d4e6ca484b06acea9b3d0891bec811d68fe2..1685abe530b555fa8585c6e741afe78052816d15 100644 (file)
@@ -46,20 +46,20 @@ pl:
     dir: ltr
   time:
     formats:
-      friendly: '%Y-%m-%d o %H:%M'
+      friendly: '%e %B %Y o %H:%M'
       blog: '%e.%m.%Y'
   activerecord:
     models:
       acl: Lista kontroli dostępu
-      changeset: zestaw zmian
-      changeset_tag: znacznik zestawu zmian
-      country: państwo
-      diary_comment: komentarz do dziennika
-      diary_entry: wpis w dzienniku
-      friend: znajomy
-      language: język
-      message: wiadomość
-      node: węzeł
+      changeset: Zestaw zmian
+      changeset_tag: Znacznik zestawu zmian
+      country: Państwo
+      diary_comment: Komentarz do dziennika
+      diary_entry: Wpis w dzienniku
+      friend: Znajomy
+      language: Język
+      message: Wiadomość
+      node: Węzeł
       node_tag: Znacznik węzła
       notifier: Zgłaszający
       old_node: Wcześniejszy węzeł
@@ -132,7 +132,7 @@ pl:
       description: Potlatch 2 (w przeglądarce)
     remote:
       name: Zewnętrzny edytor
-      description: Zdalne sterowanie (JOSM lub Merkaartor)
+      description: Zdalny program (JOSM lub Merkaartor)
   browse:
     created: Utworzone
     closed: Zamknięte
@@ -847,7 +847,7 @@ pl:
           clothes: Sklep odzieżowy
           computer: Sklep komputerowy
           confectionery: Cukiernia
-          convenience: Mały sklep wielobranżowy
+          convenience: Sklep ogólnospożywczy
           copyshop: Ksero
           cosmetics: Sklep kosmetyczny
           deli: Delikatesy
@@ -1484,8 +1484,8 @@ pl:
       search: Wyszukiwanie
       get_directions: Wyznacz trasę
       get_directions_title: Wyznacza trasę pomiędzy dwoma punktami
-      from: Początek
-      to: Koniec
+      from: Początek trasy
+      to: Koniec trasy
       where_am_i: Gdzie jestem?
       where_am_i_title: Określ obecną lokalizację przy użyciu wyszukiwarki
       submit_text: →
@@ -2428,7 +2428,7 @@ pl:
         leave_roundabout_without_exit: Opuść rondo - %{name}
         stay_roundabout_without_exit: Zostań na rondzie - %{name}
         start_without_exit: Zacznij na końcu %{name}
-        destination_without_exit: Dojechałeś do celu
+        destination_without_exit: Osiągnięto cel trasy
         against_oneway_without_exit: Ruszaj na przeciwko jednostronnego ruchu na %{name}
         end_oneway_without_exit: Koniec jednostronnego ruchu na %{name}
         roundabout_with_exit: Na rondzie zjedź %{exit} zjazdem w %{name}
index b95309829a4dc62fdb14b060190ad0660d140efa..9edd7dae147fdb2bcbec695b1615e0626b05bee3 100644 (file)
@@ -5,6 +5,7 @@
 # Author: BraulioBezerra
 # Author: Brunomelnic
 # Author: Cainamarques
+# Author: Cristofer Alves
 # Author: Dianakc
 # Author: Diego Queiroz
 # Author: Fmca
@@ -1562,7 +1563,7 @@ pt-BR:
           construction: Vias em construção
           bicycle_shop: Loja de bicicletas
           bicycle_parking: Bicicletário
-          toilets: Banheiro público
+          toilets: Banheiros
     richtext_area:
       edit: Editar
       preview: Pré-visualizar
index 0398710784b82d0a3d5c981085ed2f93020fc587..384bd42bc606665d9647eabfa9fdfb4fa101c04c 100644 (file)
@@ -89,6 +89,7 @@ te:
       way: మార్గాలు (%{count})
       relation: సంబంధాలు (%{count})
       relation_paginated: '%{count} లో %{x}-%{y} యొక్క సంబంధాలు'
+      comment: వ్యాఖ్యలు (%{count})
       discussion: చర్చ
     relation:
       title: 'సంబంధం: %{name}'
@@ -325,7 +326,7 @@ te:
         historic:
           battlefield: యుద్ధరంగం
           boundary_stone: సరిహద్దు రాయి
-          building: à°­à°µà°¨
+          building: à°\9aారితà±\8dà°°à°\95 à°\95à°\9fà±\8dà°\9fà°¡
           castle: కోట
           church: చర్చి
           citywalls: నగర గోడలు
@@ -494,6 +495,8 @@ te:
       title: ఎలా తోడ్పడాలి
   help_page:
     title: సహాయం పొందడం
+    welcome:
+      title: OSMకి స్వాగతం
   about_page:
     next: తదుపరి
     local_knowledge_title: స్థానిక పరిజ్ఞానం
@@ -762,7 +765,7 @@ te:
       press confirm button: మీ కొత్త ఈమెయిలు చిరునామాను నిర్ధారించడానికి క్రింది నిర్ధారింపు
         బొత్తాన్ని నొక్కండి.
       button: నిర్ధారించు
-      success: మీ ఈమెయిలు చిరునామా నిర్ధారణ అయింది, నమోదైనందుకు ధన్యవాదాలు!
+      success: మీ ఈమెయిలు చిరునామా నిర్ధారణ అయింది!
     go_public:
       flash success: ఇప్పుడు మీ మార్పుచేర్పులన్నీ బహిరంగం, మీరు ఇక నుండి దిద్దుబాట్లు
         చేయవచ్చు.
@@ -806,6 +809,7 @@ te:
     show:
       time_future: '%{time}లో ముగుస్తుంది'
       time_past: '%{time} క్రితం ముగిసింది'
+      ago: '%{time} క్రితం'
       status: స్థితి
       show: చూపించు
       edit: మార్చు
@@ -841,6 +845,9 @@ te:
         notes: పటపు గమనికలు
         data: పటం భోగట్టా
       donate_link_text: <a class='donate-attr' href='%{donate_url}'>విరాళం ఇవ్వండి</a>
+    changesets:
+      show:
+        comment: వ్యాఖ్య
     notes:
       show:
         hide: దాచు
index f4d08cf18b8a5a6a75f11cfe6f5b13755d61f767..8ca894d92b54d61773b9dd5f6b11d9fd6ceba32f 100644 (file)
@@ -2,7 +2,7 @@ require "migrate"
 
 class RemoveSegments < ActiveRecord::Migration
   def self.up
-    have_segs = select_value("SELECT count(*) FROM current_segments").to_i != 0
+    have_segs = select_value("SELECT count(*) FROM current_segments").to_i.nonzero?
 
     if have_segs
       prefix = File.join Dir.tmpdir, "008_remove_segments.#{$PROCESS_ID}."
index e76ec6ee1efb9d9ed16a6942b702d83921dc1efb..640019b15a4741a5ae7c3e76dd345d0f3a33b30f 100644 (file)
@@ -2,7 +2,7 @@ require "migrate"
 
 class PopulateNodeTagsAndRemove < ActiveRecord::Migration
   def self.up
-    have_nodes = select_value("SELECT count(*) FROM current_nodes").to_i != 0
+    have_nodes = select_value("SELECT count(*) FROM current_nodes").to_i.nonzero?
 
     if have_nodes
       prefix = File.join Dir.tmpdir, "020_populate_node_tags_and_remove.#{$PROCESS_ID}."
index 44366d5524d7eb753304e0f4b6077e9ffcfc42a7..36653ee02435af468ffa47f4b661f5e7328ef6d2 100644 (file)
@@ -273,7 +273,7 @@ module ActionController
                           1
                         else
                           q, r = @item_count.divmod(@items_per_page)
-                          r == 0 ? q : q + 1
+                          r.zero? ? q : q + 1
                         end
       end
 
index e14e7ea0e26afd4468727cb0d5f4640a1c04b753..b86b793665d202cf3b511e71370c8170fca612d6 100755 (executable)
@@ -4,7 +4,7 @@
 
 start = 0
 User.where("image_use_gravatar AND id >=" + start.to_s).order("id").find_each do |user|
-  p "checked up to id " + user.id.to_s if user.id % 1000 == 0 # just give a rough indication where we are for restarting
+  p "checked up to id " + user.id.to_s if (user.id % 1000).zero? # just give a rough indication where we are for restarting
   next if user.image.present?
   hash = Digest::MD5.hexdigest(user.email.downcase)
   url = "https://www.gravatar.com/avatar/#{hash}?d=404" # without d=404 we will always get an image back
index 6b78fe9bea76dc9ef66951f77b24c5af1c4266ac..c6de9f749428591d7fe2fcc12965926102b0c5f4 100644 (file)
@@ -26,8 +26,8 @@ L.OSM.Mapnik = L.OSM.TileLayer.extend({
 L.OSM.CycleMap = L.OSM.TileLayer.extend({
   options: {
     url: document.location.protocol === 'https:' ?
-      'https://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png' :
-      'http://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png',
+      'https://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey={apikey}' :
+      'http://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png?apikey={apikey}',
     attribution: '© <a href="http://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors. Tiles courtesy of <a href="http://www.thunderforest.com/" target="_blank">Andy Allan</a>'
   }
 });
@@ -35,8 +35,8 @@ L.OSM.CycleMap = L.OSM.TileLayer.extend({
 L.OSM.TransportMap = L.OSM.TileLayer.extend({
   options: {
     url:  document.location.protocol === 'https:' ?
-      'https://{s}.tile.thunderforest.com/transport/{z}/{x}/{y}.png' :
-      'http://{s}.tile.thunderforest.com/transport/{z}/{x}/{y}.png',
+      'https://{s}.tile.thunderforest.com/transport/{z}/{x}/{y}.png?apikey={apikey}' :
+      'http://{s}.tile.thunderforest.com/transport/{z}/{x}/{y}.png?apikey={apikey}',
     attribution: '© <a href="http://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors. Tiles courtesy of <a href="http://www.thunderforest.com/" target="_blank">Andy Allan</a>'
   }
 });