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
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(*policy.img_src, "*", :blob)
+ policy.script_src(*policy.script_src, :unsafe_eval)
policy.style_src(*policy.style_src, :unsafe_inline)
end
:content_type => content_type(attachable.path),
:identify => false)
else
- super(attachable)
+ super
end
end
<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 -%>
<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" %>
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'
# 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
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
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
+ 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: Vous pouvez également utiliser un service tiers pour vous
- connecter.
+ 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
relation: ਸਬੰਧ
start_rjs:
load_data: ਡਾਟਾ ਲੋਡ ਕਰੋ
- loading: ਲà©\8bਡ ਹà©\8b ਰਿਹਾ ਹà©\88â\80¦
+ loading: ਲੱਦ ਰਿਹਾ ਹà©\88...
tag_details:
tags: ਟੈਗ
wikipedia_link: '%{page} ਲੇਖ ਵਿਕਿਪੀਡਿਆ ਉੱਤੇ'
sign_up: ਭਰਤੀ ਹੋਵੋ
start_mapping: ਨਕਸ਼ਾਬੰਦੀ ਸ਼ੁਰੂ ਕਰੋ
edit: ਸੋਧੋ
- history: à¨\85ਤà©\80ਤ
+ history: ਪà©\81ਰਾਣਾ
export: ਬਰਾਮਦ
data: ਸਮੱਗਰੀ
export_data: ਸਮੱਗਰੀ ਬਰਾਮਦ ਕਰੋ
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.'
# 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
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"