]> git.openstreetmap.org Git - rails.git/commitdiff
Merge remote-tracking branch 'upstream/pull/5825'
authorTom Hughes <tom@compton.nu>
Thu, 20 Mar 2025 17:09:57 +0000 (17:09 +0000)
committerTom Hughes <tom@compton.nu>
Thu, 20 Mar 2025 17:09:57 +0000 (17:09 +0000)
51 files changed:
Gemfile
Gemfile.lock
app/assets/javascripts/embed.js.erb
app/assets/javascripts/id.js
app/controllers/accounts_controller.rb
app/controllers/diary_comments_controller.rb
app/controllers/diary_entries_controller.rb
app/controllers/issue_comments_controller.rb
app/controllers/messages_controller.rb
app/controllers/oauth2_applications_controller.rb
app/controllers/reports_controller.rb
app/controllers/traces_controller.rb
app/controllers/users_controller.rb
app/views/directions/search.html.erb
bin/dev [new file with mode: 0755]
bin/setup
bin/thrust [new file with mode: 0755]
config/environments/development.rb
config/environments/production.rb
config/environments/test.rb
config/initializers/content_security_policy.rb
config/initializers/new_framework_defaults_8_0.rb [new file with mode: 0644]
config/locales/ar.yml
config/locales/az.yml
config/locales/bs.yml
config/locales/ca.yml
config/locales/cs.yml
config/locales/da.yml
config/locales/eu.yml
config/locales/hr.yml
config/locales/hsb.yml
config/locales/hu.yml
config/locales/id.yml
config/locales/lt.yml
config/locales/lv.yml
config/locales/mk.yml
config/locales/nb.yml
config/locales/nl.yml
config/locales/nn.yml
config/locales/pl.yml
config/locales/pt-PT.yml
config/locales/ro.yml
config/locales/scn.yml
config/locales/sk.yml
config/locales/sq.yml
config/locales/sr.yml
config/locales/uk.yml
config/locales/zh-CN.yml
config/puma.rb
test/integration/node_versions_test.rb
test/system/directions_test.rb

diff --git a/Gemfile b/Gemfile
index bcfafd3b3189ae8ee2ef012b69a8f8860c655bee..7155b1f624535a578706809e0f545fae1202351f 100644 (file)
--- a/Gemfile
+++ b/Gemfile
@@ -1,7 +1,7 @@
 source "https://rubygems.org"
 
 # Require rails
-gem "rails", "~> 7.2.0"
+gem "rails", "~> 8.0.0"
 gem "turbo-rails"
 
 # Require json for multi_json
@@ -49,7 +49,7 @@ gem "file_exists"
 # Load rails plugins
 gem "actionpack-page_caching", ">= 1.2.0"
 gem "activerecord-import"
-gem "active_record_union"
+gem "active_record_union", :github => "brianhempel/active_record_union", :ref => "master"
 gem "bootstrap", "~> 5.3.2"
 gem "bootstrap_form", "~> 5.0"
 gem "cancancan"
@@ -61,7 +61,7 @@ gem "http_accept_language", "~> 2.1.1"
 gem "i18n-js", "~> 4.2.3"
 gem "openstreetmap-deadlock_retry", ">= 1.3.1", :require => "deadlock_retry"
 gem "rack-cors"
-gem "rails-i18n", "~> 7.0.0"
+gem "rails-i18n", "~> 8.0.0"
 gem "rails_param"
 gem "rinku", ">= 2.0.6", :require => "rails_rinku"
 gem "strong_migrations", "< 2.0.0"
index fb46885c3bb10e12723d6e1795313b6b23058599..91a24e8c2384da0f97b84a42ba18cf3c46cbb987 100644 (file)
@@ -1,34 +1,41 @@
+GIT
+  remote: https://github.com/brianhempel/active_record_union.git
+  revision: 8ebe558709aabe039abd24e3e7dd4d4354a6de88
+  ref: master
+  specs:
+    active_record_union (1.3.0)
+      activerecord (>= 6.0)
+
 GEM
   remote: https://rubygems.org/
   specs:
     aasm (5.5.0)
       concurrent-ruby (~> 1.0)
-    actioncable (7.2.2.1)
-      actionpack (= 7.2.2.1)
-      activesupport (= 7.2.2.1)
+    actioncable (8.0.2)
+      actionpack (= 8.0.2)
+      activesupport (= 8.0.2)
       nio4r (~> 2.0)
       websocket-driver (>= 0.6.1)
       zeitwerk (~> 2.6)
-    actionmailbox (7.2.2.1)
-      actionpack (= 7.2.2.1)
-      activejob (= 7.2.2.1)
-      activerecord (= 7.2.2.1)
-      activestorage (= 7.2.2.1)
-      activesupport (= 7.2.2.1)
+    actionmailbox (8.0.2)
+      actionpack (= 8.0.2)
+      activejob (= 8.0.2)
+      activerecord (= 8.0.2)
+      activestorage (= 8.0.2)
+      activesupport (= 8.0.2)
       mail (>= 2.8.0)
-    actionmailer (7.2.2.1)
-      actionpack (= 7.2.2.1)
-      actionview (= 7.2.2.1)
-      activejob (= 7.2.2.1)
-      activesupport (= 7.2.2.1)
+    actionmailer (8.0.2)
+      actionpack (= 8.0.2)
+      actionview (= 8.0.2)
+      activejob (= 8.0.2)
+      activesupport (= 8.0.2)
       mail (>= 2.8.0)
       rails-dom-testing (~> 2.2)
-    actionpack (7.2.2.1)
-      actionview (= 7.2.2.1)
-      activesupport (= 7.2.2.1)
+    actionpack (8.0.2)
+      actionview (= 8.0.2)
+      activesupport (= 8.0.2)
       nokogiri (>= 1.8.5)
-      racc
-      rack (>= 2.2.4, < 3.2)
+      rack (>= 2.2.4)
       rack-session (>= 1.0.1)
       rack-test (>= 0.6.3)
       rails-dom-testing (~> 2.2)
@@ -36,39 +43,37 @@ GEM
       useragent (~> 0.16)
     actionpack-page_caching (1.2.4)
       actionpack (>= 4.0.0)
-    actiontext (7.2.2.1)
-      actionpack (= 7.2.2.1)
-      activerecord (= 7.2.2.1)
-      activestorage (= 7.2.2.1)
-      activesupport (= 7.2.2.1)
+    actiontext (8.0.2)
+      actionpack (= 8.0.2)
+      activerecord (= 8.0.2)
+      activestorage (= 8.0.2)
+      activesupport (= 8.0.2)
       globalid (>= 0.6.0)
       nokogiri (>= 1.8.5)
-    actionview (7.2.2.1)
-      activesupport (= 7.2.2.1)
+    actionview (8.0.2)
+      activesupport (= 8.0.2)
       builder (~> 3.1)
       erubi (~> 1.11)
       rails-dom-testing (~> 2.2)
       rails-html-sanitizer (~> 1.6)
-    active_record_union (1.3.0)
-      activerecord (>= 4.0)
-    activejob (7.2.2.1)
-      activesupport (= 7.2.2.1)
+    activejob (8.0.2)
+      activesupport (= 8.0.2)
       globalid (>= 0.3.6)
-    activemodel (7.2.2.1)
-      activesupport (= 7.2.2.1)
-    activerecord (7.2.2.1)
-      activemodel (= 7.2.2.1)
-      activesupport (= 7.2.2.1)
+    activemodel (8.0.2)
+      activesupport (= 8.0.2)
+    activerecord (8.0.2)
+      activemodel (= 8.0.2)
+      activesupport (= 8.0.2)
       timeout (>= 0.4.0)
     activerecord-import (2.1.0)
       activerecord (>= 4.2)
-    activestorage (7.2.2.1)
-      actionpack (= 7.2.2.1)
-      activejob (= 7.2.2.1)
-      activerecord (= 7.2.2.1)
-      activesupport (= 7.2.2.1)
+    activestorage (8.0.2)
+      actionpack (= 8.0.2)
+      activejob (= 8.0.2)
+      activerecord (= 8.0.2)
+      activesupport (= 8.0.2)
       marcel (~> 1.0)
-    activesupport (7.2.2.1)
+    activesupport (8.0.2)
       base64
       benchmark (>= 0.3)
       bigdecimal
@@ -80,6 +85,7 @@ GEM
       minitest (>= 5.1)
       securerandom (>= 0.3)
       tzinfo (~> 2.0, >= 2.0.5)
+      uri (>= 0.13.1)
     addressable (2.8.7)
       public_suffix (>= 2.0.2, < 7.0)
     annotaterb (4.14.0)
@@ -400,7 +406,7 @@ GEM
     net-smtp (0.5.1)
       net-protocol
     nio4r (2.7.4)
-    nokogiri (1.18.4)
+    nokogiri (1.18.5)
       mini_portile2 (~> 2.8.2)
       racc (~> 1.4)
     oauth (1.1.0)
@@ -497,20 +503,20 @@ GEM
     rackup (1.0.1)
       rack (< 3)
       webrick
-    rails (7.2.2.1)
-      actioncable (= 7.2.2.1)
-      actionmailbox (= 7.2.2.1)
-      actionmailer (= 7.2.2.1)
-      actionpack (= 7.2.2.1)
-      actiontext (= 7.2.2.1)
-      actionview (= 7.2.2.1)
-      activejob (= 7.2.2.1)
-      activemodel (= 7.2.2.1)
-      activerecord (= 7.2.2.1)
-      activestorage (= 7.2.2.1)
-      activesupport (= 7.2.2.1)
+    rails (8.0.2)
+      actioncable (= 8.0.2)
+      actionmailbox (= 8.0.2)
+      actionmailer (= 8.0.2)
+      actionpack (= 8.0.2)
+      actiontext (= 8.0.2)
+      actionview (= 8.0.2)
+      activejob (= 8.0.2)
+      activemodel (= 8.0.2)
+      activerecord (= 8.0.2)
+      activestorage (= 8.0.2)
+      activesupport (= 8.0.2)
       bundler (>= 1.15.0)
-      railties (= 7.2.2.1)
+      railties (= 8.0.2)
     rails-controller-testing (1.0.5)
       actionpack (>= 5.0.1.rc1)
       actionview (>= 5.0.1.rc1)
@@ -522,15 +528,15 @@ GEM
     rails-html-sanitizer (1.6.2)
       loofah (~> 2.21)
       nokogiri (>= 1.15.7, != 1.16.7, != 1.16.6, != 1.16.5, != 1.16.4, != 1.16.3, != 1.16.2, != 1.16.1, != 1.16.0.rc1, != 1.16.0)
-    rails-i18n (7.0.10)
+    rails-i18n (8.0.1)
       i18n (>= 0.7, < 2)
-      railties (>= 6.0.0, < 8)
+      railties (>= 8.0.0, < 9)
     rails_param (1.3.1)
       actionpack (>= 3.2.0)
       activesupport (>= 3.2.0)
-    railties (7.2.2.1)
-      actionpack (= 7.2.2.1)
-      activesupport (= 7.2.2.1)
+    railties (8.0.2)
+      actionpack (= 8.0.2)
+      activesupport (= 8.0.2)
       irb (~> 1.13)
       rackup (>= 1.0.0)
       rake (>= 12.2)
@@ -682,7 +688,7 @@ PLATFORMS
 DEPENDENCIES
   aasm
   actionpack-page_caching (>= 1.2.0)
-  active_record_union
+  active_record_union!
   activerecord-import
   addressable (~> 2.8)
   annotaterb
@@ -755,9 +761,9 @@ DEPENDENCIES
   quad_tile (~> 1.0.1)
   rack-cors
   rack-uri_sanitizer
-  rails (~> 7.2.0)
+  rails (~> 8.0.0)
   rails-controller-testing
-  rails-i18n (~> 7.0.0)
+  rails-i18n (~> 8.0.0)
   rails_param
   rinku (>= 2.0.6)
   rotp
index 816bde76cef9e8a534a53ccb41a08f9727c34c57..5153a228efdc0b8ace71bf43e919fff27478e48a 100644 (file)
@@ -56,7 +56,7 @@ window.onload = function () {
 L.Control.OSMReportAProblem = L.Control.Attribution.extend({
   options: {
     position: "bottomright",
-    prefix: `<a href="https://www.openstreetmap.org/fixthemap?lat={x}&lon={y}&zoom={z}" target="_blank">${OSM.i18n.t("javascripts.embed.report_problem")}</a>`
+    prefix: `<a href="/fixthemap?lat={x}&lon={y}&zoom={z}" target="_blank">${OSM.i18n.t("javascripts.embed.report_problem")}</a>`
   },
 
   onAdd: function (map) {
index f2063ff0ef17c50347d97a7c4d44674f5e0b471a..d60d4b82d0d0b709335d77aed1d32e7cca19ea10 100644 (file)
@@ -16,7 +16,7 @@ document.addEventListener("DOMContentLoaded", function () {
     const url = location.protocol + "//" + location.host;
     idContext.preauth({
       url: url,
-      apiUrl: url === "https://www.openstreetmap.org" ? "https://api.openstreetmap.org" : url,
+      apiUrl: url.replace("www.openstreetmap.org", "api.openstreetmap.org"),
       access_token: container.dataset.token
     });
 
index e2a82c20edc154b8c4c4aa625ac583e153d8be2c..31653448ae2c140f30281c755b590a9bd0c91c19 100644 (file)
@@ -25,7 +25,7 @@ class AccountsController < ApplicationController
   end
 
   def update
-    user_params = params.require(:user).permit(:display_name, :new_email, :pass_crypt, :pass_crypt_confirmation, :auth_provider)
+    user_params = params.expect(:user => [:display_name, :new_email, :pass_crypt, :pass_crypt_confirmation, :auth_provider])
 
     if params[:user][:auth_provider].blank? ||
        (params[:user][:auth_provider] == current_user.auth_provider &&
index 91e05ff7413f9cd3d0a5a28308e93aa0ad8d8a3a..5bbf2bf63dc0efd60f3b70d525f7fe20c4ca202b 100644 (file)
@@ -51,6 +51,6 @@ class DiaryCommentsController < ApplicationController
   ##
   # return permitted diary comment parameters
   def comment_params
-    params.require(:diary_comment).permit(:body)
+    params.expect(:diary_comment => [:body])
   end
 end
index 94876e72a38b539bf2b21240cfa041f79f6a51c3..f3752cb2c047e8cc899df9019db4f42eff4b488f 100644 (file)
@@ -219,7 +219,7 @@ class DiaryEntriesController < ApplicationController
   ##
   # return permitted diary entry parameters
   def entry_params
-    params.require(:diary_entry).permit(:title, :body, :language_code, :latitude, :longitude)
+    params.expect(:diary_entry => [:title, :body, :language_code, :latitude, :longitude])
   rescue ActionController::ParameterMissing
     ActionController::Parameters.new.permit(:title, :body, :language_code, :latitude, :longitude)
   end
index 5bf4d023784a587613645f03891f5e2f22ae2cae..cb504ad049a8d4118072480904431058f390e6dd 100644 (file)
@@ -33,7 +33,7 @@ class IssueCommentsController < ApplicationController
   private
 
   def issue_comment_params
-    params.require(:issue_comment).permit(:body)
+    params.expect(:issue_comment => [:body])
   end
 
   # This sort of assumes there are only two roles
index 1979c9edc5f7bf8feba00f9901150af9420c4038..cb72d4d571ce4d893532d62fcc484889a3ac8be0 100644 (file)
@@ -78,7 +78,7 @@ class MessagesController < ApplicationController
   ##
   # return permitted message parameters
   def message_params
-    params.require(:message).permit(:title, :body)
+    params.expect(:message => [:title, :body])
   rescue ActionController::ParameterMissing
     ActionController::Parameters.new.permit(:title, :body)
   end
index 97d84b1737eb5d7b86c434f65c97f7328eacd251..fcb9afc3b69945de81fe0d98999a7524713e62a3 100644 (file)
@@ -21,8 +21,8 @@ class Oauth2ApplicationsController < Doorkeeper::ApplicationsController
 
   def application_params
     params[:oauth2_application][:scopes]&.delete("")
-    params.require(:oauth2_application)
-          .permit(:name, :redirect_uri, :confidential, :scopes => [])
-          .merge(:owner => current_resource_owner)
+    params
+      .expect(:oauth2_application => [:name, :redirect_uri, :confidential, { :scopes => [] }])
+      .merge(:owner => current_resource_owner)
   end
 end
index e2ec400a57665ba92483cfefc3ebde36007878b9..e4a0bf41bd7c18fde286376db27daf2e32f0b324 100644 (file)
@@ -49,7 +49,7 @@ class ReportsController < ApplicationController
   end
 
   def report_params
-    params.require(:report).permit(:details, :category)
+    params.expect(:report => [:details, :category])
   end
 
   def issue_params
index 53c1dedd6aeecb27e0c82dceaeb0184ffd12816e..2bf34f593e72c57710f7453026dae248b7ef0c6c 100644 (file)
@@ -223,6 +223,6 @@ class TracesController < ApplicationController
   end
 
   def trace_params
-    params.require(:trace).permit(:description, :tagstring, :visibility)
+    params.expect(:trace => [:description, :tagstring, :visibility])
   end
 end
index 2ea2ea36f3006f4566e46830646904c529a88391..58ed0c48a06c43dae7cbd979dd39030ac92dfdd1 100644 (file)
@@ -239,9 +239,9 @@ class UsersController < ApplicationController
   ##
   # return permitted user parameters
   def user_params
-    params.require(:user).permit(:email, :display_name,
-                                 :auth_provider, :auth_uid,
-                                 :pass_crypt, :pass_crypt_confirmation)
+    params.expect(:user => [:email, :display_name,
+                            :auth_provider, :auth_uid,
+                            :pass_crypt, :pass_crypt_confirmation])
   end
 
   ##
index 4b3f24ecd71f1997e884e4c40537f233d4586716..a7f83be3f4a5235a254eaeacea41e1b5a5b50a01 100644 (file)
   <symbol id="routing-sprite-u-turn-right" fill="none" stroke="currentColor" stroke-width="2">
     <path d="M4 17 v-7 a4.5 4.5 0 0 1 9 0 v5 m2.5 -2 l-2.5 2.5 -2.5 -2.5 z" />
   </symbol>
-  <symbol id="routing-sprite-slight-left" fill="none" stroke="currentColor" stroke-width="2">
-    <path d="M13 17 v-3 q0 -2 -2 -4 l-5 -5 m0 0 h3 l-3 3 z" />
+  <symbol id="routing-sprite-slight-left">
+    <use href="#routing-sprite-slight-right" transform="matrix(-1 0 0 1 20 0)" />
   </symbol>
-  <symbol id="routing-sprite-left" fill="none" stroke="currentColor" stroke-width="2">
-    <path d="M13 17 v-5 q0 -3 -3 -3 h-4 m2 2.5 l-2.5 -2.5 2.5 -2.5 z" />
+  <symbol id="routing-sprite-left">
+    <use href="#routing-sprite-right" transform="matrix(-1 0 0 1 21 0)" />
   </symbol>
-  <symbol id="routing-sprite-sharp-left" fill="none" stroke="currentColor" stroke-width="2">
-    <path d="M13 17 v-7 q0 -6 -6 0 l-2 2 m0 0 v-3 l3 3 z" />
+  <symbol id="routing-sprite-sharp-left">
+    <use href="#routing-sprite-sharp-right" transform="matrix(-1 0 0 1 21 0)" />
   </symbol>
-  <symbol id="routing-sprite-u-turn-left" fill="none" stroke="currentColor" stroke-width="2">
-    <path d="M16 17 v-7 a4.5 4.5 0 0 0 -9 0 v5 m-2.5 -2 l2.5 2.5 2.5 -2.5 z" />
+  <symbol id="routing-sprite-u-turn-left">
+    <use href="#routing-sprite-u-turn-right" transform="matrix(-1 0 0 1 20 0)" />
   </symbol>
 
   <symbol id="routing-sprite-roundabout" fill="none" stroke="currentColor" stroke-width="2">
     <path d="M9 14 q0 -2 -2 -4 l-3 -3" opacity=".5" />
     <path d="M9 17 v-3 q0 -2 2 -4 l5 -5 m0 0 h-3 l3 3 z" />
   </symbol>
-  <symbol id="routing-sprite-fork-left" fill="none" stroke="currentColor" stroke-width="2">
-    <path d="M11 14 q0 -2 2 -4 l3 -3" opacity=".5" />
-    <path d="M11 17 v-3 q0 -2 -2 -4 l-5 -5 m0 0 h3 l-3 3 z" />
+  <symbol id="routing-sprite-fork-left">
+    <use href="#routing-sprite-fork-right" transform="matrix(-1 0 0 1 20 0)" />
   </symbol>
   <symbol id="routing-sprite-merge-left" fill="none" stroke="currentColor" stroke-width="2">
     <path d="M8 7 q0 2 -2 4 l-3 3" opacity=".5" />
     <path d="M8 4 v3 q0 2 2 4 l5 5 m-5 -5 h3 l-3 3 z" />
   </symbol>
-  <symbol id="routing-sprite-merge-right" fill="none" stroke="currentColor" stroke-width="2">
-    <path d="M12 7 q0 2 2 4 l3 3" opacity=".5" />
-    <path d="M12 4 v3 q0 2 -2 4 l-5 5 m5 -5 h-3 l3 3 z" />
+  <symbol id="routing-sprite-merge-right">
+    <use href="#routing-sprite-merge-left" transform="matrix(-1 0 0 1 20 0)" />
   </symbol>
   <symbol id="routing-sprite-end-of-road-right" fill="none" stroke="currentColor" stroke-width="2">
     <path d="M2 9 h10" opacity=".5" />
     <path d="M9 17 v-5 q0 -3 3 -3 h4 m-2 2.5 l2.5 -2.5 -2.5 -2.5 z" />
   </symbol>
-  <symbol id="routing-sprite-end-of-road-left" fill="none" stroke="currentColor" stroke-width="2">
-    <path d="M18 9 h-10" opacity=".5" />
-    <path d="M11 17 v-5 q0 -3 -3 -3 h-4 m2 2.5 l-2.5 -2.5 2.5 -2.5 z" />
+  <symbol id="routing-sprite-end-of-road-left">
+    <use href="#routing-sprite-end-of-road-right" transform="matrix(-1 0 0 1 20 0)" />
   </symbol>
   <symbol id="routing-sprite-exit-right" fill="none" stroke="currentColor" stroke-width="2">
     <path d="M9 14 v-8" opacity=".5" />
     <path d="M9 17 v-3 q0 -2 2 -4 l5 -5 m0 0 h-3 l3 3 z" />
   </symbol>
-  <symbol id="routing-sprite-exit-left" fill="none" stroke="currentColor" stroke-width="2">
-    <path d="M11 14 v-8" opacity=".5" />
-    <path d="M11 17 v-3 q0 -2 -2 -4 l-5 -5 m0 0 h3 l-3 3 z" />
+  <symbol id="routing-sprite-exit-left">
+    <use href="#routing-sprite-exit-right" transform="matrix(-1 0 0 1 20 0)" />
   </symbol>
 
   <symbol id="routing-sprite-ferry" fill="none" stroke="currentColor" stroke-width="1">
diff --git a/bin/dev b/bin/dev
new file mode 100755 (executable)
index 0000000..5f91c20
--- /dev/null
+++ b/bin/dev
@@ -0,0 +1,2 @@
+#!/usr/bin/env ruby
+exec "./bin/rails", "server", *ARGV
index ced1ba3708f5024f01e48454ba2f15d9eac89a82..b91b090efe77f383a1d118a5f3a5bfaeda2112ac 100755 (executable)
--- a/bin/setup
+++ b/bin/setup
@@ -2,7 +2,6 @@
 require "fileutils"
 
 APP_ROOT = File.expand_path("..", __dir__)
-APP_NAME = "openstreetmap".freeze
 
 def system!(*)
   system(*, :exception => true)
@@ -14,7 +13,6 @@ FileUtils.chdir APP_ROOT do
   # Add necessary setup steps to this file.
 
   puts "== Installing dependencies =="
-  system! "gem install bundler --conservative"
   system("bundle check") || system!("bundle install")
 
   # puts "\n== Copying sample files =="
@@ -28,10 +26,9 @@ FileUtils.chdir APP_ROOT do
   puts "\n== Removing old logs and tempfiles =="
   system! "bin/rails log:clear tmp:clear"
 
-  puts "\n== Restarting application server =="
-  system! "bin/rails restart"
-
-  # puts "\n== Configuring puma-dev =="
-  # system "ln -nfs #{APP_ROOT} ~/.puma-dev/#{APP_NAME}"
-  # system "curl -Is https://#{APP_NAME}.test/up | head -n 1"
+  unless ARGV.include?("--skip-server")
+    puts "\n== Starting development server =="
+    $stdout.flush # flush the output before exec(2) so that it displays
+    exec "bin/dev"
+  end
 end
diff --git a/bin/thrust b/bin/thrust
new file mode 100755 (executable)
index 0000000..36bde2d
--- /dev/null
@@ -0,0 +1,5 @@
+#!/usr/bin/env ruby
+require "rubygems"
+require "bundler/setup"
+
+load Gem.bin_path("thruster", "thrust")
index 3bde022e577a6140fc2f4be24c567a1af08650ba..1836069d1d652184260ef70ff19c9d5506eebd08 100644 (file)
@@ -3,9 +3,7 @@ require "active_support/core_ext/integer/time"
 Rails.application.configure do
   # Settings specified here will take precedence over those in config/application.rb.
 
-  # In the development environment your application's code is reloaded any time
-  # it changes. This slows down response time but is perfect for development
-  # since you don't have to restart the web server when you make code changes.
+  # Make code changes take effect immediately without server restart.
   config.enable_reloading = true
 
   # Do not eager load code on boot.
@@ -17,53 +15,46 @@ Rails.application.configure do
   # Enable server timing.
   config.server_timing = true
 
-  # Enable/disable caching. By default caching is disabled.
-  # Run rails dev:cache to toggle caching.
+  # Enable/disable Action Controller caching. By default Action Controller caching is disabled.
+  # Run rails dev:cache to toggle Action Controller caching.
   if Rails.root.join("tmp/caching-dev.txt").exist?
     config.action_controller.perform_caching = true
     config.action_controller.enable_fragment_cache_logging = true
-
-    config.cache_store = :memory_store
-    config.public_file_server.headers = { "Cache-Control" => "public, max-age=#{2.days.to_i}" }
+    config.public_file_server.headers = { "cache-control" => "public, max-age=#{2.days.to_i}" }
   else
     config.action_controller.perform_caching = false
-
-    config.cache_store = :null_store
   end
 
+  # Change to :null_store to avoid any caching.
+  config.cache_store = :memory_store
+
   # Store uploaded files on the local file system (see config/storage.yml for options).
   config.active_storage.service = :local
 
   # Don't care if the mailer can't send.
   config.action_mailer.raise_delivery_errors = false
 
-  # Disable caching for Action Mailer templates even if Action Controller
-  # caching is enabled.
+  # Make template changes take effect immediately.
   config.action_mailer.perform_caching = false
 
+  # Set localhost to be used by links generated in mailer templates.
   config.action_mailer.default_url_options = { :host => "localhost", :port => 3000 }
 
   # Print deprecation notices to the Rails logger.
   config.active_support.deprecation = :log
 
-  # Raise exceptions for disallowed deprecations.
-  config.active_support.disallowed_deprecation = :raise
-
-  # Tell Active Support which deprecation messages to disallow.
-  config.active_support.disallowed_deprecation_warnings = []
-
   # Raise an error on page load if there are pending migrations.
   config.active_record.migration_error = :page_load unless Settings.status == "database_offline"
 
   # Highlight code that triggered database queries in logs.
   config.active_record.verbose_query_logs = true unless Settings.status == "database_offline"
 
+  # Append comments with runtime information tags to SQL queries in logs.
+  config.active_record.query_log_tags_enabled = true
+
   # Highlight code that enqueued background job in logs.
   config.active_job.verbose_enqueue_logs = true
 
-  # Suppress logger output for asset requests.
-  config.assets.quiet = true
-
   # Raises error for missing translations.
   # config.i18n.raise_on_missing_translations = true
 
index 9a7e072b4ec6889fc419dca02c3ca5912285d5a8..088412086c6ba8f7f3a3374bdc5d7183eebeaca2 100644 (file)
@@ -6,83 +6,51 @@ Rails.application.configure do
   # Code is not reloaded between requests.
   config.enable_reloading = false
 
-  # Eager load code on boot. This eager loads most of Rails and
-  # your application in memory, allowing both threaded web servers
-  # and those relying on copy on write to perform better.
-  # Rake tasks automatically ignore this option for performance.
+  # Eager load code on boot for better performance and memory savings (ignored by Rake tasks).
   config.eager_load = true
 
-  # Full error reports are disabled and caching is turned on.
+  # Full error reports are disabled.
   config.consider_all_requests_local = false
-  config.action_controller.perform_caching = true
-
-  # Ensures that a master key has been made available in ENV["RAILS_MASTER_KEY"], config/master.key, or an environment
-  # key such as config/credentials/production.key. This key is used to decrypt credentials (and other encrypted files).
-  # config.require_master_key = true
-
-  # Disable serving static files from `public/`, relying on NGINX/Apache to do so instead.
-  # config.public_file_server.enabled = false
 
-  # Compress JavaScripts using a preprocessor.
-  config.assets.js_compressor = Terser.new
-
-  # Compress CSS using a preprocessor.
-  # config.assets.css_compressor = :sass
+  # Turn on fragment caching in view templates.
+  config.action_controller.perform_caching = true
 
-  # Do not fall back to assets pipeline if a precompiled asset is missed.
-  config.assets.compile = false
+  # Cache assets for far-future expiry since they are all digest stamped.
+  config.public_file_server.headers = { "cache-control" => "public, max-age=#{1.year.to_i}" }
 
   # Enable serving of images, stylesheets, and JavaScripts from an asset server.
   # config.asset_host = "http://assets.example.com"
 
-  # Specifies the header that your server uses for sending files.
-  # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for Apache
-  # config.action_dispatch.x_sendfile_header = "X-Accel-Redirect" # for NGINX
-
   # Store uploaded files on the local file system (see config/storage.yml for options).
   config.active_storage.service = :local
 
-  # Mount Action Cable outside main process or domain.
-  # config.action_cable.mount_path = nil
-  # config.action_cable.url = "wss://example.com/cable"
-  # config.action_cable.allowed_request_origins = [ "http://example.com", /http:\/\/example.*/ ]
-
   # Assume all access to the app is happening through a SSL-terminating reverse proxy.
-  # Can be used together with config.force_ssl for Strict-Transport-Security and secure cookies.
-  # config.assume_ssl = true
+  config.assume_ssl = true
 
   # Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
-  config.force_ssl = true
+  config.force_ssl = true
 
   # Skip http-to-https redirect for the default health check endpoint.
   # config.ssl_options = { redirect: { exclude: ->(request) { request.path == "/up" } } }
 
-  # Log to STDOUT by default
-  # config.logger = ActiveSupport::Logger.new(STDOUT)
-  #   .tap  { |logger| logger.formatter = ::Logger::Formatter.new }
-  #   .then { |logger| ActiveSupport::TaggedLogging.new(logger) }
-
-  # Prepend all log lines with the following tags.
+  # Log to STDOUT with the current request id as a default log tag.
   config.log_tags = [:request_id]
+  config.logger   = ActiveSupport::TaggedLogging.logger($stdout)
 
-  # "info" includes generic and useful information about system operation, but avoids logging too much
-  # information to avoid inadvertent exposure of personally identifiable information (PII). If you
-  # want to log everything, set the level to "debug".
+  # Change to "debug" to log everything (including potentially personally-identifiable information!)
   config.log_level = ENV.fetch("RAILS_LOG_LEVEL", "info")
 
-  # Use a different log path in production.
-  config.paths["log"] = Settings.log_path if Settings.key?(:log_path)
+  # Prevent health checks from clogging up the logs.
+  config.silence_healthcheck_path = "/up"
+
+  # Don't log any deprecations.
+  config.active_support.report_deprecations = false
 
-  # Use a different cache store in production.
+  # Replace the default in-process memory cache store with a durable alternative.
   # config.cache_store = :mem_cache_store
 
-  # Use a real queuing backend for Active Job (and separate queues per environment).
+  # Replace the default in-process and non-durable queuing backend for Active Job.
   # config.active_job.queue_adapter = :resque
-  # config.active_job.queue_name_prefix = "openstreetmap_production"
-
-  # Disable caching for Action Mailer templates even if Action Controller
-  # caching is enabled.
-  config.action_mailer.perform_caching = false
 
   # Configure caching of static assets
   config.action_controller.page_cache_directory = Rails.public_path
@@ -91,21 +59,34 @@ Rails.application.configure do
   # Set this to true and configure the email server for immediate delivery to raise delivery errors.
   # config.action_mailer.raise_delivery_errors = false
 
+  # Set host to be used by links generated in mailer templates.
+  config.action_mailer.default_url_options = { :host => "example.com" }
+
+  # Specify outgoing SMTP server. Remember to add smtp/* credentials via rails credentials:edit.
+  # config.action_mailer.smtp_settings = {
+  #   user_name: Rails.application.credentials.dig(:smtp, :user_name),
+  #   password: Rails.application.credentials.dig(:smtp, :password),
+  #   address: "smtp.example.com",
+  #   port: 587,
+  #   authentication: :plain
+  # }
+
   # Enable locale fallbacks for I18n (makes lookups for any locale fall back to
   # the I18n.default_locale when a translation cannot be found).
   config.i18n.fallbacks = true
 
-  # Don't log any deprecations.
-  config.active_support.report_deprecations = false
-
   # Do not dump schema after migrations.
   config.active_record.dump_schema_after_migration = false unless Settings.status == "database_offline"
 
+  # Only use :id for inspections in production.
+  config.active_record.attributes_for_inspect = [:id]
+
   # Enable DNS rebinding protection and other `Host` header attacks.
   # config.hosts = [
   #   "example.com",     # Allow requests from example.com
   #   /.*\.example\.com/ # Allow requests from subdomains like `www.example.com`
   # ]
+  #
   # Skip DNS rebinding protection for the default health check endpoint.
   # config.host_authorization = { exclude: ->(request) { request.path == "/up" } }
 
index 300af0abd3301093fc020889d0c7a7ecadf5cd3d..dc53e144a7b89e85c6e1f73f68214d2b1989d89c 100644 (file)
@@ -1,5 +1,3 @@
-require "active_support/core_ext/integer/time"
-
 # The test environment is used exclusively to run your application's
 # test suite. You never need to work with it otherwise. Remember that
 # your test database is "scratch space" for the test suite and is wiped
@@ -17,12 +15,11 @@ Rails.application.configure do
   # loading is working properly before deploying your code.
   config.eager_load = ENV["CI"].present?
 
-  # Configure public file server for tests with Cache-Control for performance.
-  config.public_file_server.headers = { "Cache-Control" => "public, max-age=#{1.hour.to_i}" }
+  # Configure public file server for tests with cache-control for performance.
+  config.public_file_server.headers = { "cache-control" => "public, max-age=3600" }
 
-  # Show full error reports and disable caching.
+  # Show full error reports.
   config.consider_all_requests_local = true
-  config.action_controller.perform_caching = false
   config.cache_store = :null_store
 
   # Render exception templates for rescuable exceptions and raise for other exceptions.
@@ -37,17 +34,12 @@ Rails.application.configure do
   # Disable logging in tests, for speed increases. Set to :info to bring back logging
   config.log_level = :warn
 
-  # Disable caching for Action Mailer templates even if Action Controller
-  # caching is enabled.
-  config.action_mailer.perform_caching = false
-
   # Tell Action Mailer not to deliver emails to the real world.
   # The :test delivery method accumulates sent emails in the
   # ActionMailer::Base.deliveries array.
   config.action_mailer.delivery_method = :test
 
-  # Unlike controllers, the mailer instance doesn't have any context about the
-  # incoming request so you'll need to provide the :host parameter yourself.
+  # Set host to be used by links generated in mailer templates.
   config.action_mailer.default_url_options = { :host => Settings.server_url }
 
   # Print deprecation notices to the stderr.
@@ -71,6 +63,9 @@ Rails.application.configure do
   # Use the test adapter for ActiveJob during testing.
   config.active_job.queue_adapter = :test
 
-  # Allow FactoryBot to set primary key attributes
+  # Allow FactoryBot to set primary key attributes.
   config.factory_bot.reject_primary_key_attributes = false
+
+  # Disable page caching.
+  config.action_controller.perform_caching = false
 end
index 9ddaf70f94598b62f6d65a272457d61c68c05ed6..2b7260f317271ab6cff22e6c1fbd544b4254f021 100644 (file)
@@ -36,9 +36,9 @@ Rails.application.configure do
     policy.report_uri(Settings.csp_report_url) if Settings.key?(:csp_report_url)
   end
 
-  # Generate session nonces for permitted importmap and inline scripts
+  # Generate session nonces for permitted importmap, inline scripts, and inline styles.
   config.content_security_policy_nonce_generator = ->(_request) { SecureRandom.base64(24) }
-  config.content_security_policy_nonce_directives = %w[style-src]
+  config.content_security_policy_nonce_directives = %w[script-src style-src]
 
   # Report violations without enforcing the policy.
   config.content_security_policy_report_only = true unless Settings.csp_enforce
diff --git a/config/initializers/new_framework_defaults_8_0.rb b/config/initializers/new_framework_defaults_8_0.rb
new file mode 100644 (file)
index 0000000..92efa95
--- /dev/null
@@ -0,0 +1,30 @@
+# Be sure to restart your server when you modify this file.
+#
+# This file eases your Rails 8.0 framework defaults upgrade.
+#
+# Uncomment each configuration one by one to switch to the new default.
+# Once your application is ready to run with all new defaults, you can remove
+# this file and set the `config.load_defaults` to `8.0`.
+#
+# Read the Guide for Upgrading Ruby on Rails for more info on each option.
+# https://guides.rubyonrails.org/upgrading_ruby_on_rails.html
+
+###
+# Specifies whether `to_time` methods preserve the UTC offset of their receivers or preserves the timezone.
+# If set to `:zone`, `to_time` methods will use the timezone of their receivers.
+# If set to `:offset`, `to_time` methods will use the UTC offset.
+# If `false`, `to_time` methods will convert to the local system UTC offset instead.
+#++
+# Rails.application.config.active_support.to_time_preserves_timezone = :zone
+
+###
+# When both `If-Modified-Since` and `If-None-Match` are provided by the client
+# only consider `If-None-Match` as specified by RFC 7232 Section 6.
+# If set to `false` both conditions need to be satisfied.
+#++
+# Rails.application.config.action_dispatch.strict_freshness = true
+
+###
+# Set `Regexp.timeout` to `1`s by default to improve security over Regexp Denial-of-Service attacks.
+#++
+# Regexp.timeout = 1
index 843509696a721dd85bb3db5a7f42d0e41fdcc3ef..a98a262e20699d2bfc51ebdf80b634975e83fe01 100644 (file)
@@ -2087,7 +2087,7 @@ ar:
         title: مرحبًا بك في خريطة الشارع المفتوحة
         description: ابدأ مع هذا الدليل السريع تغطية أساسيات خريطة الشارع المفتوحة.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Ar:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Ar:Beginners%27_guide
         title: دليل المبتدئين
         description: دليل من المجتمع للمبتدئين.
       mailing_lists:
index 3f02e277fcb1baa50a0877405ca42899d703c5de..f217107cb17d57e46838eccec1118d3d0c0205b3 100644 (file)
@@ -3,6 +3,7 @@
 # Export driver: phpyaml
 # Author: AZISS
 # Author: Cekli829
+# Author: Gravitystorm
 # Author: Huseyn
 # Author: Mushviq Abdulla
 # Author: NMW03
@@ -936,7 +937,7 @@ az:
       export_button: İxrac etmək
     help:
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Az:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Az:Beginners%27_guide
     sidebar:
       search_results: Axtarış Nəticələri
     search:
index 32ed11a5cf90d6b7f7e142a56602d60ac4ecaf55..d904e1b277438190febf106383f98616e684dddb 100644 (file)
@@ -5,6 +5,7 @@
 # Author: CERminator
 # Author: DzWiki
 # Author: Edinwiki
+# Author: Gravitystorm
 # Author: KWiki
 # Author: Macofe
 # Author: Maxmus
@@ -1071,7 +1072,7 @@ bs:
       welcome:
         url: /dobrodošlica
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Bs:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Bs:Beginners%27_guide
       irc:
         title: IRC
     any_questions:
index b1aa076adc93e44b895cd1bbb3a2ab34c824ad1e..bfab7cb72f7df8bdbf8f830baffb4c1eb37da819 100644 (file)
@@ -15,6 +15,7 @@
 # Author: Fitoschido
 # Author: Galactic Thrasher
 # Author: Gemmaa
+# Author: Gravitystorm
 # Author: Grondin
 # Author: Jaumeortola
 # Author: Jconstanti
@@ -2169,7 +2170,7 @@ ca:
         description: Comenceu amb aquesta guia ràpida sobre els aspectes bàsics de
           l'OpenStreetMap.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Ca:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Ca:Beginners%27_guide
         title: Guia per a principiants
         description: Guia per a principiants mantinguda per la comunitat.
       community:
index a671b33d2775f00caec2121e3cbb3066772104e2..e96083f7639b7edac9dd298670320eee84bacd28 100644 (file)
@@ -1418,10 +1418,10 @@ cs:
           village: Vesnice
           "yes": Místo
         railway:
-          abandoned: Zrušená železniční trať
+          abandoned: Opuštěná nebo zrušená železnice
           buffer_stop: Zarážedlo
           construction: Železnice ve výstavbě
-          disused: Nepoužívaná železniční trať
+          disused: Nepoužívaná železnice
           funicular: Lanová dráha
           halt: Železniční zastávka
           junction: Kolejové rozvětvení
@@ -3524,7 +3524,7 @@ cs:
       add_note: Přidat sem poznámku
       show_address: Zobrazit adresu
       query_features: Průzkum prvků
-      centre_map: Zde vystředit mapu
+      centre_map: Zde vycentrovat mapu
     home:
       marker_title: Poloha mého domova
       not_set: Ve vašem účtu není nastavena poloha domova
index 1469b9aba89157a681fd84ce57b91a0cbeab6cc6..279fd840d3fc3f879cc7a9c1d40d5dce2f3447b1 100644 (file)
@@ -1593,7 +1593,9 @@ da:
       title: Sager
       select_status: Vælg status
       select_type: Vælg type
+      select_last_managed_by: Vælg sidst håndteret af
       reported_user: Rapporteret bruger
+      not_managed: Ikke håndteret
       search: Søg
       search_guidance: 'Søgning blandt sager:'
       states:
@@ -1607,6 +1609,7 @@ da:
       status: Status
       reports: Rapporter
       last_updated: Sidst opdateret
+      last_managed: Sidst håndteret
       reporting_users: Anmeldende brugere
       reports_count:
         one: '%{count} rapport'
index fd24ad5b09e314d052afa420cd8ab01a07c15141..3a109f087b0a800be9fd85681b7e71f339decf96 100644 (file)
@@ -10,6 +10,7 @@
 # Author: EukeneFL
 # Author: Garaolaza
 # Author: Gorkaazk
+# Author: Gravitystorm
 # Author: Ibai
 # Author: Iñaki LL
 # Author: Juele
@@ -2086,7 +2087,7 @@ eu:
         description: OpenStreetMap-en oinarrizkoak betetzen dituen gida azkar honekin
           hasi.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Eu:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Eu:Beginners%27_guide
         title: Hasiberrientzako gida
         description: Hasiberrientzako mantentze-gida komunitarioa.
       community:
index ec72e1dbb8d19807853f9697cea1ea9351c7c2b0..61704d6b5165c3ac427949ea9bdbc1c05fdbaee5 100644 (file)
@@ -5,6 +5,7 @@
 # Author: Astrind
 # Author: Bugoslav
 # Author: Ex13
+# Author: Gravitystorm
 # Author: Helena
 # Author: Janjko
 # Author: Macofe
@@ -1307,7 +1308,7 @@ hr:
       welcome:
         title: Dobrodošao/la na OSM
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Hr:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Hr:Beginners%27_guide
       wiki:
         title: wiki.openstreetmap.org
     any_questions:
index 78c6050b76d886a21fa5a62131a854f618de5c80..8d79fddf69235649d79cf2854f3d44a01726f6a9 100644 (file)
@@ -1,6 +1,7 @@
 # Messages for Upper Sorbian (hornjoserbsce)
 # Exported from translatewiki.net
 # Export driver: phpyaml
+# Author: Gravitystorm
 # Author: J budissin
 # Author: Macofe
 # Author: Marwin H.H.
@@ -1932,7 +1933,7 @@ hsb:
         description: Započń z tutym spěšnym nawodom, kotryž zakłady OpenStreetMap
           wobsahuje.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/hsb:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Beginners%27_guide
         title: Instrukcije za nowačkow
         description: Přez zhromadźenstwo wothladowany nawod za započatkowarjow.
       community:
index d4b136bd736bee48d503d7f92e32d9dc885ca373..5bb77e70f17a68b074a16d6c41c8c97df21d7afa 100644 (file)
@@ -87,6 +87,7 @@ hu:
       message: Üzenet
       node: Pont
       node_tag: Pont címkéje
+      note: Jegyzet
       old_node: Régi pont
       old_node_tag: Régi pont címkéje
       old_relation: Régi kapcsolat
@@ -117,9 +118,9 @@ hu:
         support_url: Támogatás URL
         allow_read_prefs: felhasználói beállítások elolvasása
         allow_write_prefs: felhasználói beállításaik módosítása
-        allow_write_diary: naplóbejegyzések és hozzászólások készítése és ismerősök
-          hozzáadása
+        allow_write_diary: naplóbejegyzések és hozzászólások készítése
         allow_write_api: a térkép módosítása
+        allow_write_changeset_comments: hozzászólás módosításcsomagokhoz
         allow_read_gpx: magán GPS-nyomvonalaik megtekintése
         allow_write_gpx: GPS-nyomvonalak feltöltése
         allow_write_notes: jegyzetek módosítása
@@ -275,6 +276,7 @@ hu:
   accounts:
     show:
       title: Fiók szerkesztése
+      my_account: Fiókom
       current email address: Jelenlegi e-mail-cím
       external auth: Külső hitelesítés
       openid:
@@ -287,6 +289,9 @@ hu:
           áttekintéséhez és elfogadásához.
         agreed_with_pd: Azt is kijelentetted, hogy a szerkesztéseid közkincsnek tekinthetők.
         link text: mi ez?
+        not_agreed_with_pd: Nem jelentetted ki, hogy a szerkesztéseidet közkincsnek
+          tekinted.
+        pd_link_text: Nyilatkozom
       save changes button: Módosítások mentése
       delete_account: Fiók törlése…
     go_public:
@@ -368,6 +373,20 @@ hu:
         terms_declined_html: Sajnáljuk, hogy úgy döntöttél, nem fogadod el az új közreműködési
           feltételeket. További információkért lásd %{terms_declined_link}.
         terms_declined_link: ezt a wikioldalt
+        terms_declined_url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
+    pd_declarations:
+      show:
+        title: Közreműködéseim minősüljenek közkincsnek
+        consider_pd: Közreműködéseimet közkincsnek tekintem.
+        consider_pd_why: Miért akarjam, hogy a közreműködéseim közkinccsé váljanak?
+        consider_pd_why_url: https://osmfoundation.org/wiki/Licence_and_Legal_FAQ/Why_would_I_want_my_contributions_to_be_public_domain
+        confirm: Megerősítés
+      create:
+        successfully_declared: Sikeresen kijelentetted, hogy szerkesztéseidet közkincsnek
+          tekinted.
+        already_declared: Már kijelentetted, hogy a szerkesztéseidet közkincsnek tekinted.
+        did_not_confirm: Nem erősítetted meg, hogy a szerkesztéseidet közkincsnek
+          tekinted.
   browse:
     deleted_ago_by_html: Törölte %{user} %{time_ago}
     edited_ago_by_html: Szerkesztette %{user} %{time_ago}
@@ -436,6 +455,7 @@ hu:
     start_rjs:
       feature_warning: '%{num_features} objektum betöltése jelentősen lassíthatja
         a böngésződet. Biztos hogy meg akarod jeleníteni ezeket az adatokat?'
+      feature_error: 'Egyes objektumokat nem sikerült betölteni: %{message}'
       load_data: Adatok betöltése
       loading: Betöltés…
     tag_details:
@@ -515,10 +535,18 @@ hu:
         sorry: Sajnáljuk, túl sokáig tartott az általad kért módosításcsomag-hozzászólások
           listájának lekérése.
   changesets:
+    changeset:
+      comments:
+        one: '%{count} hozzászólás'
+        other: '%{count} hozzászólás'
+      changes:
+        one: '%{count} módosítás'
+        other: '%{count} módosítás'
     index:
       title: Módosításcsomagok
       title_user: '%{user} módosításcsomagjai'
       title_user_link_html: '%{user_link} módosításcsomagjai'
+      title_followed: Módosításcsomagok követett felhasználók szerint
       title_nearby: Közeli felhasználók módosításcsomagjai
       empty: Nem található módosításcsomag.
       empty_area: Ezen a területen nincs módosításcsomag.
@@ -591,14 +619,19 @@ hu:
     popup:
       your location: Helyed
       nearby mapper: Közeli térképszerkesztő
+      following: Követett felhasználó
     show:
       title: Irányítópult
       no_home_location_html: '%{edit_profile_link}, és add meg az otthoni tartózkodási
         helyed, hogy lásd a közeli felhasználókat.'
       edit_your_profile: Szerkeszd a profilodat
+      followings: Követett felhasználók
+      no followings: Még egyetlen felhasználót sem követsz.
       nearby users: További közeli felhasználók
       no nearby users: Még nincsenek más felhasználók, akik megadták, hogy a közelben
         szerkesztenek.
+      followed_changesets: módosításcsomagok
+      followed_diaries: naplóbejegyzések
       nearby_changesets: közeli felhasználók módosításcsomagjai
       nearby_diaries: közeli felhasználók naplóbejegyzései
   diary_entries:
@@ -609,6 +642,7 @@ hu:
       use_map_link: térkép használata
     index:
       title: Felhasználók naplói
+      title_followed: Követett felhasználók naplói
       title_nearby: Közeli felhasználók naplói
       user_title: '%{user} naplója'
       in_language_title: Naplóbejegyzések %{language} nyelven
@@ -732,6 +766,23 @@ hu:
       title: A fájl nem található
       description: Nem található ilyen nevű fájl/könyvtár/API-művelet az OpenStreetMap
         szerveren (HTTP 404)
+  follows:
+    show:
+      follow:
+        heading: Szeretnéd követni %{user} felhasználót?
+        button: Felhasználó követése
+      unfollow:
+        heading: Szeretnéd abbahagyni %{user} követését?
+        button: Felhasználó követésének abbahagyása
+    create:
+      success: Most már követed %{name} felhasználót
+      failed: Sajnáljuk, %{name} követésére irányuló kérésed sikertelen volt.
+      already_followed: Már követed %{name} felhasználót
+      limit_exceeded: Mostanában sok felhasználót kezdtél követni. Kérjük, várj egy
+        kicsit, mielőtt újabbakat próbálnál követni.
+    destroy:
+      success: Sikeresen abbahagytad %{name} követését.
+      not_followed: Nem követed %{name} felhasználót.
   geocoder:
     search:
       title:
@@ -984,6 +1035,7 @@ hu:
           bridleway: Lovaglóút
           bus_guideway: Buszsín
           bus_stop: Buszmegálló
+          busway: Buszjárat
           construction: Épülő út
           corridor: Folyosó
           crossing: Gyalogosátkelő
@@ -1067,7 +1119,13 @@ hu:
           wreck: Hajóroncs
           "yes": Történelmi hely
         information:
+          guidepost: Útirányjelző tábla
+          board: Tájékoztató tábla
           map: Térkép
+          office: Tourinform iroda
+          terminal: Tájékoztató terminál
+          sign: Tájékoztató jelzés
+          stele: Tájékoztató oszlop
         junction:
           "yes": Csomópont
         landuse:
@@ -1140,6 +1198,8 @@ hu:
           track: Futópálya
           water_park: Strand, élményfürdő
           "yes": Szabadidő
+        lock:
+          "yes": Zsilip
         man_made:
           adit: Bányatárna
           advertising: Hirdetés
@@ -1480,6 +1540,16 @@ hu:
           building_passage: Épület alatti átjáró
           culvert: Áteresz
           "yes": Alagút
+        water:
+          lake: Tó
+          pond: Kis tó
+          reservoir: Víztározó
+          basin: Vízgyűjtő medence
+          fishpond: Halastó
+          lagoon: Lagúna
+          wastewater: Szennyvízmedence
+          oxbow: Holtág
+          lock: Zsilipkamra
         waterway:
           artificial: Mesterséges vízfolyás
           boatyard: Hajótelep
@@ -1500,16 +1570,43 @@ hu:
           weir: Bukógát
           "yes": Vízfolyás
       admin_levels:
-        level2: Országhatár
-        level3: Térséghatár
-        level4: Tartományhatár
-        level5: Régióhatár
-        level6: Megyehatár
-        level7: Településhatár
-        level8: Városhatár
-        level9: Faluhatár
-        level10: Városrészhatár
-        level11: Környékhatár
+        level2: Nemzetközi határ
+        level3: Közigazgatási határ (3. szint)
+        level4: Közigazgatási határ (4. szint)
+        level5: Közigazgatási határ (5. szint)
+        level6: Közigazgatási határ (6. szint)
+        level7: Közigazgatási határ (7. szint)
+        level8: Közigazgatási határ (8. szint)
+        level9: Közigazgatási határ (9. szint)
+        level10: Közigazgatási határ (10. szint)
+        level11: Közigazgatási határ (11. szint)
+      border_types:
+        arrondissement: Arrondissement határa
+        borough: Borough határa (USA)
+        cercle: Cercle határa (Mali)
+        city: Város határa (TR, USA)
+        comarca: Comarca határa (ES)
+        county: County határa (USA megye)
+        departement: Département határa (FR)
+        department: Department határa (Burkina Faso)
+        district: District határa (körzet)
+        distrito: Distrito határa (PT)
+        freguesia: Freguesia határa (PT)
+        local_authority: Local Authority (helyhatóság) határa (Malajzia)
+        municipality: Municipality (település) határa
+        municipi: Municipi (település) határa (Katalónia)
+        município: Município (település) határa (PT)
+        nation: Nemzetközi határ
+        national: Nemzetközi határ
+        neighbourhood: Neighborhood határa (USA)
+        parish: Parish határa
+        province: Province határa
+        região: Região (régió) határa (PT)
+        region: Régió határa
+        state: State (szövetségi állam) határa
+        town: Town (város) határa
+        township: Township határa (USA)
+        village: Village (falu) határa
     results:
       no_results: Nincs találat
       more_results: További eredmények
@@ -1521,7 +1618,9 @@ hu:
       title: Problémák
       select_status: Állapot kiválasztása
       select_type: Típus kiválasztása
+      select_last_managed_by: 'Az utoljára általa kezelt kijelölése:'
       reported_user: Bejelentett felhasználó
+      not_managed: Nincs kezelve
       search: Keresés
       search_guidance: 'Problémák keresése:'
       states:
@@ -1535,6 +1634,8 @@ hu:
       status: Állapot
       reports: Bejelentések
       last_updated: Utoljára frissítve
+      last_managed: Utoljára kezelve
+      reporting_users: Bejelentő felhasználók
       reports_count:
         one: '%{count} bejelentés'
         other: '%{count} bejelentés'
@@ -1544,13 +1645,17 @@ hu:
         open: Nyitva
         resolved: Megoldva
     show:
+      title:
+        open: '%{issue_id} probléma nyitva'
+        ignored: '%{issue_id} probléma figyelmen kívül hagyva'
+        resolved: '%{issue_id} probléma megoldva'
       reports:
         one: '%{count} bejelentés'
         other: '%{count} bejelentés'
       no_reports: Nincs bejelentés
-      report_created_at_html: Először bejelentve %{datetime} időpontban
-      last_resolved_at_html: Utoljára megoldva %{datetime} időpontban
-      last_updated_at_html: Utoljára frissítve %{displayname} által %{datetime} időpontban
+      report_created_at_html: 'Először bejelentve: %{datetime}'
+      last_resolved_at_html: 'Utoljára megoldva: %{datetime}'
+      last_updated_at_html: 'Utoljára %{displayname} frissítette ekkor: %{datetime}'
       resolve: Megoldás
       ignore: Figyelmen kívül hagyás
       reopen: Újramegnyitás
@@ -1568,12 +1673,26 @@ hu:
       reopened: 'A probléma állapota átállítva a következőre: „nyitott”'
     comments:
       comment_from_html: '%{user_link} hozzászólása (%{comment_created_at})'
+      reassign_to_moderators: Probléma újbóli kiszignálása moderátoroknak
+      reassign_to_administrators: Probléma újbóli kiszignálása adminisztrátoroknak
     reports:
       reported_by_html: '%{user} bejelentette %{category} kategóriájúként ekkor: %{updated_at}'
     helper:
       reportable_title:
         diary_comment: '%{entry_title} naplóbejegyzés, #%{comment_id} hozzászólás'
         note: '#%{note_id} jegyzet'
+      reportable_heading:
+        diary_comment_html: '%{title} naplóhozzászólás (létrehozva: %{datetime_created};
+          frissítve: %{datetime_updated})'
+        diary_entry_html: '%{title} naplóbejegyzés (létrehozva: %{datetime_created};
+          frissítve: %{datetime_updated})'
+        note_html: '%{title} (létrehozva: %{datetime_created}; frissítve: %{datetime_updated})'
+        user_html: '%{title} felhasználó létrehozta ekkor: %{datetime_created}'
+    reporters:
+      index:
+        title: '%{issue_id} probléma bejelentői'
+      reporters:
+        more_reporters: és még %{count}
   issue_comments:
     create:
       comment_created: Hozzászólásod sikeresen létrehozva
@@ -1644,6 +1763,13 @@ hu:
     communities: Közösségek
     learn_more: További info
     more: Több
+    offline_flash:
+      osm_offline: Az OpenStreetMap adatbázis jelenleg nem elérhető, amíg alapvető
+        karbantartási munkálatok zajlanak.
+      osm_read_only: Az OpenStreetMap adatbázis jelenleg csak olvasható, amíg alapvető
+        karbantartási munkálatok zajlanak.
+      expected_restore_html: A szolgáltatások valószínűleg %{time} múlva állnak helyre.
+      announcement: A közleményt itt elolvashatod.
   user_mailer:
     diary_comment_notification:
       description: 'OpenStreetMap naplóbejegyzés #%{id}'
@@ -1670,27 +1796,35 @@ hu:
         rá itt: %{replyurl}'
     follow_notification:
       hi: Szia %{to_user}!
+      subject: '[OpenStreetMap] %{user} elkezdett követni'
+      followed_you: '%{user} követ az OpenStreetMapen.'
       see_their_profile: 'Megnézheted a profilját itt: %{userurl}.'
       see_their_profile_html: 'A felhasználó profilját megtekintheti itt: %{userurl}'
+      follow_them: 'Te is követheted őt itt: %{followurl}.'
+      follow_them_html: 'Te is követheted őt itt: %{followurl}.'
     gpx_details:
+      details: 'Fájlod adatai:'
       filename: Fájlnév
       url: URL
       description: Leírás
       tags: Címkék
+      total_points: Összes pont
+      imported_points: Importált pontok száma
     gpx_failure:
       hi: Szia %{to_user}!
-      failed_to_import: 'nem sikerült GPS nyomkövetési fájlként importálni. Ellenőrizd,
-        hogy a fájl egy érvényes GPX-fájl vagy egy GPX-fájl(oka)t tartalmazó archívum
-        a támogatott formátumban (.tar.gz, .tar.bz2, .tar, .zip, .gpx.gz, .gpx.bz2).
-        . Formátum- vagy szintaktikai probléma lehet a fájllal? Itt látható az importálási
-        hiba:'
+      failed_to_import: Úgy tűnik, a fájlt nem sikerült GPS-nyomvonalként importálni.
+      verify: 'Kérjük, ellenőrizd, hogy a fájl érvényes GPX fájl-e vagy GPX fájl(ok)at
+        tartalmazó támogatott formátumú (.tar.gz, .tar.bz2, .tar, .zip, .gpx.gz, .gpx.bz2)
+        archívum. Nem lehet, hogy formátum- vagy szintaxishiba van a fájlodban? Itt
+        az importálási hiba:'
       more_info: 'További információ a GPX importálási hibáiról és azok elkerüléséről
-        itt található: %{url}.'
+        itt található: %{url}'
       more_info_html: 'A GPX importálási hibákról és elkerülésükről további tájékoztatás
         olvasható itt: %{url}.'
       subject: '[OpenStreetMap] Sikertelen GPX importálás'
     gpx_success:
       hi: Szia %{to_user}!
+      imported_successfully: Úgy tűnik, hogy a fájl sikeresen importáltatott GPS-nyomvonalként.
       all_your_traces: 'Az összes sikeresen feltöltött GPX nyomkövetés megtalálható
         itt: %{url}'
       all_your_traces_html: 'Az összes sikeresen feltöltött GPX nyomkövetés megtalálható
@@ -1790,6 +1924,9 @@ hu:
       success: Felhasználói fiókod megerősítve, köszönjük a regisztrációt!
       already active: Ez a fiók már megerősítésre került.
       unknown token: Ez a megerősítési kód lejárt vagy nem létezik.
+      if_need_resend: Ha szükséged van arra, hogy újra elküldjük a megerősítő e-mailt,
+        kattints az alábbi gombra.
+      resend_button: Megerősítő e-mail újbóli elküldése
     confirm_resend:
       failure: '%{name} felhasználó nem található.'
     confirm_email:
@@ -1912,6 +2049,16 @@ hu:
   preferences:
     show:
       title: Megjelenési beállítások
+      preferred_site_color_scheme: Előnyben részesített webhelyszínséma
+      site_color_schemes:
+        auto: Automatikus
+        light: Világos
+        dark: Sötét
+      preferred_map_color_scheme: Előnyben részesített térképszínséma
+      map_color_schemes:
+        auto: Automatikus
+        light: Világos
+        dark: Sötét
       save: Beállítások frissítése
     update:
       failure: Nem sikerült frissíteni a beállításokat.
@@ -1986,6 +2133,9 @@ hu:
       preview: Előnézet
       help: Súgó
     pagination:
+      changeset_comments:
+        older: Régebbi hozzászólások
+        newer: Újabb hozzászólások
       diary_comments:
         older: Régebbi hozzászólások
         newer: Újabb hozzászólások
@@ -2231,6 +2381,7 @@ hu:
       not_public_description_html: Nem szerkesztheted tovább a térképet, amíg nem
         teszed meg. Nyilvánossá teheted szerkesztéseidet a %{user_page}adról.
       user_page_link: felhasználói oldal
+      anon_edits_html: (%{link})
       anon_edits_link_text: Nézz utána, miért van ez.
     edit:
       id_not_configured: Az iD nincs beállítva
@@ -2680,12 +2831,14 @@ hu:
       openid: Jelentkezz be az OpenStreetMap használatával!
       read_prefs: Felhasználói beállítások elolvasása
       write_prefs: Felhasználói beállítások módosítása
-      write_diary: Naplóbejegyzések és hozzászólások készítése, és ismerősök hozzáadása
+      write_diary: Naplóbejegyzések és hozzászólások készítése
       write_api: A térkép módosítása
+      write_changeset_comments: Hozzászólás módosításcsomagokhoz
       read_gpx: Magán nyomvonalak megtekintése
       write_gpx: GPS-nyomvonalak feltöltése
       write_notes: Jegyzetek módosítása
       write_redactions: Térképadatok szerkesztése
+      write_blocks: Felhasználói blokk létrehozása és visszavonása
       read_email: Felhasználó e-mail-címének elolvasása
       consume_messages: Felhasználói üzenetek olvasása, státuszénak módosítása és
         törlése
@@ -2795,6 +2948,7 @@ hu:
       my notes: Saját jegyzetek
       my messages: Üzenetek
       my profile: Profil
+      my_account: Fiókom
       my comments: Saját hozzászólások
       my_preferences: Megjelenési beállítások
       my_dashboard: Irányítópult
@@ -2808,6 +2962,8 @@ hu:
       edits: Szerkesztések
       traces: Nyomvonalak
       notes: Térképjegyzetek
+      unfollow: Követés abbahagyása
+      follow: Követés
       mapper since: 'Térképszerkesztő ezóta:'
       last map edit: 'Legutóbbi térképszerkesztés:'
       no activity yet: Még nincs tevékenység
@@ -2873,6 +3029,19 @@ hu:
       show:
         title: Felhasználók
         heading: Felhasználók
+        select_status: Állapot kiválasztása
+        states:
+          pending: Függőben
+          active: Aktív
+          confirmed: Megerősített
+          suspended: Felfüggesztett
+          deleted: Törölt
+        name_or_email: Név vagy e-mail
+        ip_address: IP-cím
+        edits: Szerkesztések?
+        has_edits: Már szerkesztett
+        no_edits: Még nem szerkesztett
+        search: Keresés
       page:
         found_users:
           one: '%{count} felhasználó található'
@@ -2883,8 +3052,17 @@ hu:
       user:
         summary_html: '%{name} létrejött innen: %{ip_address}, ekkor: %{date}'
         summary_no_ip_html: '%{name} letrejött ekkor: %{date}'
+    comments:
+      index:
+        heading_html: '%{user}''s hozzászólásai'
+        changesets: Módosításcsomagok
+        diary_entries: Naplóbejegyzések
+        no_comments: Nincs hozzászólás
     changeset_comments:
+      index:
+        title: '%{user} hozzászólásai módosításcsomagokhoz'
       page:
+        changeset: Módosításcsomag
         when: Mikor
         comment: Hozzászólás
     diary_comments:
@@ -2892,6 +3070,8 @@ hu:
         title: '%{user} naplóhozzászólásai'
       page:
         post: Bejegyzés
+        when: Időpont
+        comment: Hozzászólás
     suspended:
       title: Felhasználói fiók felfüggesztve
       heading: Felhasználói fiók felfüggesztve
@@ -2964,7 +3144,7 @@ hu:
       until_login: Aktív a felhasználó bejelentkezéséig.
       time_future_and_until_login_html: Véget ér %{time} múlva, miután a felhasználó
         bejelentkezett.
-      time_past_html: Véget ért %{time} időpontban.
+      time_past_html: Véget ért %{time}.
       block_duration:
         hours:
           one: '%{count} óra'
@@ -2981,6 +3161,14 @@ hu:
         years:
           one: '%{count} év'
           other: '%{count} év'
+      short:
+        ended: véget ért
+        revoked_html: '%{name} visszavonta'
+        active: aktív
+        active_until_read: aktív az elolvasásig
+        read_html: 'elolvasta ekkor: %{time}'
+        time_in_future_title: '%{time_absolute}; %{time_relative} múlva'
+        time_in_past_title: '%{time_absolute}; %{time_relative}'
     show:
       title: '%{block_on} blokkolva %{block_by} által'
       heading_html: '%{block_by} blokkolta %{block_on} felhasználót'
@@ -2997,6 +3185,8 @@ hu:
       display_name: Blokkolt felhasználó
       creator_name: Készítő
       reason: Blokkolás indoklása
+      start: Kezdete
+      end: Vége
       status: Állapot
     navigation:
       all_blocks: Minden blokk
@@ -3054,6 +3244,8 @@ hu:
       open_title: 'Megoldatlan jegyzet: %{note_name}'
       closed_title: 'Megoldott jegyzet: %{note_name}'
       hidden_title: Elrejtett jegyzet %{note_name}
+      description_when_author_is_deleted: törölve
+      description_when_there_is_no_opening_comment: ismeretlen
       event_opened_by_html: Létrehozta %{user} %{time_ago}
       event_opened_by_anonymous_html: Létrehozta egy névtelen felhasználó %{time_ago}
       event_commented_by_html: Hozzászólt %{user} %{time_ago}
@@ -3087,18 +3279,35 @@ hu:
       intro: Hibát találtál vagy valami hiányzik? Tudasd a többi térképezővel, hogy
         javítani tudjuk. Mozgasd a jelölőt a megfelelő helyre, és minél pontosabban
         írd le a problémát.
-      anonymous_warning_html: Nem vagy  bejelentkezve. Kérlek %{log_in} vagy %{sign_up},
-        ha frissítéseket szeretne kapni a hozzászólásodról.
+      anonymous_warning_html: Nem vagy bejelentkezve. Kérjük, %{log_in} vagy %{sign_up},
+        hogy frissítéseket kapj a jegyzeteidhez, és segíthess a többi térképezőnek
+        megoldani őket.
       anonymous_warning_log_in: jelentkezz be
       anonymous_warning_sign_up: regisztrálj
+      counter_warning_html: Már legalább %{x_anonymous_notes} közzétettél, amivel
+        nagy hasznára vagy a közösségnek. Köszönjük szépen! Most már arra biztatunk,
+        hogy %{contribute_by_yourself}; nem olyan bonyolult, és %{community_can_help}.
+      x_anonymous_notes:
+        one: '%{count} névtelen jegyzetet'
+        other: '%{count} névtelen jegyzetet'
+      counter_warning_guide_link:
+        text: működj közre a saját nevedben is
+      counter_warning_forum_link:
+        text: a közösség is szívesen segít
       advice: A jegyzeted nyilvános és használható a térkép frissítéséhez, ezért ne
         adj meg személyes adatokat vagy jogvédett térképről vagy katalógusokból származó
         információkat.
       add: Jegyzet hozzáadása
+    new_readonly:
+      title: Új jegyzet
+      warning: Nem hozható létre új jegyzet, mert az OpenStreetMap API jelenleg csak
+        olvasható módban van.
     notes_paging_nav:
       showing_page: '%{page} oldal'
       next: Következő
       previous: Előző
+    not_found_message:
+      sorry: Sajnáljuk, a(z) %{id} azonosítójú jegyzet nem található.
   javascripts:
     close: Bezárás
     share:
@@ -3121,6 +3330,7 @@ hu:
       center_marker: Legyen a helyjelölő a térkép középpontja
       paste_html: Weboldalba beágyazáshoz illeszd be ezt a HTML-t
       view_larger_map: Nagyobb térkép
+      only_layers_exported_as_image: 'Csak a következő rétegek exportálhatók képként:'
     embed:
       report_problem: Probléma bejelentése
     key:
@@ -3263,6 +3473,8 @@ hu:
           ninth: "9."
           tenth: "10."
       time: Időtartam
+      download: Útvonal letöltése GeoJSON formátumban
+      filename: útvonal
     query:
       node: Pont
       way: Vonal
@@ -3277,6 +3489,15 @@ hu:
       show_address: Cím megjelenítése
       query_features: Objektumok lekérdezése
       centre_map: Térkép középre hozása itt
+    home:
+      marker_title: Az otthoni helyem
+      not_set: Nincs beállítva otthoni hely a fiókodhoz
+    heatmap:
+      tooltip:
+        no_contributions: '%{date} napon nincs közreműködés'
+        contributions:
+          one: '%{count} közreműködés %{date} napon'
+          other: '%{count} közreműködés %{date} napon'
   redactions:
     edit:
       heading: Adattörlési művelet szerkesztése
index ba592dc2611d991ea0ba5206db1e9c162f8f4454..2146fa121391758697c5861f55794c4a070ec1ff 100644 (file)
@@ -15,6 +15,7 @@
 # Author: Dewisulistio
 # Author: Emirhartato
 # Author: Farras
+# Author: Gravitystorm
 # Author: Han4299
 # Author: Hanif Al Husaini
 # Author: HarryMahar
@@ -2179,7 +2180,7 @@ id:
         title: Selamat datang di OpenStreetMap
         description: Mulailah dengan panduan cepat meliputi dasar-dasar OpenStreetMap.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Panduan%27_pemula
+        url: https://wiki.openstreetmap.org/wiki/Beginners%27_guide
         title: Pedoman Pemula
         description: Panduan yang ditunjang komunitas bagi pemula.
       community:
index 09506dd0c58fee6317c5b49cc1b5c1dba2f6ab16..e179d5fcb30c2d8e33c356a2be14ecaade2efebe 100644 (file)
@@ -7,6 +7,7 @@
 # Author: Eitvys200
 # Author: Empers
 # Author: Garas
+# Author: Gravitystorm
 # Author: Hugo.arg
 # Author: Kris2paz
 # Author: Macofe
@@ -2237,7 +2238,7 @@ lt:
         title: Sveiki atvykę į OpenStreetMap
         description: Pradėkite šiuo greitu vadovu apie OpenStreetMap pagrindus.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Lt:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Lt:Beginners%27_guide
         title: Pradedančiojo vadovas
         description: Bendruomenės palaikomas vadovas pradedantiesiems.
       community:
index 7115181b080a15e89de5c2a15623925e07ac00d4..e65b2aa0c9e9b4fa0e87c1b8e1e3308c303b3780 100644 (file)
@@ -8,6 +8,7 @@
 # Author: Danieldegroot2
 # Author: Edgars2007
 # Author: Edgarsdna
+# Author: Gravitystorm
 # Author: GreenZeb
 # Author: Jmg.cmdi
 # Author: Karlis
@@ -1551,7 +1552,7 @@ lv:
         title: Laipni lūgti OpenStreetMap
         description: Sāc ar šo īso ceļvedi, kurš aptver OpenStreetMap pamatus.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Lv:Beginners%27_guide
+        url: https://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.
       community:
index b366e97de70ff19861ce5e9c4516a264168355ef..95367842bc2dbb2363d6ec666d0059164fa52257 100644 (file)
@@ -890,7 +890,7 @@ mk:
           manufacture: Производно здание
           office: Деловна зграда
           public: Јавен објект
-          residential: Ð¡Ñ\82анбена Ð·Ð³Ñ\80ада
+          residential: Ð¡Ñ\82анбена Ð³Ñ\80адба
           retail: Продажен објект
           roof: Покрив
           ruins: Градба во рушевини
index 856cb4cad7b39e228c9dbe0e09cfa11b7511a8e9..d1a7575b96e248e45000f0d76fe6bed341e4d337 100644 (file)
@@ -11,6 +11,7 @@
 # Author: EvenT
 # Author: Event
 # Author: Gabriel Kielland
+# Author: Gravitystorm
 # Author: Gustavf
 # Author: Haakon K
 # Author: Hansfn
@@ -1756,7 +1757,7 @@ nb:
         description: Start med denne hurtigguiden som dekker det grunnleggende om
           OpenStreetMap.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Nn:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Nn:Beginners%27_guide
         title: Hjelp for nybegynnere
         description: Dugnadsbasert guide for nybegynnere.
       mailing_lists:
index 26e8a98572bd8f45b61a61c1c0bca2b2235b0846..e77b978f831726b6b8c76a1f0a284d3000ad9331 100644 (file)
@@ -151,6 +151,7 @@ nl:
         allow_write_prefs: gebruikersvoorkeuren wijzigen
         allow_write_diary: dagboekberichten schrijven en reacties toevoegen
         allow_write_api: de kaart wijzigen
+        allow_write_changeset_comments: opmerkingen over wijzigingensets plaatsen
         allow_read_gpx: privé-gps-trajecten lezen
         allow_write_gpx: gps-trajecten uploaden
         allow_write_notes: opmerkingen wijzigen
@@ -307,6 +308,7 @@ nl:
   accounts:
     show:
       title: Account bewerken
+      my_account: Mijn account
       current email address: Huidig e-mailadres
       external auth: Externe authenticatie
       openid:
@@ -320,6 +322,9 @@ nl:
         agreed_with_pd: U hebt ook verklaard dat uw bijdragen onderdeel zijn van het
           Publieke domein.
         link text: wat is dit?
+        not_agreed_with_pd: U hebt niet aangegeven dat u uw bewerkingen als publiek
+          domein beschouwt.
+        pd_link_text: verklaren
       save changes button: Wijzigingen opslaan
       delete_account: Account verwijderen...
     go_public:
@@ -406,6 +411,19 @@ nl:
           niet te accepteren. Zie %{terms_declined_link} voor meer informatie.
         terms_declined_link: deze wiki-pagina
         terms_declined_url: https://wiki.openstreetmap.org/wiki/NL:Contributor_Terms_Declined
+    pd_declarations:
+      show:
+        title: Mijn bijdragen als publiek domein beschouwen
+        consider_pd: Ik beschouw mijn bijdragen als publiek domein
+        consider_pd_why: Waarom zou ik willen dat mijn bijdragen publiek domein zijn?
+        confirm: Bevestigen
+      create:
+        successfully_declared: U hebt verklaard dat u uw bewerkingen als publiek domein
+          beschouwt.
+        already_declared: U hebt al verklaard dat u uw bewerkingen als publiek domein
+          beschouwt.
+        did_not_confirm: U hebt niet bevestigd dat u uw bewerkingen als publiek domein
+          beschouwt.
   browse:
     deleted_ago_by_html: '%{time_ago} verwijderd door %{user}'
     edited_ago_by_html: '%{time_ago} bewerkt door %{user}'
@@ -475,6 +493,7 @@ nl:
       feature_warning: '%{num_features} functies worden geladen, waardoor uw browser
         traag kan worden of niet reageert. Weet u zeker dat je deze gegevens wilt
         weergeven?'
+      feature_error: 'Objecten konden niet worden geladen: %{message}'
       load_data: Gegevens laden
       loading: Bezig met laden…
     tag_details:
@@ -551,6 +570,13 @@ nl:
         sorry: Sorry, het oproepen van de lijst met wijzigingenset-opmerkingen die
           u hebt opgevraagd duurde te lang.
   changesets:
+    changeset:
+      comments:
+        one: '%{count} opmerking'
+        other: '%{count} opmerkingen'
+      changes:
+        one: '%{count} wijziging'
+        other: '%{count} wijzigingen'
     index:
       title: Wijzigingensets
       title_user: Wijzigingensets door %{user}
@@ -1046,6 +1072,7 @@ nl:
           bridleway: Ruiterpad
           bus_guideway: Geleide busbaan
           bus_stop: Bushalte
+          busway: Busbaan
           construction: Weg in aanleg
           corridor: Corridor
           crossing: Oversteekplaats
@@ -1581,16 +1608,30 @@ nl:
           weir: Stuw
           "yes": Waterweg
       admin_levels:
-        level2: Landsgrens
-        level3: Regiogrens
-        level4: Staatsgrens
-        level5: Regiogrens
-        level6: Districtsgrens
-        level7: Gemeentegrens
-        level8: Stadsgrens
-        level9: Dorpsgrens
-        level10: Stadsdeelgrens
-        level11: Grens van buurt
+        level2: Internationale grens
+        level3: Administratieve grens (niveau 3)
+        level4: Administratieve grens (niveau 4)
+        level5: Administratieve grens (niveau 5)
+        level6: Administratieve grens (niveau 6)
+        level7: Administratieve grens (niveau 7)
+        level8: Administratieve grens (niveau 8)
+        level9: Administratieve grens (niveau 9)
+        level10: Administratieve grens (niveau 10)
+        level11: Administratieve grens (niveau 11)
+      border_types:
+        arrondissement: Arrondissementsgrens
+        city: Stadsgrens
+        municipality: Gemeentegrens
+        municipi: Gemeentegrens
+        município: Gemeentegrens
+        nation: Internationale grens
+        national: Internationale grens
+        neighbourhood: Buurtgrens
+        province: Provinciegrens
+        região: Regiogrens
+        region: Regiogrens
+        state: Staatsgrens
+        village: Dorpsgrens
     results:
       no_results: Geen resultaten gevonden
       more_results: Meer resultaten
@@ -2765,7 +2806,7 @@ nl:
         om meer te weten te komen.
       need_to_see_terms: Uw toegang tot de API is tijdelijk opgeschort. Meld u aan
         in de webinterface om de Voorwaarden voor Bijdragen te bekijken. U hoeft ze
-        niet te onderschijven, maar moet ze wel gezien hebben.
+        niet te onderschrijven, maar moet ze wel gezien hebben.
     settings_menu:
       account_settings: Accountinstellingen
       oauth2_applications: OAuth 2-toepassingen
index d5970db7c52caefc9d28001fe95fbb1100b5fe9c..264b98504d4c643537e02bfe051fb6021967dffe 100644 (file)
@@ -9,6 +9,7 @@
 # Author: Dittaeva
 # Author: Eirik
 # Author: Gnonthgol
+# Author: Gravitystorm
 # Author: Gunnernett
 # Author: Harald Khan
 # Author: Macofe
@@ -1996,7 +1997,7 @@ nn:
         description: Byrja med denne snøgge rettleiinga om det grunnleggjande hjå
           OpenStreetMap.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Nn:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Nn:Beginners%27_guide
         title: Hjelp for nybegynnarar
         description: Dugnadsbasert guide for nybegynnarar.
       community:
index 43f8d975cfd0a088ddeb3999af3e8e4005880a34..6aa8b844bf38490954a7b748255b8d137a4f7d58 100644 (file)
@@ -3658,10 +3658,10 @@ pl:
       tooltip:
         no_contributions: Brak edycji %{date}
         contributions:
-          one: '%{count} edycja on %{date}'
-          few: '%{count} edycje on %{date}'
-          many: '%{count} edycji on %{date}'
-          other: '%{count} edycji on %{date}'
+          one: '%{count} edycja %{date}'
+          few: '%{count} edycje %{date}'
+          many: '%{count} edycji %{date}'
+          other: '%{count} edycji %{date}'
   redactions:
     edit:
       heading: Edytuj poprawkę
index 01b71b4a8bf0da8c7fcd624059f8238d638533ae..91d9930b3f10ea6cd8e85e1b8c1899d06938e2c7 100644 (file)
@@ -1706,6 +1706,13 @@ pt-PT:
       reportable_title:
         diary_comment: '%{entry_title}, comentário #%{comment_id}'
         note: 'Nota #%{note_id}'
+      reportable_heading:
+        diary_comment_html: Comentário no diário %{title} criado em %{datetime_created},
+          atualizado em %{datetime_updated}
+        diary_entry_html: Publicação no diário %{title} criada em %{datetime_created},
+          atualizada em %{datetime_updated}
+        note_html: '%{title} criado em %{datetime_created}, atualizado em %{datetime_updated}'
+        user_html: Utilizador %{title} criado em %{datetime_created}
     reporters:
       index:
         title: Denunciantes do problema %{issue_id}
@@ -2966,7 +2973,7 @@ pt-PT:
       my notes: Notas
       my messages: Mensagens
       my profile: Perfil
-      my_account: A mina conta
+      my_account: A minha conta
       my comments: Comentários
       my_preferences: Preferências
       my_dashboard: Painel de controlo
@@ -3514,6 +3521,12 @@ pt-PT:
     home:
       marker_title: A minha localização base
       not_set: A localização base não está definida para a tua conta
+    heatmap:
+      tooltip:
+        no_contributions: Sem contribuições em %{date}
+        contributions:
+          one: '%{count} contribuição em %{date}'
+          other: '%{count} contribuições em %{date}'
   redactions:
     edit:
       heading: Editar supressão
index d39526f8fb2a1dd203f0189eef991f73332afadc..3c73c00ffb4010d9d00367f0cce544c501d20189 100644 (file)
@@ -2287,7 +2287,7 @@ ro:
         description: Începeți cu acest ghid rapid care acoperă elementele de bază
           OpenStreetMap.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Ro:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Ro:Beginners%27_guide
         title: Ghidul începătorilor
         description: Ghid menținut de comunitate pentru începători.
       community:
index 1e3657716f43673405965a824fd706e483919396..baae498ef26146dffc29afb25c188574421f9e8c 100644 (file)
@@ -4,6 +4,7 @@
 # Author: Ajeje Brazorf
 # Author: GianAntonucci
 # Author: Gmelfi
+# Author: Gravitystorm
 # Author: LametinoWiki
 # Author: Macofe
 # Author: Marwin H.H.
@@ -1403,7 +1404,7 @@ scn:
         title: Bimminuti nta OSM
         description: Accumenza cu sta guida ràpida chi nzigna li funnamenti d'OpenStreetMap.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/IT:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/IT:Beginners%27_guide
         title: Guida dî principianti
         description: Guida pî principianti mantinuta dâ cumunità.
       mailing_lists:
index b635a9b618fab6b7c7fcab3f1a0502354db48c77..f4054a7f0ac3a00c5b9b5e4d7f95cd7b282c6f76 100644 (file)
@@ -5,6 +5,7 @@
 # Author: Chiak
 # Author: Dušan Kreheľ
 # Author: Filip009
+# Author: Gravitystorm
 # Author: Helix84
 # Author: Jose1711
 # Author: KuboF
@@ -476,8 +477,8 @@ sk:
         way: cesta
         relation: vzťah
     start_rjs:
-      feature_warning: Načítava sa %{num_features} funkcií, ktoré môžu spomaliť váš
-        prehliadač alebo prestať reagovať. Naozaj chcete zobraziť tieto údaje?
+      feature_warning: Načítava sa %{num_features} objektov, čo môže váš prehliadač
+        spomaliť alebo prestane reagovať. Naozaj chcete zobraziť tieto údaje?
       feature_error: 'Objekty sa nepodarilo načítať: %{message}'
       load_data: Načítať údaje
       loading: Nahrávanie...
@@ -2457,7 +2458,7 @@ sk:
         title: Vitajte v OpenStreetMap
         description: Začnite týmto rýchlym sprievodcom popisujúcim základy OpenStreetMap.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Sk:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Sk:Beginners%27_guide
         title: Sprievodca pre začiatočníkov
         description: Komunitou spravovaná príručka pre začiatočníkov.
       community:
index c11223cee006a9e1455a14d62873e22c32ce7998..a090b409a51d723381e454a7a3720025712f18d7 100644 (file)
@@ -6,6 +6,7 @@
 # Author: Eraldkerciku
 # Author: Euriditi
 # Author: Fanjiayi
+# Author: Gravitystorm
 # Author: GretaDoci
 # Author: Kosovastar
 # Author: Liridon
@@ -1085,7 +1086,7 @@ sq:
         title: Mirësevini në OpenStreetMap
         description: Filloni me këtë udhëzues të thjeshtë që mbulon bazat e OpenStreetMap.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Sq:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Sq:Beginners%27_guide
         title: Udhëzues për fillestarë.
         description: Një udhëzues për fillestarë që mirëmbahet nga komuniteti.
       mailing_lists:
index 1728d2c5ceae26db78a71bc3df47ec4968c5ffed..49a3ada6f6694b0e122d983b32622660de3baa2f 100644 (file)
@@ -5,6 +5,7 @@
 # Author: Aktron
 # Author: BadDog
 # Author: Danieldegroot2
+# Author: Gravitystorm
 # Author: Kizule
 # Author: Macofe
 # Author: Magnumns
@@ -1838,7 +1839,7 @@ sr:
         title: Добро дошли на OpenStreetMap
         description: Почни са овим брзим водичем који покрива основе ОпенСтритМапа
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Sr:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Sr:Beginners%27_guide
         title: Водич за почетничке
         description: Водич за почетнике
       community:
index 778829a9523315497984f5c53ed7553a80912bf8..8f87c6b4eddff28f9e62141a51b2cd29450c9915 100644 (file)
@@ -19,6 +19,7 @@
 # Author: Dubyk
 # Author: Dudka
 # Author: Esk78
+# Author: Gravitystorm
 # Author: Green Zero
 # Author: Gzhegozh
 # Author: Ice bulldog
@@ -2484,7 +2485,7 @@ uk:
         title: Ласкаво просимо до OSM
         description: Розпочніть з цього короткого посібника, що охоплює основи OpenStreetMap.
       beginners_guide:
-        url: http://wiki.openstreetmap.org/wiki/Uk:Beginners%27_guide
+        url: https://wiki.openstreetmap.org/wiki/Uk:Beginners%27_guide
         title: Посібник новачка
         description: Посібник для новачків від спільноти.
       community:
index 5b105c725ac3807cf9987a7f4fc47e4eaff5817b..c0089d8b2782670e32e1e9e250c831cb882d2666 100644 (file)
@@ -2523,8 +2523,8 @@ zh-CN:
       cookies_needed: 您似乎停用了 cookie - 请在继续操作前启用您的浏览器 cookie。
     setup_user_auth:
       blocked_zero_hour: 您在OpenStreetMap网站有一条紧急消息。在您可以保存您的编辑之前,您需要阅读这条消息。
-      blocked: æ\82¨å¯¹ API ç\9a\84访é\97®å·²ç»\8f被é\98»æ\8c¡äº\86。请登录到网站以了解更多信息。
-      need_to_see_terms: æ\82¨å¯¹ API ç\9a\84访é\97®å·²æ\9a\82æ\97¶ä¸­æ­¢ã\80\82请ç\99»å½\95å\88°ç½\91ç«\99以æ\9f¥ç\9c\8bè´¡ç\8c®è\80\85æ\9d¡æ¬¾ã\80\82æ\82¨ä¸\8dé\9c\80è¦\81å\90\8cæ\84\8f,但必须查看它们。
+      blocked: æ\82¨å·²è¢«ç¦\81止使ç\94¨ API。请登录到网站以了解更多信息。
+      need_to_see_terms: æ\82¨å·²è¢«æ\9a\82æ\97¶ä¸­æ­¢ä½¿ç\94¨ APIã\80\82请ç\99»å½\95å\88°ç½\91ç«\99以æ\9f¥ç\9c\8bè´¡ç\8c®è\80\85æ\9d¡æ¬¾ã\80\82æ\82¨ä¸\8dé\9c\80è¦\81å\90\8cæ\84\8fæ\9d¡æ¬¾,但必须查看它们。
     settings_menu:
       account_settings: 账户设置
       oauth2_applications: OAuth 2应用程序
index 60e1b9c67a0b17400eee7a22935d1cf6312f5ae9..a248513b2427144aac5cf9b81fc61f2aa1ca4170 100644 (file)
@@ -1,13 +1,17 @@
 # This configuration file will be evaluated by Puma. The top-level methods that
 # are invoked here are part of Puma's configuration DSL. For more information
 # about methods provided by the DSL, see https://puma.io/puma/Puma/DSL.html.
-
+#
 # Puma starts a configurable number of processes (workers) and each process
 # serves each request in a thread from an internal thread pool.
 #
+# You can control the number of workers using ENV["WEB_CONCURRENCY"]. You
+# should only set this value when you want to run 2 or more workers. The
+# default is already 1.
+#
 # The ideal number of threads per worker depends both on how much time the
 # application spends waiting for IO operations and on how much you wish to
-# to prioritize throughput over latency.
+# prioritize throughput over latency.
 #
 # As a rule of thumb, increasing the number of threads will increase how much
 # traffic a given process can handle (throughput), but due to CRuby's
@@ -29,5 +33,9 @@ port ENV.fetch("PORT", 3000)
 # Allow puma to be restarted by `bin/rails restart` command.
 plugin :tmp_restart
 
-# Only use a pidfile when requested
+# Run the Solid Queue supervisor inside of Puma for single-server deployments
+plugin :solid_queue if ENV["SOLID_QUEUE_IN_PUMA"]
+
+# Specify the PID file. Defaults to tmp/pids/server.pid in development.
+# In other environments, only set the PID file if requested.
 pidfile ENV["PIDFILE"] if ENV["PIDFILE"]
index 71251aae9e6bd514c72c078c13c506931d8f05d0..4d8a705cbf600246dec7c05092d9819ee472cf5d 100644 (file)
@@ -15,7 +15,7 @@ class NodeVersionsTest < ActionDispatch::IntegrationTest
     propagate_tags(node, node.old_nodes.last)
 
     ## First try this with a non-public user
-    auth_header = bearer_authorization_header private_user
+    auth_header = request_headers private_user
 
     # setup a simple XML node
     xml_doc = xml_for_node(private_node)
@@ -62,7 +62,7 @@ class NodeVersionsTest < ActionDispatch::IntegrationTest
     # probably should check that they didn't get written to the database
 
     ## Now do it with the public user
-    auth_header = bearer_authorization_header user
+    auth_header = request_headers user
 
     # setup a simple XML node
 
@@ -191,4 +191,8 @@ class NodeVersionsTest < ActionDispatch::IntegrationTest
       create(:old_node_tag, :old_node => old_node, :k => k, :v => v)
     end
   end
+
+  def request_headers(user)
+    bearer_authorization_header(user).merge("Content-Type" => "application/xml")
+  end
 end
index a0ca87ce7150c19b66af1983c8529fb8ceaecb32..1c4edb60c023875ed1e3495fb16a860730a8c2c6 100644 (file)
@@ -38,8 +38,8 @@ class DirectionsSystemTest < ApplicationSystemTestCase
       return Promise.resolve({
         line: points,
         steps: [
-          [points[0],  8, "<b>1.</b> #{start_instruction}", distance, points],
-          [points[1], 14, "<b>2.</b> #{finish_instruction}", 0, [points[1]]]
+          [points[0], "start", "<b>1.</b> #{start_instruction}", distance, points],
+          [points[1], "destination", "<b>2.</b> #{finish_instruction}", 0, [points[1]]]
         ],
         distance,
         time