From: Tom Hughes Date: Thu, 20 Mar 2025 17:09:57 +0000 (+0000) Subject: Merge remote-tracking branch 'upstream/pull/5825' X-Git-Tag: live~127 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/085bec0f35c1e7c415fe64a82568e781ac59652f?hp=583cb3e20b70aada20d5ea48b11dfad9634a14ad Merge remote-tracking branch 'upstream/pull/5825' --- diff --git a/Gemfile b/Gemfile index bcfafd3b3..7155b1f62 100644 --- 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" diff --git a/Gemfile.lock b/Gemfile.lock index fb46885c3..91a24e8c2 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -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 diff --git a/app/assets/javascripts/embed.js.erb b/app/assets/javascripts/embed.js.erb index 816bde76c..5153a228e 100644 --- a/app/assets/javascripts/embed.js.erb +++ b/app/assets/javascripts/embed.js.erb @@ -56,7 +56,7 @@ window.onload = function () { L.Control.OSMReportAProblem = L.Control.Attribution.extend({ options: { position: "bottomright", - prefix: `${OSM.i18n.t("javascripts.embed.report_problem")}` + prefix: `${OSM.i18n.t("javascripts.embed.report_problem")}` }, onAdd: function (map) { diff --git a/app/assets/javascripts/id.js b/app/assets/javascripts/id.js index f2063ff0e..d60d4b82d 100644 --- a/app/assets/javascripts/id.js +++ b/app/assets/javascripts/id.js @@ -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 }); diff --git a/app/controllers/accounts_controller.rb b/app/controllers/accounts_controller.rb index e2a82c20e..31653448a 100644 --- a/app/controllers/accounts_controller.rb +++ b/app/controllers/accounts_controller.rb @@ -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 && diff --git a/app/controllers/diary_comments_controller.rb b/app/controllers/diary_comments_controller.rb index 91e05ff74..5bbf2bf63 100644 --- a/app/controllers/diary_comments_controller.rb +++ b/app/controllers/diary_comments_controller.rb @@ -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 diff --git a/app/controllers/diary_entries_controller.rb b/app/controllers/diary_entries_controller.rb index 94876e72a..f3752cb2c 100644 --- a/app/controllers/diary_entries_controller.rb +++ b/app/controllers/diary_entries_controller.rb @@ -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 diff --git a/app/controllers/issue_comments_controller.rb b/app/controllers/issue_comments_controller.rb index 5bf4d0237..cb504ad04 100644 --- a/app/controllers/issue_comments_controller.rb +++ b/app/controllers/issue_comments_controller.rb @@ -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 diff --git a/app/controllers/messages_controller.rb b/app/controllers/messages_controller.rb index 1979c9edc..cb72d4d57 100644 --- a/app/controllers/messages_controller.rb +++ b/app/controllers/messages_controller.rb @@ -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 diff --git a/app/controllers/oauth2_applications_controller.rb b/app/controllers/oauth2_applications_controller.rb index 97d84b173..fcb9afc3b 100644 --- a/app/controllers/oauth2_applications_controller.rb +++ b/app/controllers/oauth2_applications_controller.rb @@ -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 diff --git a/app/controllers/reports_controller.rb b/app/controllers/reports_controller.rb index e2ec400a5..e4a0bf41b 100644 --- a/app/controllers/reports_controller.rb +++ b/app/controllers/reports_controller.rb @@ -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 diff --git a/app/controllers/traces_controller.rb b/app/controllers/traces_controller.rb index 53c1dedd6..2bf34f593 100644 --- a/app/controllers/traces_controller.rb +++ b/app/controllers/traces_controller.rb @@ -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 diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index 2ea2ea36f..58ed0c48a 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -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 ## diff --git a/app/views/directions/search.html.erb b/app/views/directions/search.html.erb index 4b3f24ecd..a7f83be3f 100644 --- a/app/views/directions/search.html.erb +++ b/app/views/directions/search.html.erb @@ -23,17 +23,17 @@ - - + + - - + + - - + + - - + + @@ -44,33 +44,29 @@ - - - + + - - - + + - - - + + - - - + + diff --git a/bin/dev b/bin/dev new file mode 100755 index 000000000..5f91c2054 --- /dev/null +++ b/bin/dev @@ -0,0 +1,2 @@ +#!/usr/bin/env ruby +exec "./bin/rails", "server", *ARGV diff --git a/bin/setup b/bin/setup index ced1ba370..b91b090ef 100755 --- 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 index 000000000..36bde2d83 --- /dev/null +++ b/bin/thrust @@ -0,0 +1,5 @@ +#!/usr/bin/env ruby +require "rubygems" +require "bundler/setup" + +load Gem.bin_path("thruster", "thrust") diff --git a/config/environments/development.rb b/config/environments/development.rb index 3bde022e5..1836069d1 100644 --- a/config/environments/development.rb +++ b/config/environments/development.rb @@ -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 diff --git a/config/environments/production.rb b/config/environments/production.rb index 9a7e072b4..088412086 100644 --- a/config/environments/production.rb +++ b/config/environments/production.rb @@ -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" } } diff --git a/config/environments/test.rb b/config/environments/test.rb index 300af0abd..dc53e144a 100644 --- a/config/environments/test.rb +++ b/config/environments/test.rb @@ -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 diff --git a/config/initializers/content_security_policy.rb b/config/initializers/content_security_policy.rb index 9ddaf70f9..2b7260f31 100644 --- a/config/initializers/content_security_policy.rb +++ b/config/initializers/content_security_policy.rb @@ -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 index 000000000..92efa9515 --- /dev/null +++ b/config/initializers/new_framework_defaults_8_0.rb @@ -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 diff --git a/config/locales/ar.yml b/config/locales/ar.yml index 843509696..a98a262e2 100644 --- a/config/locales/ar.yml +++ b/config/locales/ar.yml @@ -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: diff --git a/config/locales/az.yml b/config/locales/az.yml index 3f02e277f..f217107cb 100644 --- a/config/locales/az.yml +++ b/config/locales/az.yml @@ -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: diff --git a/config/locales/bs.yml b/config/locales/bs.yml index 32ed11a5c..d904e1b27 100644 --- a/config/locales/bs.yml +++ b/config/locales/bs.yml @@ -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: diff --git a/config/locales/ca.yml b/config/locales/ca.yml index b1aa076ad..bfab7cb72 100644 --- a/config/locales/ca.yml +++ b/config/locales/ca.yml @@ -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: diff --git a/config/locales/cs.yml b/config/locales/cs.yml index a671b33d2..e96083f76 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -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 diff --git a/config/locales/da.yml b/config/locales/da.yml index 1469b9aba..279fd840d 100644 --- a/config/locales/da.yml +++ b/config/locales/da.yml @@ -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' diff --git a/config/locales/eu.yml b/config/locales/eu.yml index fd24ad5b0..3a109f087 100644 --- a/config/locales/eu.yml +++ b/config/locales/eu.yml @@ -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: diff --git a/config/locales/hr.yml b/config/locales/hr.yml index ec72e1dbb..61704d6b5 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -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: diff --git a/config/locales/hsb.yml b/config/locales/hsb.yml index 78c6050b7..8d79fddf6 100644 --- a/config/locales/hsb.yml +++ b/config/locales/hsb.yml @@ -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: diff --git a/config/locales/hu.yml b/config/locales/hu.yml index d4b136bd7..5bb77e70f 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -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 diff --git a/config/locales/id.yml b/config/locales/id.yml index ba592dc26..2146fa121 100644 --- a/config/locales/id.yml +++ b/config/locales/id.yml @@ -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: diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 09506dd0c..e179d5fcb 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -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: diff --git a/config/locales/lv.yml b/config/locales/lv.yml index 7115181b0..e65b2aa0c 100644 --- a/config/locales/lv.yml +++ b/config/locales/lv.yml @@ -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: diff --git a/config/locales/mk.yml b/config/locales/mk.yml index b366e97de..95367842b 100644 --- a/config/locales/mk.yml +++ b/config/locales/mk.yml @@ -890,7 +890,7 @@ mk: manufacture: Производно здание office: Деловна зграда public: Јавен објект - residential: Станбена зграда + residential: Станбена градба retail: Продажен објект roof: Покрив ruins: Градба во рушевини diff --git a/config/locales/nb.yml b/config/locales/nb.yml index 856cb4cad..d1a7575b9 100644 --- a/config/locales/nb.yml +++ b/config/locales/nb.yml @@ -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: diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 26e8a9857..e77b978f8 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -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 diff --git a/config/locales/nn.yml b/config/locales/nn.yml index d5970db7c..264b98504 100644 --- a/config/locales/nn.yml +++ b/config/locales/nn.yml @@ -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: diff --git a/config/locales/pl.yml b/config/locales/pl.yml index 43f8d975c..6aa8b844b 100644 --- a/config/locales/pl.yml +++ b/config/locales/pl.yml @@ -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ę diff --git a/config/locales/pt-PT.yml b/config/locales/pt-PT.yml index 01b71b4a8..91d9930b3 100644 --- a/config/locales/pt-PT.yml +++ b/config/locales/pt-PT.yml @@ -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 diff --git a/config/locales/ro.yml b/config/locales/ro.yml index d39526f8f..3c73c00ff 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -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: diff --git a/config/locales/scn.yml b/config/locales/scn.yml index 1e3657716..baae498ef 100644 --- a/config/locales/scn.yml +++ b/config/locales/scn.yml @@ -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: diff --git a/config/locales/sk.yml b/config/locales/sk.yml index b635a9b61..f4054a7f0 100644 --- a/config/locales/sk.yml +++ b/config/locales/sk.yml @@ -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: diff --git a/config/locales/sq.yml b/config/locales/sq.yml index c11223cee..a090b409a 100644 --- a/config/locales/sq.yml +++ b/config/locales/sq.yml @@ -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: diff --git a/config/locales/sr.yml b/config/locales/sr.yml index 1728d2c5c..49a3ada6f 100644 --- a/config/locales/sr.yml +++ b/config/locales/sr.yml @@ -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: diff --git a/config/locales/uk.yml b/config/locales/uk.yml index 778829a95..8f87c6b4e 100644 --- a/config/locales/uk.yml +++ b/config/locales/uk.yml @@ -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: diff --git a/config/locales/zh-CN.yml b/config/locales/zh-CN.yml index 5b105c725..c0089d8b2 100644 --- a/config/locales/zh-CN.yml +++ b/config/locales/zh-CN.yml @@ -2523,8 +2523,8 @@ zh-CN: cookies_needed: 您似乎停用了 cookie - 请在继续操作前启用您的浏览器 cookie。 setup_user_auth: blocked_zero_hour: 您在OpenStreetMap网站有一条紧急消息。在您可以保存您的编辑之前,您需要阅读这条消息。 - blocked: 您对 API 的访问已经被阻挡了。请登录到网站以了解更多信息。 - need_to_see_terms: 您对 API 的访问已暂时中止。请登录到网站以查看贡献者条款。您不需要同意,但必须查看它们。 + blocked: 您已被禁止使用 API。请登录到网站以了解更多信息。 + need_to_see_terms: 您已被暂时中止使用 API。请登录到网站以查看贡献者条款。您不需要同意条款,但必须查看它们。 settings_menu: account_settings: 账户设置 oauth2_applications: OAuth 2应用程序 diff --git a/config/puma.rb b/config/puma.rb index 60e1b9c67..a248513b2 100644 --- a/config/puma.rb +++ b/config/puma.rb @@ -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"] diff --git a/test/integration/node_versions_test.rb b/test/integration/node_versions_test.rb index 71251aae9..4d8a705cb 100644 --- a/test/integration/node_versions_test.rb +++ b/test/integration/node_versions_test.rb @@ -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 diff --git a/test/system/directions_test.rb b/test/system/directions_test.rb index a0ca87ce7..1c4edb60c 100644 --- a/test/system/directions_test.rb +++ b/test/system/directions_test.rb @@ -38,8 +38,8 @@ class DirectionsSystemTest < ApplicationSystemTestCase return Promise.resolve({ line: points, steps: [ - [points[0], 8, "1. #{start_instruction}", distance, points], - [points[1], 14, "2. #{finish_instruction}", 0, [points[1]]] + [points[0], "start", "1. #{start_instruction}", distance, points], + [points[1], "destination", "2. #{finish_instruction}", 0, [points[1]]] ], distance, time