autoprefixer-rails (10.4.16.0)
execjs (~> 2)
aws-eventstream (1.3.0)
- aws-partitions (1.931.0)
+ aws-partitions (1.934.0)
aws-sdk-core (3.196.1)
aws-eventstream (~> 1, >= 1.3.0)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.8)
jmespath (~> 1, >= 1.6.1)
- aws-sdk-kms (1.81.0)
+ aws-sdk-kms (1.82.0)
aws-sdk-core (~> 3, >= 3.193.0)
aws-sigv4 (~> 1.1)
aws-sdk-s3 (1.151.0)
builder (3.2.4)
bzip2-ffi (1.1.1)
ffi (~> 1.0)
- cancancan (3.5.0)
+ cancancan (3.6.1)
canonical-rails (0.2.15)
actionview (>= 4.1, <= 7.2)
capybara (3.40.0)
regexp_parser (>= 1.5, < 3.0)
xpath (~> 3.2)
concurrent-ruby (1.2.3)
- config (5.4.0)
+ config (5.5.0)
deep_merge (~> 1.2, >= 1.2.1)
connection_pool (2.4.1)
crack (1.0.0)
concurrent-ruby (~> 1.0)
dry-core (~> 1.0, < 2)
zeitwerk (~> 2.6)
- dry-schema (1.13.3)
+ dry-schema (1.13.4)
concurrent-ruby (~> 1.0)
dry-configurable (~> 1.0, >= 1.0.1)
dry-core (~> 1.0, < 2)
mini_portile2 (2.8.6)
mini_racer (0.9.0)
libv8-node (~> 18.19.0.0)
- minitest (5.23.0)
+ minitest (5.23.1)
minitest-focus (1.4.0)
minitest (>= 4, < 6)
msgpack (1.7.2)
hashie (>= 3.4.6)
rack (>= 1.6.2, < 3)
rack-protection
- omniauth-facebook (9.0.0)
- omniauth-oauth2 (~> 1.2)
+ omniauth-facebook (10.0.0)
+ bigdecimal
+ omniauth-oauth2 (>= 1.2, < 3)
omniauth-github (2.0.1)
omniauth (~> 2.0)
omniauth-oauth2 (~> 1.8)
rb-fsevent (0.11.2)
rb-inotify (0.11.1)
ffi (~> 1.0)
- rdoc (6.6.3.1)
+ rdoc (6.7.0)
psych (>= 4.0.0)
regexp_parser (2.9.2)
reline (0.5.7)
rouge (4.2.1)
rtlcss (0.2.1)
mini_racer (>= 0.6.3)
- rubocop (1.63.5)
+ rubocop (1.64.0)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
parallel (~> 1.10)
simplecov-html (0.12.3)
simplecov-lcov (0.8.0)
simplecov_json_formatter (0.1.4)
- simpleidn (0.2.2)
- unf (~> 0.1.4)
+ simpleidn (0.2.3)
smart_properties (1.17.0)
snaky_hash (2.0.1)
hashie
railties (>= 6.0.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
- unf (0.1.4)
- unf_ext
- unf_ext (0.0.9.1)
unicode-display_width (2.5.0)
uri (0.13.0)
validates_email_format_of (1.8.2)
simpleidn
vendorer (0.2.0)
version_gem (1.1.4)
- webmock (3.23.0)
+ webmock (3.23.1)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
websocket-extensions (0.1.5)
xpath (3.2.0)
nokogiri (~> 1.8)
- zeitwerk (2.6.14)
+ zeitwerk (2.6.15)
PLATFORMS
ruby
$("body").removeClass("compact-nav");
$("header").removeClass("text-nowrap");
+ $("header nav.secondary > ul").removeClass("flex-nowrap");
updateHeader();
.click(cancel))),
$("<p class='alert alert-warning'>")
.text(I18n.t("browse.start_rjs.feature_warning", { num_features: count, max_features: limit })),
- $("<input type='submit' class='btn btn-primary'>")
+ $("<input type='submit' class='btn btn-primary d-block mx-auto'>")
.val(I18n.t("browse.start_rjs.load_data"))
.click(add)));
}
text-decoration: underline dotted;
}
-#container { position: relative; }
-
/* Rules for icons */
.icon {
position: relative;
font-size: 14px;
- h1, nav, nav > ul, nav > ul > li {
- display: inline-block;
- }
-
> * {
padding: $lineheight * 0.5;
}
nav.primary {
margin-right: auto;
}
+
+ .username {
+ max-width: 12em;
+ }
}
nav.primary {
nav.secondary {
.nav-link {
- padding: 0.2rem;
+ padding: 0.3rem;
}
}
min-height: $headerHeight;
&.closed nav {
- display: none;
+ display: none !important;
}
.search_forms {
}
nav.secondary {
+ flex-direction: column;
+
.user-menu, .login-menu {
width: 100%;
}
.donate-attr { color: darken($green, 10%) !important; }
-/* Rules for the sidebar */
-
-#browse_status {
- input {
- display: block;
- margin-left: auto;
- margin-right: auto;
- }
-}
-
/* Temporary label size override until we remove site-wide font customisation */
form {
.routing_marker { width: 15px; cursor: move; }
-.browse_status {
- display: none;
-}
-
/* Rules for the history sidebar */
#sidebar .changesets {
}
}
-/* Bootstrap buttons don't have any vertical margin, so
- they touch when adjacent buttons wrap onto a new line
- e.g. wide form buttons on a narrow sidebar */
-
-.btn-wrapper {
- > .btn {
- margin-bottom: $spacer * 0.25;
- }
-}
-
/* Force LTR/RTL alignment for placeholder text */
.form-control::placeholder {
module Api
class CapabilitiesController < ApiController
+ skip_before_action :check_api_readable
+
authorize_resource :class => false
before_action :set_request_formats
module Api
class ChangesetCommentsController < ApiController
before_action :check_api_writable
- before_action :check_api_readable, :except => [:create]
before_action :authorize
authorize_resource
module Api
class ChangesetsController < ApiController
before_action :check_api_writable, :only => [:create, :update, :upload, :subscribe, :unsubscribe]
- before_action :check_api_readable, :except => [:index, :create, :update, :upload, :download, :subscribe, :unsubscribe]
before_action :setup_user_auth, :only => [:show]
before_action :authorize, :only => [:create, :update, :upload, :close, :subscribe, :unsubscribe]
module Api
class MapController < ApiController
- before_action :check_api_readable
-
authorize_resource :class => false
around_action :api_call_handle_error, :api_call_timeout
module Api
class NodesController < ApiController
before_action :check_api_writable, :only => [:create, :update, :delete]
- before_action :check_api_readable, :except => [:create, :update, :delete]
before_action :authorize, :only => [:create, :update, :delete]
authorize_resource
module Api
class NotesController < ApiController
- before_action :check_api_readable
before_action :check_api_writable, :only => [:create, :comment, :close, :reopen, :destroy]
before_action :setup_user_auth, :only => [:create, :show]
before_action :authorize, :only => [:close, :reopen, :destroy, :comment]
# nodes, ways and relations are basically identical.
module Api
class OldElementsController < ApiController
- before_action :check_api_readable
before_action :check_api_writable, :only => [:redact]
before_action :setup_user_auth, :only => [:history, :show]
before_action :authorize, :only => [:redact]
module Api
class PermissionsController < ApiController
- before_action :check_api_readable
-
authorize_resource :class => false
before_action :setup_user_auth
module Api
class RelationsController < ApiController
before_action :check_api_writable, :only => [:create, :update, :delete]
- before_action :check_api_readable, :except => [:create, :update, :delete]
before_action :authorize, :only => [:create, :update, :delete]
authorize_resource
module Api
class TracepointsController < ApiController
- before_action :check_api_readable
-
authorize_resource
around_action :api_call_handle_error, :api_call_timeout
module Api
class TracesController < ApiController
- before_action :check_database_readable, :except => [:show, :data]
- before_action :check_database_writable, :only => [:create, :update, :destroy]
+ before_action :check_api_writable, :only => [:create, :update, :destroy]
before_action :set_locale
before_action :authorize
authorize_resource
- before_action :check_api_readable, :only => [:show, :data]
- before_action :check_api_writable, :only => [:create, :update, :destroy]
before_action :offline_error, :only => [:create, :destroy, :data]
around_action :api_call_handle_error
module Api
class UserBlocksController < ApiController
- before_action :check_api_readable
-
authorize_resource
around_action :api_call_handle_error, :api_call_timeout
# Update and read user preferences, which are arbitrary key/val pairs
module Api
class UserPreferencesController < ApiController
+ before_action :check_api_writable, :only => [:update_all, :update, :destroy]
before_action :authorize
authorize_resource
module Api
class UsersController < ApiController
- before_action :check_api_readable
before_action :disable_terms_redirect, :only => [:details]
before_action :setup_user_auth, :only => [:show, :index]
before_action :authorize, :only => [:details, :gpx_files]
module Api
class VersionsController < ApiController
+ skip_before_action :check_api_readable
authorize_resource :class => false
before_action :set_request_formats
module Api
class WaysController < ApiController
before_action :check_api_writable, :only => [:create, :update, :delete]
- before_action :check_api_readable, :except => [:create, :update, :delete]
before_action :authorize, :only => [:create, :update, :delete]
authorize_resource
class ApiController < ApplicationController
skip_before_action :verify_authenticity_token
+ before_action :check_api_readable
+
private
##
content_security_policy(:only => :id) do |policy|
policy.connect_src("*")
- policy.img_src("*", :blob)
- policy.script_src(*policy.script_src, "dev.virtualearth.net", :unsafe_eval)
+ policy.img_src(*policy.img_src, "*", :blob)
+ policy.script_src(*policy.script_src, :unsafe_eval)
policy.style_src(*policy.style_src, :unsafe_inline)
end
if current_user.invalid?
# Something is wrong with a new user, so rerender the form
render :action => "new"
- elsif current_user.auth_provider.present?
- # Verify external authenticator before moving on
- session[:new_user] = current_user.slice("email", "display_name", "pass_crypt", "pass_crypt_confirmation")
- redirect_to auth_url(current_user.auth_provider, current_user.auth_uid), :status => :temporary_redirect
else
# Save the user record
- session[:new_user] = current_user.slice("email", "display_name", "pass_crypt", "pass_crypt_confirmation")
save_new_user params[:email_hmac], params[:referer]
end
end
session[:user_errors] = current_user.errors.as_json
redirect_to edit_account_path
- elsif session[:new_user]
- session[:new_user]["auth_provider"] = provider
- session[:new_user]["auth_uid"] = uid
-
- email_hmac = UsersController.message_hmac(email) if email_verified && email
- save_new_user email_hmac, referer
else
user = User.find_by(:auth_provider => provider, :auth_uid => uid)
else
email_hmac = UsersController.message_hmac(email) if email_verified && email
redirect_to :action => "new", :nickname => name, :email => email, :email_hmac => email_hmac,
- :auth_provider => provider, :auth_uid => uid
+ :auth_provider => provider, :auth_uid => uid, :referer => referer
end
end
end
private
def save_new_user(email_hmac, referer = nil)
- new_user = session.delete(:new_user)
- self.current_user = User.new(new_user)
if check_signup_allowed(current_user.email)
current_user.data_public = true
current_user.description = "" if current_user.description.nil?
:content_type => content_type(attachable.path),
:identify => false)
else
- super(attachable)
+ super
end
end
</span>
</div>
- <div class="row justify-content-between">
- <div class="col-auto btn-wrapper">
+ <div class="row justify-content-between g-1">
+ <div class="col-auto">
<%= f.primary t(".save changes button") %>
</div>
- <div class="col-auto btn-wrapper">
+ <div class="col-auto">
<%= link_to t(".delete_account"), account_deletion_path, :class => "btn btn-outline-danger" %>
</div>
</div>
<div>
- <div class="list-inline justify-content-center d-flex align-items-center flex-wrap mb-3 gap-3" id="login_auth_buttons">
+ <div class="list-inline justify-content-center d-flex align-items-center flex-wrap w-100 mb-3" id="login_auth_buttons">
+ <% prefered_auth_button_available = false %>
<% %w[google facebook microsoft github wikipedia].each do |provider| %>
<% if Settings.key?("#{provider}_auth_id".to_sym) -%>
<% if @preferred_auth_provider == provider %>
- <div class="mx-2"><%= auth_button_preferred provider, provider %></div>
+ <% prefered_auth_button_available = true %>
<% end %>
<% end -%>
<% end -%>
- <div class="justify-content-center d-flex gap-1">
- <div>
- <%= link_to image_tag("openid.png",
- :alt => t("application.auth_providers.openid.title"),
- :size => "24"),
- "#",
- :id => "openid_open_url",
- :title => t("application.auth_providers.openid.title"),
- :class => "p-2 d-block" %>
+ <% if prefered_auth_button_available %>
+ <div class="list-inline justify-content-center d-flex align-items-center flex-wrap w-50">
+ <% %w[google facebook microsoft github wikipedia].each do |provider| %>
+ <% if Settings.key?("#{provider}_auth_id".to_sym) -%>
+ <% if @preferred_auth_provider == provider %>
+ <%= auth_button_preferred provider, provider %>
+ <% end %>
+ <% end -%>
+ <% end -%>
</div>
+ <div class="list-inline justify-content-center d-flex align-items-center flex-wrap w-50">
+ <% else %>
+ <div class="list-inline justify-content-center d-flex align-items-center flex-wrap w-100">
+ <% end %>
+
+ <%= link_to image_tag("openid.png",
+ :alt => t("application.auth_providers.openid.title"),
+ :size => "24"),
+ "#",
+ :id => "openid_open_url",
+ :title => t("application.auth_providers.openid.title"),
+ :class => "p-2 d-block" %>
<% %w[google facebook microsoft github wikipedia].each do |provider| %>
<% unless @preferred_auth_provider == provider %>
<% if Settings.key?("#{provider}_auth_id".to_sym) -%>
- <div><%= auth_button provider, provider %></div>
+ <%= auth_button provider, provider %>
<% end -%>
<% end %>
<% end -%>
<%= link_to t("layouts.export"), export_path, :class => "btn btn-outline-primary geolink", :id => "export_tab" %>
</div>
</nav>
- <nav class='secondary'>
- <ul class='mx-1 px-0'>
+ <nav class='secondary d-flex gap-2 align-items-center'>
+ <ul class='nav flex-nowrap'>
<% if Settings.status != "database_offline" && can?(:index, Issue) %>
<li class="compact-hide nav-item">
<%= link_to issues_path(:status => "open"), :class => header_nav_link_class(issues_path) do %>
</ul>
<% if current_user && current_user.id %>
<div class='d-inline-flex dropdown user-menu logged-in'>
- <button class='dropdown-toggle btn btn-outline-secondary border-secondary-subtle bg-body text-secondary px-2 py-1 flex-grow-1' type='button' data-bs-toggle='dropdown'>
+ <button class='d-flex gap-1 align-items-center justify-content-center dropdown-toggle btn btn-outline-secondary border-secondary-subtle bg-body text-secondary px-2 py-1 flex-grow-1' type='button' data-bs-toggle='dropdown'>
<%= user_thumbnail_tiny(current_user, :width => 25, :height => 25, :class => "user_thumbnail_tiny rounded-1 bg-body") %>
<% if current_user.new_messages.size > 0 %>
- <span class="badge count-number m-1"><%= current_user.new_messages.size %></span>
+ <span class="badge count-number position-static m-1"><%= current_user.new_messages.size %></span>
<% end %>
- <span class='username'>
+ <span class='username align-middle text-truncate'>
<%= current_user.display_name %>
</span>
</button>
</div>
</div>
<div class="col-auto">
- <%= link_to image_tag("directions.png", :width => "20", :height => "20", :class => "align-bottom"), directions_path, :class => "btn btn-sm btn-primary switch_link", :title => t("site.search.get_directions_title") %>
+ <%= link_to directions_path, :class => "btn btn-sm btn-primary px-1 switch_link", :title => t("site.search.get_directions_title") do %>
+ <svg width="28" height="20" class="align-bottom">
+ <path d="M11.5 9.5 v-3h3v-1l-5 -5l-5 5v1h3v6" fill="none" stroke="#fff8" />
+ <path d="M7.5 19.5h4v-5a1 1 0 0 1 1 -1h5v3h1l5 -5l-5 -5h-1v3h-6a4 4 0 0 0 -4 4z" fill="#fff8" stroke="#fff" />
+ </svg>
+ <% end %>
</div>
</div>
</form>
<div class="mb-3">
<textarea class="form-control" name="text" cols="40" rows="10" maxlength="2000" placeholder="<%= t(".advice") %>"></textarea>
</div>
- <div class="btn-wrapper">
+ <div>
<input type="submit" name="add" value="<%= t(".add") %>" disabled="1" class="btn btn-primary">
</div>
</form>
</div>
<div id="comment-error" class="alert alert-danger p-2 mb-3" hidden>
</div>
- <div class="btn-wrapper">
+ <div class="d-flex flex-wrap gap-1">
<% if current_user.moderator? -%>
<%= submit_tag t(".hide"), :name => "hide", :class => "btn btn-light",
:data => { :method => "DELETE",
<input type="hidden" name="text" value="" autocomplete="off">
<div id="comment-error" class="alert alert-danger p-2 mb-3" hidden>
</div>
- <div class="btn-wrapper">
+ <div class="d-flex flex-wrap gap-1">
<% if @note.status != "hidden" and current_user and current_user.moderator? -%>
<input type="submit" name="hide" value="<%= t(".hide") %>" class="btn btn-light" data-method="DELETE" data-url="<%= api_note_url(@note, "json") %>">
<% end -%>
<div id="login_login" class="auth-container mx-auto my-0">
<% if @preferred_auth_provider %>
<%= render :partial => "auth_providers" %>
- <div class="d-flex justify-content-center align-items-center">
+ <div class="d-flex justify-content-center align-items-center mb-2">
<div class="border-bottom border-1 flex-grow-1"></div>
<div class="text-secondary mx-3"><%= t ".or" %></div>
<div class="border-bottom border-1 flex-grow-1"></div>
<div class="row">
<div class="col">
- <%= f.label :password, :class => "form-label" %>
+ <%= f.label :password, t(".password"), :class => "form-label" %>
</div>
<div class="col text-end">
<small><%= link_to(t(".lost password link"), user_forgot_password_path) %></small>
</div>
</div>
- <input class="form-control mb-3" type="password" name="password" id="password" tabindex="2" value="" autocomplete="off" />
+ <input class="form-control mb-3" type="password" name="password" id="password" tabindex="2" value="" autocomplete="on" />
<%= f.form_group do %>
<%= f.check_box :remember_me, { :label => t(".remember"), :tabindex => 3, :checked => (params[:remember_me] == "yes") }, "yes" %>
<% unless @preferred_auth_provider.nil? %>
<%= render :partial => "auth_providers" %>
- <div class="d-flex justify-content-center align-items-center">
+ <div class="d-flex justify-content-center align-items-center mb-2">
<div class="border-bottom border-1 flex-grow-1"></div>
<div class="text-secondary mx-3"><%= t ".or" %></div>
<div class="border-bottom border-1 flex-grow-1"></div>
if e.is_a?(Timeout::Error) || e.is_a?(OSM::APITimeoutError)
e
else
- super(e, sql)
+ super
end
end
end
Rails.application.configure do
connect_src = [:self]
- img_src = [:self, :data, "www.gravatar.com", "*.wp.com", "tile.openstreetmap.org", "*.tile.thunderforest.com", "tile.tracestrack.com", "*.openstreetmap.fr"]
+ img_src = [:self, :data, "www.gravatar.com", "*.wp.com", "tile.openstreetmap.org", "gps.tile.openstreetmap.org", "*.tile.thunderforest.com", "tile.tracestrack.com", "*.openstreetmap.fr"]
script_src = [:self]
connect_src << Settings.matomo["location"] if defined?(Settings.matomo)
module OpenStreetMap
class Cors < Rack::Cors
def call(env)
- status, headers, body = super(env)
+ status, headers, body = super
headers["Cache-Control"] = "no-cache" if headers["Access-Control-Allow-Origin"]
[status, headers, body]
end
def store_translations(locale, data, options = {})
locale = ::I18n::Locale::Tag::Rfc4646.tag(locale).to_s
- super(locale, data, options)
+ super
end
end
def perform(mailer, mail_method, delivery_method, *args, **kwargs)
kwargs = args.pop if kwargs.empty? && args.last.is_a?(Hash)
- super(mailer, mail_method, delivery_method, *args, **kwargs)
+ super
end
end
end
status = options.delete(:status) || :ok
head status, options
else
- super(options)
+ super
end
end
end
end
- super(controller)
+ super
end
end
end
module Router
module ForceEncoding
def normalize_path(path)
- super(path).force_encoding("UTF-8")
+ super.force_encoding("UTF-8")
end
end
end
class RtlcssSCSSProcessor < SassC::Rails::ScssTemplate
def self.call(input)
- output = super(input)
+ output = super
data = Rtlcss.flip_css(output[:data])
output.delete(:map)
output.merge(:data => data)
# Author: R4356th
# Author: R4bb1
# Author: Rasal Lia
+# Author: RiazACU
# Author: Sayma Jahan
# Author: Tahmid
# Author: Tauhid16
close: Serriñ
search:
search: Klask
- get_directions: Kaout an tuioù
+ get_directions: Kaout an durc'hadurioù
get_directions_title: Kavit an hentoù etre an daou boent
from: Eus
to: Da
fossgis_valhalla_car: Karr (Valhalla)
fossgis_valhalla_foot: War droad (Valhalla)
descend: Diskenn
- directions: Tuioù
+ directions: Durc'hadurioù
distance: Hed
distance_m: '%{distance}m'
distance_km: '%{distance}km'
continue: Zaregistrovat se
terms accepted: Děkujeme za odsouhlasení nových podmínek pro přispěvatele!
email_help_html: Vaše adresa se nezobrazuje veřejně, více informací získáte
- v našich %{privacy_policy_link}.
- privacy_policy: pravidlech ochrany osobních údajů
+ na stránce s našimi %{privacy_policy_link}.
+ privacy_policy: pravidly ochrany osobních údajů
privacy_policy_title: Pravidla ochrany osobních údajů OSMF, včetně části o e-mailových
adresách
consider_pd_html: Své příspěvky považuji za %{consider_pd_link}.
new_email: E-postay adresiyo neweh
active: Aktiv
display_name: Nameyo ke Aseno
- description: Şınasiya weci
+ description: Şınasiya Profili
home_lat: 'Verıniye:'
home_lon: Derganiye
languages: Zıwanê tercihi
diary_entry:
user: Kasutaja
title: Teema
- body: Päevikusissekanne
+ body: Kehatekst
latitude: Laius
longitude: Pikkus
language_code: Keel
Märkus on koha %{place} lähedal.'
commented_note_html: '%{commenter} on taasaktiveerinud märkuse, mida oled
kommenteerinud. Märkus on koha %{place} lähedal.'
- details: Üksikasjad märkuse kohta leiad aadressilt %{url}.
- details_html: Üksikasjad märkuse kohta leiad aadressilt %{url}.
+ details: Vasta või loe veel märkuse kohta aadressil %{url}.
+ details_html: Vasta või loe veel märkuse kohta aadressil %{url}.
changeset_comment_notification:
description: 'OpenStreetMapi muudatuskogum #%{id}'
hi: Tere, %{to_user}
partial_changeset_with_comment: kommentaariga '%{changeset_comment}'.
partial_changeset_with_comment_html: kommentaariga '%{changeset_comment}'.
partial_changeset_without_comment: ilma kommentaarita.
- details: Üksikasjad muudatuskogumi kohta leiad aadressilt %{url}.
- details_html: Üksikasjad muudatuskogumi kohta leiad aadressilt %{url}.
+ details: Vasta või loe muudatuskogumi kohta veel aadressil %{url}.
+ details_html: Vasta või loe muudatuskogumi kohta veel aadressil %{url}.
unsubscribe: Saad muudatuskogumi uuendusteadetest ära ütelda aadressil %{url}.
unsubscribe_html: Saad muudatuskogumi uuendusteadetest ära ütelda aadressil
%{url}.
lost password link: Kas unustasid parooli?
login_button: Logi sisse
register now: Registreeru nüüd
- with external: 'Teise võimalusena võid sisse logida kolmanda osapoole kaudu:'
+ with external: või logi sisse kolmanda osapoole kaudu
auth failure: Kahjuks ei õnnestu nende andmetega sisse logida.
destroy:
title: Logi välja
title: Minu volitatud rakendused
application: Rakendus
permissions: Õigused
+ last_authorized: Viimati volitatud
no_applications_html: Sa pole volitanud veel ühtegi %{oauth2} rakendust.
application:
revoke: Eemalda juurdepääs
users:
new:
title: Registreerumine
+ tab_title: Registreeru
no_auto_account_create: Kahjuks ei ole meil võimalik luua hetkel sinu jaoks
automaatselt kontot.
please_contact_support_html: Palun võta ühendust %{support_link}, et kasutajakonto
luua. Üritame tegeleda selle taotlusega nii kiiresti kui võimalik.
support: toega
about:
- header: Vaba ja muudetav
+ header: Vaba ja muudetav.
paragraph_1: Erinevalt teistest kaartidest on kogu OpenStreetMapi loonud sinusugused
inimesed ja igaüks võib seda parandada, täiendada, alla laadida ja kasutada.
- paragraph_2: Registreeru, et alustada kaardi täiendamist. Saadame sulle e-kirja,
- et saaksid kinnitada enda kasutajakonto.
+ paragraph_2: Registreeru, et alustada kaardi täiendamist.
display name description: Avalikult kuvatud kasutajanimi. Seda saate muuta hiljem
eelistustes.
+ by_signing_up_html: Registreerudes nõustud meie %{tou_link}, %{privacy_policy_link}
+ ja %{contributor_terms_link}.
+ tou: kasutustingimustega
+ contributor_terms: kaastöötingimustega
external auth: 'Kolmanda osapoole autentimine:'
continue: Registreeru
terms accepted: Täname, et nõustusid uute kaastöötingimustega!
- email_help_html: Sinu aadressi ei kuvata avalikult, loe täpsemalt meie %{privacy_policy_link}.
- privacy_policy: andmekaitsereeglitest
+ email_help_html: Sinu aadressi ei kuvata avalikult, tutvu meie %{privacy_policy_link}.
+ privacy_policy: andmekaitsereeglitega
privacy_policy_title: OSMF-i andmekaitsereeglid, milles on alaosa e-posti aadresside
kohta
- use external auth: Teise võimalusena võid sisse logida kolmanda osapoole kaudu
+ consider_pd_html: Pean enda kaastööd %{consider_pd_link} kuuluvaks.
+ consider_pd: avalikku omandisse
+ use external auth: või registreeru kolmanda osapoole kaudu
terms:
title: Tingimused
heading: Tingimused
andis.
success: Blokeering uuendatud.
index:
- title: Kasutaja blokeeringud
- heading: Kasutaja blokeeringute loetelu
+ title: Kasutajate blokeeringud
+ heading: Kasutajate blokeeringute loetelu
empty: Ühtegi blokeeringut pole veel antud.
revoke:
title: Kasutaja %{block_on} blokeeringu eemaldamine
intro: Kas märkasid viga või midagi, mis vajab täiendamist? Anna sellest teistele
kaardistajatele teada, et nad saaksid seda parandada. Lohista marker õigele
kohale ja kirjuta märkus, et probleemi selgitada.
+ anonymous_warning_html: Sa pole sisse logitud. Palun %{log_in} või %{sign_up},
+ kui soovid saada enda märkuse kohta uuendusi.
+ anonymous_warning_log_in: logi sisse
+ anonymous_warning_sign_up: registreeru
advice: Märkus on avalik ja seda võidakse kasutada kaardi uuendamiseks. Seega
palun ära kirjuta siia isiklikku teavet ega teavet autoriõigustega kaitstud
kaartidelt ega kataloogiloenditest.
continue_without_exit: 'Liigu edasi teele: %{name}'
slight_right_without_exit: 'Pööra kergelt paremal pool asuvale teele: %{name}'
offramp_right: Sõida paremal asuvale kaldteele
- offramp_right_with_exit: Lahku teelt paremal asuva ärapöörde %{exit} kaudu
- offramp_right_with_exit_name: 'Lahku teelt paremal asuva ärapöörde %{exit}
- kaudu sõites teele: %{name}'
- offramp_right_with_exit_directions: 'Lahku teelt paremal asuva ärapöörde %{exit}
- kaudu võttes suunaks: %{directions}'
- offramp_right_with_exit_name_directions: 'Lahku teelt paremal asuva ärapöörde
- %{exit} kaudu sõites teele: %{name} suunaga %{directions} poole'
+ offramp_right_with_exit: Lahku teelt %{exit}. väljumise kaudu paremal
+ offramp_right_with_exit_name: 'Lahku paremalt %{exit}. väljumise kaudu sõites
+ teele: %{name}'
+ offramp_right_with_exit_directions: Lahku paremalt %{exit}. väljumise kaudu,
+ sõites tee %{directions} suunas
+ offramp_right_with_exit_name_directions: Lahku paremalt %{exit}. väljumise
+ kaudu sõites teele %{name} tee %{directions} suunas
offramp_right_with_name: 'Pööra paremal asuvalt kaldteelt teele: %{name}'
- offramp_right_with_directions: Pööra paremal asuvale kaldteele suunaga %{directions}
- poole
+ offramp_right_with_directions: Pööra paremal asuvale kaldteele, liikudes tee
+ %{directions} suunas
offramp_right_with_name_directions: 'Pööra paremal asuvale kaldteele: uus
tee on %{name} ja suunaks %{directions}'
onramp_right_without_exit: 'Pööra paremale ja sõida kaldteed mööda teele:
%{name}'
- onramp_right_with_directions: Pööra paremale ja sõida kaldteelt %{directions}
+ onramp_right_with_directions: Pööra paremale ja sõida kaldteelt tee %{directions}
suunas
- onramp_right_with_name_directions: Pööra paremal asuvale kaldteele %{name}
- poole, suunaks %{directions}
+ onramp_right_with_name_directions: Pööra paremal asuvalt kaldteelt teele %{name},
+ sõites tee %{directions} suunas
onramp_right_without_directions: Sõida paremal asuvale kaldteele
onramp_right: Sõida paremal asuvale kaldteele
endofroad_right_without_exit: 'Tee lõpus pööra paremale teele: %{name}'
sharp_left_without_exit: 'Pööra järsult vasakul pool asuvale teele: %{name}'
turn_left_without_exit: 'Pööra vasakul pool asuvale teele: %{name}'
offramp_left: Sõida vasakul asuvale kaldteele
- offramp_left_with_exit: Lahku teelt vasakul asuva ärapöörde %{exit} kaudu
- offramp_left_with_exit_name: 'Lahku teelt vasakul asuva ärapöörde %{exit}
- kaudu sõites teele: %{name}'
- offramp_left_with_exit_directions: 'Lahku teelt vasakul asuva ärapöörde %{exit}
- kaudu võttes suunaks: %{directions}'
- offramp_left_with_exit_name_directions: 'Lahku teelt vasakul asuva ärapöörde
- %{exit} kaudu sõites teele: %{name} suunaga %{directions} poole'
+ offramp_left_with_exit: Lahku vasakult %{exit}. väljumise kaudu
+ offramp_left_with_exit_name: 'Lahku vasakult %{exit}. väljumise kaudu sõites
+ teele: %{name}'
+ offramp_left_with_exit_directions: Lahku vasakult %{exit}. väljumise kaudu,
+ sõites tee %{directions} suunas
+ offramp_left_with_exit_name_directions: Lahku vasakult %{exit}. väljumise
+ kaudu sõites teele %{name} tee %{directions} suunas
offramp_left_with_name: 'Pööra vasakul asuvalt kaldteelt teele: %{name}'
- offramp_left_with_directions: Pööra vasakul asuvale kaldteele suunaga %{directions}
- poole
+ offramp_left_with_directions: Pööra vasakul asuvale kaldteele, liikudes tee
+ %{directions} suunas
offramp_left_with_name_directions: 'Pööra vasakul asuvale kaldteele: uus tee
on %{name} ja suunaks %{directions}'
onramp_left_without_exit: 'Pööra vasakule ja sõida kaldteed mööda teele: %{name}'
- onramp_left_with_directions: Pööra vasakule ja sõida kaldteelt %{directions}
+ onramp_left_with_directions: Pööra vasakule ja sõida kaldteelt tee %{directions}
suunas
onramp_left_with_name_directions: 'Pööra vaskul asuvale kaldteele: uus tee
on %{name} ja suunaks %{directions}'
slight_left_without_exit: 'Pööra kergelt vasakule teele: %{name}'
via_point_without_exit: (teekonnapunkti kaudu)
follow_without_exit: 'Sõida edasi mööda teed: %{name}'
- roundabout_without_exit: 'Pööra ringteelt järgnevale teele: %{name}'
+ roundabout_without_exit: 'Pööra ringteelt järgmisele teele: %{name}'
leave_roundabout_without_exit: Pööra ära ringteelt - %{name}
stay_roundabout_without_exit: Jätka sõitmist ringteel - %{name}
start_without_exit: 'Alusta teelt: %{name}'
# Author: GeorgeKaplan
# Author: Gileri
# Author: Gomoko
+# Author: Graineahumus
# Author: Gravitystorm
# Author: Guilhelma
# Author: Hashar
# Author: Orikrin1998
# Author: Otourly
# Author: Oupsa
+# Author: Overflorian
# Author: Peter17
# Author: Phoenamandre
# Author: Pipo
view_unredacted_history: Voir l'historique non censuré
view_details: Afficher les détails
view_redacted_data: Afficher les données censurées
+ view_redaction_message: Afficher le message de rédaction
location: 'Emplacement :'
common_details:
coordinates_html: '%{latitude} ; %{longitude}'
closed: Fermé
belongs_to: Auteur
subscribe:
+ heading: S'abonner à la discussion sur l'ensemble de modifications suivante ?
button: S'abonner à la discussion
unsubscribe:
heading: Se désabonner de la discussion du groupe de modifications suivant ?
title: Groupe de modifications %{id}
created_by_html: Créé par %{link_user} le %{created}.
no_such_entry:
+ title: Aucun ensemble de modifications de ce type
heading: 'Aucune entrée avec l’identifiant : %{id}'
body: Désolé, il n’y a aucun groupe de modifications avec l'identifiant %{id}.
Veuillez vérifier l'orthographe ou la validité du lien sur lequel vous avez
newer_comments: Commentaires plus récents
older_comments: Commentaires plus anciens
subscribe:
+ heading: S'abonner à la discussion suivante sur les entrées de journal ?
button: S'abonner à la discussion
unsubscribe:
+ heading: Se désinscrire de la discussion suivante sur les entrées du journal ?
button: Se désinscrire de la discussion
doorkeeper:
errors:
contact_the_community_html: N’hésitez pas à %{contact_link} la communauté OpenStreetMap
si vous avez trouvé un lien cassé ou une anomalie. Notez l’URL exacte de votre
demande.
+ bad_request:
+ title: Mauvaise requête
+ description: L'opération que vous avez demandée sur le serveur OpenStreetMap
+ n'est pas valide (HTTP 400)
forbidden:
title: Interdit
description: L’opération que vous avez demandée sur le serveur OpenStreetMap
hosting_partners_2024_html: L’hébergement est pris en charge par %{fastly}, %{corpmembers},
et d’autres %{partners}.
partners_fastly: Fastly
+ partners_corpmembers: Membres d'entreprise de l'OSMF
partners_partners: partenaires
tou: Conditions d’utilisation
osm_offline: La base de données OpenStreetMap est actuellement hors ligne ; une
La note se trouve près de %{place}.'
commented_note_html: '%{commenter} a réactivé une note de carte que vous avez
commentée. La note est près de %{place}.'
- details: Plus de détails concernant la note se trouvent à %{url}.
- details_html: Plus de détails concernant la note se trouvent à %{url}.
+ details: Répondez ou apprenez-en plus sur la note sur %{url}.
+ details_html: Répondez ou en savoir plus sur la note sur %{url}.
changeset_comment_notification:
description: 'Groupe de modifications OpenStreetMap #%{id}'
hi: Bonjour %{to_user},
partial_changeset_with_comment: avec le commentaire « %{changeset_comment} »
partial_changeset_with_comment_html: avec le commentaire « %{changeset_comment} »
partial_changeset_without_comment: sans commentaire
- details: Plus de détails sur l’ensemble de modifications à %{url}.
- details_html: Vous pouvez trouver plus de détails sur l’ensemble de modifications
- sur %{url}.
+ details: Répondez ou en savoir plus sur l'ensemble de changements sur %{url}.
+ details_html: Répondre ou en savoir plus sur l'ensemble de changements sur %{url}.
unsubscribe: Vous pouvez vous désabonner des mises à jour de cet ensemble de
modifications depuis %{url}.
unsubscribe_html: Vous pouvez vous désabonner des mises à jour de cet ensemble
unread_button: Marque comme non lu
destroy_button: Supprimer
back: Retour
- wrong_user: Vous êtes identifié comme « %{user} » mais le message que vous essayez
- de lire n’a pas été envoyé par cet utilisateur, ni ne lui a été destiné. Veuillez
- vous connecter avec l’identifiant correct pour pouvoir le lire.
+ wrong_user: Vous êtes identifié comme « %{user} » mais le message que vous avez
+ demandé de lire n’a pas été envoyé par cet utilisateur, ni ne lui a été destiné.
+ Veuillez vous connecter avec le bon identifiant pour pouvoir le lire.
sent_message_summary:
destroy_button: Supprimer
heading:
new:
title: Se connecter
tab_title: Se connecter
+ login_to_authorize_html: Connectez-vous à OpenStreetMap pour accéder à %{client_app_name}.
email or username: 'Adresse de courriel ou nom d’utilisateur :'
password: 'Mot de passe :'
remember: Se souvenir de moi
générale des finances publiques (anciennement la Direction générale des
impôts).'
contributors_fr_france: France
+ contributors_hr_credit_html: |-
+ %{croatia} : contient des données de %{dgu_link} et %{open_data_portal}
+ (informations publiques de Croatie).
contributors_hr_croatia: Croatie
+ contributors_hr_dgu: Administration géodésique de l'État de Croatie
+ contributors_hr_open_data_portal: Portail national des données ouvertes
contributors_nl_credit_html: '%{netherlands} : contient des données © AND,
2007 (%{and_link})'
contributors_nl_netherlands: Pays-Bas
identifiable: IDENTIFIABLE
private: PRIVÉE
trackable: PISTABLE
+ details_with_tags_html: '%{time_ago} par %{user} dans %{tags}'
+ details_without_tags_html: '%{time_ago} par %{user}'
index:
public_traces: Traces GPS publiques
my_gps_traces: Mes traces GPS
muted_users: Utilisateurs silencieux
auth_providers:
openid_logo_alt: Se connecter avec OpenID
+ openid_login_button: Continuer
openid:
title: Connexion avec OpenID
alt: Se connecter avec une URL OpenID
google:
- title: Connexion avec Google
+ title: Se connecter avec Google
alt: Se connecter avec un OpenID de Google
facebook:
title: Connexion avec Facebook
alt: Se connecter avec un compte de Facebook
microsoft:
- title: Connexion avec Microsoft
+ title: Se connecter avec Microsoft
alt: Se connecter avec un compte Microsoft
github:
title: Connexion avec GitHub
title: Connexion avec Wordpress
alt: Se connecter avec un OpenID de Wordpress
aol:
- title: Connexion avec AOL
+ title: Se connecter avec AOL
alt: Se connecter avec un OpenID d’AOL
oauth:
authorize:
write_redactions: Caviarder les données cartographiques
read_email: Lire l’adresse courriel de l’utilisateur
skip_authorization: Demande d’approbation automatique
+ for_roles:
+ moderator: Cette autorisation concerne les actions disponibles uniquement pour
+ les modérateurs
oauth_clients:
new:
title: Inscrire une nouvelle application
users:
new:
title: S’inscrire
+ tab_title: Créer un compte
no_auto_account_create: Malheureusement, nous ne sommes actuellement pas en
mesure de vous créer un compte automatiquement.
please_contact_support_html: Veuillez contacter %{support_link} pour organiser
la réparer, la mettre à jour, la télécharger et l’utiliser.
paragraph_2: Inscrivez-vous pour commencer à contribuer. Nous vous enverrons
un courriel pour confirmer votre compte.
+ duplicate_social_email: Si vous possédez déjà un compte OpenStreetMap et souhaitez
+ utiliser un fournisseur d'identité tiers, veuillez vous connecter en utilisant
+ votre mot de passe et modifier les paramètres de votre compte.
display name description: Votre nom d’utilisateur affiché publiquement. Vous
pouvez changer ceci ultérieurement dans les préférences.
+ by_signing_up_html: En vous inscrivant, vous acceptez nos %{tou_link}, %{privacy_policy_link}
+ et %{contributor_terms_link}.
+ tou: conditions d'utilisation
+ contributor_terms: Conditions de contribution
external auth: 'Authentification tierce :'
continue: S’inscrire
terms accepted: Merci d’avoir accepté les nouveaux termes du contributeur !
privacy_policy: politique de confidentialité
privacy_policy_title: Politique de confidentialité de l’OSMF, qui comprend une
section sur les adresses de courriel
- use external auth: Vous pouvez également utiliser un service tiers pour vous
- connecter.
+ consider_pd_html: Je considère que mes contributions se situent dans le %{consider_pd_link}.
+ consider_pd: domaine public
+ or: ou
+ use external auth: ou vous pouvez vous connecter avec un service tiers.
terms:
title: Conditions
heading: Conditions
heading: Utilisateurs
older: Utilisateurs plus anciens
newer: Utilisateurs plus récents
+ found_users:
+ one: '%{count} utilisateur trouvé'
+ other: '%{count} utilisateurs trouvés'
summary_html: '%{name} créé depuis %{ip_address} le %{date}'
summary_no_ip_html: '%{name} créé le %{date}'
confirm: Confirmer les utilisateurs sélectionnés
heading: Votre identifiant n’est pas encore associé à un compte OpenStreetMap.
option_1: Si vous êtes nouveau sur OpenStreetMap, veuillez créer un nouveau
compte à l’aide du formulaire ci-dessous.
- option_2: Si vous avez déjà un compte, vous pouvez vous connecter avec en utilisant
- votre nom d’utilisateur et votre mot de passe, puis associer le compte avec
- votre ID dans vos préférences utilisateur.
+ option_2: Si vous avez déjà un compte, vous pouvez vous y connecter avec en
+ utilisant votre nom d’utilisateur et votre mot de passe, puis associer le
+ compte avec votre ID dans vos préférences utilisateur.
user_role:
filter:
not_a_role: La chaîne « %{role} » n’est pas un rôle valide.
reason: Motif du blocage
status: État
revoker_name: Révoqué par
+ older: Blocs plus anciens
+ newer: Blocs plus récents
navigation:
all_blocks: Tous les blocages
blocks_on_me: Blocages me concernant
intro: Vous avez repéré une erreur ou un manque ? Faites-le savoir aux autres
cartographes afin qu’ils puissent y remédier. Déplacez le marqueur à la position
exacte et écrivez une note pour expliquer le problème.
+ anonymous_warning_html: Vous n'êtes pas connecté. Veuillez %{log_in} ou %{sign_up}
+ si vous souhaitez recevoir des mises à jour pour votre note.
+ anonymous_warning_log_in: se connecter
+ anonymous_warning_sign_up: créer un compte
advice: Votre note est publique et peut être utilisée pour mettre à jour la
carte, aussi n’entrez aucune information personnelle, ni aucune information
venant de cartes protégées, ni aucune entrée de répertoire ou d’annuaire.
contact: 여러 연락 수단
contact_the_community_html: 끊어진 링크나 버그를 발견했다면 언제든지 오픈스트리트맵 커뮤니티에 %{contact_link}으로
알려주십시오. 요청의 정확한 URL을 기록해 두십시오.
+ bad_request:
+ title: 잘못된 요청
forbidden:
title: 접근 거부됨
description: 오픈스트리트맵 서버에 요청한 이 작업은 관리자만 사용할 수 있습니다(HTTP 403).
# Author: Aalam
# Author: Babanwalia
# Author: Bgo eiu
+# Author: Cabal
# Author: Jimidar
# Author: Kuldeepburjbhalaike
# Author: Satnam S Virdi
diary_comment:
create: ਸਾਂਭੋ
diary_entry:
- create: à¨\9bਾਪੋ
+ create: ਸਾà¨\82à¨ੋ
update: ਅੱਪਡੇਟ ਕਰੋ
issue_comment:
create: ਟਿੱਪਣੀ ਕਰੋ
download_xml: XML ਲਾਹੋ
view_history: ਅਤੀਤ ਵੇਖੋ
view_details: ਵੇਰਵੇ ਵੇਖੋ
- location: 'ਸਥਿਤà©\80:'
+ location: 'à¨\9fਿà¨\95ਾਣਾ:'
relation:
members: ਜੀਅ
relation_member:
relation: ਸਬੰਧ
start_rjs:
load_data: ਡਾਟਾ ਲੋਡ ਕਰੋ
- loading: ਲà©\8bਡ ਹà©\8b ਰਿਹਾ ਹà©\88â\80¦
+ loading: ਲੱਦ ਰਿਹਾ ਹà©\88...
tag_details:
tags: ਟੈਗ
wikipedia_link: '%{page} ਲੇਖ ਵਿਕਿਪੀਡਿਆ ਉੱਤੇ'
waste_basket: ਕੂੜਾਦਾਨ
waste_disposal: ਕੂੜੇਦਾਨ
boundary:
- administrative: ਪà©\8dਰਸ਼ਾਸਕੀ ਸਰਹੱਦ
+ administrative: ਪà©\8dਰਬੰਧਕੀ ਸਰਹੱਦ
census: ਮਰਦਮਸ਼ੁਮਾਰੀ ਸਰਹੱਦ
national_park: ਕੌਮੀ ਬਾਗ਼
protected_area: ਸੁਰੱਖਿਅਤ ਖੇਤਰ
sign_up: ਭਰਤੀ ਹੋਵੋ
start_mapping: ਨਕਸ਼ਾਬੰਦੀ ਸ਼ੁਰੂ ਕਰੋ
edit: ਸੋਧੋ
- history: à¨\85ਤà©\80ਤ
+ history: ਪà©\81ਰਾਣਾ
export: ਬਰਾਮਦ
data: ਸਮੱਗਰੀ
export_data: ਸਮੱਗਰੀ ਬਰਾਮਦ ਕਰੋ
date: ਮਿਤੀ
message_summary:
reply_button: ਜੁਆਬ
- destroy_button: ਮਿà¨\9fਾà¨\89
+ destroy_button: ਮਿà¨\9fਾà¨\93
new:
title: ਸੁਨੇਹਾ ਘੱਲੋ
create:
unread_button: ਅਣ-ਪੜ੍ਹਿਆ ਨਿਸ਼ਾਨ ਲਾਉ
back: ਪਿੱਛੇ
sent_message_summary:
- destroy_button: ਮਿà¨\9fਾà¨\89
+ destroy_button: ਮਿà¨\9fਾà¨\93
heading:
my_inbox: ਮੇਰਾ ਇਨਬਾਕਸ
destroy:
export:
title: ਬਰਾਮਦ
manually_select: ਆਪਣੇ ਆਪ ਇੱਕ ਵੱਖਰਾ ਖੇਤਰ ਚੁਣੋ
- licence: ਲਾà¨\87ਸੰਸ
+ licence: ਲਸੰਸ
too_large:
other:
title: ਹੋਰ ਸਰੋਤ
how_to_help:
title: ਮਦਦ ਕਿਵੇਂ ਕਰਨੀ ਹੈ
join_the_community:
- title: ਭਾਈਚਾਰੇ ਨਾਲ਼ ਜੁੜੋ
+ title: ਭਾਈਚਾਰੇ ਨਾਲ ਜੁੜੋ
other_concerns:
title: ਹੋਰ ਫ਼ਿਕਰ
help:
runway: ਹਵਾਈ ਅੱਡੇ ਦੀ ਉਡਾਣ ਪੱਟੀ
taxiway: ਟੈਕਸੀਵੇਅ
apron: ਹਵਾਈ ਅੱਡੇ ਦਾ ਐਪਰਨ
- admin: ਪà©\8dਰਸ਼ਾਸਕੀ ਸਰਹੱਦ
+ admin: ਪà©\8dਰਬੰਧਕੀ ਸਰਹੱਦ
forest: ਜੰਗਲ
wood: ਜੰਗਲ
golf: ਗੋਲਫ਼ ਮੈਦਾਨ
created from: 'ਕਿੱਥੋਂ ਉਸਾਰਿਆ:'
status: 'ਦਰਜਾ:'
role:
- administrator: à¨\87ਹ ਵਰਤà©\8bà¨\82à¨\95ਾਰ à¨\87ੱà¨\95 ਪà©\8dਰਸ਼ਾਸਕ ਹੈ।
+ administrator: à¨\87ਹ ਵਰਤà©\8bà¨\82à¨\95ਾਰ à¨\87ੱà¨\95 ਪà©\8dਰਬੰਧਕ ਹੈ।
moderator: ਇਹ ਵਰਤੋਂਕਾਰ ਇੱਕ ਵਿਚੋਲਾ ਹੈ।
grant:
- administrator: ਪà©\8dਰਸ਼ਾਸà¨\95à©\80 ਹੱà¨\95 ਦਿà¨\89
+ administrator: ਪà©\8dਰਬੰਧà¨\95à©\80 ਹੱà¨\95 ਦਿà¨\93
moderator: ਵਿਚੋਲਗੀ ਦੇ ਹੱਕ ਦਿਉ
comments: ਟਿੱਪਣੀਆਂ
create_block: ਇਸ ਵਰਤੋਂਕਾਰ 'ਤੇ ਰੋਕ ਲਾਉ
contact_the_community_html: Fique à vontade para %{contact_link} a comunidade
OpenStreetMap caso tenha encontrado uma ligação inativa ou um erro. Deixe
uma nota da URL exata da sua solicitação.
+ bad_request:
+ title: Pedido inválido
+ description: A operação solicitada no servidor OpenStreetMap não é válida (HTTP
+ 400)
forbidden:
title: Proibido
description: A operação solicitada no servidor do OpenStreetMap só está disponível
perto de %{place}.'
commented_note_html: '%{commenter} reabriu uma nota comentada por ti. A nota
fica perto de %{place}.'
- details: Podes ver mais detalhes sobre a nota em %{url}.
- details_html: Podes ver mais detalhes sobre a nota em %{url}.
+ details: Responde ou descobre mais sobre a nota em %{url}.
+ details_html: Responde ou descobre mais sobre a nota em %{url}.
changeset_comment_notification:
description: Conjunto de alterações n.º %{id}
hi: Olá, %{to_user}.
partial_changeset_with_comment: com o comentário '%{changeset_comment}'
partial_changeset_with_comment_html: com o comentário '%{changeset_comment}'
partial_changeset_without_comment: sem comentários
- details: Podes encontrar mais informações sobre o conjunto de alterações em
- %{url}.
- details_html: Podes encontrar mais informações sobre o conjunto de alterações
- em %{url}.
+ details: Responde ou descobre mais sobre o conjunto de alterações em %{url}.
+ details_html: Responde ou descobre mais sobre o conjunto de alterações em %{url}.
unsubscribe: Podes deixar de acompanhar as atualizações deste conjunto de alterações
em %{url}.
unsubscribe_html: Podes deixar de acompanhar as atualizações deste conjunto
new:
title: Entrar
tab_title: Iniciar sessão
+ login_to_authorize_html: Inicia sessão no OpenStreetMap para acederes a %{client_app_name}.
email or username: 'E-mail ou Nome de utilizador:'
password: Palavra-passe
remember: Ficar autenticado entre sessões
lost password link: Perdeste a tua palavra-passe?
login_button: Iniciar sessão
register now: Regista-te agora
- with external: 'Em alternativa, usa um serviço externo para iniciares sessão:'
+ with external: ou inicia sessão com uma aplicação de terceiros
+ or: ou
auth failure: Lamentamos, mas não foi possível iniciar sessão com os dados fornecidos.
destroy:
title: Sair
contributors_fr_credit_html: '%{france}: contém dados provenientes da Direção
Geral de Impostos.'
contributors_fr_france: França
+ contributors_hr_credit_html: |-
+ %{croatia}: Contém dados de %{dgu_link} e %{open_data_portal}
+ (informação pública da Croácia).
+ contributors_hr_croatia: Croácia
+ contributors_hr_dgu: Administração Geodésica Estatal da Croácia
+ contributors_hr_open_data_portal: Portal Nacional de Dados Abertos
contributors_nl_credit_html: '%{netherlands}: Contém © e dados, 2007
(%{and_link})'
contributors_nl_netherlands: Países Baixos
other: Ficheiro GPX com %{count} pontos de %{user}
description_without_count: Ficheiro GPX de %{user}
application:
+ basic_auth_disabled: 'A Autenticação Básica HTTP está desativada: %{link}'
+ oauth_10a_disabled: 'OAuth 1.0 e 1.0a estão desativados: %{link}'
+ auth_disabled_link: https://wiki.openstreetmap.org/wiki/2024_authentication_update
permission_denied: Não tens permissões para realizar essa operação
require_cookies:
cookies_needed: Parece que tens os "cookies" desativados - por favor, ativa-os
muted_users: Utilizadores Silenciados
auth_providers:
openid_logo_alt: Iniciar sessão com um OpenID
+ openid_login_button: Continuar
openid:
title: Iniciar sessão com OpenID
alt: Iniciar sessão com um URL do OpenID
write_redactions: Rever dados do mapa
read_email: Ler e-mail de utilizador
skip_authorization: Aprovar a aplicação automaticamente
+ for_roles:
+ moderator: Esta permissão é para ações disponíveis apenas para moderadores
oauth_clients:
new:
title: Registar uma nova aplicação
users:
new:
title: Criar conta
+ tab_title: Registar
+ signup_to_authorize_html: Inicia sessão no OpenStreetMap para acederes a %{client_app_name}.
no_auto_account_create: Infelizmente, e de momento, não é possível criar uma
conta automaticamente.
please_contact_support_html: Por favor, contacta %{support_link} para pedir
a criação de uma conta - tentaremos tratar do pedido o mais rapidamente possível.
support: apoio
about:
- header: Livre e editável
+ header: Gratuito e editável.
paragraph_1: Ao contrário de outros mapas, o OpenStreetMap é completamente
criado por pessoas como tu, e qualquer pessoa o pode corrigir, transferir
e usar de forma gratuita.
- paragraph_2: Regista-te para começares a contribuir. Iremos enviar um e-mail
- para confirmar a tua conta.
+ paragraph_2: Regista-te para começares a contribuir.
+ welcome: Bem-vind@ ao OpenStreetMap
+ duplicate_social_email: Se já tens uma conta OpenStreetMap e desejas utilizar
+ um provedor de identidade externo, inicia sessão com a tua palavra-passe e
+ modifica as definições da tua conta.
display name description: O nome de utilizador ficará visível publicamente.
Poderás alterar o nome posteriormente nas configurações do teu perfil.
+ by_signing_up_html: Ao registares-te, aceitas os nossos %{tou_link}, %{privacy_policy_link}
+ e %{contributor_terms_link}.
+ tou: Termos de Utilização
+ contributor_terms: Termos de Contribuidor
external auth: 'Autenticação por terceiros:'
continue: Criar conta
terms accepted: Obrigado por aceitares os novos termos de contribuidor!
privacy_policy: política de privacidade
privacy_policy_title: Política de privacidade da OSMF incluindo secção sobre
endereços de correio eletrónico
- use external auth: Em alternativa, usa um serviço externo para iniciares sessão
+ consider_pd_html: Considero que as minhas contribuições estão no %{consider_pd_link}.
+ consider_pd: domínio público
+ or: ou
+ use external auth: ou regista-te com um serviço externo
terms:
title: Termos
heading: Termos
revoker_name: Revogado por
older: Blocos mais antigos
newer: Blocos mais recentes
+ navigation:
+ all_blocks: Todos os bloqueios
+ blocks_on_me: Quem me bloqueou
+ blocks_on_user: Bloqueios a %{user}
+ blocks_by_me: Os meus bloqueios
+ blocks_by_user: Bloqueios de %{user}
+ block: 'Bloqueio #%{id}'
user_mutes:
index:
title: Utilizadores Silenciados
o mais pormenorizada possível sobre o que pretendes ver alterado no mapa,
para que outros mapeadores te possam ajudar. Posiciona o marcador no local
correto e escreve uma nota que explique o problema.
+ anonymous_warning_html: Não tens sessão iniciada. Por favor, %{log_in} ou %{sign_up}
+ se quiseres receber atualizações sobre a tua nota.
+ anonymous_warning_log_in: inicia sessão
+ anonymous_warning_sign_up: regista-te
advice: 'Lembra-te: a tua nota é pública e poderá ser usada para atualizar o
mapa, portanto, não introduzas informações pessoais, dados de mapas ou catálogos
protegidos por direitos de autor.'
заметок недалеко от %{place}.'
commented_note_html: '%{commenter} открыл заново одну из вами прокомментированных
заметок недалеко от %{place}.'
- details: Ð\9fодÑ\80обнее о заметке %{url}.
- details_html: 'Ð\9fодÑ\80обнее о заметке: %{url}.'
+ details: Ð\9eÑ\82веÑ\82иÑ\82Ñ\8c или Ñ\83знаÑ\82Ñ\8c болÑ\8cÑ\88е о заметке %{url}.
+ details_html: 'Ð\9eÑ\82веÑ\82иÑ\82Ñ\8c или Ñ\83знаÑ\82Ñ\8c болÑ\8cÑ\88е о заметке: %{url}.'
changeset_comment_notification:
hi: Здравствуйте, %{to_user},
greeting: Здравствуйте,
partial_changeset_with_comment: с комментарием '%{changeset_comment}'
partial_changeset_with_comment_html: с комментарием '%{changeset_comment}'
partial_changeset_without_comment: без комментария
- details: Дополнительные сведения о пакете правок можно найти на %{url}.
- details_html: Ð\94ополниÑ\82елÑ\8cнÑ\8bе Ñ\81ведениÑ\8f о пакеÑ\82е пÑ\80авок можно найÑ\82и на %{url}.
+ details: 'Ответить или узнать больше о пакете правок: %{url}.'
+ details_html: Ð\9eÑ\82веÑ\82иÑ\82Ñ\8c или Ñ\83знаÑ\82Ñ\8c болÑ\8cÑ\88е о пакеÑ\82е пÑ\80авок можно на %{url}.
unsubscribe: Чтобы отказаться от новых сообщений для этого пакета правок, перейдите
по ссылке %{url} и нажмите кнопку "Отписаться".
unsubscribe_html: Чтобы отказаться от подписки на обновления этого набора изменений,
deleted_ago_by_html: Raderades %{time_ago} av %{user}
edited_ago_by_html: Redigerades %{time_ago} av %{user}
version: Version
+ redacted_version: Redigerad version
in_changeset: Ändringsuppsättning
anonymous: anonym
no_comment: (inga kommentarer)
other: '%{count} sträckor'
download_xml: Ladda ner XML
view_history: Visa historik
+ view_unredacted_history: Visa oredigerad historik
view_details: Visa detaljer
+ view_redacted_data: Visa redigerad data
+ view_redaction_message: Visa redigeringsmeddelande
location: 'Plats:'
node:
title_html: 'Nod: %{name}'
created: Skapad
closed: Stängd
belongs_to: Författare
+ subscribe:
+ button: Prenumerera på diskussion
show:
title: 'Ändringsuppsättning: %{id}'
+ created: 'Skapades: %{when}'
+ closed: 'Stängdes: %{when}'
created_ago_html: Skapades %{time_ago}
closed_ago_html: Stängdes %{time_ago}
created_ago_by_html: Skapades %{time_ago} av %{user}
show:
title: '%{user}s dagbok | %{title}'
user_title: '%{user}s dagbok'
+ discussion: Diskussion
leave_a_comment: Lämna en kommentar
login_to_leave_a_comment_html: '%{login_link} för att lämna en kommentar'
login: Logga in
comment: Kommentar
newer_comments: Nyare kommentarer
older_comments: Äldre kommentarer
+ subscribe:
+ button: Prenumerera på diskussion
doorkeeper:
errors:
messages:
new:
title: Logga in
tab_title: Logga in
+ login_to_authorize_html: Logga in på OpenStreetMap för att komma åt %{client_app_name}.
email or username: E-postadress eller Användarnamn
password: Lösenord
remember: Kom ihåg mig
lost password link: Glömt ditt lösenord?
login_button: Logga in
register now: Registrera dig nu
- with external: 'Alternativt kan du använda en tredje part för att logga in:'
+ with external: eller logga in med en tredje part
+ or: eller
auth failure: Kunde inte logga in med de uppgifterna.
destroy:
title: Logga ut
%{france}: Innehåller data hämtade från
Direction Générale des Impôts.
contributors_fr_france: Frankrike
+ contributors_hr_croatia: Kroatien
contributors_nl_credit_html: '%{netherlands}: Innehåller © AND data,
2007 (%{and_link}).'
contributors_nl_netherlands: Nederländerna
muted_users: Tystade användare
auth_providers:
openid_logo_alt: Logga in med ett OpenID
+ openid_login_button: Fortsätt
openid:
title: Logga in med OpenID
alt: Logga in med en OpenID-URL
write_redactions: Omarbeta kartdata
read_email: Läs användarens e-postadress
skip_authorization: Godkänn applikation automatiskt
+ for_roles:
+ moderator: Denna behörighet är till för åtgärder som endast är tillgängliga
+ för moderatorer
oauth_clients:
new:
title: Registrera en ny applikation
users:
new:
title: Registrera
+ tab_title: Registrera
+ signup_to_authorize_html: Registrera dig på OpenStreetMap för att få åtkomst
+ till %{client_app_name}
no_auto_account_create: Tyvärr kan vi för närvarande inte kan skapa ett konto
åt dig automatiskt.
please_contact_support_html: Kontakta %{support_link} för att ordna att ett
konto ska skapas - vi kommer att försöka ta itu med begäran så fort som möjligt.
support: support
about:
- header: Fri och redigerbar
+ header: Fri och redigerbar.
paragraph_1: Till skillnad från andra kartor är OpenStreetMap helt skapad
av människor som du, och det är gratis för alla att fixa, uppdatera, ladda
ner och använda.
- paragraph_2: Registrera dig för att börja bidra. Vi skickar ett e-postmeddelande
- för att bekräfta ditt konto.
+ paragraph_2: Registrera dig för att börja bidra.
+ welcome: Välkommen till OpenStreetMap
display name description: Ditt offentligt visade användarnamn. Du kan ändra
detta senare i alternativ.
+ tou: användarvillkor
+ contributor_terms: bidragsvillkor
external auth: 'Tredjepartsautentisering:'
continue: Registrera
terms accepted: Tack för att du accepterat de nya villkoren för bidrag till
för mer information.
privacy_policy: integritetspolicy
privacy_policy_title: OSMFs integritetspolicy inklusive avsnitt om e-postadresser
- use external auth: Alternativt kan du använda en tredje part för att logga in
+ consider_pd: public domain
+ or: eller
+ use external auth: eller registrera med en tredje part
terms:
title: Villkor för deltagare
heading: Villkor för deltagare
index:
title: Användare
heading: Användare
+ older: Äldre användare
+ newer: Nyare användare
summary_html: '%{name} skapades från %{ip_address} den %{date}'
summary_no_ip_html: '%{name} skapad den %{date}'
confirm: Bekräfta valda användare
reason: Orsak till blockering
status: Status
revoker_name: Återkallad av
+ older: Äldre blockeringar
+ newer: Nya blockeringar
+ navigation:
+ all_blocks: Alla blockeringar
+ blocks_on_me: Blockeringar på mig
+ blocks_on_user: Blockeringar på %{user}
+ blocks_by_me: Blockeringar av mig
+ blocks_by_user: Blockeringar av %{user}
+ block: 'Blockering #%{id}'
user_mutes:
index:
title: Tystade användare
intro: Upptäckt ett misstag eller något som saknas? Låt andra karterare veta
så att vi kan fixa det. Flytta markören till rätt position och skriv in en
kommentar som förklarar problemet.
+ anonymous_warning_html: Du är inte inloggad. %{log_in} eller %{sign_up} om du
+ vill få uppdateringar för din anteckning.
+ anonymous_warning_log_in: logga in
+ anonymous_warning_sign_up: registrera dig
advice: Din anteckning är offentlig och kan användas för att uppdatera kartan,
så skriv inte personuppgifter eller information från upphovsrättsligt skyddade
kartor eller kataloger.
standard: Standard
cycle_map: Cykelkarta
transport_map: Transportkarta
+ tracestracktop_topo: Tracetrack Topo
hot: Humanitärt
layers:
header: Kartskikt
your_note_html: '%{commenter} 重新激活了您在 %{place} 附近的一个注记。'
commented_note: '%{commenter} 重新激活了您感兴趣的一个地图注记。该注记位于 %{place} 附近。'
commented_note_html: '%{commenter} 重新激活了您感兴趣的一个地图注记。该注记位于 %{place} 附近。'
- details: 更多关于笔记的详细信息可以在%{url}找到。
- details_html: 更多关于笔记的详细信息可以在%{url}找到。
+ details: 在 %{url} 回复或了解更多有关注记的信息。
+ details_html: 在 %{url} 回复或了解更多有关注记的信息。
changeset_comment_notification:
description: 'OpenStreetMap 变更集 #%{id}'
hi: 您好,%{to_user}:
partial_changeset_with_comment: 带评论“%{changeset_comment}”
partial_changeset_with_comment_html: 带有评论“%{changeset_comment}”
partial_changeset_without_comment: 没有评论
- details: 更多关于变更集的详细信息可以在 %{url} 找到。
- details_html: 更多有关变更集的详细信息,请参见 %{url}。
+ details: 在 %{url} 回复或了解更多有关变更集的信息。
+ details_html: 在 %{url} 回复或了解更多有关变更集的信息。
unsubscribe: 您可访问%{url}以从该变更集中退订。
unsubscribe_html: 您可访问%{url}以从该变更集中退订。
confirmations:
# The base class for API Errors.
class APIError < RuntimeError
def initialize(message = "Generic API Error")
- super(message)
+ super
end
def status
assert_equal "online", js["api"]["status"]["gpx"]
assert_equal Settings.imagery_blacklist.length, js["policy"]["imagery"]["blacklist"].length
end
+
+ def test_capabilities_api_readonly
+ with_settings(:status => "api_readonly") do
+ get api_capabilities_path
+ assert_response :success
+ assert_select "osm[version='#{Settings.api_version}'][generator='#{Settings.generator}']", :count => 1 do
+ assert_select "api", :count => 1 do
+ assert_select "status[database='online']", :count => 1
+ assert_select "status[api='readonly']", :count => 1
+ assert_select "status[gpx='online']", :count => 1
+ end
+ end
+ end
+ end
+
+ def test_capabilities_api_offline
+ with_settings(:status => "api_offline") do
+ get api_capabilities_path
+ assert_response :success
+ assert_select "osm[version='#{Settings.api_version}'][generator='#{Settings.generator}']", :count => 1 do
+ assert_select "api", :count => 1 do
+ assert_select "status[database='online']", :count => 1
+ assert_select "status[api='offline']", :count => 1
+ assert_select "status[gpx='online']", :count => 1
+ end
+ end
+ end
+ end
+
+ def test_capabilities_database_readonly
+ with_settings(:status => "database_readonly") do
+ get api_capabilities_path
+ assert_response :success
+ assert_select "osm[version='#{Settings.api_version}'][generator='#{Settings.generator}']", :count => 1 do
+ assert_select "api", :count => 1 do
+ assert_select "status[database='readonly']", :count => 1
+ assert_select "status[api='readonly']", :count => 1
+ assert_select "status[gpx='readonly']", :count => 1
+ end
+ end
+ end
+ end
+
+ def test_capabilities_database_offline
+ with_settings(:status => "database_offline") do
+ get api_capabilities_path
+ assert_response :success
+ assert_select "osm[version='#{Settings.api_version}'][generator='#{Settings.generator}']", :count => 1 do
+ assert_select "api", :count => 1 do
+ assert_select "status[database='offline']", :count => 1
+ assert_select "status[api='offline']", :count => 1
+ assert_select "status[gpx='offline']", :count => 1
+ end
+ end
+ end
+ end
+
+ def test_capabilities_gpx_offline
+ with_settings(:status => "gpx_offline") do
+ get api_capabilities_path
+ assert_response :success
+ assert_select "osm[version='#{Settings.api_version}'][generator='#{Settings.generator}']", :count => 1 do
+ assert_select "api", :count => 1 do
+ assert_select "status[database='online']", :count => 1
+ assert_select "status[api='online']", :count => 1
+ assert_select "status[gpx='offline']", :count => 1
+ end
+ end
+ end
+ end
end
end
assert_response :success
assert_select "osm[version]", :count => 0
end
+
+ def test_versions_available_while_offline
+ with_settings(:status => "api_offline") do
+ get api_versions_path
+ assert_response :success
+ assert_select "osm[generator='#{Settings.generator}']", :count => 1 do
+ assert_select "api", :count => 1 do
+ assert_select "version", Settings.api_version
+ end
+ end
+ end
+ end
end
end
assert_select "form > div > input.is-invalid#user_email"
end
- def test_user_create_association_bad_auth_provider
- assert_difference("User.count", 0) do
- assert_no_difference("ActionMailer::Base.deliveries.size") do
- perform_enqueued_jobs do
- post "/user/new",
- :params => { :user => { :email => "test@example.com",
- :display_name => "new_tester",
- :pass_crypt => "testtest",
- :pass_crypt_confirmation => "testtest",
- :auth_provider => "noprovider",
- :auth_uid => "123454321",
- :consider_pd => "1" } }
- assert_redirected_to auth_path(:provider => "noprovider", :origin => "/user/new")
- post response.location
- end
- end
- end
- assert_response :not_found
- end
-
- def test_user_create_association_no_auth_uid
- OmniAuth.config.mock_auth[:google] = :invalid_credentials
- assert_difference("User.count", 0) do
- assert_no_difference("ActionMailer::Base.deliveries.size") do
- perform_enqueued_jobs do
- post "/user/new",
- :params => { :user => { :email => "test@example.com",
- :display_name => "new_tester",
- :pass_crypt => "testtest",
- :pass_crypt_confirmation => "testtest",
- :auth_provider => "google",
- :consider_pd => "1" } }
- assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
- post response.location
- end
- end
- end
- follow_redirect!
- assert_redirected_to auth_failure_path(:strategy => "google", :message => "invalid_credentials", :origin => "/user/new")
- end
-
def test_user_create_association_submit_duplicate_email
dup_email = create(:user).email
display_name = "new_tester"
def test_user_create_openid_success
new_email = "newtester-openid@osm.org"
display_name = "new_tester-openid"
+ openid_url = "http://localhost:1000/new.tester"
auth_uid = "http://localhost:1123/new.tester"
OmniAuth.config.add_mock(:openid,
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
perform_enqueued_jobs do
- post auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
- assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+ post auth_path(:provider => "openid", :openid_url => openid_url, :origin => "/user/new")
+ assert_redirected_to auth_success_path(:provider => "openid", :openid_url => openid_url, :origin => "/user/new")
follow_redirect!
assert_redirected_to :controller => :users, :action => "new", :nickname => display_name, :email => new_email,
:auth_provider => "openid", :auth_uid => auth_uid
:params => { :user => { :email => new_email,
:display_name => display_name,
:auth_provider => "openid",
- :auth_uid => "http://localhost:1123/new.tester",
+ :auth_uid => auth_uid,
:consider_pd => "1" } }
- assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
- post response.location
- follow_redirect!
end
end
end
def test_user_create_openid_failure
OmniAuth.config.mock_auth[:openid] = :connection_failed
- new_email = "newtester-openid2@osm.org"
- display_name = "new_tester-openid2"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
perform_enqueued_jobs do
- post "/user/new",
- :params => { :user => { :email => new_email,
- :email_confirmation => new_email,
- :display_name => display_name,
- :auth_provider => "openid",
- :auth_uid => "http://localhost:1123/new.tester",
- :pass_crypt => "",
- :pass_crypt_confirmation => "" } }
- assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+ post auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
follow_redirect!
assert_redirected_to auth_failure_path(:strategy => "openid", :message => "connection_failed", :origin => "/user/new")
follow_redirect!
end
def test_user_create_openid_redirect
+ openid_url = "http://localhost:1000/new.tester"
auth_uid = "http://localhost:1123/new.tester"
new_email = "redirect_tester_openid@osm.org"
display_name = "redirect_tester_openid"
assert_difference("User.count") do
assert_difference("ActionMailer::Base.deliveries.size", 1) do
perform_enqueued_jobs do
- post auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
- assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
+ post auth_path(:provider => "openid", :openid_url => openid_url, :origin => "/user/new")
+ assert_redirected_to auth_success_path(:provider => "openid", :openid_url => openid_url, :origin => "/user/new")
follow_redirect!
assert_redirected_to :controller => :users, :action => "new", :nickname => display_name, :email => new_email,
:auth_provider => "openid", :auth_uid => auth_uid
:auth_provider => "openid",
:auth_uid => auth_uid,
:consider_pd => "1" } }
- assert_redirected_to auth_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "openid", :openid_url => "http://localhost:1123/new.tester", :origin => "/user/new")
- follow_redirect!
- assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
follow_redirect!
end
end
:auth_uid => auth_uid,
:consider_pd => "1" },
:email_hmac => email_hmac }
- assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "google")
- follow_redirect!
assert_redirected_to welcome_path
follow_redirect!
end
def test_user_create_google_failure
OmniAuth.config.mock_auth[:google] = :connection_failed
- new_email = "newtester-google2@osm.org"
- display_name = "new_tester-google2"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
perform_enqueued_jobs do
- post "/user/new",
- :params => { :user => { :email => new_email,
- :email_confirmation => new_email,
- :display_name => display_name,
- :auth_provider => "google",
- :auth_uid => "123454321",
- :pass_crypt => "",
- :pass_crypt_confirmation => "" } }
- assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "google")
+ post auth_path(:provider => "google", :origin => "/user/new")
+ assert_response :redirect
follow_redirect!
assert_redirected_to auth_failure_path(:strategy => "google", :message => "connection_failed", :origin => "/user/new")
follow_redirect!
:auth_provider => "google",
:auth_uid => auth_uid,
:consider_pd => "1" } }
- assert_redirected_to auth_path(:provider => "google", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "google")
- follow_redirect!
- assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
+ assert_response :redirect
follow_redirect!
end
end
:auth_uid => auth_uid,
:consider_pd => "1" },
:email_hmac => email_hmac }
- assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "facebook")
- follow_redirect!
assert_redirected_to welcome_path
follow_redirect!
end
def test_user_create_facebook_failure
OmniAuth.config.mock_auth[:facebook] = :connection_failed
- new_email = "newtester-facebook2@osm.org"
- display_name = "new_tester-facebook2"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
perform_enqueued_jobs do
- post "/user/new",
- :params => { :user => { :email => new_email,
- :email_confirmation => new_email,
- :display_name => display_name,
- :auth_provider => "facebook",
- :auth_uid => "123454321",
- :pass_crypt => "",
- :pass_crypt_confirmation => "" } }
- assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "facebook")
+ post auth_path(:provider => "facebook", :origin => "/user/new")
+ assert_response :redirect
follow_redirect!
assert_redirected_to auth_failure_path(:strategy => "facebook", :message => "connection_failed", :origin => "/user/new")
follow_redirect!
:auth_provider => "facebook",
:auth_uid => auth_uid,
:consider_pd => "1" } }
- assert_redirected_to auth_path(:provider => "facebook", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "facebook")
- follow_redirect!
- assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
assert_response :redirect
follow_redirect!
end
:auth_uid => auth_uid,
:consider_pd => "1" },
:email_hmac => email_hmac }
- assert_redirected_to auth_path(:provider => "microsoft", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "microsoft")
- follow_redirect!
assert_redirected_to welcome_path
follow_redirect!
end
def test_user_create_microsoft_failure
OmniAuth.config.mock_auth[:microsoft] = :connection_failed
- new_email = "newtester-microsoft2@osm.org"
- display_name = "new_tester-microsoft2"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
perform_enqueued_jobs do
- post "/user/new",
- :params => { :user => { :email => new_email,
- :email_confirmation => new_email,
- :display_name => display_name,
- :auth_provider => "microsoft",
- :auth_uid => "123454321",
- :pass_crypt => "",
- :pass_crypt_confirmation => "" } }
- assert_redirected_to auth_path(:provider => "microsoft", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "microsoft")
+ post auth_path(:provider => "microsoft", :origin => "/user/new")
+ assert_response :redirect
follow_redirect!
assert_redirected_to auth_failure_path(:strategy => "microsoft", :message => "connection_failed", :origin => "/user/new")
follow_redirect!
:auth_provider => "microsoft",
:auth_uid => auth_uid,
:consider_pd => "1" } }
- assert_redirected_to auth_path(:provider => "microsoft", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "microsoft")
- follow_redirect!
- assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
assert_response :redirect
follow_redirect!
end
:read_ct => 1,
:read_tou => 1,
:email_hmac => email_hmac }
- assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "github")
- follow_redirect!
assert_redirected_to welcome_path
follow_redirect!
end
def test_user_create_github_failure
OmniAuth.config.mock_auth[:github] = :connection_failed
- new_email = "newtester-github2@osm.org"
- display_name = "new_tester-github2"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
perform_enqueued_jobs do
- post "/user/new",
- :params => { :user => { :email => new_email,
- :email_confirmation => new_email,
- :display_name => display_name,
- :auth_provider => "github",
- :auth_uid => "123454321",
- :pass_crypt => "",
- :pass_crypt_confirmation => "" } }
- assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "github")
+ post auth_path(:provider => "github", :origin => "/user/new")
follow_redirect!
assert_redirected_to auth_failure_path(:strategy => "github", :message => "connection_failed", :origin => "/user/new")
follow_redirect!
:auth_provider => "github",
:auth_uid => auth_uid,
:consider_pd => "1" } }
- assert_redirected_to auth_path(:provider => "github", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "github")
- follow_redirect!
- assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
assert_response :redirect
follow_redirect!
end
:read_ct => 1,
:read_tou => 1,
:email_hmac => email_hmac }
- assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
- follow_redirect!
assert_redirected_to welcome_path
follow_redirect!
end
def test_user_create_wikipedia_failure
OmniAuth.config.mock_auth[:wikipedia] = :connection_failed
- new_email = "newtester-wikipedia2@osm.org"
- display_name = "new_tester-wikipedia2"
assert_difference("User.count", 0) do
assert_difference("ActionMailer::Base.deliveries.size", 0) do
perform_enqueued_jobs do
- post "/user/new",
- :params => { :user => { :email => new_email,
- :email_confirmation => new_email,
- :display_name => display_name,
- :auth_provider => "wikipedia",
- :auth_uid => "123454321",
- :pass_crypt => "",
- :pass_crypt_confirmation => "" } }
- assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
+ post auth_path(:provider => "wikipedia", :origin => "/user/new")
+ assert_response :redirect
follow_redirect!
assert_redirected_to auth_failure_path(:strategy => "wikipedia", :message => "connection_failed", :origin => "/user/new")
follow_redirect!
:auth_provider => "wikipedia",
:auth_uid => auth_uid,
:consider_pd => "1" } }
- assert_redirected_to auth_path(:provider => "wikipedia", :origin => "/user/new")
- post response.location
- assert_redirected_to auth_success_path(:provider => "wikipedia", :origin => "/user/new")
- follow_redirect!
- assert_redirected_to :controller => :confirmations, :action => :confirm, :display_name => display_name
assert_response :redirect
follow_redirect!
end
type-check "^0.4.0"
osm-community-index@^5.2.0:
- version "5.7.0"
- resolved "https://registry.yarnpkg.com/osm-community-index/-/osm-community-index-5.7.0.tgz#1c1a785fd13a2e00535da8db132c4e49780f0b28"
- integrity sha512-r5h58L9mGh2Wu4XcJoGKLdw3oBY41jWAMUVBNE9tBS9sZINwSZccrImhxuOS5DmpslTjZ6w1cn7x9sE8tnFGpQ==
+ version "5.7.1"
+ resolved "https://registry.yarnpkg.com/osm-community-index/-/osm-community-index-5.7.1.tgz#2341666c83d14c00ef3d9a90298c96d5e791b56c"
+ integrity sha512-E+Xib5m//WliNq2iqeUXyKqZk7yhZu/vSJbwwyxDAPzcNWxgIMoO0B7cUMeFNckhMQsKM2UuC2BAjWuVfbYf1Q==
dependencies:
diacritics "^1.3.0"