- 'db/migrate/*.rb'
- 'app/controllers/users_controller.rb'
-Style/BracesAroundHashParameters:
- EnforcedStyle: context_dependent
-
Style/Documentation:
Enabled: false
Style/GuardClause:
Enabled: false
+Style/HashEachMethods:
+ Enabled: true
+
Style/HashSyntax:
EnforcedStyle: hash_rockets
Exclude:
- 'lib/tasks/testing.rake'
- 'config/initializers/wrap_parameters.rb'
+Style/HashTransformKeys:
+ Enabled: true
+
+Style/HashTransformValues:
+ Enabled: true
+
Style/MixinUsage:
Exclude:
- 'bin/setup'
# Gems needed for running tests
group :test do
- gem "fakefs", :require => "fakefs/safe"
gem "minitest", "~> 5.1", :platforms => [:ruby_19, :ruby_20]
gem "rails-controller-testing"
gem "rubocop"
remote: https://rubygems.org/
specs:
SystemTimer (1.2.3)
- aasm (5.0.6)
+ aasm (5.0.8)
concurrent-ruby (~> 1.0)
actioncable (6.0.2.1)
actionpack (= 6.0.2.1)
zeitwerk (~> 2.2)
addressable (2.7.0)
public_suffix (>= 2.0.2, < 5.0)
- annotate (3.0.3)
+ annotate (3.1.0)
activerecord (>= 3.2, < 7.0)
rake (>= 10.4, < 14.0)
ast (2.4.0)
autoprefixer-rails (9.7.4)
execjs
aws-eventstream (1.0.3)
- aws-partitions (1.272.0)
- aws-sdk-core (3.90.0)
+ aws-partitions (1.281.0)
+ aws-sdk-core (3.91.0)
aws-eventstream (~> 1.0, >= 1.0.2)
aws-partitions (~> 1, >= 1.239.0)
aws-sigv4 (~> 1.1)
jmespath (~> 1.0)
- aws-sdk-kms (1.29.0)
+ aws-sdk-kms (1.30.0)
aws-sdk-core (~> 3, >= 3.71.0)
aws-sigv4 (~> 1.1)
- aws-sdk-s3 (1.60.2)
+ aws-sdk-s3 (1.61.0)
aws-sdk-core (~> 3, >= 3.83.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.1)
- aws-sigv4 (1.1.0)
+ aws-sigv4 (1.1.1)
aws-eventstream (~> 1.0, >= 1.0.2)
- better_errors (2.5.1)
+ better_errors (2.6.0)
coderay (>= 1.0.0)
erubi (>= 1.0.0)
rack (>= 0.9.0)
bigdecimal (1.1.0)
binding_of_caller (0.8.0)
debug_inspector (>= 0.0.1)
- bootsnap (1.4.5)
+ bootsnap (1.4.6)
msgpack (~> 1.0)
bootstrap (4.3.1)
autoprefixer-rails (>= 9.1.0)
popper_js (>= 1.14.3, < 2)
sassc-rails (>= 2.0.0)
- browser (3.0.3)
+ browser (4.0.0)
builder (3.2.4)
bzip2-ffi (1.0.0)
ffi (~> 1.0)
activerecord (>= 3.0, < 6.1)
delayed_job (>= 3.0, < 5)
docile (1.3.2)
- dry-configurable (0.9.0)
+ dry-configurable (0.11.3)
concurrent-ruby (~> 1.0)
dry-core (~> 0.4, >= 0.4.7)
+ dry-equalizer (~> 0.2)
dry-container (0.7.2)
concurrent-ruby (~> 1.0)
dry-configurable (~> 0.1, >= 0.1.3)
concurrent-ruby (~> 1.0)
dry-core (~> 0.2)
dry-equalizer (~> 0.2)
- dry-schema (1.4.3)
+ dry-schema (1.5.0)
concurrent-ruby (~> 1.0)
dry-configurable (~> 0.8, >= 0.8.3)
dry-core (~> 0.4)
dry-equalizer (~> 0.2)
dry-initializer (~> 3.0)
dry-logic (~> 1.0)
- dry-types (~> 1.2)
- dry-types (1.3.0)
+ dry-types (~> 1.4)
+ dry-types (1.4.0)
concurrent-ruby (~> 1.0)
dry-container (~> 0.3)
dry-core (~> 0.4, >= 0.4.4)
dry-equalizer (~> 0.3)
dry-inflector (~> 0.1, >= 0.1.2)
dry-logic (~> 1.0, >= 1.0.2)
- dry-validation (1.4.2)
+ dry-validation (1.5.0)
concurrent-ruby (~> 1.0)
dry-container (~> 0.7, >= 0.7.1)
dry-core (~> 0.4)
dry-equalizer (~> 0.2)
dry-initializer (~> 3.0)
- dry-schema (~> 1.4, >= 1.4.3)
+ dry-schema (~> 1.5)
dynamic_form (1.1.4)
- erb_lint (0.0.31)
+ erb_lint (0.0.30)
activesupport
better_html (~> 1.0.7)
html_tokenizer
rainbow
- rubocop (~> 0.79.0)
+ rubocop (~> 0.51)
smart_properties
erubi (1.9.0)
execjs (2.7.0)
factory_bot_rails (5.1.1)
factory_bot (~> 5.1.0)
railties (>= 4.2.0)
- fakefs (1.0.0)
faraday (1.0.0)
multipart-post (>= 1.2, < 3)
ffi (1.12.2)
ffi (>= 1.0.0)
globalid (0.4.2)
activesupport (>= 4.2.0)
- hashdiff (1.0.0)
- hashie (3.6.0)
+ hashdiff (1.0.1)
+ hashie (4.1.0)
html_tokenizer (0.0.7)
htmlentities (4.3.4)
http_accept_language (2.0.5)
i18n (0.9.5)
concurrent-ruby (~> 1.0)
- i18n-js (3.5.1)
+ i18n-js (3.6.0)
i18n (>= 0.6.6)
image_optim (0.26.5)
exifr (~> 1.2, >= 1.2.2)
multi_xml (0.6.0)
multipart-post (2.1.1)
nio4r (2.5.2)
- nokogiri (1.10.8)
+ nokogiri (1.10.9)
mini_portile2 (~> 2.4.0)
nokogumbo (2.0.2)
nokogiri (~> 1.8, >= 1.8.4)
multi_json (~> 1.3)
multi_xml (~> 0.5)
rack (>= 1.2, < 3)
- omniauth (1.9.0)
- hashie (>= 3.4.6, < 3.7.0)
+ omniauth (1.9.1)
+ hashie (>= 3.4.6)
rack (>= 1.6.2, < 3)
omniauth-facebook (6.0.0)
omniauth-oauth2 (~> 1.2)
omniauth-oauth2 (~> 1.4)
openstreetmap-deadlock_retry (1.3.0)
parallel (1.19.1)
- parser (2.7.0.2)
+ parser (2.7.0.4)
ast (~> 2.4.0)
pg (1.2.2)
poltergeist (1.18.1)
progress (3.5.2)
psych (3.1.0)
public_suffix (4.0.3)
- puma (3.12.2)
+ puma (3.12.4)
quad_tile (1.0.1)
r2 (0.2.7)
rack (2.2.2)
rb-fsevent (0.10.3)
rb-inotify (0.10.1)
ffi (~> 1.0)
- regexp_parser (1.6.0)
+ regexp_parser (1.7.0)
request_store (1.5.0)
rack (>= 1.4)
+ rexml (3.2.4)
rinku (2.0.6)
rotp (5.1.0)
addressable (~> 2.5)
- rubocop (0.79.0)
+ rubocop (0.80.1)
jaro_winkler (~> 1.5.1)
parallel (~> 1.10)
parser (>= 2.7.0.1)
rainbow (>= 2.2.2, < 4.0)
+ rexml
ruby-progressbar (~> 1.7)
unicode-display_width (>= 1.4.0, < 1.7)
rubocop-performance (1.5.2)
validates_email_format_of (1.6.3)
i18n
vendorer (0.2.0)
- webmock (3.8.2)
+ webmock (3.8.3)
addressable (>= 2.3.6)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
websocket-extensions (0.1.4)
xpath (3.2.0)
nokogiri (~> 1.8)
- zeitwerk (2.2.2)
+ zeitwerk (2.3.0)
PLATFORMS
ruby
dynamic_form
erb_lint
factory_bot_rails
- fakefs
faraday
ffi-libarchive
gd2-ffij (>= 0.4.0)
};
function highlightChangeset(id) {
- group.getLayer(id).setStyle({ fillOpacity: 0.3, color: "#FF6600", weight: 3 });
+ var layer = group.getLayer(id);
+ if (layer) layer.setStyle({ fillOpacity: 0.3, color: "#FF6600", weight: 3 });
$("#changeset_" + id).addClass("selected");
}
function unHighlightChangeset(id) {
- group.getLayer(id).setStyle({ fillOpacity: 0, color: "#FF9500", weight: 2 });
+ var layer = group.getLayer(id);
+ if (layer) layer.setStyle({ fillOpacity: 0, color: "#FF9500", weight: 2 });
$("#changeset_" + id).removeClass("selected");
}
+++ /dev/null
-/*!
- * Bootstrap v4.3.1 (https://getbootstrap.com/)
- * Copyright 2011-2019 The Bootstrap Authors
- * Copyright 2011-2019 Twitter, Inc.
- * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
- */
-
-@import "bootstrap/functions";
-@import "bootstrap/variables";
-@import "bootstrap/mixins";
-@import "bootstrap/root";
-@import "bootstrap/reboot";
-@import "bootstrap/type";
-// @import "bootstrap/images";
-// @import "bootstrap/code";
-@import "bootstrap/grid";
-// @import "bootstrap/tables";
-// @import "bootstrap/forms";
-@import "bootstrap/buttons";
-// @import "bootstrap/transitions";
-@import "bootstrap/dropdown";
-@import "bootstrap/button-group";
-// @import "bootstrap/input-group";
-// @import "bootstrap/custom-forms";
-@import "bootstrap/nav";
-@import "bootstrap/navbar";
-@import "bootstrap/card";
-// @import "bootstrap/breadcrumb";
-// @import "bootstrap/pagination";
-@import "bootstrap/badge";
-// @import "bootstrap/jumbotron";
-@import "bootstrap/alert";
-// @import "bootstrap/progress";
-// @import "bootstrap/media";
-@import "bootstrap/list-group";
-// @import "bootstrap/close";
-// @import "bootstrap/toasts";
-// @import "bootstrap/modal";
-@import "bootstrap/tooltip";
-// @import "bootstrap/popover";
-// @import "bootstrap/carousel";
-// @import "bootstrap/spinners";
-@import "bootstrap/utilities";
-// @import "bootstrap/print";
@import "parameters";
-@import "bootstrap-custom";
+@import "bootstrap";
/* Styles common to large and small screens */
input[type=text].overflow {
border-right: none;
+ border-radius: 3px 0px 0px 3px;
}
input:focus {
}
}
-/* Rules for doing distinct colour of alternate table rows */
+/* Customise the background colour of striped tables */
-.table0,
-.item0 {
- background: $offwhite;
-}
-
-.table1,
-.item1 {
- background: #fff;
+.table-striped > tbody > tr:nth-child(2n+1) > td,
+.table-striped > tbody > tr:nth-child(2n+1) > th {
+ background-color: $offwhite;
}
/* Rules for OpenID logo */
before_action :check_api_readable
around_action :api_call_handle_error, :api_call_timeout
- before_action :set_default_request_format
+ before_action :set_request_formats
# This is probably the most common call of all. It is used for getting the
# OSM data for a specified bounding box, usually for editing. First the
before_action :check_api_readable, :except => [:create, :update, :delete]
around_action :api_call_handle_error, :api_call_timeout
- before_action :set_default_request_format, :except => [:create, :update, :delete]
+ before_action :set_request_formats, :except => [:create, :update, :delete]
# Create a node from XML.
def create
before_action :lookup_old_element, :except => [:history]
before_action :lookup_old_element_versions, :only => [:history]
- before_action :set_default_request_format, :except => [:redact]
+ before_action :set_request_formats, :except => [:redact]
def history
# the .where() method used in the lookup_old_element_versions
before_action :check_api_readable, :except => [:create, :update, :delete]
around_action :api_call_handle_error, :api_call_timeout
- before_action :set_default_request_format, :except => [:create, :update, :delete]
+ before_action :set_request_formats, :except => [:create, :update, :delete]
def create
assert_method :put
before_action :check_api_readable, :except => [:create, :update, :delete]
around_action :api_call_handle_error, :api_call_timeout
- before_action :set_default_request_format, :except => [:create, :update, :delete]
+ before_action :set_request_formats, :except => [:create, :update, :delete]
def create
assert_method :put
private
##
- # Set default request format to xml unless a client requests a specific format,
- # which can be done via (a) URL suffix and/or (b) HTTP Accept header, where
- # the URL suffix always takes precedence over the Accept header.
- def set_default_request_format
+ # Set allowed request formats if no explicit format has been
+ # requested via a URL suffix. Allowed formats are taken from
+ # any HTTP Accept header with XML as the default.
+ def set_request_formats
unless params[:format]
accept_header = request.headers["HTTP_ACCEPT"]
- if accept_header.nil?
- # e.g. unit tests don't set an Accept: header by default, force XML in this case
- request.format = "xml"
- return
- end
-
- req_mimetypes = []
-
- # Some clients (JOSM) send Accept headers which cannot be parsed by Rails, example: *; q=.2
- # To be fair, JOSM's Accept header doesn't adhere to RFC 7231, section 5.3.1, et al. either
- # As a workaround for backwards compatibility, we're assuming XML format
- begin
- req_mimetypes = Mime::Type.parse(accept_header)
- rescue Mime::Type::InvalidMimeType
- request.format = "xml"
- return
- end
-
- # req_mimetypes contains all Accept header MIME types with descending priority
- req_mimetypes.each do |mime|
- if mime.symbol == :xml
- request.format = "xml"
- break
- end
-
- if mime.symbol == :json
- request.format = "json"
- break
- end
- # Any format, not explicitly requesting XML or JSON -> assume XML as default
- if mime == "*/*"
- request.format = "xml"
- break
+ if accept_header
+ # Some clients (such asJOSM) send Accept headers which cannot be
+ # parse by Rails, for example:
+ #
+ # Accept: text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2
+ #
+ # where both "*" and ".2" as a quality do not adhere to the syntax
+ # described in RFC 7231, section 5.3.1, etc.
+ #
+ # As a workaround, and for back compatibility, default to XML format.
+ mimetypes = begin
+ Mime::Type.parse(accept_header)
+ rescue Mime::Type::InvalidMimeType
+ Array(Mime[:xml])
+ end
+
+ # Allow XML and JSON formats, and treat an all formats wildcard
+ # as XML for backwards compatibility - all other formats are discarded
+ # which will result in a 406 Not Acceptable response being sent
+ formats = mimetypes.map do |mime|
+ if mime.symbol == :xml then :xml
+ elsif mime.symbol == :json then :json
+ elsif mime == "*/*" then :xml
+ end
end
-
- # In case the client requests some other format besides XML, JSON and */*,
- # we deliberately don't set request.format. The framework will return an
- # ActionController::UnknownFormat error to the client later on in this case.
+ else
+ # Default to XML if no accept header was sent - this includes
+ # the unit tests which don't set one by default
+ formats = Array(:xml)
end
+
+ request.formats = formats.compact
end
end
private
def find_issue
- @issue = Issue.find(params[:id])
+ @issue = Issue.visible_to(current_user).find(params[:id])
+ rescue ActiveRecord::RecordNotFound
+ head :not_found
end
end
<h4>
<% if common_details.changeset.tags['comment'].present? %>
- <%= linkify(h(common_details.changeset.tags["comment"])) %>
+ <%= linkify(common_details.changeset.tags["comment"]) %>
<% else %>
<%= t "browse.no_comment" %>
<% end %>
<div class="details">
<%= t "browse.version" %>
- #<%= h(common_details.version) %>
+ #<%= common_details.version %>
·
<%= t "browse.in_changeset" %>
#<%= link_to common_details.changeset_id, :action => :changeset, :id => common_details.changeset_id %>
-<li><%= linked_name = link_to h(printable_name(containing_relation.relation)), :action => "relation", :id => containing_relation.relation.id.to_s
+<li><%= linked_name = link_to printable_name(containing_relation.relation), :action => "relation", :id => containing_relation.relation.id.to_s
if containing_relation.member_role.blank?
t ".entry_html", :relation_name => linked_name
else
- t ".entry_role_html", :relation_name => linked_name, :relation_role => h(containing_relation.member_role)
+ t ".entry_role_html", :relation_name => linked_name, :relation_role => containing_relation.member_role
end %>
</li>
<%= if relation_member.member_role.blank?
t ".entry_html", :type => type_str, :name => linked_name
else
- t ".entry_role_html", :type => type_str, :name => linked_name, :role => h(relation_member.member_role)
+ t ".entry_role_html", :type => type_str, :name => linked_name, :role => relation_member.member_role
end %>
</li>
</h2>
<div class="browse-section">
- <h6><%= linkify(h(@changeset.tags["comment"].to_s.presence || t("browse.no_comment"))) %></h6>
+ <h6><%= linkify(@changeset.tags["comment"].to_s.presence || t("browse.no_comment")) %></h6>
<div class="details"><%= changeset_details(@changeset) %></div>
<%= render :partial => "tag_details", :object => @changeset.tags.except("comment") %>
<%= t(".commented_by",
:when => friendly_date_ago(comment.created_at),
:exact_time => l(comment.created_at),
- :user => link_to(h(comment.author.display_name), user_path(comment.author))).html_safe %>
+ :user => link_to(comment.author.display_name, user_path(comment.author))).html_safe %>
<% if current_user and current_user.moderator? %>
— <span class="action-button deemphasize" data-comment-id="<%= comment.id %>" data-method="POST" data-url="<%= changeset_comment_hide_url(comment.id) %>"><%= t("javascripts.changesets.show.hide_comment") %></span>
<% end %>
<%= t(".hidden_commented_by",
:when => friendly_date_ago(comment.created_at),
:exact_time => l(comment.created_at),
- :user => link_to(h(comment.author.display_name), user_path(comment.author))).html_safe %>
+ :user => link_to(comment.author.display_name, user_path(comment.author))).html_safe %>
— <span class="action-button deemphasize" data-comment-id="<%= comment.id %>" data-method="POST" data-url="<%= changeset_comment_unhide_url(comment.id) %>"><%= t("javascripts.changesets.show.unhide_comment") %></span>
</small>
<%= comment.body.to_html %>
:type => "application/osmChange+xml"
if !changeset.tags.empty? && changeset.tags.key?("comment")
- entry.title t("browse.changeset.feed.title_comment", :id => h(changeset.id), :comment => h(changeset.tags["comment"])), :type => "html"
+ entry.title t("browse.changeset.feed.title_comment", :id => changeset.id, :comment => changeset.tags["comment"]), :type => "html"
else
- entry.title t("browse.changeset.feed.title", :id => h(changeset.id))
+ entry.title t("browse.changeset.feed.title", :id => changeset.id)
end
if changeset.user.data_public?
table.tr do |tr|
tr.th t("browse.changeset.belongs_to")
tr.td do |td|
- td.a h(changeset.user.display_name), :href => user_url(changeset.user, :only_path => false)
+ td.a changeset.user.display_name, :href => user_url(changeset.user, :only_path => false)
end
end
end
td.table :cellpadding => "0" do |tag_table|
changeset.tags.sort.each do |tag|
tag_table.tr do |tag_tr|
- tag_tr.td << "#{h(tag[0])} = #{linkify(h(tag[1]))}"
+ tag_tr.td << "#{tag[0]} = #{linkify(tag[1])}"
end
end
end
<div class="clearfix diary-comment<%= " deemphasize" unless diary_comment.visible? %>">
<%= user_thumbnail diary_comment.user %>
- <p class="deemphasize comment-heading" id="comment<%= diary_comment.id %>"><%= t(".comment_from_html", :link_user => (link_to h(diary_comment.user.display_name), user_path(diary_comment.user)), :comment_created_at => link_to(l(diary_comment.created_at, :format => :friendly), :anchor => "comment#{diary_comment.id}")) %>
+ <p class="deemphasize comment-heading" id="comment<%= diary_comment.id %>"><%= t(".comment_from_html", :link_user => (link_to diary_comment.user.display_name, user_path(diary_comment.user)), :comment_created_at => link_to(l(diary_comment.created_at, :format => :friendly), :anchor => "comment#{diary_comment.id}")) %>
<% if current_user and diary_comment.user.id != current_user.id %>
| <%= report_link(t(".report"), diary_comment) %>
<% end %>
<%= user_thumbnail diary_entry.user %>
<% end %>
- <h2><%= link_to h(diary_entry.title), diary_entry_path(diary_entry.user, diary_entry) %></h2>
+ <h2><%= link_to diary_entry.title, diary_entry_path(diary_entry.user, diary_entry) %></h2>
<small class='deemphasize'>
- <%= t(".posted_by_html", :link_user => (link_to h(diary_entry.user.display_name), user_path(diary_entry.user)), :created => l(diary_entry.created_at, :format => :blog), :language_link => (link_to diary_entry.language.name, :controller => "diary_entries", :action => "index", :display_name => nil, :language => diary_entry.language_code)) %>
+ <%= t(".posted_by_html", :link_user => (link_to diary_entry.user.display_name, user_path(diary_entry.user)), :created => l(diary_entry.created_at, :format => :blog), :language_link => (link_to diary_entry.language.name, :controller => "diary_entries", :action => "index", :display_name => nil, :language => diary_entry.language_code)) %>
</small>
</div>
<h1><%= t(".has_commented_on", :display_name => @user.display_name) %></h1>
<% end %>
-<table class="messages" width="100%">
+<table class="table table-striped" width="100%">
<thead>
<tr>
<th width="25%"><%= t ".post" %></th>
</tr>
</thead>
<% @comments.each do |comment| -%>
- <% cl = cycle("table0", "table1") %>
- <tr class="<%= cl %><%= " deemphasize" unless comment.visible? %>">
+ <tr class="<%= "deemphasize" unless comment.visible? %>">
<td width="25%"><%= link_to comment.diary_entry.title, diary_entry_path(comment.diary_entry.user, comment.diary_entry) %></td>
<td width="25%"><span title="<%= l comment.created_at, :format => :friendly %>"><%= time_ago_in_words(comment.created_at, :scope => :'datetime.distance_in_words_ago') %></span></td>
<td width="50%" class="richtext"><%= comment.body.to_html %></td>
<% if @user %>
<%= user_image @user %>
<% end %>
- <h1><%= h(@title) %></h1>
+ <h1><%= @title %></h1>
<ul class='secondary-actions clearfix'>
<% unless params[:friends] or params[:nearby] -%>
<tr id="inbox-<%= message_summary.id %>" class="inbox-row<%= "-unread" unless message_summary.message_read? %>">
- <td class="inbox-sender"><%= link_to h(message_summary.sender.display_name), user_path(message_summary.sender) %></td>
- <td class="inbox-subject"><%= link_to h(message_summary.title), message_path(message_summary) %></td>
+ <td class="inbox-sender"><%= link_to message_summary.sender.display_name, user_path(message_summary.sender) %></td>
+ <td class="inbox-subject"><%= link_to message_summary.title, message_path(message_summary) %></td>
<td class="inbox-sent"><%= l message_summary.sent_on, :format => :friendly %></td>
<td class="inbox-mark-unread"><%= button_to t(".unread_button"), message_mark_path(message_summary, :mark => "unread"), :remote => true %></td>
<td class="inbox-mark-read"><%= button_to t(".read_button"), message_mark_path(message_summary, :mark => "read"), :remote => true %></td>
<tr class="inbox-row">
- <td class="inbox-sender"><%= link_to h(sent_message_summary.recipient.display_name), user_path(sent_message_summary.recipient) %></td>
- <td class="inbox-subject"><%= link_to h(sent_message_summary.title), message_path(sent_message_summary) %></td>
+ <td class="inbox-sender"><%= link_to sent_message_summary.recipient.display_name, user_path(sent_message_summary.recipient) %></td>
+ <td class="inbox-subject"><%= link_to sent_message_summary.title, message_path(sent_message_summary) %></td>
<td class="inbox-sent"><%= l sent_message_summary.sent_on, :format => :friendly %></td>
<td class="inbox-destroy"><%= button_to t(".destroy_button"), message_path(sent_message_summary, :referer => request.fullpath), :method => :delete, :remote => true %></td>
</tr>
<% if current_user == @message.recipient %>
<% content_for :heading do %>
- <h2><%= h(@message.title) %></h2>
+ <h2><%= @message.title %></h2>
<% end %>
<div class='info-line clearfix'>
<%= user_thumbnail_tiny @message.sender %>
- <%= link_to h(@message.sender.display_name), user_path(@message.sender) %></td>
+ <%= link_to @message.sender.display_name, user_path(@message.sender) %></td>
<div class='right'>
<%= l @message.sent_on, :format => :friendly %>
</div>
<% else %>
- <h2><%= h(@message.title) %></h2>
+ <h2><%= @message.title %></h2>
<div class='info-line clearfix'>
<%= user_thumbnail_tiny @message.recipient %>
- <%= link_to h(@message.recipient.display_name), user_path(@message.recipient) %></td>
+ <%= link_to @message.recipient.display_name, user_path(@message.recipient) %></td>
<div class='right'>
<%= l @message.sent_on, :format => :friendly %>
</div>
<tr>
- <% cl = cycle("table0", "table1") %>
- <td class="<%= cl %>">
+ <td>
<% if Settings.status != "gpx_offline" %>
<% if trace.inserted %>
<a href="<%= url_for :controller => "traces", :action => "show", :id => trace.id, :display_name => trace.user.display_name %>"><img src="<%= url_for :controller => "traces", :action => "icon", :id => trace.id, :display_name => trace.user.display_name %>" border="0" alt="" /></a>
<% end %>
<% end %>
</td>
- <td class="<%= cl %>"><%= link_to trace.name, :controller => "traces", :action => "show", :display_name => trace.user.display_name, :id => trace.id %>
+ <td><%= link_to trace.name, :controller => "traces", :action => "show", :display_name => trace.user.display_name, :id => trace.id %>
<span class="trace_summary" title="<%= trace.timestamp %>"> ...
<% if trace.inserted %>
(<%= t ".count_points", :count => trace.size %>)
<br />
<%= trace.description %>
<br />
- <%= t ".by" %> <%= link_to h(trace.user.display_name), user_path(trace.user) %>
+ <%= t ".by" %> <%= link_to trace.user.display_name, user_path(trace.user) %>
<% if !trace.tags.empty? %>
<%= t ".in" %>
<%= safe_join(trace.tags.collect { |tag| link_to_tag tag.tag }, ", ") %>
<% content_for :heading do %>
- <h2><%= t ".heading", :name => h(@trace.name) %></h2>
+ <h2><%= t ".heading", :name => @trace.name %></h2>
<% end %>
<img src="<%= url_for :controller => "traces", :action => "picture", :id => @trace.id, :display_name => @trace.user.display_name %>">
<% end %>
<div class='standard-form-row'>
<label class='standard-label'><%= t ".owner" %></label>
- <p class='deemphasize'><%= link_to h(@trace.user.display_name), user_path(@trace.user) %></p>
+ <p class='deemphasize'><%= link_to @trace.user.display_name, user_path(@trace.user) %></p>
</div>
<div class='standard-form-row'>
<label class='standard-label'><%= t ".description" %></label>
<% content_for :heading do %>
- <h1><%= h(@title) %></h1>
+ <h1><%= @title %></h1>
<ul class='secondary-actions clearfix'>
<li><%= t(".description") %></li>
<li><%= rss_link_to :action => "georss", :display_name => @display_name, :tag => @tag %></li>
<% if @traces.size > 0 %>
<%= render :partial => "trace_paging_nav" %>
- <table id="trace_list" cellpadding="3">
+ <table id="trace_list" class="table table-borderless table-striped">
<thead>
<tr>
<th></th>
<% content_for :heading do %>
- <h2><%= t ".heading", :name => h(@trace.name) %></h2>
+ <h2><%= t ".heading", :name => @trace.name %></h2>
<% end %>
<% if Settings.status != "gpx_offline" %>
<% end %>
<tr>
<td><%= t ".owner" %></td>
- <td><%= link_to h(@trace.user.display_name), user_path(@trace.user) %></td>
+ <td><%= link_to @trace.user.display_name, user_path(@trace.user) %></td>
</tr>
<tr>
<td><%= t ".description" %></td>
- <td><%= h(@trace.description) %></td>
+ <td><%= @trace.description %></td>
</tr>
<tr>
<td><%= t ".tags" %></td>
<tr>
- <% c1 = cycle("table0", "table1") %>
-
<% if show_user_name %>
- <td class="<%= c1 %>"><%= link_to h(block.user.display_name), user_path(block.user) %></td>
+ <td><%= link_to block.user.display_name, user_path(block.user) %></td>
<% end %>
<% if show_creator_name %>
- <td class="<%= c1 %>"><%= link_to h(block.creator.display_name), user_path(block.creator) %></td>
+ <td><%= link_to block.creator.display_name, user_path(block.creator) %></td>
<% end %>
- <td class="<%= c1 %>"><%= h truncate(block.reason) %></td>
- <td class="<%= c1 %>"><%= h block_status(block) %></td>
- <td class="<%= c1 %>">
+ <td><%= h truncate(block.reason) %></td>
+ <td><%= h block_status(block) %></td>
+ <td>
<% if block.revoker_id.nil? %>
<%= t(".not_revoked") %>
<% else %>
- <%= link_to h(block.revoker.display_name), user_path(block.revoker) %>
+ <%= link_to block.revoker.display_name, user_path(block.revoker) %>
<% end %>
</td>
- <td class="<%= c1 %>"><%= link_to t(".show"), block %></td>
- <td class="<%= c1 %>"><% if current_user and current_user.id == block.creator_id and block.active? %><%= link_to t(".edit"), edit_user_block_path(block) %><% end %></td>
+ <td><%= link_to t(".show"), block %></td>
+ <td><% if current_user and current_user.id == block.creator_id and block.active? %><%= link_to t(".edit"), edit_user_block_path(block) %><% end %></td>
<% if show_revoke_link %>
- <td class="<%= c1 %>"><% if block.active? %><%= link_to t(".revoke"), :controller => "user_blocks", :action => "revoke", :id => block.id %><% end %></td>
+ <td><% if block.active? %><%= link_to t(".revoke"), :controller => "user_blocks", :action => "revoke", :id => block.id %><% end %></td>
<% end %>
</tr>
-<table id="block_list" cellpadding="3">
+<table id="block_list" class="table table-borderless table-striped table-sm">
<thead>
<tr>
<% if show_user_name %>
<% unless @user_blocks.empty? %>
<%= render :partial => "blocks", :locals => { :show_revoke_link => can?(:revoke, UserBlock), :show_user_name => false, :show_creator_name => true } %>
<% else %>
-<p><%= t ".empty", :name => h(@user.display_name) %></p>
+<p><%= t ".empty", :name => @user.display_name %></p>
<% end %>
<% @title = t(".title",
- :block_on => h(@user_block.user.display_name),
- :block_by => h(@user_block.creator.display_name)) %>
+ :block_on => @user_block.user.display_name,
+ :block_by => @user_block.creator.display_name) %>
<% content_for :heading do %>
<h1><%= t(".heading_html",
<% if @user_block.revoker %>
<p>
<b><%= t ".revoker" %></b>
- <%= link_to h(@user_block.revoker.display_name), user_path(@user_block.revoker) %>
+ <%= link_to @user_block.revoker.display_name, user_path(@user_block.revoker) %>
</p>
<% end %>
<%= user_thumbnail contact %>
<div class='activity-details'>
<p class='deemphasize'>
- <%= link_to h(contact.display_name), user_path(contact) %>
+ <%= link_to contact.display_name, user_path(contact) %>
<% if @user.home_lon and @user.home_lat and contact.home_lon and contact.home_lat %>
<% distance = @user.distance(contact) %>
<% if distance < 1 %>
-<% cl = cycle("table0", "table1") %>
-
-<tr class="<%= cl %>">
+<tr>
<td>
<%= user_thumbnail(user) %>
</td>
<p>
<% if user.creation_ip %>
<%= t "users.index.summary_html",
- :name => link_to(h(user.display_name), user_path(user)),
+ :name => link_to(user.display_name, user_path(user)),
:ip_address => link_to(user.creation_ip, :ip => user.creation_ip),
:date => l(user.creation_time, :format => :friendly) %>
<% else %>
<%= t "users.index.summary_no_ip_html",
- :name => link_to(h(user.display_name), user_path(user)),
+ :name => link_to(user.display_name, user_path(user)),
:date => l(user.creation_time, :format => :friendly) %>
<% end %>
</p>
<%= hidden_field_tag :status, params[:status] if params[:status] %>
<%= hidden_field_tag :ip, params[:ip] if params[:ip] %>
<%= hidden_field_tag :page, params[:page] if params[:page] %>
- <table id="user_list">
+ <table id="user_list" class="table table-borderless table-striped">
<thead>
<tr>
<td colspan="2">
# Author: Jhnrvr
# Author: Jim-by
# Author: Macofe
+# Author: Maksim L.
# Author: Mechanizatar
# Author: Unomano
# Author: Дзяніс Тутэйшы
notes:
comment:
opened_at_html: Створана %{when}
- opened_at_by_html: Створана %{when} карыстальнікам %{user}
+ opened_at_by_html: Створана %{when} удзельнікам %{user}
commented_at_html: Абноўлена %{when}
- commented_at_by_html: Абноўлена %{when} карыстальнікам %{user}
+ commented_at_by_html: Абноўлена %{when} удзельнікам %{user}
closed_at_html: Вырашана %{when}
- closed_at_by_html: Вырашаны %{when} карыстальнікам %{user}
+ closed_at_by_html: Вырашаны %{when} удзельнікам %{user}
reopened_at_html: Пераадкрыта %{when}
- reopened_at_by_html: Пераадкрыта %{when} карыстальнікам %{user}
+ reopened_at_by_html: Пераадкрыта %{when} удзельнікам %{user}
rss:
title: Заўвагі OpenStreetMap
description_area: Спіс заўваг створаных, пракаментаваных ці вырашаных у вашым
commented_by: Каментарый ад %{user} <abbr title='%{exact_time}'>%{when} </abbr>
commented_by_anonymous: Ананімны каментарый <abbr title='%{exact_time}'>%{when}
</abbr>
- closed_by: Вырашана карыстальнікам %{user} <abbr title='%{exact_time}'>%{when}</abbr>
- closed_by_anonymous: Вырашана ананімным карыстальнікам <abbr title='%{exact_time}'>%{when}</abbr>
- reopened_by: Паўторна актывавана карыстальнікам %{user} <abbr title='%{exact_time}'>%{when}</abbr>
- reopened_by_anonymous: Пераадкрыта ананімным карыстальнікам <abbr title='%{exact_time}'>%{when}</abbr>
- hidden_by: Схавана карыстальнікам %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+ closed_by: Вырашана ўдзельнікам %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+ closed_by_anonymous: Вырашана ананімным удзельнікам <abbr title='%{exact_time}'>%{when}</abbr>
+ reopened_by: Паўторна актывавана ўдзельнікам %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+ reopened_by_anonymous: Пераадкрыта ананімным удзельнікам <abbr title='%{exact_time}'>%{when}</abbr>
+ hidden_by: Схавана ўдзельнікам %{user} <abbr title='%{exact_time}'>%{when}</abbr>
report: Паскардзіцца на гэтую заўвагу
query:
title: Пошук аб’ектаў
changeset_comments:
comment:
comment: Новы каментар на пакет правак %{changeset_id} ад %{author}
- commented_at_by_html: Абноўлена %{when} карыстальнікам %{user}
+ commented_at_by_html: Абноўлена %{when} удзельнікам %{user}
comments:
comment: Новы каментар на пакет правак %{changeset_id} ад %{author}
index:
reports: Скаргі
last_updated: Апошняе змяненне
last_updated_time_html: <abbr title='%{title}'>%{time}</abbr>
- last_updated_time_user_html: <abbr title='%{title}'>%{time}</abbr> карыстальнікам
+ last_updated_time_user_html: <abbr title='%{title}'>%{time}</abbr> удзельнікам
%{user}
link_to_reports: Глядзець скаргі
reports_count:
comment_from_html: Каментарый ад %{user_link} у %{comment_created_at}
reassign_param: Пераназначыць праблему?
reports:
- reported_by_html: Паведамлена як %{category} карыстальнікам %{user} у %{updated_at}
+ reported_by_html: Паведамлена як %{category} удзельнікам %{user} у %{updated_at}
helper:
reportable_title:
diary_comment: '%{entry_title}, каментар #%{comment_id}'
subject_other: '[OpenStreetMap] %{commenter} пракаментаваў цікавы вам набор
зменаў'
your_changeset: '%{commenter} пакінуў каментарый на адзін з вашых набораў
- зменаў, створаных %{time}'
+ змен, створаных %{time}'
commented_changeset: '%{commenter}% у %{time} пакінуў каментарый да набору
- зменаў ад %{changeset_author}, які вы адсочваеце'
+ змен ад %{changeset_author}, за якім вы назіраеце'
partial_changeset_with_comment: з каментаром '%{changeset_comment}'
partial_changeset_without_comment: без каментароў
details: Дадатковыя звесткі аб наборы зьменаў можна знайсці ў %{url}.
heading: Умовы
heading_ct: Умовы ўдзелу
read and accept with tou: Калі ласка, азнаёмцеся з пагадненнем удзельнікаў і
- з Ñ\83мовамÑ\96 вÑ\8bкаÑ\80Ñ\8bÑ\81Ñ\82аннÑ\8f, паÑ\81лÑ\8f Ñ\87аго паÑ\81Ñ\82аÑ\9eÑ\86е абедзÑ\8cве пÑ\82Ñ\83Ñ\88кÑ\96 Ñ\96 наÑ\86Ñ\96Ñ\81нÑ\96Ñ\86е кнопкÑ\83
- "Ð\9fÑ\80аÑ\86Ñ\8fгнÑ\83Ñ\82ь".
+ з умовамі карыстання, пасля чаго пастаўце абедзьве птушкі і націсніце кнопку
+ "Ð\9fÑ\80аÑ\86Ñ\8fгнÑ\83Ñ\86ь".
contributor_terms_explain: Гэтае пагадненне регулюе ўмовы вашага існага і будучага
ўкладу.
read_ct: Я прачытаў і пагаджаюся з пагадненнем удзельнікаў.
message:
create: Envia
client_application:
- create: Registra
- update: Modifica
+ create: Registrar
+ update: Edita
redaction:
- create: Crea una redacció
- update: Desa la redacció
+ create: Crear un informe
+ update: Desar un informe
trace:
- create: Puja
- update: Desa els canvis
+ create: Pujar
+ update: Desar els canvis
user_block:
- create: Crea un bloc
- update: Actualitza el bloc
+ create: Crear un bloc
+ update: Actualitzar el bloc
activerecord:
errors:
messages:
invalid_email_address: no sembla ser una adreça electrònica vàlida
- email_address_not_routable: no és encaminable
+ email_address_not_routable: no és rutejable
models:
acl: Llista de control d'accés
changeset: Conjunt de canvis
changeset_tag: Etiqueta del conjunt de canvis
country: País
- diary_comment: Comentari de diari
- diary_entry: Entrada de diari
+ diary_comment: Comentari al diari
+ diary_entry: Entrada al diari
friend: Amic
language: Llengua
message: Missatge
old_relation: Relació antiga
old_relation_member: Membre de la relació antiga
old_relation_tag: Etiqueta de relació antiga
- old_way: Camí antic
+ old_way: Via antiga
old_way_node: Node de la via antiga
old_way_tag: Etiqueta de la via antiga
relation: Relació
trace: Traça
tracepoint: Punt de la traça
tracetag: Etiqueta de la traça
- user: Usuari
+ user: Usuari/a
user_preference: Preferència de l'usuari
user_token: Testimoni d'usuari
way: Via
longitude: Longitud
language: Idioma
friend:
- user: Usuari
+ user: Usuari/a
friend: Amic
trace:
user: Usuari
other: gairebé fa gairebé %{count} anys
half_a_minute: fa mig minut
less_than_x_seconds:
- other: un=fa menys d'1 segon
+ one: fa menys d'1 segon
+ other: fa menys de %{count} segons
less_than_x_minutes:
- other: un=fa menys d’1 minut
+ one: fa menys d'1 minut
+ other: fa menys de %{count} minuts
over_x_years:
- other: un=fa més d’1 any
+ one: fa més d'1 any
+ other: fa més de %{count} anys
x_seconds:
one: fa 1 segon
other: fa %{count} segons
x_minutes:
- other: un=fa 1 minut
+ one: fa 1 minut
+ other: fa %{count} minuts
x_days:
- other: un=fa 1 dia
+ one: fa 1 dia
+ other: fa %{count} dies
x_months:
- other: un=fa 1 mes
+ one: fa 1 mes
+ other: fa %{count} mesos
x_years:
other: un=fa 1 any
printable_name:
api:
notes:
comment:
- opened_at_html: Creat a %{when}
- opened_at_by_html: Creat a %{when} per %{user}
- commented_at_html: Actualitzat a %{when}
- commented_at_by_html: Actualitzat a %{when} per %{user}
- closed_at_html: Resolt a %{when}
- closed_at_by_html: Resolt a %{when} per %{user}
- reopened_at_html: Reactivat a %{when}
- reopened_at_by_html: Reactivat a %{when} per %{user}
+ opened_at_html: Creat %{when}
+ opened_at_by_html: Creat %{when} per %{user}
+ commented_at_html: Actualitzat %{when}
+ commented_at_by_html: Actualitzat %{when} per %{user}
+ closed_at_html: Resolt %{when}
+ closed_at_by_html: Resolt %{when} per %{user}
+ reopened_at_html: Reactivat %{when}
+ reopened_at_by_html: Reactivat %{when} per %{user}
rss:
title: Notes d'OpenStreetMap
description_area: Una llista de notes reportades, comentades o bé tancades
- a la vostra àrea [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
+ a la teva àrea [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
description_item: Un agregador rss per a la nota %{id}
opened: Nota nova (a prop de %{place})
commented: nou comentari (a prop de %{place})
anonymous: anònim
no_comment: (cap comentari)
part_of: Part de
- download_xml: Descarregar l'XML
- view_history: Mostra l'historial
+ download_xml: Baixa l’XML
+ view_history: Mostra l’historial
view_details: Mostra els detalls
location: 'Ubicació:'
changeset:
feed:
title: Conjunt de canvis %{id}
title_comment: Conjunt de canvis %{id} - %{comment}
- join_discussion: Inicieu sessió per unir-vos a la discussió
- discussion: Discussió
- still_open: Conjunt de canvis encara obert - la discussió començarà quan es
- tanqui el conjunt de canvis.
+ join_discussion: Inicieu una sessió per a unir-vos al debat
+ discussion: Debat
+ still_open: Conjunt de canvis encara obert - el debat començarà quan es tanqui
+ el conjunt de canvis.
node:
title_html: 'Node: %{name}'
history_title_html: 'Historial del node: %{name}'
feature_warning: Carregant %{num_features} característiques que poden fer que
el vostre navegador funcioni més lent o que no respongui. Voleu mostrar aquestes
dades de tota manera?
- load_data: Carrega dades
+ load_data: Carregar dades
loading: S'està carregant...
tag_details:
tags: Etiquetes
wikidata_link: L'element %{page} a Wikidata
wikipedia_link: L'article %{page} a la Viquipèdia
wikimedia_commons_link: L'element %{page} a Wikimedia Commons
- telephone_link: Telefona %{phone_number}
+ telephone_link: Trucar %{phone_number}
colour_preview: Previsualització de color %{colour_value}
note:
title: 'Nota: %{id}'
reopened_by: Reactivat per %{user} a <abbr title='%{exact_time}'>%{when}</abbr>
reopened_by_anonymous: Reactivat per un anònim a <abbr title='%{exact_time}'>%{when}</abbr>
hidden_by: Ocultat per %{user} a <abbr title='%{exact_time}'>%{when}</abbr>
- report: Reporta aquesta nota
+ report: Reportar aquesta nota
query:
- title: Consulta objectes
- introduction: Cliqueu en el mapa per a trobar objectes propers.
+ title: Consultar objectes
+ introduction: Feu clic al mapa per a trobar objectes propers.
nearby: Objectes propers
enclosing: Objectes envoltants
changesets:
comments:
comment: 'Nou comentari de %{author} al conjunt de canvis #%{changeset_id}'
index:
- title_all: Discussió de conjunts de canvis d'OpenStreetMap
- title_particular: 'Discussió del conjunt de canvis #%{changeset_id} d''OpenStreetMap'
+ title_all: Debat sobre els conjunts de canvis d'OpenStreetMap
+ title_particular: 'Debat sobre el conjunt de canvis #%{changeset_id} d''OpenStreetMap'
timeout:
sorry: La llista de comentaris de conjunts de canvis que heu sol·licitat ha
trigat massa a recuperar-se.
hide_link: Amaga aquesta entrada
unhide_link: Mostra aquesta entrada
confirm: Confirma
- report: Denuncieu aquesta entrada
+ report: Denuncia aquesta entrada
diary_comment:
comment_from_html: Comentari de %{link_user} el %{comment_created_at}
hide_link: Amaga aquest comentari
unhide_link: Mostra aquest comentari
confirm: Confirma
- report: Reporteu aquest comentari
+ report: Denuncia aquest comentari
location:
location: 'Ubicació:'
view: Mostra
- edit: Modifica
+ edit: Editar
feed:
user:
- title: Entrades de diari d'OpenStreetMap per a %{user}
+ title: Entrades de diari d'OpenStreetMap de %{user}
description: Entrades de diari recents d'OpenStreetMap de %{user}
language:
title: Entrades de diari d'OpenStreetMap en %{language_name}
description: Entrades de diari recents dels usuaris d'OpenStreetMap
comments:
has_commented_on: '%{display_name} ha comentat les següents entrades de diari'
- post: Publica
+ post: Publicar
when: Quan
comment: Comentari
newer_comments: Comentaris més nous
holding_position: Punt d'espera
parking_position: Punt d'estacionament
runway: Pista
- taxiway: Carrer de rodada
+ taxiway: Carrer de rodatge
terminal: Terminal
amenity:
animal_shelter: Refugi d'animals
- arts_centre: Centre d'Art
+ arts_centre: Centre d'art
atm: Caixer automàtic
bank: Banc
- bar: Bar
+ bar: Bar de copes
bbq: Barbacoa
bench: Banc
bicycle_parking: Aparcament de bicicletes
car_wash: Rentat de cotxes
casino: Casino
charging_station: Estació de recàrrega
- childcare: Llar d'infants
+ childcare: Ludoteca
cinema: Cinema
clinic: Clínica
clock: Rellotge
- college: Institut
+ college: Facultat
community_centre: Centre cívic
courthouse: Jutjat
crematorium: Crematori
dentist: Dentista
doctors: Metges
- drinking_water: Aigua potable
+ drinking_water: Punt d'aigua potable
driving_school: Autoescola
embassy: Ambaixada
- fast_food: Menjar ràpid
+ fast_food: Lloc de menjar ràpid
ferry_terminal: Terminal de ferris
fire_station: Parc de bombers
food_court: Àrea de restauració
- fountain: Font
+ fountain: Font ornamental
fuel: Benzinera
gambling: Jocs d'atzar
grave_yard: Cementiri
grit_bin: Contenidor de sal
hospital: Hospital
- hunting_stand: Aguait
+ hunting_stand: Mirador de fauna
ice_cream: Gelateria
- kindergarten: Jardí d'infància
+ kindergarten: Escola bressol
library: Biblioteca
- marketplace: Mercat
+ marketplace: Mercat ambulant
monastery: Monestir
motorcycle_parking: Aparcament per a motos
nightclub: Club nocturn
nursing_home: Residència geriàtrica
office: Oficina
- parking: Pàrquing
+ parking: Aparcament
parking_entrance: Entrada d'aparcament
parking_space: Plaça d’aparcament
pharmacy: Farmàcia
post_office: Oficina de correus
preschool: Parvulari
prison: Presó
- pub: Pub
+ pub: Bar - Pub
public_building: Edifici públic
recycling: Punt de reciclatge
restaurant: Restaurant
- retirement_home: Residència geriàtrica
+ retirement_home: Casal d'avis
sauna: Sauna
- school: Escola
+ school: Escola - Institut
shelter: Refugi
shop: Botiga
shower: Dutxa
social_centre: Centre social
social_club: Club social
social_facility: Equipament social
- studio: Estudi
+ studio: Estudi de grabació
swimming_pool: Piscina
taxi: Taxi
telephone: Telèfon públic
highway:
abandoned: Carretera abandonada
bridleway: Camí de ferradura
- bus_guideway: Carril d'autobús guiat
+ bus_guideway: Carril per a troleibús
bus_stop: Parada d'autobús
- construction: Autopista en construcció
- corridor: Corredor
+ construction: Carretera en construcció
+ corridor: Passadís
cycleway: Carril bici
elevator: Ascensor
emergency_access_point: Accés d'emergència
- footway: Sendera
+ footway: Via per a vianants
ford: Gual
give_way: Senyal de cediu el pas
living_street: Carrer residencial
milestone: Fita
motorway: Autopista
- motorway_junction: Nus viari
- motorway_link: Enllaç d'autopista
+ motorway_junction: Enllaç d'autopista
+ motorway_link: Calçada d'autopista
passing_place: Apartador
- path: Camí
+ path: Corriol - Sender
pedestrian: Via de vianants
- platform: Andana per a bus o tramvia
- primary: Carretera principal
- primary_link: Carretera principal
- proposed: Carretera projectada
+ platform: Andana per a transport públic
+ primary: Carretera primària
+ primary_link: Carretera primària
+ proposed: Carretera proposada
raceway: Circuit de curses
- residential: Carrer residencial
+ residential: Carrer
rest_area: Àrea de descans
road: Carretera
secondary: Carretera secundària
services: Àrea de serveis
speed_camera: Radar
steps: Graons
- stop: Senyal d'estop
+ stop: Senyal de stop
street_lamp: Fanal
tertiary: Carretera terciària
tertiary_link: Carretera terciària
- track: Pista
- traffic_signals: Senyals de trànsit
- trail: Sendera
- trunk: Autovia
- trunk_link: Autovia
- turning_loop: Rotonda de canvi de sentit
+ track: Pista - Camí
+ traffic_signals: Semàfors
+ trail: Trialera
+ trunk: Via ràpida
+ trunk_link: Via ràpida
+ turning_loop: Canvi de sentit final
unclassified: Carretera sense classificar
"yes": Carretera
historic:
bunker: Búnquer
castle: Castell
church: Església
- city_gate: Porta de la ciutat
- citywalls: Muralles de la vila
- fort: Fort
+ city_gate: Porta de la població
+ citywalls: Muralles de la població
+ fort: Fortí
heritage: Patrimoni de la humanitat
house: Casa
icon: Icona
landuse:
allotments: Horts
basin: Conca
- brownfield: Erm urbà
+ brownfield: Terra no urbanitzada
cemetery: Cementiri
commercial: Zona comercial
conservation: Conservació
"yes": Ús del terreny
leisure:
beach_resort: Complex turístic de platja
- bird_hide: Aguait
+ bird_hide: Mirador d'ocells
common: Terreny comunal
dog_park: Parc caní
- firepit: Pou per a fer for
+ firepit: Pou per a fer foc
fishing: Àrea de pesca
fitness_centre: Gimnàs
fitness_station: Gimnàs a l'aire lliure
swimming_pool: Piscina
track: Pista d'atletisme
water_park: Parc aquàtic
- "yes": Esbarjo
+ "yes": Oci
man_made:
adit: Galeria d'accés
beacon: Balisa
bunker: Búnquer
"yes": Militar
mountain_pass:
- "yes": Coll
+ "yes": Coll - Port de muntanya
natural:
bay: Badia
beach: Platja
light_rail: Tren lleuger
miniature: Ferrocarril en miniatura
monorail: Monorail
- narrow_gauge: Ferroviari de via estreta
- platform: Andana
+ narrow_gauge: Ferrocarril de via estreta
+ platform: Andana de tren
preserved: Ferrocarril conservat
proposed: Ferrocarril projectat
spur: Branc ferroviari
shop:
alcohol: Licorista
antiques: Antiquari
- art: Galeria d'Art
+ art: Galeria d'art
bakery: Fleca
beauty: Saló de bellesa
beverages: Botiga de begudes
florist: Floristeria
food: Botiga d'alimentació
funeral_directors: Funerària
- furniture: Mobles
+ furniture: Botiga de mobles
gallery: Galeria
- garden_centre: Jardineria
+ garden_centre: Centre de jardineria
general: Botiga generalista
gift: Botiga de regals
greengrocer: Verduleria
pet: Botiga d'animals
pharmacy: Farmàcia
photo: Fotògraf
- seafood: Marisc
+ seafood: Botiga de marisc
second_hand: Botiga de segona mà
shoes: Sabateria
sports: Botiga d'esports
vacant: Botiga tancada
variety_store: Botiga de preus baixos
video: Videoclub
- wine: Vinateria
+ wine: Vinateria - Celler
"yes": Botiga
tourism:
alpine_hut: Refugi de muntanya
guest_house: Pensió
hostel: Alberg
hotel: Hotel
- information: Informació
+ information: Punt d'informació
motel: Hotel de carretera
museum: Museu
picnic_site: Àrea de pícnic
viewpoint: Mirador
zoo: Zoològic
tunnel:
- building_passage: Passatge d'edifici
- culvert: Canonada
+ building_passage: Passatge en edifici
+ culvert: Desguàs
"yes": Túnel
waterway:
artificial: Curs d'aigua artificial
boatyard: Drassana
canal: Canal
- dam: Dam
+ dam: Presa - Embassament
derelict_canal: Canal abandonat
ditch: Rasa
dock: Moll
mooring: Amarratge
rapids: Ràpids
river: Riu
- stream: Rierol
- wadi: Riera
+ stream: Riera - Torrent
+ wadi: Uadi
waterfall: Cascada
weir: Assut
"yes": Curs d'aigua
admin_levels:
- level2: Frontera internacional (nivell 2)
+ level2: Frontera (nivell 2)
level4: Límit estatal (nivell 4)
level5: Límit regional (nivell 5)
level6: Límit comarcal (nivell 6)
level8: Límit municipal (nivell 8)
level9: Límit intramunicipal (nivell 9)
- level10: Límit intramunicipal (nivell 10)
+ level10: Límit de suburbi-barri (nivell 10)
description:
title:
osm_nominatim: Ubicació segons <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
issues:
index:
title: Incidències
- select_status: Selecciona l'estat
- select_type: Selecciona el tipus
- select_last_updated_by: Selecció la darrera actualització feta per
- reported_user: Usuari reportat
+ select_status: Seleccionar estat
+ select_type: Seleccionar tipus
+ select_last_updated_by: Seleccionar darrera actualització feta per
+ reported_user: Usuari denunciat
not_updated: No actualitzat
search: Cerca
- search_guidance: 'Cerca incidències:'
+ search_guidance: 'Cercar incidències:'
user_not_found: El compte d’usuari no existeix
issues_not_found: No s'ha trobat cap incidència d'aquest tipus
status: Estat
- reports: Informes
+ reports: Denúncies
last_updated: Darrera actualització
last_updated_time_html: <abbr title='%{title}'> %{time}</abbr>
last_updated_time_user_html: <abbr title='%{title}'>%{time}</abbr> per %{user}
- link_to_reports: Veure els informes
+ link_to_reports: Veure les denúncies
reports_count:
one: 1 Informe
other: '%{count} Informes'
open: Obert
resolved: Resolt
update:
- new_report: El vostre informe s'ha registrat correctament
- successful_update: El vostre informe s'ha actualitzat correctament
+ new_report: S’ha registrat la vostra denúncia correctament
+ successful_update: S’ha actualitzat la vostra denúncia correctament
provide_details: Proporcioneu els detalls demanats
show:
title: '%{status} Incidència #%{issue_id}'
last_updated_at: Actualitzat per darrer cop a %{datetime} per %{displayname}
resolve: Resol
ignore: Ignora
- reopen: Reobre
+ reopen: Torna a obrir
reports_of_this_issue: Denúncies sobre aquesta qüestió
- read_reports: Llegeix els informes
- new_reports: Informes nous
+ read_reports: Llegir denúncies
+ new_reports: Noves denúncies
other_issues_against_this_user: Altres incidències contra aquest usuari
no_other_issues: No hi ha cap altra incidència contra aquest usuari
comments_on_this_issue: Comentaris sobre aquesta incidència
resolve:
- resolved: L'estat de la incidència ha passat a "Resolt"
+ resolved: L'estat de la incidència ha passat a "Resolta"
ignore:
- ignored: L'estat de la incidència ha passat a "Ignorat"
+ ignored: L'estat de la incidència ha passat a "Ignorada"
reopen:
- reopened: L'estat de la incidència ha passat a "Obert"
+ reopened: L'estat de la incidència ha passat a "Oberta"
comments:
comment_from_html: Comentari de %{user_link} a %{comment_created_at}
- reassign_param: Reassigna incidència?
+ reassign_param: Reassignar incidència?
reports:
reported_by_html: Denunciat com a %{category} per %{user} a %{updated_at}
helper:
comment_created: S’ha creat el comentari correctament
reports:
new:
- title_html: Informe %{link}
- missing_params: No s'ha pogut crear un nou informe
+ title_html: Denunciar %{link}
+ missing_params: No s'ha pogut crear una nova denúncia
details: Proporcioneu més detalls del problema (obligatori).
- select: 'Tria un motiu del teu informe:'
+ select: 'Tria un motiu de la teva denúncia:'
disclaimer:
- intro: 'Abans d''enviar el teu informe als moderadors del lloc web, comprova
+ intro: 'Abans d''enviar la teva denúncia als moderadors del lloc web, comprova
que:'
not_just_mistake: Estàs segur que el problema no és només un error
unable_to_fix: No pots resoldre el problema tu sol ni tampoc amb l'ajuda dels
abusive_label: Aquesta nota és injuriosa
other_label: Un altre
create:
- successful_report: El vostre informe s'ha registrat correctament
+ successful_report: S’ha registrat la vostra denúncia correctament
provide_details: Proporcioneu els detalls demanats
layouts:
project_name:
logo:
alt_text: Logotip de l'OpenStreetMap
home: Vés a la ubicació d'inici
- logout: Finalitza la sessió
- log_in: Inicia sessió
- log_in_tooltip: Inicia una sessió amb un compte existent
- sign_up: Crea un compte
+ logout: Surt
+ log_in: Inicia la sessió
+ log_in_tooltip: Entra amb un compte existent
+ sign_up: Registreu-vos-hi
start_mapping: Comença a cartografiar
- sign_up_tooltip: Crea un compte per a col·laborar
- edit: Modifica
+ sign_up_tooltip: Creeu un compte per a editar
+ edit: Edita
history: Historial
export: Exporta
issues: Incidències
gps_traces: Traces de GPS
gps_traces_tooltip: Gestiona les traces GPS
user_diaries: Diaris d'usuari
- user_diaries_tooltip: Mostra els diaris d'usuari
- edit_with: Modifica amb %{editor}
- tag_line: El wikimapamundi lliure
+ user_diaries_tooltip: Mostra els diaris d’usuari
+ edit_with: Edita amb %{editor}
+ tag_line: El mapa col·laboratiu lliure
intro_header: OpenStreetMap us dona la benviguda
intro_text: L'OpenStreetMap és un mapa del món creat per persones com tu i d'ús
lliure sota una llicència oberta.
- intro_2_create_account: Crea un compte d'usuari
+ intro_2_create_account: Crea un compte d’usuari
hosting_partners_html: L'allotjament és a càrrec de %{ucl}, %{bytemark} i d'altres
%{partners}.
partners_ucl: UCL
site:
about:
next: Següent
- copyright_html: © Col·laboradors<br>d’OpenStreetMap
+ copyright_html: © Col·laboradors/es<br>d’OpenStreetMap
used_by_html: '%{name} proporciona dades cartogràfiques a milers de llocs web,
aplicacions per a mòbils i dispositius'
lede_text: OpenStreetMap està fet per una comunitat de cartògrafs que aporten
legal_title: Avisos legals
legal_1_html: "Aquest lloc web i molts altres serveis relacionats són operats
formalment per la \n<a href=\"http://osmfoundation.org/\">Fundació OpenStreetMap</a>
- (OSMF) en nom de la comunitat. L'ús de tots els serveis operats per l'OSMF
+ (OSMF) en nom de la comunitat. L'ús de tots els serveis operats per l'OSMF
es troba subjecte a les nostres <a href=\"https://wiki.osmfoundation.org/wiki/Terms_of_Use\">,
</a> <a href=\"http://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">\npolítiques
d'ús acceptable</a> i a les nostres <a href=\"http://wiki.osmfoundation.org/wiki/Privacy_Policy\">polítiques
- de privadesa</a>\n<br> \n<a href=\"http://osmfoundation.org/Contact\">Contacteu
- amb l'OSMF</a> \nsi teniu qüestions sobre llicències, drets d'autor o altres
- aspectes legals.\nOpenStreetMap, el logotip de la lupa i l'Estat del Mapa
- són <a href=\"https://wiki.osmfoundation.org/wiki/Trademark_Policy\">marques
- registrades de l'OSFM</a>."
+ de privadesa</a>"
+ legal_2_html: |-
+ <a href="https://osmfoundation.org/Contact">Contacta</a> amb l'OSMF si tens dubtes de llicència, drets de còpia o altres qüestions legals.
+
+ OpenStreetMap, el logo i Estat del Mapa són <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">marques registrades de l'OSMF</a>.<br><br>
partners_title: Socis
copyright:
foreign:
js_2: L'OpenStreetMap utilitza JavaScript per al mapa lliscant.
permalink: Enllaç permanent
shortlink: Enllaç curt
- createnote: Afegiu una nota
+ createnote: Afegeix una nota
license:
copyright: Copyright d'OpenStreetMap i els seus col·laboradors sota llicència
oberta
description: Descarrega aquest requadre delimitador des d'una rèplica de
la base de dades d'OpenStreetMap
geofabrik:
- title: Descàrregues de Geofabrik
+ title: Baixades del Geofabrik
description: Extractes actualitzats regularment de continents, països i
ciutats seleccionades
metro:
entry:
motorway: Autopista
main_road: Carretera principal
- trunk: Autovia
+ trunk: Via ràpida
primary: Carretera principal
secondary: Carretera secundària
unclassified: Carretera sense classificar
- track: Pista
+ track: Pista - Camí
bridleway: Camí de ferradura
cycleway: Carril bici
cycleway_national: Carril bici nacional
cycleway_regional: Carril bici regional
cycleway_local: Carril bici local
- footway: Camí de vianants
+ footway: Via de vianants
rail: Ferrocarril
subway: Metro
tram:
- telecadira
runway:
- Pista d'aeroport
- - carrer de rodada
+ - carrer de rodatge
apron:
- Estacionament d'avions
- terminal
heathland: Bruguerar
lake:
- Llac
- - Embassament
+ - bassa
farm: Granja
brownfield: Àrea industrial abandonada
cemetery: Cementiri
reserve: Reserva natural
military: Àrea militar
school:
- - Escola
+ - Escola - Institut
- Universitat
building: Edifici significatiu
station: Estació de tren
- Cim
- pic
tunnel: Línia discontínua = túnel
- bridge: Línia negra = bridge
+ bridge: Línia negra = pont
private: Accés privat
destination: Servitud de pas
construction: Carreteres en construcció
bicycle_parking: Aparcament de bicicletes
toilets: Lavabos
richtext_area:
- edit: Modifica
+ edit: Edita
preview: Previsualització
markdown_help:
title_html: Analitzat amb <a href="https://kramdown.gettalong.org/quickref.html">kramdown</a>
tag_html: Una <strong>etiqueta</strong> és un recull de dades sobre un node
o una via, com ara el nom d'un restaurant o la velocitat màxima d'una carretera.
rules:
- title: Regles
+ title: Normes
paragraph_1_html: "L'OpenStreetMap té poques les regles formals però esperem
que tots els participants col·laborin i es comuniquin amb la comunitat.
Si voler dur a terme\naltres activitats que no siguin l'edició manual, llegiu
identifiable: Identificable (mostrat a la llista de traes i com a punts identificables
ordenats segons marques temporals)
new:
- upload_trace: Puja una traça GPS
- upload_gpx: 'Puja l''arxiu GPX:'
+ upload_trace: Pujar traça GPS
+ upload_gpx: 'Pujar arxiu GPX:'
description: 'Descripció:'
tags: 'Etiquetes:'
tags_help: separat per comes
title: Editant traça %{name}
heading: Editant traça %{name}
filename: 'Nom del fitxer:'
- download: descàrrega
+ download: baixa
uploaded_at: 'Pujat a:'
points: 'Punts:'
start_coord: 'Coordenades d''inici:'
map: mapa
edit: modificació
- owner: 'Propietari:'
+ owner: 'Propietari/a:'
description: 'Descripció:'
tags: 'Etiquetes:'
tags_help: separat per comes
points: 'Punts:'
start_coordinates: 'Coordenades d''inici:'
map: mapa
- edit: modificació
+ edit: edita
owner: 'Propietari:'
description: 'Descripció:'
tags: 'Etiquetes:'
none: Cap
- edit_trace: Edita aquesta traça
- delete_trace: Suprimeix aquesta traça
+ edit_trace: Editar aquesta traça
+ delete_trace: Esborra aquesta traça
trace_not_found: No s'ha trobat la traça!
visibility: 'Visibilitat:'
- confirm_delete: Esborra aquesta traça?
+ confirm_delete: Esborrar aquesta traça?
trace_paging_nav:
showing_page: Pàgina %{page}
older: Traces més antigues
other: '%{count} punts'
more: més
trace_details: Mostra els detalls de la traça
- view_map: Visualitza el mapa
- edit: modificació
+ view_map: Mostra el mapa
+ edit: edita
edit_map: Edita el mapa
public: PÚBLIC
identifiable: IDENTIFICABLE
allow_write_diary: crear entrades de diari, comentaris i fer amics.
allow_write_api: modificar el mapa.
allow_read_gpx: llegir les vostres traces GPS privades.
- allow_write_gpx: carregar traces GPS.
+ allow_write_gpx: pujar traces GPS.
allow_write_notes: modificar les notes.
- grant_access: Permet l'accés
+ grant_access: Permet l’accés
authorize_success:
title: Sol·licitud d'autorització permesa
allowed_html: Heu permès que l'aplicació %{app_name} accedeixi al vostre compte.
no_apps_html: ¿Teniu cap aplicació que voldríeu inscriure per usar amb nosaltres
utilitzant l'estàndard %{oauth}? Heu de registrar la vostra aplicació web
abans que pugui fer peticions OAuth a aquest servei.
+ oauth: OAuth
registered_apps: 'Teniu les següents aplicacions client registrades:'
register_new: Registreu l'aplicació
form:
flash: S'ha destruït el registre de l'aplicació client
users:
login:
- title: Accés
- heading: Accés
+ title: Inicia la sessió
+ heading: Inicia la sessió
email or username: 'Adreça de correu o nom d''usuari:'
password: 'Contrasenya:'
openid_html: '%{logo} OpenID:'
title: Inicieu la sessió amb AOL
alt: Inicieu la sessió amb un compte OpenID d'AOL
logout:
- title: Tanca la sessió
+ title: Surt
heading: Tanca la sessió d'OpenStreetMap
- logout_button: Tanca la sessió
+ logout_button: Surt
lost_password:
title: Contrasenya perduda
heading: Heu oblidat la contrasenya?
flash changed: S'ha canviat la contrasenya.
flash token bad: No s'ha trobat el testimoni. Comproveu la URL.
new:
- title: Creeu un compte
+ title: Registreu-vos-hi
no_auto_account_create: No us podem crear un compte automàticament.
contact_webmaster_html: Contacteu amb el <a href="%{webmaster}">webmestre</a>
per gestionar la creació d'un compte - intentarem tractar la sol·licitud tan
use external auth: 'Alternativament, inicieu la sessió mitjançant un tercer:'
auth no password: Amb l'autenticació per tercers cal contrasenya, però alguns
servidors o eines extres sí que en poden demanar una.
- continue: Creeu un compte
+ continue: Registreu-vos-hi
terms accepted: Gràcies per acceptar els nous termes de col·laboració.
terms declined: Heu decidit no acceptar els nous termes de col·laboració. Per
a més informació, consulteu <a href="%{url}">aquesta pàgina wiki</a>.
show:
my diary: El meu diari
new diary entry: entrada de diari nova
- my edits: Les meves modificacions
+ my edits: Les meves edicions
my traces: Les meves traces
my notes: Les meves notes de mapa
my messages: Els meus missatges
blocks by me: Blocs fets per mi
send message: Envia un missatge
diary: Diari
- edits: Modificacions
+ edits: Edicions
traces: Traces
notes: Notes de mapa
remove as friend: Deixa l'amistat
created: Creat
status: Estat
show: Mostra
- edit: Edició
- revoke: Revoca-ho!
+ edit: Edita
+ revoke: Revoca
confirm: N'esteu segur?
reason: 'Motiu del blocatge:'
back: Mostra tots els blocs
block:
not_revoked: (no revocat)
show: Mostra
- edit: Modifica
+ edit: Edita
revoke: Revoca!
blocks:
display_name: S'ha blocat l'usuari
node_tag: Knoten-Attribut
notifier: Benachrichtiger
old_node: Alter Knoten
- old_node_tag: Alter-Knoten-Attribut
+ old_node_tag: Altes Knoten-Attribut
old_relation: Alte Relation
old_relation_member: Alte-Relation-Mitglied
old_relation_tag: Alte-Relation-Attribut
# Author: MarcoAurelio
# Author: McDutchie
# Author: Mor
+# Author: Nancystodd
# Author: Nemo bis
# Author: Nunte
# Author: Ovruni
reopen:
reopened: El estado de la incidencia se ha establecido en 'Abierto'.
comments:
+ comment_from_html: Comentario de %{user_link} en %{comment_created_at}
reassign_param: Reasignar incidencia?
reports:
reported_by_html: Reportado como %{category} por %{user} en %{updated_at}
de uso</a>, <a href=\"https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">\nnormativa
de uso aceptable</a> y nuestra <a href=\"https://wiki.osmfoundation.org/wiki/Privacy_Policy\">normativa
de privacidad</a>."
+ legal_2_html: |-
+ Por favor, <a href='https://osmfoundation.org/Contact'> comuníquese con el OSMF</a>
+ Si tiene licencias, derechos de autor u otras preguntas legales.
+ <br>
+ OpenStreetMap, el logotipo de la lupa y el estado del mapa son <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy"> marcas registradas de OSMF</a>.
partners_title: Socios
copyright:
foreign:
locate:
title: Mostrar mi ubicación
metersUnit: metros
+ feetUnit: pies
popup: Estás a {distance} {unit} de este punto
base:
standard: Estándar
reopen:
reopened: وضعیت مسئله به «باز» تغییر داده کرده است
reports:
- reported_by_html: '%{user} آن را بهعنوان %{category} گزارش کرد'
+ reported_by_html: در %{updated_at}، %{user} آن را بهعنوان %{category} گزارش
+ کرد
helper:
reportable_title:
diary_comment: '%{entry_title}، نظر #%{comment_id}'
newer: ردهای تازهتر
trace:
pending: در انتظار
- count_points: %{count} نقطه
+ count_points:
+ one: 1 نقطه
+ other: '%{count} نقطه'
more: بیشتر
trace_details: مشاهده جزئیات رد
view_map: نمایش نقشه
oauth:
authorize:
title: اجازهٔ دسترسی به حسابتان را صادر کنید
- request_access_html: برنامهٔ %{app_name}%{app_name} درخواست دسترسی به حساب کاربری
- شما را دارد (%{user}). لطفاً بررسی کنید که آیا مایلید برنامه به قابلیتهای
- زیر دسترسی داشته باشد. میتوانید همه یا فقط مواردی را که دوست دارید انتخاب
- کنید.
+ request_access_html: برنامهٔ %{app_name} درخواست دسترسی به حساب کاربری شما را
+ دارد (%{user}). لطفاً بررسی کنید که آیا مایلید برنامه به قابلیتهای زیر دسترسی
+ داشته باشد. میتوانید همه یا فقط مواردی را که دوست دارید انتخاب کنید.
allow_to: 'برنامهٔ کارخواه مجاز است که:'
allow_read_prefs: ترجیحات کاربری شما را بخواند.
allow_write_prefs: ترجیحات کاربری شما را تغییر دهد.
part_of: Osana seuraavia
download_xml: Lattaa XML-fiilinä
view_history: Näytä histuuria
- view_details: Näytä tiot
+ view_details: Näytä tieot
location: 'Sijainti:'
changeset:
title: 'Muutoskokoelma: %{id}'
relation: relaatio
start_rjs:
feature_warning: Ladathaan %{num_features} ominaisuutta, mikä saatta hidasthaa
- eli kaathaa verkkoselaimen. Haluakko varmasti näythää nämä tiot?
- load_data: Lattaa tiot
+ eli kaathaa verkkoselaimen. Haluakko varmasti näythää nämä tieot?
+ load_data: Lattaa tieot
loading: Ladathaan...
tag_details:
tags: Ominaisuusdetaljit
wikipedia_link: Artikkeli %{page} Wikipeetiassa
wikimedia_commons_link: '%{page} Wikimeetia Commonsissa'
telephone_link: Soita %{phone_number}
- colour_preview: Värin %{colour_value} etukattelu
+ colour_preview: Värin %{colour_value} esikattelu
note:
title: 'Karttailmoitus: %{id}'
new_note: Uusi karttailmoitus
commented_by_anonymous: Kommentti tuntemattomalta käyttäjältä <abbr title='%{exact_time}'>%{when}</abbr>
closed_by: Ratkaissut käyttäjä %{user} <abbr title='%{exact_time}'>%{when}</abbr>
closed_by_anonymous: Ratkaissut tuntematon käyttäjä <abbr title='%{exact_time}'>%{when}</abbr>
- reopened_by: Avvannut uudelleen käyttäjä %{user} <abbr title='%{exact_time}'>%{when}</abbr>
- reopened_by_anonymous: Avvannut uudelleen tuntematon käyttäjä <abbr title='%{exact_time}'>%{when}</abbr>
+ reopened_by: Aukassu uuesti käyttäjä %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+ reopened_by_anonymous: Aukassu uuesti tuntematon käyttäjä <abbr title='%{exact_time}'>%{when}</abbr>
hidden_by: Piilottanut käyttäjä %{user} <abbr title='%{exact_time}'>%{when}</abbr>
report: Ilmianna karttailmotus
query:
changeset:
anonymous: Tuntematon
no_edits: (ei mookkauksia)
- view_changeset_details: Näytä muutoskokoelman tarkemmat tiot
+ view_changeset_details: Näytä muutoskokoelman tarkemmat tieot
changesets:
id: Tunniste
saved_at: Säästetty
open: Avvaa
resolved: Ratkaistu
update:
- new_report: Ilmianto on vastaanotettu
- successful_update: Ilmianto on päivitetty
- provide_details: Täyennä tarvittavat tiot
+ new_report: Ilmianto oon vastaanotettu
+ successful_update: Ilmianto oon päivitetty
+ provide_details: Täyennä tarvittavat tieot
show:
title: '%{status} Tapaus #%{issue_id}'
reports:
last_updated_at: Viimeisin käsittelijä %{displayname} %{datetime}
resolve: Ratkase
ignore: Merkitte aiheettomaksi
- reopen: Avvaa uuelleen
+ reopen: Aukase uuesti
reports_of_this_issue: Ilmianna tapahtuma
read_reports: Lue ilmiantoja
new_reports: Uuet ilmiannot
reopen:
reopened: Tapaus on markeerattu käsittelyssä olevaksi
comments:
- reassign_param: Haluatko määrittää tapauksen tilan uuelleen?
+ reassign_param: Haluatko määrittää tapauksen tilan uuesti?
reports:
reported_by_html: Käyttäjä %{user} ilmiantanut merkinnällä %{category}
helper:
new:
title_html: Ilmianna %{link}
missing_params: Ilmotuksen luominen epäonnistui
- details: Kuvaile ongelmaa (pakollinen)
+ details: Kuvaile prupleemaa (pakollinen)
select: 'Valitte ilmiannon syy:'
categories:
diary_entry:
history: Histuuria
export: Eksporteeraus
issues: Ilmiannot
- data: Tiot
+ data: Tieot
export_data: Exporteeraa tiedostona
gps_traces: GPS-jäljet
gps_traces_tooltip: Hallitse GPS-jälkiä
signup_confirm:
subject: '[OpenStreetMap] Tervetuloa OpenStreetMaphiin'
greeting: Hei!
- created: Joku (toivottavasti sinä) on luonut käyttäjäkonttun atressissa %{site_url}.
+ created: Joku (toivottavasti sinä) oon luonut käyttäjäkonttun atressissa %{site_url}.
confirm: 'Jos olet luonut tämän käyttäjäkonttun, vahvista se knapauttamalla
tätä länkkiä:'
welcome: Käyttäjäkottun vahvistamisen jälkheen haluaisimme kertoa joitain hyödyllisiä
title: Saapuneet
my_inbox: Saapuneet
outbox: Lähetetyt
- messages: Kansiossa on %{new_messages} ja %{old_messages}.
+ messages: Kansiossa oon %{new_messages} ja %{old_messages}.
new_messages:
one: '%{count} lukematon viesti'
other: '%{count} lukematonta viestiä'
body: Sisältö
back_to_inbox: Takashiin saapuneisiin
create:
- message_sent: Viesti on lähätetty.
+ message_sent: Viesti oon lähätetty.
limit_exceeded: Olet lähettänyt runsaasti viestejä lyhyessä ajassa. Odota hetki
ennen kuin yrität lähettää lisää.
no_such_message:
inbox: Saapuneet
outbox: Lähätetyt
messages:
- one: Kansiossa on %{count} lähätetty viesti.
- other: Kansiossa on %{count} lähätettyä viestiä.
+ one: Kansiossa oon %{count} lähätetty viesti.
+ other: Kansiossa oon %{count} lähätettyä viestiä.
to: Vastaanottaja
subject: Otsikko
date: Taatumi
ajan tasalla.
community_driven_title: Yhteisön voima
community_driven_html: |-
- OpenStreetMap-yhteisö on monipuolinen, intohimoinen ja kasvaa joka päivä. Yhteisöön kuuluu harrastajakartoittajia, GIS-ammattilaisia, järjestelmää ylläpitäviä insinöörejä, humanitaarisia auttajia, jotka kartoittavat katastrofin kärsineitä alueita sekä monia muita. Lisätietoja yhteisöstä saa lukemalla <a href='https://blog.openstreetmap.org'>OpenStreetMap-blogia</a>, <a href='%{diary_path}'>käyttäjien päiväkirjoja</a>,
+ OpenStreetMap-yhteisö oon monipuolinen, intohimoinen ja kasvaa joka päivä. Yhteisöön kuuluu harrastajakartoittajia, GIS-ammattilaisia, järjestelmää ylläpitäviä insinöörejä, humanitaarisia auttajia, jotka kartoittavat katastrofin kärsineitä alueita sekä monia muita. Lisätietoja föreeninkistä saa lukemalla <a href='https://blog.openstreetmap.org'>OpenStreetMap-blogia</a>, <a href='%{diary_path}'>käyttäjitten päiväkirjoja</a>,
<a href='https://blogs.openstreetmap.org/'>yhteisöblogeja</a> ja
<a href='https://www.osmfoundation.org/'>OSM-säätiön</a> verkkosivua.
open_data_title: Avoin taatta
- open_data_html: 'OpenStreetMap on <i>avointa taattaa</i>: palvelua saa käyttää
+ open_data_html: 'OpenStreetMap oon <i>avointa taattaa</i>: palvelua saa käyttää
vapaasti mihin tahansa, kunhan OpenStreetMap tekijöineen mainitaan. Jos palvelua
kehitetään tai muuunnellaan, sitä saa levittää eteenpäin vain samala lisensillä.
- Lisätietoja on <a href=''%{copyright_path}''>Tekijänoikeus ja lisensi</a>
+ Lisätietoja oon <a href=''%{copyright_path}''>Tekijänoikeus ja lisensi</a>
-sivula.'
legal_title: Lakitekninen jako
legal_1_html: "Tämä ja monet muut OSM-sivustot ovat muodollisesti <a href='https://osmfoundation.org/'>OpenStreetMap-säätiön</a>
- (OSMF) hallinnoimia OSM-yhteisön puolesta. Kaikkien näiden sivustojen käyttöön
+ (OSMF) hallinnoimia OSM-yhteisön puolesta. Kaikkien näiden sivustojen käythöön
sovelletaan <a href=\"https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">\nsallitun
käytön käytäntöjä</a>, <a href=\"https://wiki.osmfoundation.org/wiki/Terms_of_Use\">käyttöehtoja</a>
ja <a href=\"https://wiki.osmfoundation.org/wiki/Privacy_Policy\">tietosuojakäytäntöä</a>
copyright:
foreign:
title: Tietoja tästä käänöksestä
- html: Jos tämän käänätyn sivun ja %{english_original_link} välillä on eroja,
- englantinkielinen sivu on aina etusijalla.
+ html: Jos tämän käänätyn sivun ja %{english_original_link} välillä oon eroja,
+ engelskankielinen sivu oon aina etusijalla.
english_link: englantinkielisen alkuperäisversuunin
native:
title: Tästä sivusta
- html: Tällä sivula on alkuperänen englanninkielinen versuuni tekijäoikeuksista.
- Saatavilla on myös %{native_link}. Voit myös lopettaa tekijänoikeuksien
+ html: Tällä sivula oon alkuperänen engelskankielinen versuuni tekijäoikeuksista.
+ Saatavilla oon myös %{native_link}. Voit myös lopettaa tekijänoikeuksien
lukemisen ja %{mapping_link}.
native_link: meänkielinen versuuni
mapping_link: aloittaa kartoituksen
legal_babble:
title_html: Tekijänoikeus ja lisensi
intro_1_html: |-
- OpenStreetMap<sup><a href="#trademarks">®</a></sup> on <i>avointa taattaa</i>, jonka <a
- href="https://osmfoundation.org/">OpenStreetMap Foundation</a> (OSMF) on lisensoinut <a
+ OpenStreetMap<sup><a href="#trademarks">®</a></sup> oon <i>avointa taattaa</i>, jonka <a
+ href="https://osmfoundation.org/">OpenStreetMap Foundation</a> (OSMF) oon lisensoinut <a
href="https://opendatacommons.org/licenses/odbl/">Open Data Commons Open Database -lisensillä</a> (ODbL).
intro_2_html: "OpenStreetMapin karttoja ja tietoja voi kopioida, levittää,
välittää ja mukauttaa, \nkunhan OpenStreetMap ja sen tekijät mainitaan.
vain samalla lisensillä.\n<a href=\"https://opendatacommons.org/licenses/odbl/1.0/\">Lakitekstissä</a>
mainitaan levittäjän oikeudet ja velvollisuudet."
intro_3_html: |-
- Kartta-aineisto ja dokumentaatio on lisensoitu <a href="https://creativecommons.org/licenses/by-sa/2.0/deed.fi">Creative
+ Kartta-aineisto ja dokumentaatio oon lisensoitu <a href="https://creativecommons.org/licenses/by-sa/2.0/deed.fi">Creative
Commons Nimeä-Jaa samoin 2.0</a> -lisensillä (CC-BY-SA).
credit_title_html: OpenStreetMapin mainitseminen
- credit_1_html: OpenStreetMapin sisältöä levitettäessä on mainittava teksti
- "© OpenStreetMapin tekijät" tai sen englantinkielinen vastine
+ credit_1_html: OpenStreetMapin sisältöä levitettäessä oon mainittava teksti
+ "© OpenStreetMapin tekijät" tai sen engelskankielinen vastine
"© OpenStreetMap contributors".
credit_2_html: "Levittäjän tulee tehdä selväksi, että aineisto on saatavilla
Open Database -lisenssillä\nja kartta-aineisto CC-BY-SA-lisenssillä. Tämä
credit_3_html: 'Sivustolle upotetun interaktiivisen karttaikkunan tulee sisältää
tekijän nimi kartan alaosassa:'
attribution_example:
- alt: Esimerkki siitä, miten nimetä OpenStreetMap nettisivulla
+ alt: Esimerkki siitä, miten nimetä OpenStreetMap nettisivula
title: Nimeämisesimerkki
more_title_html: Lisätietoja
contributors_title_html: Meän tekijät
permalink: Ikunen länkki
shortlink: Lyhylänkki
edit:
- user_page_link: käyttäjätiot
+ user_page_link: käyttäjätieot
export:
title: Alueen eksporteeraus
area_to_export: Eksporteerattava alue
paste_html: Jäljennä ja liitä tämä HTML-kooti verkkosivulesi
export_button: Eksporteeraa
fixthemap:
- title: Ilmota ongelmasta / Korjaa karttaa
+ title: Ilmota prupleemasta / Korjaa karttaa
how_to_help:
title: Kuinka voin auttaa
join_the_community:
search: Haku
from: Lähtöpaikka
to: Määränpää
- where_am_i: Mikä tämä paikka on?
+ where_am_i: Mikä tämä paikka oon?
submit_text: Hae
key:
table:
1: yniversiteetti
richtext_area:
edit: Mookkaa
- preview: Etukattelu
+ preview: Esikattelu
markdown_help:
link: Länkki
text: Teksti
flash success: Kaikki tekemäsi mookkaukset ovat nyt julkisia.
make_friend:
button: Lissää ystäväksi
- success: '%{name} on nyt sinun ystävä!'
+ success: '%{name} oon nyt sinun ystävä!'
failed: Käyttäjää %{name} ei voitu lisätä sinun ystävälistaan.
already_a_friend: '%{name} on jo sinun ystävä.'
remove_friend:
create:
flash: Redaktio luotu.
update:
- flash: Muutokset on säästetty.
+ flash: Muutokset oon säästetty.
destroy:
not_empty: Redaktio ei ole tyhjä. Ota poies redaktiotiot kaikista tähän redaktioon
liittyvistä versuuneista ennen sen tuhoamista.
closed: note fermée (près de %{place})
reopened: note réactivée (près de %{place})
entry:
- comment: Commentaire
+ comment: Commenter
full: Note complète
browse:
created: Créé
optician: Opticien
organic: Magasin d’alimentation bio
outdoor: Magasin d’articles pour activité en plein air
- paint: Galerie de peinture
+ paint: Magasin de peinture
pawnbroker: Prêteur sur gages
pet: Animalerie
pharmacy: Pharmacie
# Author: Maria zaos
# Author: McDutchie
# Author: Mgl.branco
-# Author: Navhy
# Author: Nemo bis
# Author: Toliño
# Author: Vivaelcelta
proposed: Proxecto de estrada
raceway: Circuíto
residential: Estrada ou rúa residencial
- rest_area: Área de lecer
+ rest_area: Área de repouso
road: Estrada
secondary: Estrada secundaria
secondary_link: Estrada secundaria
create: Registrar
update: Modificar
redaction:
- create: Crear obscuration
- update: Salveguardar obscuration
+ create: Crear suppression
+ update: Salveguardar suppression
trace:
create: Incargar
update: Salveguardar modificationes
changeset: gruppo de modificationes
note: nota
redacted:
- redaction: Obscuration %{id}
+ redaction: Suppression %{id}
message_html: Le version %{version} de iste %{type} non pote esser monstrate
- perque illo ha essite obscurate. Vide %{redaction_link} pro detalios.
+ perque illo ha essite supprimite. Vide %{redaction_link} pro detalios.
type:
node: nodo
way: via
embankment: Terrapleno
flagpole: Palo de baniera
gasometer: Gasometro
+ groyne: Rumpeundas
kiln: Furno
lighthouse: Pharo
mast: Mast
beauty: Salon de beltate
beverages: Boteca de bibitas
bicycle: Magazin de bicyclettas
+ bookmaker: Agente de sponsiones
books: Libreria
boutique: Boutique
butcher: Macelleria
hairdresser: Perruccheria
hardware: Quincalieria
hifi: Hi-fi
+ houseware: Magazin de articulos domestic
+ interior_decoration: Decoration interior
jewelry: Joieleria
kiosk: Kiosque
+ kitchen: Magazin de cocina
laundry: Lavanderia
+ lottery: Lotteria
mall: Galeria mercante
market: Mercato
+ massage: Massage
mobile_phone: Boteca de telephonos mobile
motorcycle: Magazin de motocyclos
music: Magazin de musica
optician: Optico
organic: Boteca de alimentos organic
outdoor: Magazin de sport al aere libere
+ paint: Magazin de colores
+ pawnbroker: Prestator sur pignore
pet: Boteca de animales
pharmacy: Pharmacia
photo: Magazin de photographia
+ seafood: Fructos de mar
second_hand: Magazin de secunde mano
shoes: Scarperia
sports: Magazin de sport
stationery: Papireria
supermarket: Supermercato
tailor: Sartor
+ ticket: Billeteria
+ tobacco: Tabacheria
toys: Magazin de joculos
travel_agency: Agentia de viages
+ tyres: Magazin de pneus
+ vacant: Magazin vacante
+ variety_store: Magazin a precio unic
video: Magazin de video
wine: Magazin de vinos
"yes": Boteca
viewpoint: Puncto de vista
zoo: Jardin zoologic
tunnel:
+ building_passage: Passage sub edificio
culvert: Tubo de aqua subterranee
"yes": Tunnel
waterway:
reopen:
reopened: Le stato del problema ha essite cambiate a 'Aperte'
comments:
+ comment_from_html: Commento de %{user_link} del %{comment_created_at}
reassign_param: Reassignar problema?
reports:
- reported_by_html: Reportate como %{category} per %{user}
+ reported_by_html: Reportate como %{category} per %{user} le %{updated_at}
helper:
reportable_title:
diary_comment: '%{entry_title}, commento #%{comment_id}'
de modificationes'
subject_other: '[OpenStreetMap] %{commenter} ha commentate un gruppo de modificationes
que te interessa'
- your_changeset: '%{commenter} ha commentate un de tu gruppos de modificationes
- create le %{time}'
- commented_changeset: '%{commenter} ha commentate un gruppo de modificationes
- que tu observa, create per %{changeset_author} le %{time}'
+ your_changeset: '%{commenter} ha commentate a %{time} un de tu gruppos de
+ modificationes'
+ commented_changeset: '%{commenter} ha commentate a %{time} un gruppo de modificationes
+ que tu observa, create per %{changeset_author}'
partial_changeset_with_comment: con commento '%{changeset_comment}'
partial_changeset_without_comment: sin commento
details: Plus detalios sur le gruppo de modificationes pote esser trovate a
OSMF es subjecte a nostre <a href=\"https://wiki.osmfoundation.org/wiki/Terms_of_Use\">conditiones
de uso</a>, a nostre <a href=\"https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">\npoliticas
de uso acceptabile</a> e a nostre <a href=\"http://wiki.osmfoundation.org/wiki/Privacy_Policy\">politica
- de confidentialitate</a>.\n<br> \n<a href=\"https://osmfoundation.org/Contact\">Contacta
- OSMF</a> \nsi vos ha questiones sur licentias, derectos de autor o altere
- themas juridic.\n<br>\nOpenStreetMap, le logotypo de lupa e \"State of the
- Map\" es <a href=\"https://wiki.osmfoundation.org/wiki/Trademark_Policy\">marcas
+ de confidentialitate</a>."
+ legal_2_html: "<a href=\"https://osmfoundation.org/Contact\">Contacta OSMF</a>
+ \nsi vos ha questiones sur licentias, derectos de autor o altere themas juridic.\n<br>\nOpenStreetMap,
+ le logotypo de lupa e \"State of the Map\" es <a href=\"https://wiki.osmfoundation.org/wiki/Trademark_Policy\">marcas
commercial registrate del OSMF</a>."
partners_title: Partners
copyright:
href="https://opendatacommons.org/licenses/odbl/">Open Data
Commons Open Database License</a> (ODbL) per le <a
href="https://osmfoundation.org/">Fundation OpenStreetMap</a> (OSMF).
- intro_2_html: |2-
- Vos es libere de copiar, distribuer, transmitter e adaptar nostre cartas
- e datos, a condition que vos da recognoscentia a OpenStreetMap e su
- contributores. Si vos altera o extende nostre cartas e datos, vos
- pote distribuer le resultato solmente sub le mesme licentia. Le
- complete <a href="https://opendatacommons.org/licenses/odbl/1.0/">codice
- legal</a> explica vostre derectos e responsabilitates.
- intro_3_html: |-
- Le cartographia in nostre tegulas de carta, e nostre documentation, son
- publicate sub licentia <a href="https://creativecommons.org/licenses/by-sa/2.0/">Creative
+ intro_2_html: Vos es libere de copiar, distribuer, transmitter e adaptar nostre
+ datos, a condition que vos da recognoscentia a OpenStreetMap e su contributores.
+ Si vos altera o extende nostre datos, vos pote distribuer le resultato solmente
+ sub le mesme licentia. Le <a href="https://opendatacommons.org/licenses/odbl/1.0/">codice
+ juridic</a> complete explica vostre derectos e responsabilitates.
+ intro_3_html: Le cartographia in nostre tegulas cartographic, e nostre documentation,
+ es publicate sub licentia <a href="https://creativecommons.org/licenses/by-sa/2.0/">Creative
Commons Attribution-ShareAlike 2.0</a> (CC-BY-SA).
credit_title_html: Como dar recognoscentia a OpenStreetMap
credit_1_html: |-
Nos require que vos usa le recognoscentia “© OpenStreetMap
contributors”.
credit_2_html: |-
- Vos debe anque clarificar que le datos es disponibile sub Open Database License, e si vos usa nostre tegulas cartographic, que le cartographia es licentiate sub CC-BY-SA. Vos pote facer isto con un ligamine a <a href="https://www.openstreetmap.org/copyright">iste pagina de copyright</a>.
+ Vos debe etiam indicar clarmente que le datos es disponibile sub Open Database License, e si vos usa nostre tegulas cartographic, que le cartographia es licentiate sub CC-BY-SA. Vos pote facer isto con un ligamine a <a href="https://www.openstreetmap.org/copyright">iste pagina de copyright</a>.
Alternativemente, e obligatorimente si vos distribue OSM in forma de datos, vos pote mentionar le licentia(s) e ligar directemente a illo(s). Si vos usa un medio de communication in le qual le ligamines non es possibile (p.ex. un obra imprimite), nos suggere que vos dirige vostre lectores a openstreetmap.org (forsan per inserer iste adresse complete in loco del parola ‘OpenStreetMap’), a opendatacommons.org, e (si relevante) a creativecommons.org.
credit_3_html: 'Pro un carta electronic navigabile, le recognoscentia debe
apparer in le angulo del carta. Per exemplo:'
alt: Exemplo de como recognoscer OpenStreetMap in un pagina web
title: Exemplo de recognoscentia
more_title_html: Pro saper plus
- more_1_html: |-
- Lege plus sur le uso de nostre datos, e como recognoscer nos, in le <a
- href="https://osmfoundation.org/Licence">pagina de licentia OSMF</a>.
+ more_1_html: Lege plus sur le uso de nostre datos, e sur como citar correctemente
+ lor fonte, in le <a href="https://osmfoundation.org/Licence">pagina de licentia
+ OSMF</a>.
more_2_html: |-
Ben que OpenStreetMap es datos aperte, nos non pote fornir un API cartographic gratuite pro tertios. Vide nostre <a href="https://operations.osmfoundation.org/policies/api/">politica pro le uso del API</a>,
<a href="https://operations.osmfoundation.org/policies/tiles">politica pro le uso de tegulas</a>
contributors_intro_html: 'Nostre contributores es milles de personas. Nos
include anque le datos sub licentia aperte de agentias cartographic national
e de altere fontes, inter le quales:'
- contributors_at_html: |-
- <strong>Austria</strong>: Contine datos ab le
- <a href="https://data.wien.gv.at/">Citate de Vienna</a> licentiate sub
- <a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>.
- contributors_au_html: |-
- <strong>Australia</strong>: Contine datos de suburbios a base
- de datos del Australian Bureau of Statistics.
+ contributors_at_html: '<strong>Austria</strong>: Contine datos ab le <a href="https://data.wien.gv.at/">Citate
+ de Vienna</a> licentiate sub <a href="https://creativecommons.org/licenses/by/3.0/at/deed.de">CC
+ BY</a>, <a href="https://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land
+ Vorarlberg</a> e Land Tirol (sub <a href="https://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC
+ BY AT con emendamentos</a>).'
+ contributors_au_html: '<strong>Australia</strong>: Contine datos obtenite
+ ab <a href="https://www.psma.com.au/psma-data-copyright-and-disclaimer">PSMA
+ Australia Limited</a> licentiate per le Commonwealth de Australia sub <a
+ href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.'
contributors_ca_html: |-
<strong>Canada</strong>: Contine datos ab
GeoBase®, GeoGratis (© Department of Natural
Resources Canada), CanVec (© Department of Natural
Resources Canada), e StatCan (Geography Division,
Statistics Canada).
- contributors_fi_html: "<strong>Finlandia</strong>: Contine datos ab le base
- de datos topographic del Inspection \nNational del Territorio de Finlandia
- e de altere insimules de datos, sub le\n<a href=\"https://www.maanmittauslaitos.fi/en/NLS_open_data_licence_version1_20120501\">licentia
- NLSFI</a>."
+ contributors_fi_html: '<strong>Finlandia</strong>: Contine datos ab le base
+ de datos topographic del Inspection National del Territorio de Finlandia
+ e de altere insimules de datos, sub le <a href="https://www.maanmittauslaitos.fi/en/opendata-licence-version1">licentia
+ NLSFI</a>.'
contributors_fr_html: |-
<strong>Francia</strong>: Contine datos fornite per le
Direction Générale des Impôts.
- contributors_nl_html: |-
- <strong>Nederlandia</strong>: Contine datos © AND, 2007
- (<a href="https://www.and.com">www.and.com</a>)
+ contributors_nl_html: '<strong>Nederlandia</strong>: Contine datos ©
+ AND, 2007 (<a href="https://www.and.com">www.and.com</a>)'
contributors_nz_html: '<strong>Nove Zelandia</strong>: Contine datos proveniente
de <a href="https://data.linz.govt.nz/">LINZ Data Service</a> e licentiate
pro re-uso sub <a href="https://creativecommons.org/licenses/by/4.0/">CC
trademarks_title_html: <span id="trademarks"></span>Marcas commercial
trademarks_1_html: OpenStreetMap, le logotypo con le lupa e "State of the
Map" es marcas registrate del Fundation OpenStreetMap. Si vos ha questiones
- sur le uso de iste marcas, invia los al <a href="https://wiki.osmfoundation.org/wiki/Licensing_Working_Group">gruppo
- de labor sur licentias</a>.
+ sur le uso de iste marcas, vide nostre <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">politica
+ sur le marcas registrate</a>.
index:
js_1: O tu usa un navigator que non supporta JavaScript, o tu ha disactivate
JavaScript.
email address: 'Adresse de e-mail:'
created from: 'Create ex:'
status: 'Stato:'
- spam score: 'Punctuation de spam:'
+ spam score: 'Punctos de spam:'
description: Description
user location: Position del usator
if_set_location_html: Defini tu position de origine in le %{settings_link} pro
new:
title: Crea blocada de %{name}
heading_html: Crea blocada de %{name}
- reason: Le motivo proque %{name} es blocate. Per favor sia si calme e rationabile
+ reason: Le motivo proque %{name} es blocate. Per favor sia tanto calme e rationabile
como possibile, e da tante detalios super le situation como tu pote. Non oblida
que le message essera publicamente visibile. Nota ben que non tote le usatores
- comprende le jargon del communitate, alora usa terminos simple e precise.
+ comprende le jargon del communitate, dunque usa terminos simple e precise.
period: Quante tempore, a partir de ora, essera le usator blocate del API?
tried_contacting: Io ha contactate le usator pro demandar le/la de cessar.
tried_waiting: Io ha date sufficiente tempore al usator pro responder a iste
edit:
title: Modification de un blocada super %{name}
heading_html: Modification de un blocada super %{name}
- reason: Le motivo proque %{name} es blocate. Per favor resta si calme e rationabile
- como possibile, e da tante detalios como tu pote super le situation. Nota
- ben que non tote le usatores comprende le jargon del communitate, alora usa
+ reason: Le motivo proque %{name} es blocate. Per favor sia tanto calme e rationabile
+ como possibile, e da tante detalios super le situation como tu pote. Nota
+ ben que non tote le usatores comprende le jargon del communitate, dunque usa
terminos simple e precise.
period: Quante tempore, a partir de ora, essera le usator blocate del API?
show: Examinar iste blocada
out: Zoom retro
locate:
title: Monstrar mi position
+ metersUnit: metros
+ feetUnit: pedes
popup: Tu es intra {distance} {unit} de iste puncto
base:
standard: Standard
redactions:
edit:
description: Description
- heading: Modificar obscuration
+ heading: Modificar suppression
title: Modificar obscuration
index:
- empty: Il non ha obscurationes a monstrar.
+ empty: Il non ha suppressiones a monstrar.
heading: Lista de obscurationes
- title: Lista de obscurationes
+ title: Lista de suppressiones
new:
description: Description
- heading: Specifica information pro nove obscuration
+ heading: Specifica information pro nove suppression
title: Creation de nove obscuration
show:
description: 'Description:'
- heading: Es monstrate le obscuration "%{title}"
+ heading: Es monstrate le suppression "%{title}"
title: Presentation de obscuration
user: 'Creator:'
- edit: Modificar iste obscuration
+ edit: Modificar iste suppression
destroy: Remover iste obscuration
confirm: Es tu secur?
create:
- flash: Obscuration create.
+ flash: Suppression create.
update:
flash: Cambios salveguardate.
destroy:
- not_empty: Le obscuration non es vacue. Per favor disobscura tote le versiones
- pertinente a iste obscuration ante de destruer lo.
+ not_empty: Le suppression non es vacue. Per favor dis-supprime tote le versiones
+ pertinente a iste suppression ante de destruer lo.
flash: Obscuration destruite.
- error: Un error occurreva durante le destruction de iste obscuration.
+ error: Un error occurreva durante le destruction de iste suppression.
validations:
leading_whitespace: ha spatios al initio
trailing_whitespace: ha spatios al fin
allow_write_api: modifica la mappa.
allow_read_gpx: Visualizza i tuoi tracciati GPS
allow_write_gpx: carica tracciati GPS.
- allow_write_notes: modificare le note.
+ allow_write_notes: modifica le note.
grant_access: Concedi l'accesso
authorize_success:
title: Richiesta di autorizzazione consentita
delete: Eliminare Client
confirm: Sei sicuro?
requests: 'Richieste le seguenti autorizzazioni da parte dell''utente:'
- allow_read_prefs: leggi le loro preferenze utente.
+ allow_read_prefs: leggi le sue preferenze utente.
allow_write_prefs: modifica le sue preferenze utente.
allow_write_diary: crea pagine di diario, commenti e fai amicizia.
allow_write_api: modifica la mappa.
- allow_read_gpx: leggi i loro tracciati GPS privati.
+ allow_read_gpx: leggi i suoi tracciati GPS privati.
allow_write_gpx: carica tracciati GPS.
- allow_write_notes: modificare le note.
+ allow_write_notes: modifica le note.
index:
title: I miei dettagli OAuth
my_tokens: Le mie applicazioni autorizzate
support_url: Indirizzo URL di supporto
requests: 'Richiedi le seguenti autorizzazioni da parte dell''utente:'
allow_read_prefs: leggi le sue preferenze utente.
- allow_write_prefs: modifica le loro preferenze utente.
+ allow_write_prefs: modifica le sue preferenze utente.
allow_write_diary: crea pagine di diario, commenti e fai amicizia.
allow_write_api: modifica la mappa.
- allow_read_gpx: visualizza i loro tracciati GPS privati.
+ allow_read_gpx: leggi i suoi tracciati GPS privati.
allow_write_gpx: carica tracciati GPS.
- allow_write_notes: modificare le note.
+ allow_write_notes: modifica le note.
not_found:
sorry: Siamo dolenti, quel %{type} non è stato trovato.
create:
created: Ugeluecht
closed: Zou
created_html: Ugeluecht <abbr title='%{title}'>viru(n) %{time}</abbr>
- closed_html: Zougemaach <abbr title='%{title}'>viru(n) %{time}</abbr>
- created_by_html: Ugeluecht <abbr title='%{title}'>viru(n) %{time}</abbr> vum %{user}
- deleted_by_html: Geläscht <abbr title='%{title}'>viru(n) %{time}</abbr> vum %{user}
- edited_by_html: Geännert <abbr title='%{title}'>viru(n) %{time}</abbr> vum %{user}
- closed_by_html: Zougemaach <abbr title='%{title}'>viru(n) %{time}</abbr> vum %{user}
+ closed_html: Zougemaach <abbr title='%{title}'> %{time}</abbr>
+ created_by_html: Ugeluecht <abbr title='%{title}'>%{time}</abbr> vum %{user}
+ deleted_by_html: Geläscht <abbr title='%{title}'>%{time}</abbr> vum %{user}
+ edited_by_html: Geännert <abbr title='%{title}'>%{time}</abbr> vum %{user}
+ closed_by_html: Zougemaach <abbr title='%{title}'>%{time}</abbr> vum %{user}
version: Versioun
in_changeset: Set vun Ännerungen
anonymous: anonym
relation: Relatiounen (%{count})
relation_paginated: Relatiounen (%{x}-%{y} vu(n) %{count})
comment: Bemierkungen (%{count})
- hidden_commented_by: Verstoppt Bemierkung vum %{user} <abbr title='%{exact_time}'>
- viru(n) %{when}</abbr>
- commented_by: Bemierkung vum %{user} <abbr title='%{exact_time}'> viru(n) %{when}</abbr>
+ hidden_commented_by: Verstoppt Bemierkung vum %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+ commented_by: Bemierkung vum %{user} <abbr title='%{exact_time}'>%{when}</abbr>
changesetxml: XML mam Set vun Ännerungen
osmchangexml: osmChange XML
feed:
opened_by: Ugeluecht vum %{user} <abbr title='%{exact_time}'>viru(n) %{when}</abbr>
opened_by_anonymous: Ugeluecht vun engem Anonymen <abbr title='%{exact_time}'>
viru(n) %{when}</abbr>
- commented_by: Bemierkung vum %{user} <abbr title='%{exact_time}'> viru(n) %{when}</abbr>
- commented_by_anonymous: Bemierkung vun engem Anonymen <abbr title='%{exact_time}'>
- viru(n) %{when}</abbr>
- closed_by: Geléist vum %{user} <abbr title='%{exact_time}'>viru(n) %{when}</abbr>
- closed_by_anonymous: Geléist vun engem Anonymen <abbr title='%{exact_time}'>
- viru(n) %{when}</abbr>
- reopened_by: Reaktivéiert vum %{user} <abbr title='%{exact_time}'>viru(n) %{when}</abbr>
- reopened_by_anonymous: Reaktivéiert vun engem Anonymen <abbr title='%{exact_time}'>
- viru(n) %{when}</abbr>
- hidden_by: Verstoppt vum %{user} <abbr title='%{exact_time}'>viru(n) %{when}</abbr>
+ commented_by: Bemierkung vum %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+ commented_by_anonymous: Bemierkung vun engem Anonymen <abbr title='%{exact_time}'>%{when}</abbr>
+ closed_by: Geléist vum %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+ closed_by_anonymous: Geléist vun engem Anonymen <abbr title='%{exact_time}'>%{when}</abbr>
+ reopened_by: Reaktivéiert vum %{user} <abbr title='%{exact_time}'>%{when}</abbr>
+ reopened_by_anonymous: Reaktivéiert vun engem Anonymen <abbr title='%{exact_time}'>%{when}</abbr>
+ hidden_by: Verstoppt vum %{user} <abbr title='%{exact_time}'>%{when}</abbr>
changesets:
changeset_paging_nav:
showing_page: Säit %{page}
title: Sette vun Ännerungen
title_user: Sette vun Ännerunge vum %{user}
title_friend: Ännerungs-Sette vu menge Frënn
- title_nearby: Sette vun Ännerunge vu Benotzer déi nobäi sinn
- empty: Keng Sette vun Ännerunge fonnt.
- empty_area: Keng Sette vun Ännerungen an dëser Géigend.
- empty_user: Keng Sette vun Ännerunge vun dësem Benotzer.
- no_more: Soss keng Ännerungssätz fonnt.
- no_more_area: Keng weider Sette vun Ännerungen an dëser Géigend.
- no_more_user: Keng weider Sette vun Ännerunge vun dësem Benotzer.
+ title_nearby: Gruppe vun Ännerunge vu Benotzer nobäi
+ empty: Keng Gruppe vun Ännerunge fonnt.
+ empty_area: Keng Gruppe vun Ännerungen an dëser Géigend.
+ empty_user: Keng Gruppe vun Ännerunge vun dësem Benotzer.
+ no_more: Soss keng Gruppe vun Ännerunge fonnt.
+ no_more_area: Keng weider Grupp vun Ännerungen an dëser Géigend.
+ no_more_user: Keng weider Gruppe vun Ännerunge vun dësem Benotzer.
load_more: Méi lueden
changeset_comments:
comment:
- commented_at_by_html: Viru(n) %{when} vum %{user} aktualiséiert
+ commented_at_by_html: '%{when} vum %{user} aktualiséiert'
diary_entries:
form:
subject: 'Sujet:'
notes: Notizen op der Kaart
remove as friend: Frënd ewechhuelen
add as friend: Frënd derbäisetzen
- latest edit: 'Lescht Ännerung %{ago}:'
+ latest edit: 'Lescht Ännerung (%{ago}):'
email address: 'E-Mail-Adress:'
status: 'Status:'
description: Beschreiwung
closed: समापन भएको
created_html: <abbr title='%{title}'>%{time} अगाडि</abbr> बनाइएको
closed_html: <abbr title='%{title}'>%{time} अगाडि</abbr> समापन गरिएको
- created_by_html: <abbr title='%{title}'>%{time} à¤\85à¤\97ाडि</abbr> %{user}दà¥\8dवारा सिरà¥\8dजना
+ created_by_html: <abbr title='%{title}'>%{time} à¤\85à¤\97ाडि</abbr> %{user}दà¥\8dवारा सà¥\83जना
गरिएको
deleted_by_html: <abbr title='%{title}'>%{time} अगाडि</abbr> %{user}द्वारा हटाइएको
edited_by_html: <abbr title='%{title}'>%{time} अगाडि</abbr> %{user}द्वारा सम्पादन
view_changeset_details: परिवर्तनहरूको विवरण हेर्नुहोस्
changesets:
id: आईडी(ID)
- saved_at: सुरक्षित गरिएको समय-
+ saved_at: सुरक्षित गरिएको समय
user: प्रयोगकर्ता
comment: टिप्पणी
area: क्षेत्र
index:
title: परिवर्नहरू
title_user: '%{user}द्वरा गरिएका परिवर्तनहरू'
- title_friend: तपाà¤\88à¤\82à¤\95à¥\8b मितà¥\8dरहरà¥\82दà¥\8dवारा à¤\97रिà¤\8fà¤\95ा परिवरà¥\8dतनहरà¥\82
- title_nearby: तपाईंनजिक हुनुभएका प्रयोगकर्ताहरूद्वारा गरिएका परिवर्तनहरू
- empty: कुनै पनि परिवर्तनहरू भेटिएनन् ।
- empty_area: यो क्षेत्रमा कुनै परिवर्तनहरू छैनन् ।
- empty_user: यस प्रयोगकर्ताद्वारा कुनै परिवर्तनहरू गरिएका छैनन् ।
- no_more: अन्य कुनै परिवर्तनहरू भेटिएनन् ।
- no_more_area: यो क्षेत्रमा अन्य कुनै परिवर्तनहरू छैनन् ।
+ title_friend: तपाईको मित्रहरूद्वारा गरिएका परिवर्तनहरू
+ title_nearby: तपाई नजिक हुनुभएका प्रयोगकर्ताहरूद्वारा गरिएका परिवर्तनहरू
+ empty: कुनै पनि परिवर्तनहरू भेटिएनन्।
+ empty_area: यो क्षेत्रमा कुनै परिवर्तनहरू छैनन्।
+ empty_user: यस प्रयोगकर्ताद्वारा कुनै परिवर्तनहरू गरिएका छैनन्।
+ no_more: अन्य कुनै परिवर्तनहरू भेटिएनन्।
+ no_more_area: यो क्षेत्रमा अन्य कुनै परिवर्तनहरू छैनन्।
no_more_user: यस प्रयोगकर्तटद्वारा अन्य कुनै परिवर्तनहरू गरिएका छैनन् ।
- load_more: à¤\85à¤\9dà¥\88 लà¥\8bड à¤\97र्नुहोस्
+ load_more: à¤\85à¤\9dà¥\88 बढà¥\80 à¤\96à¥\8bल्नुहोस्
timeout:
- sorry: माफ à¤\97रà¥\8dनà¥\81हà¥\8bला, तपाà¤\88à¤\82लà¥\87 à¤\96à¥\8bà¤\9cà¥\8dनà¥\81à¤à¤\8fà¤\95à¥\8b परिवरà¥\8dतनहरà¥\82à¤\95à¥\8b सà¥\82à¤\9aà¥\80 पà¥\8dरापà¥\8dत à¤\97रà¥\8dन निà¤\95à¥\88
+ sorry: माफ गर्नुहोला, तपाईले खोज्नुभएको परिवर्तनहरूको सूची प्राप्त गर्न निकै
समय लाग्यो ।
changeset_comments:
comment:
diary_comment:
comment_from_html: '%{link_user}द्वारा %{comment_created_at}मा गरिएको टिप्पणी'
hide_link: यो टिप्पणी लुकाउनुहोस्
- confirm: निशà¥\8dà¤\9aित à¤\97रà¥\8dनà¥\87
+ confirm: निशà¥\8dà¤\9aित à¤\97रà¥\8dनà¥\81हà¥\8bसà¥\8d
location:
location: 'स्थान:'
view: अवलोकन गर्ने
user_diaries_tooltip: प्रयोगकर्ता डायरीहरू हेर्नुहोस्
edit_with: '%{editor} प्रयोग गरेर सम्पादन गर्नुहोस्'
tag_line: स्वतन्त्र र खुला विकी विश्व म्याप
- intro_header: OpenStreetMap मा स्वागत छ!
+ intro_header: ओपन स्ट्रिट म्यापमा स्वागत छ!
partners_partners: समर्थकहरू
help: सहायता
about: बारेमा
# Author: McDutchie
# Author: MedShot
# Author: MrLeopold
+# Author: Mvexel
# Author: Optilete
# Author: Pje335
# Author: Robin van der Linde
friend: Vriend
language: Taal
message: Bericht
- node: Knooppunt
- node_tag: Nodetag
- notifier: verwittigen
- old_node: Oud Knooppunt
- old_node_tag: Oude nodetag
+ node: Node
+ node_tag: Node Tag
+ notifier: Notifier
+ old_node: Oude Node
+ old_node_tag: Oude Node Tag
old_relation: Oude relatie
old_relation_member: Oud relatielid
old_relation_tag: Oude relatietag
reopen:
reopened: De status van het probleem is ingesteld op 'Open'
comments:
+ comment_from_html: Reactie van %{user_link} op %{comment_created_at}
reassign_param: Probleem opnieuw toewijzen?
reports:
- reported_by_html: Gerapporteerd als %{category} door %{user}
+ reported_by_html: Als %{category} gerapporteerd door %{user} op %{updated_at}
helper:
reportable_title:
diary_comment: '%{entry_title}, commentaar #%{comment_id}'
wijzigingensets'
subject_other: '[OpenStreetMap] %{commenter} heeft gereageerd op een wijzigingenset
waar u interesse in hebt'
- your_changeset: '%{commenter} heeft gereageerd op een van uw wijzigingensets
- om %{time}'
+ your_changeset: '%{commenter} heeft om %{time} op een van uw wijzigingensets
+ gereageerd'
commented_changeset: '%{commenter} heeft gereageerd om %{time} op een wijzigingenset
die u volgt van %{changeset_author}'
partial_changeset_with_comment: met reactie "%{changeset_comment}"
resultaat alleen onder dezelfde licentie verder verspreiden. Zie de <a href=''%{copyright_path}''>pagina
over Auteursrechten en Licentie</a> voor details.'
legal_title: Juridisch
- legal_1_html: "Deze site en tal van andere diensten worden formeel beheerd door
- \n<a href=\"https://osmfoundation.org/\">OpenStreetMap Foundation</a> (OSMF)
- \nnamens de gemeenschap. Het gebruik van alle door OSMF aangeboden diensten
- is onderworpen\naan onze <a href=\"https://wiki.osmfoundation.org/wiki/Terms_of_Use\">gebruiksvoorwaarden</a>,
+ legal_1_html: "Deze site en gerelateerde diensten worden namens de OpenStreetMap
+ community beheerd door de \n<a href=\"https://osmfoundation.org/\">OpenStreetMap
+ Foundation</a> (OSMF). Het gebruik van deze website en diensten is onderworpen\naan
+ onze <a href=\"https://wiki.osmfoundation.org/wiki/Terms_of_Use\">gebruiksvoorwaarden</a>,
ons <a href=\"https://wiki.openstreetmap.org/wiki/Acceptable_Use_Policy\">\nbeleid
- voor aanvaardbaar gebruik</a> en ons <a href=\"https://wiki.osmfoundation.org/wiki/Privacy_Policy\">privacybeleid</a>.\n<br>
- \n<a href=\"https://osmfoundation.org/Contact\">Neem contact op met de OSMF</a>
- \nals u vragen of problemen hebt in verband met licenties, auteursrechten
- of andere juridische zaken.\n<br>\nHet OpenStreetMap-vergrootglaslogo en State
- of the Map zijn <a href=\"https://wiki.osmfoundation.org/wiki/Trademark_Policy\">geregistreerde
- handelsmerken van de OSMF</a>."
+ voor aanvaardbaar gebruik</a> en ons <a href=\"https://wiki.osmfoundation.org/wiki/Privacy_Policy\">privacybeleid</a>."
+ legal_2_html: |-
+ <a href='https://osmfoundation.org/Contact'>Neem contact op met OSMF</a> als u vragen heeft omtrent licenties, copyright of andere juridische zaken.
+ <br />
+ "OpenStreetMap", het OpenStreetMap beeldmerk en "State of the Map" zijn <a href="https://wiki.osmfoundation.org/wiki/Trademark_Policy">geregistreerde handelsmerken</a> van OSMF.
partners_title: Partners
copyright:
foreign:
no_apps_html: Heeft u een toepassing die u wilt registreren met de %{oauth}-standaard?
Dan moet u uw webtoepassing registreren voordat u OAuth-verzoeken naar deze
dienst kunt maken.
+ oauth: OAuth
registered_apps: 'U hebt de onderstaande clientapplicaties geregistreerd:'
register_new: Uw toepassing registreren
form:
out: Uitzoomen
locate:
title: Uw locatie weergeven
+ metersUnit: meter
+ feetUnit: voet
popup: U bent binnen {distance} {unit} van dit punt
base:
standard: Standaard
# Author: Guilhelma
# Author: Macofe
# Author: OpenStreetMap-oc
+# Author: Quentí
---
oc:
time:
tag: La descripcion de la balisa <code>%{key}=%{value}</code> sul wiki
wikidata_link: L’element %{page} sus Wikidata
wikipedia_link: L’article « %{page} » sus Wikipèdia
+ wikimedia_commons_link: L'element %{page} sus Wikimedia Commons
telephone_link: Sonar %{phone_number}
+ colour_preview: Apercebut de la color %{colour_value}
note:
title: 'Nòta : %{id}'
new_note: Nòta novèla
diary_comment:
comment_from_html: Comentari de %{link_user} lo %{comment_created_at}
hide_link: Amagar aqueste comentari
+ unhide_link: Amagar pas mai aqueste comentari
confirm: Confirmar
report: Denonciar aqueste comentari
location:
reopen:
reopened: L'estat de l'incidéncia s'es establit en 'Dobèrt'.
comments:
+ comment_from_html: Comentari de %{user_link} sus %{comment_created_at}
reassign_param: Reasignar l’Incidéncia?
reports:
- reported_by_html: Raportat coma %{category} per %{user}
+ reported_by_html: Raportat coma %{category} per %{user} lo %{updated_at}
helper:
reportable_title:
diary_comment: '%{entry_title}, comentari #%{comment_id}'
de cambiaments'
subject_other: '[OpenStreetMap] %{commenter} a comentat un ensemble de cambiaments
al qual vos interessatz'
- your_changeset: '%{commenter} a daissat un comentari sus un de vòstres ensembles
- de cambiament creat lo %{time}'
+ your_changeset: '%{commenter} daissèt un comentari lo %{time} sus un de vòstres
+ ensembles de cambiaments'
commented_changeset: '%{commenter} a fach un comentari per un ensems de cambiaments
de %{changeset_author} a %{time} e que seguissètz'
partial_changeset_with_comment: amb lo comentari « %{changeset_comment}' »
city: Capital de distrito
city_block: Quarteirão
country: País
- county: Condado
+ county: Concelho
farm: Quinta
hamlet: Aldeia
house: Casa
houses: Casas
island: Ilha
islet: Ilhéu
- isolated_dwelling: Casa isolada
+ isolated_dwelling: Habitação isolada
locality: Localidade desabitada
municipality: Município
neighbourhood: Bairro
suburb: Subúrbio
town: Cidade / Vila
unincorporated_area: Área não incorporada
- village: Capital de freguesia
+ village: Sede de freguesia
"yes": Localidade
railway:
abandoned: Ferrovia abandonada
station: Estação ferroviária
stop: Paragem ferroviária
subway: Metropolitano
- subway_entrance: Entrada para estação metropolitana
+ subway_entrance: Entrada para estação de metro
switch: Agulha ferroviária
tram: Linha de elétrico
tram_stop: Paragem de elétrico
shop:
alcohol: Loja de bebidas alcoólicas
- antiques: Antiguidades
- art: Galeria de arte
+ antiques: Loja de antiguidades
+ art: Loja de artigos de arte
bakery: Padaria
beauty: Centro de estética
beverages: Loja de bebidas
computer: Loja de componentes informáticos
confectionery: Confeitaria
convenience: Loja de conveniência
- copyshop: Centro de cópias
+ copyshop: Loja de fotocópias
cosmetics: Loja de cosméticos
deli: Loja gourmet
department_store: Grande armazém
discount: Loja de descontos
- doityourself: Loja de bricolatge
+ doityourself: Loja de bricolage
dry_cleaning: Limpeza a seco
electronics: Loja de electrónica
estate_agent: Imobiliária
toys: Loja de brinquedos
travel_agency: Agência de viagens
tyres: Loja de pneus
- vacant: Lojas vagas
- variety_store: Lojas de variedades
+ vacant: Loja desocupada
+ variety_store: Loja dos chineses
video: Videoclube
- wine: Venda de bebidas
+ wine: Loja de vinhos
"yes": Loja
tourism:
- alpine_hut: Albergue de Montanha
+ alpine_hut: Albergue alpino
apartment: Apartamento de férias
artwork: Obra de arte
- attraction: Atracção
+ attraction: Atração
bed_and_breakfast: Cama com pequeno-almoço incluído
- cabin: Cabana
+ cabin: Casa de madeira
camp_site: Parque de campismo
caravan_site: Parque de caravanas
chalet: Chalé
gallery: Galeria
- guest_house: Casa de Hóspedes
- hostel: Pousada / Hostel
+ guest_house: Casa de hóspedes
+ hostel: Hostel
hotel: Hotel
information: Informação
motel: Motel
museum: Museu
- picnic_site: Parque de merendas / piqueniques
+ picnic_site: Parque de merendas
theme_park: Parque temático
viewpoint: Miradouro
zoo: Jardim zoológico
"yes": Túnel
waterway:
artificial: Curso de água artificial
- boatyard: Estaleiro Naval
+ boatyard: Estaleiro naval
canal: Canal
dam: Barragem
derelict_canal: Canal abandonado
dock: Doca
drain: Vala de drenagem
lock: Eclusa
- lock_gate: Comporta de Eclusa
+ lock_gate: Comporta de eclusa
mooring: Ancoragem
rapids: Rápidos
river: Rio
wadi: Uádi
waterfall: Queda de água
weir: Represa
- "yes": Curso de Ã\81gua
+ "yes": Curso de água
admin_levels:
- level2: Fronteira de País
- level4: Região
- level5: Sub-região / Ilha
- level6: Distrito
- level8: Freguesia
- level9: Localidade
- level10: Lugar
+ level2: Fronteira nacional
+ level4: Fronteira estadual
+ level5: Fronteira distrital
+ level6: Fronteira municipal
+ level8: Limite de freguesia
+ level9: Limite de localidade
+ level10: Limite de subúrbio
description:
title:
osm_nominatim: Resultado de <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
issues:
index:
title: Problemas
- select_status: Selecionar Estado
- select_type: Selecionar Tipo
- select_last_updated_by: Selecionar Ã\9altimo Atualizado por
- reported_user: Denunciar Utilizador
- not_updated: Não Atualizado
+ select_status: Selecionar estado
+ select_type: Selecionar tipo
+ select_last_updated_by: Selecionar última atualização por
+ reported_user: Utilizador denunciado
+ not_updated: Não atualizado
search: Pesquisar
- search_guidance: 'Pesquisar Problemas:'
+ search_guidance: 'Pesquisar problemas:'
user_not_found: O utilizador não existe
- issues_not_found: Não foi encontrado nenhum problema desse tipo
+ issues_not_found: Não se encontraram problemas desse tipo
status: Estado
reports: Denúncias
- last_updated: Última Atualização
+ last_updated: Última atualização
last_updated_time_html: <abbr title='%{title}'>%{time}</abbr>
last_updated_time_user_html: <abbr title='%{title}'>%{time}</abbr> por %{user}
- link_to_reports: Ver Denúncias
+ link_to_reports: Ver denúncias
reports_count:
one: 1 denúncia
other: '%{count} denúncias'
- reported_item: Item Denunciado
+ reported_item: Elemento denunciado
states:
ignored: Ignorado
- open: Aberto
- resolved: Resolvido
+ open: Abertos
+ resolved: Resolvidos
update:
- new_report: A sua denúncia por registada com sucesso
- successful_update: A sua denúncia foi atualizada com sucesso
- provide_details: Por favor forneça os detalhes necessários
+ new_report: A denúncia foi registada com sucesso
+ successful_update: A denúncia foi atualizada com sucesso
+ provide_details: Por favor, fornece os detalhes necessários
show:
title: '%{status} Denúncia #%{issue_id}'
reports:
zero: Sem denúncias
one: 1 denúncia
other: '%{count} denúncias'
- report_created_at: Denunciado primeiro em %{datetime}
- last_resolved_at: Último resolvido em %{datetime}
- last_updated_at: Último atualizado em %{datetime} por %{displayname}
+ report_created_at: Denunciado pela primeira vez em %{datetime}
+ last_resolved_at: Resolvido pela última vez em %{datetime}
+ last_updated_at: Atualizado pela última vez em %{datetime} por %{displayname}
resolve: Resolver
ignore: Ignorar
reopen: Reabrir
- reports_of_this_issue: Denúncias deste Problema
- read_reports: Ler Denúncias
- new_reports: Novas Denúncias
- other_issues_against_this_user: Outros problemas sobre este utilizador
- no_other_issues: Nenhum outro problema com este utilizador.
+ reports_of_this_issue: Denúncias deste problema
+ read_reports: Ler denúncias
+ new_reports: Novas denúncias
+ other_issues_against_this_user: Outros problemas associados a este utilizador
+ no_other_issues: Não há mais problemas associados a este utilizador.
comments_on_this_issue: Comentários sobre este problema
resolve:
resolved: O estado do problema foi alterado para 'Resolvido'
reopen:
reopened: O estado do problema foi alterado para 'Aberto'
comments:
- comment_from_html: Comentário de %{user_link} no %{comment_created_at}
+ comment_from_html: Comentário de %{user_link} em %{comment_created_at}
reassign_param: Reatribuir o problema?
reports:
- reported_by_html: Reportado como %{category} por %{user} em %{updated_at}
+ reported_by_html: Denunciado como %{category} por %{user} em %{updated_at}
helper:
reportable_title:
diary_comment: '%{entry_title}, comentário #%{comment_id}'
- note: 'Erro reportado #%{note_id}'
+ note: 'Nota #%{note_id}'
issue_comments:
create:
- comment_created: O seu comentário foi criado com sucesso
+ comment_created: O comentário foi criado com sucesso
reports:
new:
title_html: Denunciar %{link}
- missing_params: Não foi possível criar uma denúncia
- details: Por favor forneça mais alguns detalhes sobre o problema (obrigatório).
- select: Selecione um motivo para a sua denúnciaː
+ missing_params: Não foi possível criar nova denúncia
+ details: Por favor, fornece mais alguns detalhes sobre o problema (obrigatório).
+ select: Seleciona um motivo para a tua denúnciaː
disclaimer:
- intro: Antes de enviar a sua denúncia aos moderadores, por favor certifique-se
- queː
- not_just_mistake: Tem a certeza que o problema não é um mero engano
- unable_to_fix: Não consegue corrigir o problema por si próprio nem com a ajuda
- dos membros da comunidade
- resolve_with_user: Já tentou resolver o problema com o utilizador em questão
+ intro: Antes de enviares a denúncia aos moderadores, por favor, certifica-te
+ de queː
+ not_just_mistake: Tens a certeza que o problema não é um mero engano
+ unable_to_fix: Não consegues corrigir o problema sozinho nem com a ajuda dos
+ membros da tua comunidade
+ resolve_with_user: Já tentaste resolver o problema com o utilizador em questão
categories:
diary_entry:
- spam_label: Esta entrada do diário é ou contém SPAM/publicidade
- offensive_label: Esta entrada do diário é obscena ou ofensiva
- threat_label: Esta entrada do diário contém uma ameaça
+ spam_label: Esta entrada de diário é/contém spam
+ offensive_label: Esta entrada de diário é obscena/ofensiva
+ threat_label: Esta entrada de diário contém uma ameaça
other_label: Outro
diary_comment:
- spam_label: Este comentário na entrada do diário é ou contém SPAM/publicidade
- offensive_label: Este comentário na entrada do diário é obsceno ou ofensivo
- threat_label: Este comentário na entrada do diário contém uma ameaça
+ spam_label: Este comentário é/contém spam
+ offensive_label: Este comentário é obsceno/ofensivo
+ threat_label: Este comentário contém uma ameaça
other_label: Outro
user:
- spam_label: Este perfil de utilizador é ou contém SOAM/publicidade
- offensive_label: Este perfil de utilizador é obsceno ou ofensivo
+ spam_label: Este perfil de utilizador é/contém spam
+ offensive_label: Este perfil de utilizador é obsceno/ofensivo
threat_label: Este perfil de utilizador contém uma ameaça
vandal_label: Este utilizador é um vândalo
other_label: Outro
note:
- spam_label: Este erro reportado é SPAM/publicidade
- personal_label: Este erro reportado contém dados pessoais
- abusive_label: Este erro reportado é abusivo
+ spam_label: Esta nota é spam
+ personal_label: Esta nota contém dados pessoais
+ abusive_label: Esta nota é abusiva
other_label: Outro
create:
- successful_report: A sua denúncia foi registada com sucesso
- provide_details: Por favor forneça os detalhes necessários
+ successful_report: A tua denúncia foi registada com sucesso
+ provide_details: Por favor, fornece os detalhes necessários
layouts:
logo:
- alt_text: Logotipo do OpenStreetMap
- home: Localização inicial
+ alt_text: Logótipo do OpenStreetMap
+ home: Localização base
logout: Terminar sessão
- log_in: Iniciar Sessão
+ log_in: Iniciar sessão
log_in_tooltip: Entrar com uma conta existente
- sign_up: Criar Conta
- start_mapping: Começar a cartografar
- sign_up_tooltip: Criar uma conta para poder editar o mapa
+ sign_up: Criar conta
+ start_mapping: Começar a mapear
+ sign_up_tooltip: Cria uma conta para editares o mapa
edit: Editar
history: Histórico
export: Exportar
issues: Problemas
data: Dados
export_data: Exportar dados
- gps_traces: Trilhos GPS
- gps_traces_tooltip: Gerir os trilhos GPS
+ gps_traces: Rotas GPS
+ gps_traces_tooltip: Gerir rotas GPS
user_diaries: Diários do utilizador
- user_diaries_tooltip: Ver diários dos utilizadores
+ user_diaries_tooltip: Ver diários do utilizador
edit_with: Editar com %{editor}
- tag_line: O Mapa Mundial Livre e Editável
- intro_header: Bem vindo ao OpenStreetMap!
- intro_text: O OpenStreetMap é um mapa do mundo, criado por pessoas como você e
- de uso livre sob uma licença aberta.
- intro_2_create_account: Crie uma conta de utilizador
+ tag_line: O mapa mundial livre e editável
+ intro_header: Bem-vind@ ao OpenStreetMap!
+ intro_text: O OpenStreetMap é um mapa do mundo, criado por pessoas como tu e de
+ uso livre sob uma licença aberta.
+ intro_2_create_account: Cria uma conta de utilizador
hosting_partners_html: O alojamento é suportado por %{ucl}, %{bytemark} e outros
%{partners}.
partners_ucl: UCL
partners_bytemark: Bytemark Hosting
partners_partners: parceiros
tou: Condições de utilização
- osm_offline: A base de dados do OpenStreetMap não está disponível neste momento
- enquanto decorrerem trabalhos de manutenção.
- osm_read_only: A base de dados do OpenStreetMap encontra-se neste momento no modo
- de leitura, enquanto decorrerem trabalhos de manutenção.
- donate: Apoie o OpenStreetMap %{link} para o Fundo de Atualização do Hardware.
+ osm_offline: A base de dados do OpenStreetMap está indisponível devido a trabalhos
+ de manutenção.
+ osm_read_only: A base de dados do OpenStreetMap encontra-se em modo de leitura
+ devido a trabalhos de manutenção.
+ donate: Apoia o OpenStreetMap %{link} para o Fundo de Atualização do Hardware.
help: Ajuda
- about: Acerca de
+ about: Sobre
copyright: Direitos de autor
community: Comunidade
- community_blogs: Blogues da Comunidade
+ community_blogs: Blogues da comunidade
community_blogs_title: Blogues de membros da comunidade OpenStreetMap
foundation: Fundação
foundation_title: A Fundação OpenStreetMap
make_a_donation:
- title: Suporte o OpenStreetMap com um donativo monetário
- text: Fazer um Donativo
- learn_more: Mais Informações
+ title: Apoia o OpenStreetMap com um donativo monetário
+ text: Fazer donativo
+ learn_more: Mais informações
more: Mais
notifier:
diary_comment_notification:
hi: Olá %{to_user},
header: '%{from_user} comentou a entrada do diário OpenStreetMap com o assunto
%{subject}:'
- footer: Também pode ler o comentário em %{readurl} e comentar em %{commenturl}
+ footer: Também podes ler o comentário em %{readurl} e comentar em %{commenturl}
ou responder em %{replyurl}
message_notification:
hi: Olá %{to_user},
- header: '%{from_user} enviou-lhe uma mensagem através do OpenStreetMap com o
+ header: '%{from_user} enviou-te uma mensagem através do OpenStreetMap com o
assunto %{subject}:'
- footer_html: Também pode ler a mensagem em %{readurl} e pode responder em %{replyurl}
+ footer_html: Também podes ler a mensagem em %{readurl} e responder em %{replyurl}
friend_notification:
hi: Olá %{to_user},
- subject: '[OpenStreetMap] %{user} adicionou-o como amigo'
- had_added_you: '%{user} adicionou-o como amigo no OpenStreetMap.'
- see_their_profile: Pode ver o perfil do editor em %{userurl}.
- befriend_them: Também pode adicioná-lo como amigo em %{befriendurl}.
+ subject: '[OpenStreetMap] %{user} adicionou-te como amigo'
+ had_added_you: '%{user} adicionou-te como amigo no OpenStreetMap.'
+ see_their_profile: Podes ver o perfil dele em %{userurl}.
+ befriend_them: Também podes adicioná-lo como amigo em %{befriendurl}.
gpx_notification:
greeting: Olá,
- your_gpx_file: Parece que seu ficheiro GPX
+ your_gpx_file: Parece que o teu ficheiro GPX
with_description: com a descrição
and_the_tags: 'e com as seguintes etiquetas:'
and_no_tags: e sem etiquetas.
failure:
- subject: '[OpenStreetMap] Erro de importação GPX'
- failed_to_import: 'falhou na importação. Erro:'
- more_info_1: Pode encontrar mais informação sobre erros em importações GPX
- e como evitar
+ subject: '[OpenStreetMap] Erro ao importar GPX'
+ failed_to_import: 'falhou na importação. Eis o erro:'
+ more_info_1: Podes encontrar mais informação sobre erros de importação de
+ GPX e como evitar
more_info_2: 'que ocorram novamente em:'
success:
- subject: '[OpenStreetMap] Importação de GPX bem sucedida'
+ subject: '[OpenStreetMap] Importação de GPX bem-sucedida'
loaded_successfully: foi carregado com sucesso com %{trace_points} de %{possible_points}
pontos possíveis.
signup_confirm:
- subject: '[OpenStreetMap] Bem vindo(a) ao OpenStreetMap'
+ subject: '[OpenStreetMap] Bem-vind@ ao OpenStreetMap'
greeting: Olá!
- created: Alguém (provavelmente você) acaba de criar uma conta em %{site_url}.
- confirm: 'Antes de fazermos outra coisa, necessitamos que confirme que o pedido
- partiu de si. Se fez o pedido clique na ligação seguinte para confirmar a
- conta:'
- welcome: Depois de confirmar a sua conta, forneceremos algumas informações para
- começar a editar.
+ created: Alguém (provavelmente tu) acabou de criar uma conta em %{site_url}.
+ confirm: 'Antes de avançarmos, precisamos de confirmar que este pedido foi feito
+ por ti. Se sim, clica na ligação seguinte para confirmares a tua conta:'
+ welcome: Depois de confirmares a tua conta, dar-te-emos algumas informações
+ para começares a editar.
email_confirm:
- subject: '[OpenStreetMap] Confirme o seu endereço de e-mail'
+ subject: '[OpenStreetMap] Confirma o teu endereço de e-mail'
email_confirm_plain:
greeting: Olá,
- hopefully_you: Alguém (provavelmente você) pediu para alterar o endereço de
- email registado na conta em %{server_url} para o endereço %{new_address}.
- click_the_link: Se foi você que fez o pedido, clique na ligação seguinte para
- confirmar o pedido.
+ hopefully_you: Alguém (provavelmente tu) pediu para alterar o endereço de e-mail
+ em %{server_url} para o endereço %{new_address}.
+ click_the_link: Se foste tu a fazer o pedido, clica na ligação seguinte para
+ confirmares o pedido.
email_confirm_html:
greeting: Olá,
- hopefully_you: Foi feito um pedido no site do OpenStreetMap para alterar o endereço
- de e-mail da sua conta de %{server_url} para %{new_address}.
- click_the_link: Se foi você que fez o pedido, clique na ligação seguinte para
- confirmar a alteração.
+ hopefully_you: Alguém (esperamos que sejas tu) pretende alterar o endereço de
+ e-mail em %{server_url} para %{new_address}.
+ click_the_link: Se foste tu, clica na ligação seguinte para confirmares a alteração.
lost_password:
- subject: '[OpenStreetMap] Pedido de uma nova palavra-passe'
+ subject: '[OpenStreetMap] Pedido de nova palavra-passe'
lost_password_plain:
greeting: Olá,
- hopefully_you: Alguém (provavelmente você) pediu para ser enviada uma nova palavra-passe
- da conta no openstreetmap.org
- click_the_link: Se foi você que fez o pedido, clique na ligação seguinte para
- lhe ser enviada uma nova palavra-passe, invalidando a anterior.
+ hopefully_you: Alguém (provavelmente tu) pediu para definir uma nova palavra-passe
+ para a conta em openstreetmap.org associada a este e-mail.
+ click_the_link: Se foste tu, clica na ligação seguinte para criares uma nova
+ palavra-passe.
lost_password_html:
greeting: Olá,
- hopefully_you: Foi feito um pedido para obter uma nova palavra-passe nesta conta
- do openstreetmap.org associada a este e-mail.
- click_the_link: Se foi você que fez o pedido, clique na ligação seguinte para
- lhe ser enviada uma nova palavra-passe, invalidando a anterior.
+ hopefully_you: Alguém (provavelmente tu) pediu para definir uma nova palavra-passe
+ para a conta em openstreetmap.org associada a este e-mail.
+ click_the_link: Se foste tu, clica na ligação seguinte para criares uma nova
+ palavra-passe.
note_comment_notification:
anonymous: Um utilizador anónimo
greeting: Olá,
commented:
- subject_own: '[OpenStreetMap] %{commenter} deixou um comentário num erro do
- mapa que você reportou'
- subject_other: '[OpenStreetMap] %{commenter} deixou um comentário num erro
- do mapa que você reportou'
- your_note: '%{commenter} deixou um comentário num erro do mapa que você reportou
- perto de %{place}.'
- commented_note: '%{commenter} deixou um comentário num erro do mapa no mapa
- que você reportou. O erro reportado encontra-se perto de %{place}.'
+ subject_own: '[OpenStreetMap] %{commenter} deixou um comentário numa das tuas
+ notas'
+ subject_other: '[OpenStreetMap] %{commenter} deixou um comentário numa nota
+ que estás a vigiar'
+ your_note: '%{commenter} deixou um comentário numa das tuas notas perto de
+ %{place}.'
+ commented_note: '%{commenter} deixou um comentário numa nota comentada por
+ ti. A nota fica perto de %{place}.'
closed:
- subject_own: '[OpenStreetMap] %{commenter} resolveu um erro do mapa que você
- reportou'
- subject_other: '[OpenStreetMap] %{commenter} resolveu um erro no mapa que
- você está interessado'
- your_note: '%{commenter} resolveu um erro do mapa perto de %{place}.'
- commented_note: '%{commenter} resolveu um erro do mapa que você comentou.
- O erro do mapa encontra-se perto de %{place}.'
+ subject_own: '[OpenStreetMap] %{commenter} resolveu uma das tuas notas'
+ subject_other: '[OpenStreetMap] %{commenter} resolveu uma nota que estás a
+ vigiar'
+ your_note: '%{commenter} resolveu uma das tuas notas perto de %{place}.'
+ commented_note: '%{commenter} resolveu uma nota comentada por ti. A nota fica
+ perto de %{place}.'
reopened:
- subject_own: '[OpenStreetMap] %{commenter} reabriu um dos erros no mapa reportados
- por si'
- subject_other: '[OpenStreetMap] %{commenter} reabriu um dos erros no mapa
- em que você está interessado'
- your_note: '%{commenter} reabriu um erro no mapa reportado por si perto de
- %{place}.'
- commented_note: '%{commenter} reabriu um erro no mapa em que você comentou.
- O erro encontra-se perto de %{place}.'
- details: Ver mais detalhes sobre o erro reportado em %{url}.
+ subject_own: '[OpenStreetMap] %{commenter} reabriu uma das tuas notas.'
+ subject_other: '[OpenStreetMap] %{commenter} reabriu uma nota que estás a
+ vigiar'
+ your_note: '%{commenter} reabriu uma das tuas notas perto de %{place}.'
+ commented_note: '%{commenter} reabriu uma nota comentada por ti. A nota fica
+ perto de %{place}.'
+ details: Podes ver mais detalhes sobre a nota em %{url}.
changeset_comment_notification:
hi: Olá %{to_user},
greeting: Olá,
commented:
- subject_own: '[OpenStreetMap] %{commenter} comentou um dos seus conjuntos
+ subject_own: '[OpenStreetMap] %{commenter} comentou um dos teus conjuntos
de alterações'
subject_other: '[OpenStreetMap] %{commenter} comentou um conjunto de alterações
- no qual você está interessado'
- your_changeset: '%{commenter} deixou um comentário a %{time} num dos seus
+ que estás a vigiar'
+ your_changeset: '%{commenter} deixou um comentário a %{time} num dos teus
conjuntos de alterações'
commented_changeset: '%{commenter} deixou um comentário a %{time} num conjunto
- de alterações em que está interessado, criado por %{changeset_author}'
+ de alterações vigiado por ti, criado por %{changeset_author}'
partial_changeset_with_comment: com o comentário '%{changeset_comment}'
partial_changeset_without_comment: sem comentários
- details: Pode encontrar mais informações sobre a edição em %{url}.
- unsubscribe: Para deixar de seguir as atualizações deste conjunto de alterações,
- aceda a %{url} e clique em "Anular subscrição".
+ details: Podes encontrar mais informações sobre o conjunto de alterações em
+ %{url}.
+ unsubscribe: Para deixares de receber atualizações sobre este conjunto de alterações,
+ visita %{url} e clica em "Anular subscrição".
messages:
inbox:
title: Caixa de Entrada
my_inbox: Caixa de entrada
- outbox: caixa de saída
- messages: Tem %{new_messages} e %{old_messages}
+ outbox: Caixa de saída
+ messages: Tens %{new_messages} e %{old_messages}
new_messages:
one: '%{count} mensagem nova'
other: '%{count} mensagens novas'
from: De
subject: Assunto
date: Data
- no_messages_yet_html: Ainda não tem mensagens. Por que não entrar em contacto
+ no_messages_yet_html: Ainda não tens mensagens. Porque não entras em contacto
com algumas %{people_mapping_nearby_link}?
- people_mapping_nearby: pessoas a cartografar nas redondezas
+ people_mapping_nearby: pessoas que mapeiam perto de ti
message_summary:
unread_button: Marcar como não lida
- read_button: Marcar como lido
+ read_button: Marcar como lida
reply_button: Responder
destroy_button: Eliminar
new:
back_to_inbox: Voltar à caixa de entrada
create:
message_sent: Mensagem enviada
- limit_exceeded: Enviou muitas mensagens recentemente. Por favor aguarde e envie
- mais tarde.
+ limit_exceeded: Enviaste muitas mensagens num curto espaço de tempo. Por favor,
+ aguarda um pouco antes de enviares mais.
no_such_message:
title: Esta mensagem não existe
- heading: Esta mensagem não existe.
- body: Desculpe, não existe nenhuma mensagem com esse identificador (ID).
+ heading: Esta mensagem não existe
+ body: Lamentamos, não existe nenhuma mensagem com esse identificador (id).
outbox:
title: Caixa de saída
my_inbox_html: A minha %{inbox_link}
inbox: caixa de entrada
outbox: caixa de saída
messages:
- one: Tem %{count} mensagem enviada
- other: Tem %{count} mensagens enviadas
+ one: Tens %{count} mensagem enviada
+ other: Tens %{count} mensagens enviadas
to: Para
subject: Assunto
date: Data
- no_sent_messages_html: Ainda não tem mensagens enviadas. Por que não entrar
+ no_sent_messages_html: Ainda não tens mensagens enviadas. Porque não entras
em contacto com algumas %{people_mapping_nearby_link}?
- people_mapping_nearby: pessoas a cartografar nas redondezas
+ people_mapping_nearby: pessoas que mapeiam perto de ti
reply:
wrong_user: Está autenticado como o utilizador `%{user}' mas a mensagem que
pediu para responder não foi enviada para esse utilizador. Por favor entre
html: Está a ver a versão em Inglês da página de direitos de autor. Pode voltar
à %{native_link} desta página ou, se preferir, %{mapping_link}.
native_link: Versão em português
- mapping_link: começar a cartografar
+ mapping_link: começar a mapear
legal_babble:
title_html: Licença e Direitos de autor
intro_1_html: |-
one: '%{count} секунда назад'
few: '%{count} секунды назад'
many: '%{count} секунд назад'
+ other: '%{count} секунд назад'
x_minutes:
one: '%{count} минута назад'
few: '%{count} минуты назад'
many: '%{count} минут назад'
+ other: '%{count} минут назад'
x_days:
one: '%{count} день назад'
few: '%{count} дня назад'
many: '%{count} дней назад'
+ other: '%{count} дней назад'
x_months:
one: 1 месяц назад
few: '%{count} месяца назад'
reopen:
reopened: Статус проблемы был установлен в "Открыто"
comments:
+ comment_from_html: Комментарий участника %{user_link}, созданный %{comment_created_at}
reassign_param: Переназначить проблему?
reports:
reported_by_html: Указано как %{category} пользователем %{user} в %{updated_at}
пакетов правок'
subject_other: '[OpenStreetMap] %{commenter} прокомментировал пакет правок,
который вас интересует'
- your_changeset: '%{commenter} оставил комментарий %{time} к одному из ваших
+ your_changeset: '%{time} %{commenter} оставил комментарий к одному из ваших
пакетов правок'
commented_changeset: '%{time} участник %{commenter} оставил комментарий к
- пакеÑ\82Ñ\83 пÑ\80авок, коÑ\82оÑ\80Ñ\8bй вÑ\8b оÑ\82Ñ\81леживаеÑ\82е, Ñ\81озданномÑ\83 участником %{changeset_author}'
+ оÑ\82Ñ\81леживаемомÑ\83 вами пакеÑ\82Ñ\83 пÑ\80авок, коÑ\82оÑ\80Ñ\8bй бÑ\8bл Ñ\81оздан участником %{changeset_author}'
partial_changeset_with_comment: с комментарием '%{changeset_comment}'
partial_changeset_without_comment: без комментария
details: Дополнительные сведения о пакете правок можно найти на %{url}.
out: Отдалить
locate:
title: Показать мое местоположение
+ metersUnit: метры
+ feetUnit: футы
popup: Вы находитесь в {distance} {unit} от этой точки
base:
standard: Стандартный
tr:
time:
formats:
- friendly: '%e %B %Y saat %H.%M'
+ friendly: '%e %B %Y saat %H:%M'
helpers:
submit:
diary_comment:
models:
acl: Erişim Kontrol Listesi
changeset: Değişiklik Kaydı
- changeset_tag: Değişiklik kayıdının etiketi
+ changeset_tag: Değişiklik Kaydının Etiketi
country: Ülke
diary_comment: Günlük Yorumu
diary_entry: Günlük Girdisi
sayfasında bilmeniz gerekenleri bulun.
wiki:
url: https://wiki.openstreetmap.org/
- title: OpenStreetMap Wiki
+ title: OpenStreetMap Viki
description: Ayrıntılı OpenStreetMap belgeleri için wiki'ye göz atın.
sidebar:
search_results: Arama Sonuçları
tags_help: virgül (,) ile ayır
visibility: 'Görünürlük:'
visibility_help: bu ne demek?
- visibility_help_url: https://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
+ visibility_help_url: https://wiki.openstreetmap.org/wiki/Tr:Visibility_of_GPS_traces
help: Yardım
- help_url: https://wiki.openstreetmap.org/wiki/Upload
+ help_url: https://wiki.openstreetmap.org/wiki/Tr:Upload
create:
upload_trace: GPS İzi Gönder
trace_uploaded: GPX dosya yüklendi ve veritabanına eklemek için bekliyor. Bu
terms accepted: Yeni katılımcı şartları kabul ettiğin için teşekkür ederiz!
terms declined: Yeni Katılımcı Koşulları kabul etmediğiniz için üzgünüz. Daha
fazla bilgi için lütfen <a href="%{url}">buradaki wiki sayfasına</a> bakınız.
- terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
+ terms declined url: https://wiki.openstreetmap.org/wiki/Tr:Contributor_Terms_Declined
terms:
title: Koşullar
heading: Koşullar
consider_pd: Yukarıdakilere ek olarak katkılarınızın kamu malı olarak kabul
edilmesini de seçebilirsiniz
consider_pd_why: bu nedir?
- consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
+ consider_pd_why_url: https://wiki.openstreetmap.org/wiki/Tr:Why_would_I_want_my_contributions_to_be_public_domain
guidance_html: 'Buradaki bilgileri anlamanıza yardımcı olabilecek bilgiler: <a
href="%{summary}">okunabilir bir özet</a> ve ayrıca <a href="%{translations}">genel
çeviriler</a>'
continue: Devam
- declined: |2-
-
- https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
+ declined: https://wiki.openstreetmap.org/wiki/Tr:Contributor_Terms_Declined
decline: Reddet
you need to accept or decline: Lütfen katılımcı şartlarını okuyunuz ve şartları
kabul ya da ret ediniz.
email never displayed publicly: (hiçbir zaman görüntülenmez)
external auth: 'Harici Kimlik Doğrulama:'
openid:
- link: https://wiki.openstreetmap.org/wiki/OpenID
+ link: https://wiki.openstreetmap.org/wiki/Tr:OpenID
link text: bu nedir?
public editing:
heading: 'Herkese açık düzenleme modu:'
enabled: Etkin. Anonim değil ve verileri düzenleyebilir.
- enabled link: https://wiki.openstreetmap.org/wiki/Anonymous_edits
+ enabled link: https://wiki.openstreetmap.org/wiki/Tr:Anonymous_edits
enabled link text: bu nedir?
disabled: Devre dışı ve verileri düzenleyemez; önceki düzenlemeleri hepsi
anonimdir.
review link text: Yeni Katkıda Bulunma Şartlarını incelemek ve kabul etmek
için lütfen bu bağlantıyı kolaylık sağlamak için izleyin.
agreed_with_pd: Ayrıca düzenlediklerin Kamu Malı olsun diye kabul ettin.
- link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
+ link: https://wiki.openstreetmap.org/wiki/Tr:Open_Database_License/Contributor_Terms
link text: bu nedir?
profile description: 'Tanıtım:'
preferred languages: 'Tercih Edilen Diller:'
image: 'Resim:'
gravatar:
gravatar: Gravatar kullanın
- link: |2-
-
- https://wiki.openstreetmap.org/wiki/Gravatar
+ link: https://wiki.openstreetmap.org/wiki/Tr:Gravatar
link text: bu nedir?
disabled: Gravatar devre dışı bırakıldı.
enabled: Gravatarınızın görüntüsü etkinleştirildi.
few: більше ніж %{count} роки тому
other: більше ніж %{count} років тому
x_seconds:
- one: '%{count} секунду тому'
+ one: '%{count} секунду тому'
few: '%{count} секунди тому'
+ many: '%{count} секунд тому'
other: '%{count} секунд тому'
x_minutes:
one: '%{count} хвилину тому'
few: '%{count} хвилини тому'
+ many: '%{count} хвилин тому'
other: '%{count} хвилин тому'
x_days:
one: '%{count} день тому'
few: '%{count} дні тому'
+ many: '%{count} днів тому'
other: '%{count} днів тому'
x_months:
one: '%{count} місяць тому'
few: '%{count} місяці тому'
+ many: '%{count} місяців тому'
other: '%{count} місяців тому'
x_years:
one: '%{count} рік тому'
few: '%{count} роки тому'
+ many: '%{count} років тому'
other: '%{count} років тому'
editor:
default: Типовий (зараз %{name})
description: 說明:
tags: 標籤:
tags_help: 以逗點分隔
- visibility: 可見性:
+ visibility: 能見度
visibility_help: 這是什麼意思?
visibility_help_url: https://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
help: 說明
description: 描述:
tags: 標籤:
tags_help: 以逗號分隔
- visibility: 可見性:
+ visibility: 能見度
visibility_help: 這是什麼意思?
visibility_help_url: https://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
update:
edit_trace: 編輯這個軌跡
delete_trace: 刪除這個軌跡
trace_not_found: 找不到軌跡!
- visibility: 可見性:
+ visibility: 能見度
confirm_delete: 刪除這個軌跡?
trace_paging_nav:
showing_page: 第 %{page} 頁
"private": true,
"dependencies": {},
"devDependencies": {
- "eslint": "^6.0.1"
+ "eslint": "^6.8.0"
}
}
require "test_helper"
-require "minitest/mock"
module Api
class TracesControllerTest < ActionController::TestCase
+ # Use temporary directories with unique names for each test
+ # This allows the tests to be run in parallel.
+ def setup
+ @gpx_trace_dir_orig = Settings.gpx_trace_dir
+ @gpx_image_dir_orig = Settings.gpx_image_dir
+ Settings.gpx_trace_dir = Dir.mktmpdir("trace", Rails.root.join("test/gpx"))
+ Settings.gpx_image_dir = Dir.mktmpdir("image", Rails.root.join("test/gpx"))
+ end
+
def teardown
- File.unlink(*Dir.glob(File.join(Settings.gpx_trace_dir, "*.gpx")))
- File.unlink(*Dir.glob(File.join(Settings.gpx_image_dir, "*.gif")))
+ FileUtils.remove_dir(Settings.gpx_trace_dir)
+ FileUtils.remove_dir(Settings.gpx_image_dir)
+ Settings.gpx_trace_dir = @gpx_trace_dir_orig
+ Settings.gpx_image_dir = @gpx_image_dir_orig
end
##
get :comments, :params => { :display_name => user.display_name }
assert_response :success
assert_template :comments
- assert_select "table.messages" do
+ assert_select "table.table-striped" do
assert_select "tr", :count => 1 # header, no comments
end
get :comments, :params => { :display_name => other_user.display_name }
assert_response :success
assert_template :comments
- assert_select "table.messages" do
+ assert_select "table.table-striped" do
assert_select "tr", :count => 2 # header and one comment
end
assert_response :success
end
- def test_show
+ def test_show_moderator
target_user = create(:user)
- issue = create(:issue, :reportable => target_user, :reported_user => target_user)
+ issue = create(:issue, :reportable => target_user, :reported_user => target_user, :assigned_role => "moderator")
# Access issue without login
get :show, :params => { :id => issue.id }
# Access issue as administrator
session[:user] = create(:administrator_user).id
get :show, :params => { :id => issue.id }
+ assert_response :not_found
+
+ # Access issue as moderator
+ session[:user] = create(:moderator_user).id
+ get :show, :params => { :id => issue.id }
assert_response :success
+ end
+
+ def test_show_administrator
+ target_user = create(:user)
+ issue = create(:issue, :reportable => target_user, :reported_user => target_user, :assigned_role => "administrator")
+
+ # Access issue without login
+ get :show, :params => { :id => issue.id }
+ assert_response :redirect
+ assert_redirected_to login_path(:referer => issue_path(issue))
+
+ # Access issue as normal user
+ session[:user] = create(:user).id
+ get :show, :params => { :id => issue.id }
+ assert_response :redirect
+ assert_redirected_to :controller => :errors, :action => :forbidden
# Access issue as moderator
session[:user] = create(:moderator_user).id
get :show, :params => { :id => issue.id }
+ assert_response :not_found
+
+ # Access issue as administrator
+ session[:user] = create(:administrator_user).id
+ get :show, :params => { :id => issue.id }
assert_response :success
end
- def test_resolve
+ def test_resolve_moderator
target_user = create(:user)
- issue = create(:issue, :reportable => target_user, :reported_user => target_user)
+ issue = create(:issue, :reportable => target_user, :reported_user => target_user, :assigned_role => "moderator")
# Resolve issue without login
get :resolve, :params => { :id => issue.id }
# Resolve issue as administrator
session[:user] = create(:administrator_user).id
get :resolve, :params => { :id => issue.id }
+ assert_response :not_found
+ assert_equal false, issue.reload.resolved?
+
+ # Resolve issue as moderator
+ session[:user] = create(:moderator_user).id
+ get :resolve, :params => { :id => issue.id }
assert_response :redirect
assert_equal true, issue.reload.resolved?
+ end
- issue.reopen!
+ def test_resolve_administrator
+ target_user = create(:user)
+ issue = create(:issue, :reportable => target_user, :reported_user => target_user, :assigned_role => "administrator")
+
+ # Resolve issue without login
+ get :resolve, :params => { :id => issue.id }
+ assert_response :redirect
+ assert_redirected_to login_path(:referer => resolve_issue_path(issue))
+
+ # Resolve issue as normal user
+ session[:user] = create(:user).id
+ get :resolve, :params => { :id => issue.id }
+ assert_response :redirect
+ assert_redirected_to :controller => :errors, :action => :forbidden
# Resolve issue as moderator
session[:user] = create(:moderator_user).id
get :resolve, :params => { :id => issue.id }
+ assert_response :not_found
+ assert_equal false, issue.reload.resolved?
+
+ # Resolve issue as administrator
+ session[:user] = create(:administrator_user).id
+ get :resolve, :params => { :id => issue.id }
assert_response :redirect
assert_equal true, issue.reload.resolved?
end
- def test_ignore
+ def test_ignore_moderator
target_user = create(:user)
- issue = create(:issue, :reportable => target_user, :reported_user => target_user)
+ issue = create(:issue, :reportable => target_user, :reported_user => target_user, :assigned_role => "moderator")
# Ignore issue without login
get :ignore, :params => { :id => issue.id }
# Ignore issue as administrator
session[:user] = create(:administrator_user).id
get :ignore, :params => { :id => issue.id }
+ assert_response :not_found
+ assert_equal false, issue.reload.ignored?
+
+ # Ignore issue as moderator
+ session[:user] = create(:moderator_user).id
+ get :ignore, :params => { :id => issue.id }
assert_response :redirect
assert_equal true, issue.reload.ignored?
+ end
+
+ def test_ignore_administrator
+ target_user = create(:user)
+ issue = create(:issue, :reportable => target_user, :reported_user => target_user, :assigned_role => "administrator")
+
+ # Ignore issue without login
+ get :ignore, :params => { :id => issue.id }
+ assert_response :redirect
+ assert_redirected_to login_path(:referer => ignore_issue_path(issue))
- issue.reopen!
+ # Ignore issue as normal user
+ session[:user] = create(:user).id
+ get :ignore, :params => { :id => issue.id }
+ assert_response :redirect
+ assert_redirected_to :controller => :errors, :action => :forbidden
# Ignore issue as moderator
session[:user] = create(:moderator_user).id
get :ignore, :params => { :id => issue.id }
+ assert_response :not_found
+ assert_equal false, issue.reload.ignored?
+
+ # Ignore issue as administrator
+ session[:user] = create(:administrator_user).id
+ get :ignore, :params => { :id => issue.id }
assert_response :redirect
assert_equal true, issue.reload.ignored?
end
- def test_reopen
+ def test_reopen_moderator
target_user = create(:user)
- issue = create(:issue, :reportable => target_user, :reported_user => target_user)
+ issue = create(:issue, :reportable => target_user, :reported_user => target_user, :assigned_role => "moderator")
issue.resolve!
# Reopen issue as administrator
session[:user] = create(:administrator_user).id
get :reopen, :params => { :id => issue.id }
+ assert_response :not_found
+ assert_equal false, issue.reload.open?
+
+ # Reopen issue as moderator
+ session[:user] = create(:moderator_user).id
+ get :reopen, :params => { :id => issue.id }
assert_response :redirect
assert_equal true, issue.reload.open?
+ end
+
+ def test_reopen_administrator
+ target_user = create(:user)
+ issue = create(:issue, :reportable => target_user, :reported_user => target_user, :assigned_role => "administrator")
issue.resolve!
+ # Reopen issue without login
+ get :reopen, :params => { :id => issue.id }
+ assert_response :redirect
+ assert_redirected_to login_path(:referer => reopen_issue_path(issue))
+
+ # Reopen issue as normal user
+ session[:user] = create(:user).id
+ get :reopen, :params => { :id => issue.id }
+ assert_response :redirect
+ assert_redirected_to :controller => :errors, :action => :forbidden
+
# Reopen issue as moderator
session[:user] = create(:moderator_user).id
get :reopen, :params => { :id => issue.id }
+ assert_response :not_found
+ assert_equal false, issue.reload.open?
+
+ # Reopen issue as administrator
+ session[:user] = create(:administrator_user).id
+ get :reopen, :params => { :id => issue.id }
assert_response :redirect
assert_equal true, issue.reload.open?
end
require "test_helper"
-require "minitest/mock"
class TracesControllerTest < ActionController::TestCase
+ # Use temporary directories with unique names for each test
+ # This allows the tests to be run in parallel.
+ def setup
+ @gpx_trace_dir_orig = Settings.gpx_trace_dir
+ @gpx_image_dir_orig = Settings.gpx_image_dir
+ Settings.gpx_trace_dir = Dir.mktmpdir("trace", Rails.root.join("test/gpx"))
+ Settings.gpx_image_dir = Dir.mktmpdir("image", Rails.root.join("test/gpx"))
+ end
+
def teardown
- File.unlink(*Dir.glob(File.join(Settings.gpx_trace_dir, "*.gpx")))
- File.unlink(*Dir.glob(File.join(Settings.gpx_image_dir, "*.gif")))
+ FileUtils.remove_dir(Settings.gpx_trace_dir)
+ FileUtils.remove_dir(Settings.gpx_image_dir)
+ Settings.gpx_trace_dir = @gpx_trace_dir_orig
+ Settings.gpx_image_dir = @gpx_image_dir_orig
end
##
after(:create) do |trace, evaluator|
if evaluator.fixture
- File.symlink(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}.gpx"),
- Rails.root.join("test", "gpx", "traces", "#{trace.id}.gpx"))
- File.symlink(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}.gif"),
- Rails.root.join("test", "gpx", "images", "#{trace.id}.gif"))
- File.symlink(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}_icon.gif"),
- Rails.root.join("test", "gpx", "images", "#{trace.id}_icon.gif"))
+ FileUtils.copy(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}.gpx"),
+ File.join(Settings.gpx_trace_dir, "#{trace.id}.gpx"))
+ FileUtils.copy(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}.gif"),
+ File.join(Settings.gpx_image_dir, "#{trace.id}.gif"))
+ FileUtils.copy(Rails.root.join("test", "gpx", "fixtures", "#{evaluator.fixture}_icon.gif"),
+ File.join(Settings.gpx_image_dir, "#{trace.id}_icon.gif"))
end
end
end
require "test_helper"
require "gpx"
-require "minitest/mock"
class TraceTest < ActiveSupport::TestCase
+ # Use temporary directories with unique names for each test
+ # This allows the tests to be run in parallel.
+ def setup
+ @gpx_trace_dir_orig = Settings.gpx_trace_dir
+ @gpx_image_dir_orig = Settings.gpx_image_dir
+ Settings.gpx_trace_dir = Dir.mktmpdir("trace", Rails.root.join("test/gpx"))
+ Settings.gpx_image_dir = Dir.mktmpdir("image", Rails.root.join("test/gpx"))
+ end
+
def teardown
- File.unlink(*Dir.glob(File.join(Settings.gpx_trace_dir, "*.gpx")))
- File.unlink(*Dir.glob(File.join(Settings.gpx_image_dir, "*.gif")))
+ FileUtils.remove_dir(Settings.gpx_trace_dir)
+ FileUtils.remove_dir(Settings.gpx_image_dir)
+ Settings.gpx_trace_dir = @gpx_trace_dir_orig
+ Settings.gpx_image_dir = @gpx_image_dir_orig
end
def test_visible
trace.destroy
end
- # When testing the trace.import method, care needs to be taken regarding the icon
- # fixture files, since the fixtures could be overwritten by newly generated files.
- # We use FakeFS to temporarily protect the real fixture files from being overwritten.
-
def test_import_removes_previous_tracepoints
- FakeFS do
- FakeFS::FileSystem.clone(Rails.root.join("test/gpx"))
- trace = create(:trace, :fixture => "a")
- # Tracepoints don't have a primary key, so we use a specific latitude to
- # check for successful deletion
- create(:tracepoint, :latitude => 54321, :trace => trace)
- assert_equal 1, Tracepoint.where(:latitude => 54321).count
+ trace = create(:trace, :fixture => "a")
+ # Tracepoints don't have a primary key, so we use a specific latitude to
+ # check for successful deletion
+ create(:tracepoint, :latitude => 54321, :trace => trace)
+ assert_equal 1, Tracepoint.where(:latitude => 54321).count
- trace.import
+ trace.import
- assert_equal 0, Tracepoint.where(:latitude => 54321).count
- end
+ assert_equal 0, Tracepoint.where(:latitude => 54321).count
end
def test_import_creates_tracepoints
- FakeFS do
- FakeFS::FileSystem.clone(Rails.root.join("test/gpx"))
- trace = create(:trace, :fixture => "a")
- assert_equal 0, Tracepoint.where(:gpx_id => trace.id).count
+ trace = create(:trace, :fixture => "a")
+ assert_equal 0, Tracepoint.where(:gpx_id => trace.id).count
- trace.import
+ trace.import
- trace.reload
- assert_equal 1, Tracepoint.where(:gpx_id => trace.id).count
+ trace.reload
+ assert_equal 1, Tracepoint.where(:gpx_id => trace.id).count
- # Check that the tile has been set prior to the bulk import
- # i.e. that the callbacks have been run correctly
- assert_equal 3221331576, Tracepoint.where(:gpx_id => trace.id).first.tile
- end
+ # Check that the tile has been set prior to the bulk import
+ # i.e. that the callbacks have been run correctly
+ assert_equal 3221331576, Tracepoint.where(:gpx_id => trace.id).first.tile
end
def test_import_creates_icon
- FakeFS do
- FakeFS::FileSystem.clone(Rails.root.join("test/gpx"))
- trace = create(:trace, :fixture => "a")
- icon_path = File.join(Settings.gpx_image_dir, "#{trace.id}_icon.gif")
- FileUtils.rm(icon_path)
- assert_equal false, File.exist?(icon_path)
+ trace = create(:trace, :fixture => "a")
+ icon_path = File.join(Settings.gpx_image_dir, "#{trace.id}_icon.gif")
+ FileUtils.rm(icon_path)
+ assert_equal false, File.exist?(icon_path)
- trace.import
+ trace.import
- assert_equal true, File.exist?(icon_path)
- end
+ assert_equal true, File.exist?(icon_path)
end
def test_import_creates_large_picture
- FakeFS do
- FakeFS::FileSystem.clone(Rails.root.join("test/gpx"))
- trace = create(:trace, :fixture => "a")
- large_picture_path = File.join(Settings.gpx_image_dir, "#{trace.id}.gif")
- FileUtils.rm(large_picture_path)
- assert_equal false, File.exist?(large_picture_path)
+ trace = create(:trace, :fixture => "a")
+ large_picture_path = File.join(Settings.gpx_image_dir, "#{trace.id}.gif")
+ FileUtils.rm(large_picture_path)
+ assert_equal false, File.exist?(large_picture_path)
- trace.import
+ trace.import
- assert_equal true, File.exist?(large_picture_path)
- end
+ assert_equal true, File.exist?(large_picture_path)
end
def test_import_handles_bz2
- FakeFS do
- FakeFS::FileSystem.clone(Rails.root.join("test/gpx"))
- trace = create(:trace, :fixture => "c")
+ trace = create(:trace, :fixture => "c")
- trace.import
+ trace.import
- assert_equal 1, trace.size
- end
+ assert_equal 1, trace.size
end
def test_import_handles_plain
- FakeFS do
- FakeFS::FileSystem.clone(Rails.root.join("test/gpx"))
- trace = create(:trace, :fixture => "a")
+ trace = create(:trace, :fixture => "a")
- trace.import
+ trace.import
- assert_equal 1, trace.size
- end
+ assert_equal 1, trace.size
end
def test_import_handles_plain_with_bom
- FakeFS do
- FakeFS::FileSystem.clone(Rails.root.join("test/gpx"))
- trace = create(:trace, :fixture => "b")
+ trace = create(:trace, :fixture => "b")
- trace.import
+ trace.import
- assert_equal 1, trace.size
- end
+ assert_equal 1, trace.size
end
def test_import_handles_gz
trace = create(:trace, :fixture => "d")
- FakeFS do
- FakeFS::FileSystem.clone(Rails.root.join("test/gpx"))
- trace.import
+ trace.import
- assert_equal 1, trace.size
- ensure
- trace.destroy
- end
+ assert_equal 1, trace.size
end
def test_import_handles_zip
trace = create(:trace, :fixture => "f")
- FakeFS do
- FakeFS::FileSystem.clone(Rails.root.join("test/gpx"))
- trace.import
+ trace.import
- assert_equal 2, trace.size
- ensure
- trace.destroy
- end
+ assert_equal 2, trace.size
end
def test_import_handles_tar
trace = create(:trace, :fixture => "g")
- FakeFS do
- FakeFS::FileSystem.clone(Rails.root.join("test/gpx"))
- trace.import
+ trace.import
- assert_equal 2, trace.size
- ensure
- trace.destroy
- end
+ assert_equal 2, trace.size
end
def test_import_handles_tar_gz
trace = create(:trace, :fixture => "h")
- FakeFS do
- FakeFS::FileSystem.clone(Rails.root.join("test/gpx"))
- trace.import
+ trace.import
- assert_equal 2, trace.size
- ensure
- trace.destroy
- end
+ assert_equal 2, trace.size
end
def test_import_handles_tar_bz2
trace = create(:trace, :fixture => "i")
- FakeFS do
- FakeFS::FileSystem.clone(Rails.root.join("test/gpx"))
- trace.import
+ trace.import
- assert_equal 2, trace.size
- ensure
- trace.destroy
- end
+ assert_equal 2, trace.size
end
private
end
def test_commenting
- issue = create(:issue)
+ issue = create(:issue, :assigned_role => "moderator")
sign_in_as(create(:moderator_user))
visit issue_path(issue)
include FactoryBot::Syntax::Methods
include ActiveJob::TestHelper
+ # Run tests in parallel with specified workers
+ parallelize(:workers => :number_of_processors)
+
##
# takes a block which is executed in the context of a different
# ActionController instance. this is used so that code can call methods
"@babel/code-frame@^7.0.0":
- version "7.5.5"
- resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.5.5.tgz#bc0782f6d69f7b7d49531219699b988f669a8f9d"
- integrity sha512-27d4lZoomVyo51VegxI20xZPuSHusqbQag/ztrBC7wegWoQ1nLREPVSKSW8byhTlzTKyNE4ifaTA6lCp7JjpFw==
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/code-frame/-/code-frame-7.8.3.tgz#33e25903d7481181534e12ec0a25f16b6fcf419e"
+ integrity sha512-a9gxpmdXtZEInkCSHUJDLHZVBgb1QS0jhss4cPP93EW7s+uC5bikET2twEF3KV+7rDblJcmNvTR7VJejqd2C2g==
dependencies:
- "@babel/highlight" "^7.0.0"
+ "@babel/highlight" "^7.8.3"
-"@babel/highlight@^7.0.0":
- version "7.5.0"
- resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.5.0.tgz#56d11312bd9248fa619591d02472be6e8cb32540"
- integrity sha512-7dV4eu9gBxoM0dAnj/BCFDW9LFU0zvTrkq0ugM7pnHEgguOEeOz1so2ZghEdzviYzQEED0r4EAgpsBChKy1TRQ==
+"@babel/highlight@^7.8.3":
+ version "7.8.3"
+ resolved "https://registry.yarnpkg.com/@babel/highlight/-/highlight-7.8.3.tgz#28f173d04223eaaa59bc1d439a3836e6d1265797"
+ integrity sha512-PX4y5xQUvy0fnEVHrYOarRPXVWafSjTW9T0Hab8gVIawpl2Sj0ORyrygANq+KjcNlSSTw0YCLSNA8OyZ1I4yEg==
dependencies:
chalk "^2.0.0"
esutils "^2.0.2"
js-tokens "^4.0.0"
-acorn-jsx@^5.0.2:
- version "5.0.2"
- resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.0.2.tgz#84b68ea44b373c4f8686023a551f61a21b7c4a4f"
- integrity sha512-tiNTrP1MP0QrChmD2DdupCr6HWSFeKVw5d/dHTu4Y7rkAkRhU/Dt7dphAfIUyxtHpl/eBVip5uTNSpQJHylpAw==
+"@types/color-name@^1.1.1":
+ version "1.1.1"
+ resolved "https://registry.yarnpkg.com/@types/color-name/-/color-name-1.1.1.tgz#1c1261bbeaa10a8055bbc5d8ab84b7b2afc846a0"
+ integrity sha512-rr+OQyAjxze7GgWrSaJwydHStIhHq2lvY3BOC2Mj7KnzI7XK0Uw1TOOdI9lDoajEbSWLiYgoo4f1R51erQfhPQ==
-acorn@^7.0.0:
- version "7.0.0"
- resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.0.0.tgz#26b8d1cd9a9b700350b71c0905546f64d1284e7a"
- integrity sha512-PaF/MduxijYYt7unVGRuds1vBC9bFxbNf+VWqhOClfdgy7RlVkQqt610ig1/yxTgsDIfW1cWDel5EBbOy3jdtQ==
+acorn-jsx@^5.2.0:
+ version "5.2.0"
+ resolved "https://registry.yarnpkg.com/acorn-jsx/-/acorn-jsx-5.2.0.tgz#4c66069173d6fdd68ed85239fc256226182b2ebe"
+ integrity sha512-HiUX/+K2YpkpJ+SzBffkM/AQ2YE03S0U1kjTLVpoJdhZMOWy8qvXVN9JdLqv2QsaQ6MPYQIuNmwD8zOiYUofLQ==
+
+acorn@^7.1.1:
+ version "7.1.1"
+ resolved "https://registry.yarnpkg.com/acorn/-/acorn-7.1.1.tgz#e35668de0b402f359de515c5482a1ab9f89a69bf"
+ integrity sha512-add7dgA5ppRPxCFJoAGfMDi7PIBXq1RtGo7BhbLaxwrXPOmw8gq48Y9ozT01hUKy9byMjlR20EJhu5zlkErEkg==
ajv@^6.10.0, ajv@^6.10.2:
- version "6.10.2"
- resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.10.2.tgz#d3cea04d6b017b2894ad69040fec8b623eb4bd52"
- integrity sha512-TXtUUEYHuaTEbLZWIKUr5pmBuhDLy+8KYtPYdcV8qC+pOZL+NKqYwvWSRrVXHn+ZmRRAu8vJTAznH7Oag6RVRw==
+ version "6.12.0"
+ resolved "https://registry.yarnpkg.com/ajv/-/ajv-6.12.0.tgz#06d60b96d87b8454a5adaba86e7854da629db4b7"
+ integrity sha512-D6gFiFA0RRLyUbvijN74DWAjXSFxWKaWP7mldxkVhyhAV3+SWA9HEJPHQ2c9soIeTFJqcSdFDGFgdqs1iUU2Hw==
dependencies:
- fast-deep-equal "^2.0.1"
+ fast-deep-equal "^3.1.1"
fast-json-stable-stringify "^2.0.0"
json-schema-traverse "^0.4.1"
uri-js "^4.2.2"
-ansi-escapes@^3.2.0:
- version "3.2.0"
- resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-3.2.0.tgz#8780b98ff9dbf5638152d1f1fe5c1d7b4442976b"
- integrity sha512-cBhpre4ma+U0T1oM5fXg7Dy1Jw7zzwv7lt/GoCpr+hDQJoYnKVPLL4dCvSEFMmQurOQvSrwT7SL/DAlhBI97RQ==
-
-ansi-regex@^3.0.0:
- version "3.0.0"
- resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-3.0.0.tgz#ed0317c322064f79466c02966bddb605ab37d998"
- integrity sha1-7QMXwyIGT3lGbAKWa922Bas32Zg=
+ansi-escapes@^4.2.1:
+ version "4.3.1"
+ resolved "https://registry.yarnpkg.com/ansi-escapes/-/ansi-escapes-4.3.1.tgz#a5c47cc43181f1f38ffd7076837700d395522a61"
+ integrity sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==
+ dependencies:
+ type-fest "^0.11.0"
ansi-regex@^4.1.0:
version "4.1.0"
resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-4.1.0.tgz#8b9f8f08cf1acb843756a839ca8c7e3168c51997"
integrity sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==
+ansi-regex@^5.0.0:
+ version "5.0.0"
+ resolved "https://registry.yarnpkg.com/ansi-regex/-/ansi-regex-5.0.0.tgz#388539f55179bf39339c81af30a654d69f87cb75"
+ integrity sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==
+
ansi-styles@^3.2.0, ansi-styles@^3.2.1:
version "3.2.1"
resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-3.2.1.tgz#41fbb20243e50b12be0f04b8dedbf07520ce841d"
dependencies:
color-convert "^1.9.0"
+ansi-styles@^4.1.0:
+ version "4.2.1"
+ resolved "https://registry.yarnpkg.com/ansi-styles/-/ansi-styles-4.2.1.tgz#90ae75c424d008d2624c5bf29ead3177ebfcf359"
+ integrity sha512-9VGjrMsG1vePxcSweQsN20KY/c4zN0h9fLjqAbwbPfahM3t+NL+M9HC8xeXG2I8pX5NoamTGNuomEUFI7fcUjA==
+ dependencies:
+ "@types/color-name" "^1.1.1"
+ color-convert "^2.0.1"
+
argparse@^1.0.7:
version "1.0.10"
resolved "https://registry.yarnpkg.com/argparse/-/argparse-1.0.10.tgz#bcd6791ea5ae09725e17e5ad988134cd40b3d911"
resolved "https://registry.yarnpkg.com/callsites/-/callsites-3.1.0.tgz#b3630abd8943432f54b3f0519238e33cd7df2f73"
integrity sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==
-chalk@^2.0.0, chalk@^2.1.0, chalk@^2.4.2:
+chalk@^2.0.0, chalk@^2.1.0:
version "2.4.2"
resolved "https://registry.yarnpkg.com/chalk/-/chalk-2.4.2.tgz#cd42541677a54333cf541a49108c1432b44c9424"
integrity sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==
escape-string-regexp "^1.0.5"
supports-color "^5.3.0"
+chalk@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/chalk/-/chalk-3.0.0.tgz#3f73c2bf526591f574cc492c51e2456349f844e4"
+ integrity sha512-4D3B6Wf41KOYRFdszmDqMCGq5VV/uMAB273JILmO+3jAlh8X4qDtdtgCR3fxtbLEMzSx22QdhnDcJvu2u1fVwg==
+ dependencies:
+ ansi-styles "^4.1.0"
+ supports-color "^7.1.0"
+
chardet@^0.7.0:
version "0.7.0"
resolved "https://registry.yarnpkg.com/chardet/-/chardet-0.7.0.tgz#90094849f0937f2eedc2425d0d28a9e5f0cbad9e"
integrity sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==
-cli-cursor@^2.1.0:
- version "2.1.0"
- resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5"
- integrity sha1-s12sN2R5+sw+lHR9QdDQ9SOP/LU=
+cli-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-3.1.0.tgz#264305a7ae490d1d03bf0c9ba7c925d1753af307"
+ integrity sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==
dependencies:
- restore-cursor "^2.0.0"
+ restore-cursor "^3.1.0"
cli-width@^2.0.0:
version "2.2.0"
dependencies:
color-name "1.1.3"
+color-convert@^2.0.1:
+ version "2.0.1"
+ resolved "https://registry.yarnpkg.com/color-convert/-/color-convert-2.0.1.tgz#72d3a68d598c9bdb3af2ad1e84f21d896abd4de3"
+ integrity sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==
+ dependencies:
+ color-name "~1.1.4"
+
color-name@1.1.3:
version "1.1.3"
resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.3.tgz#a7d0558bd89c42f795dd42328f740831ca53bc25"
integrity sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=
+color-name@~1.1.4:
+ version "1.1.4"
+ resolved "https://registry.yarnpkg.com/color-name/-/color-name-1.1.4.tgz#c2a09a87acbde69543de6f63fa3995c826c536a2"
+ integrity sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==
+
concat-map@0.0.1:
version "0.0.1"
resolved "https://registry.yarnpkg.com/concat-map/-/concat-map-0.0.1.tgz#d8a96bd77fd68df7793a73036a3ba0d5405d477b"
resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-7.0.3.tgz#933a04052860c85e83c122479c4748a8e4c72156"
integrity sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==
+emoji-regex@^8.0.0:
+ version "8.0.0"
+ resolved "https://registry.yarnpkg.com/emoji-regex/-/emoji-regex-8.0.0.tgz#e818fd69ce5ccfcb404594f842963bf53164cc37"
+ integrity sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==
+
escape-string-regexp@^1.0.5:
version "1.0.5"
resolved "https://registry.yarnpkg.com/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz#1b61c0562190a8dff6ae3bb2cf0200ca130b86d4"
esrecurse "^4.1.0"
estraverse "^4.1.1"
-eslint-utils@^1.4.2:
- version "1.4.2"
- resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.2.tgz#166a5180ef6ab7eb462f162fd0e6f2463d7309ab"
- integrity sha512-eAZS2sEUMlIeCjBeubdj45dmBHQwPHWyBcT1VSYB7o9x9WRRqKxyUoiXlRjyAwzN7YEzHJlYg0NmzDRWx6GP4Q==
+eslint-utils@^1.4.3:
+ version "1.4.3"
+ resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-1.4.3.tgz#74fec7c54d0776b6f67e0251040b5806564e981f"
+ integrity sha512-fbBN5W2xdY45KulGXmLHZ3c3FHfVYmKg0IrAKGOkT/464PQsx2UeIzfz1RmEci+KLm1bBaAzZAh8+/E+XAeZ8Q==
dependencies:
- eslint-visitor-keys "^1.0.0"
+ eslint-visitor-keys "^1.1.0"
-eslint-visitor-keys@^1.0.0, eslint-visitor-keys@^1.1.0:
+eslint-visitor-keys@^1.1.0:
version "1.1.0"
resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.1.0.tgz#e2a82cea84ff246ad6fb57f9bde5b46621459ec2"
integrity sha512-8y9YjtM1JBJU/A9Kc+SbaOV4y29sSWckBwMHa+FGtVj5gN/sbnKDf6xJUl+8g7FAij9LVaP8C24DUiH/f/2Z9A==
-eslint@^6.0.1:
- version "6.2.2"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.2.2.tgz#03298280e7750d81fcd31431f3d333e43d93f24f"
- integrity sha512-mf0elOkxHbdyGX1IJEUsNBzCDdyoUgljF3rRlgfyYh0pwGnreLc0jjD6ZuleOibjmnUWZLY2eXwSooeOgGJ2jw==
+eslint@^6.8.0:
+ version "6.8.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-6.8.0.tgz#62262d6729739f9275723824302fb227c8c93ffb"
+ integrity sha512-K+Iayyo2LtyYhDSYwz5D5QdWw0hCacNzyq1Y821Xna2xSJj7cijoLLYmLxTQgcgZ9mC61nryMy9S7GRbYpI5Ig==
dependencies:
"@babel/code-frame" "^7.0.0"
ajv "^6.10.0"
debug "^4.0.1"
doctrine "^3.0.0"
eslint-scope "^5.0.0"
- eslint-utils "^1.4.2"
+ eslint-utils "^1.4.3"
eslint-visitor-keys "^1.1.0"
- espree "^6.1.1"
+ espree "^6.1.2"
esquery "^1.0.1"
esutils "^2.0.2"
file-entry-cache "^5.0.1"
functional-red-black-tree "^1.0.1"
glob-parent "^5.0.0"
- globals "^11.7.0"
+ globals "^12.1.0"
ignore "^4.0.6"
import-fresh "^3.0.0"
imurmurhash "^0.1.4"
- inquirer "^6.4.1"
+ inquirer "^7.0.0"
is-glob "^4.0.0"
js-yaml "^3.13.1"
json-stable-stringify-without-jsonify "^1.0.1"
minimatch "^3.0.4"
mkdirp "^0.5.1"
natural-compare "^1.4.0"
- optionator "^0.8.2"
+ optionator "^0.8.3"
progress "^2.0.0"
regexpp "^2.0.1"
semver "^6.1.2"
text-table "^0.2.0"
v8-compile-cache "^2.0.3"
-espree@^6.1.1:
- version "6.1.1"
- resolved "https://registry.yarnpkg.com/espree/-/espree-6.1.1.tgz#7f80e5f7257fc47db450022d723e356daeb1e5de"
- integrity sha512-EYbr8XZUhWbYCqQRW0duU5LxzL5bETN6AjKBGy1302qqzPaCH10QbRg3Wvco79Z8x9WbiE8HYB4e75xl6qUYvQ==
+espree@^6.1.2:
+ version "6.2.1"
+ resolved "https://registry.yarnpkg.com/espree/-/espree-6.2.1.tgz#77fc72e1fd744a2052c20f38a5b575832e82734a"
+ integrity sha512-ysCxRQY3WaXJz9tdbWOwuWr5Y/XrPTGX9Kiz3yoUXwW0VZ4w30HTkQLaGx/+ttFjF8i+ACbArnB4ce68a9m5hw==
dependencies:
- acorn "^7.0.0"
- acorn-jsx "^5.0.2"
+ acorn "^7.1.1"
+ acorn-jsx "^5.2.0"
eslint-visitor-keys "^1.1.0"
esprima@^4.0.0:
integrity sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==
esquery@^1.0.1:
- version "1.0.1"
- resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.0.1.tgz#406c51658b1f5991a5f9b62b1dc25b00e3e5c708"
- integrity sha512-SmiyZ5zIWH9VM+SRUReLS5Q8a7GxtRdxEBVZpm98rJM7Sb+A9DVCndXfkeFUd3byderg+EbDkfnevfCwynWaNA==
+ version "1.1.0"
+ resolved "https://registry.yarnpkg.com/esquery/-/esquery-1.1.0.tgz#c5c0b66f383e7656404f86b31334d72524eddb48"
+ integrity sha512-MxYW9xKmROWF672KqjO75sszsA8Mxhw06YFeS5VHlB98KDHbOSurm3ArsjO60Eaf3QmGMCP1yn+0JQkNLo/97Q==
dependencies:
estraverse "^4.0.0"
iconv-lite "^0.4.24"
tmp "^0.0.33"
-fast-deep-equal@^2.0.1:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz#7b05218ddf9667bf7f370bf7fdb2cb15fdd0aa49"
- integrity sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=
+fast-deep-equal@^3.1.1:
+ version "3.1.1"
+ resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.1.tgz#545145077c501491e33b15ec408c294376e94ae4"
+ integrity sha512-8UEa58QDLauDNfpbrX55Q9jrGHThw2ZMdOky5Gl1CDtVeJDPVrG4Jxx1N8jw2gkWaff5UUuX1KJd+9zGe2B+ZA==
fast-json-stable-stringify@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz#d5142c0caee6b1189f87d3a76111064f86c8bbf2"
- integrity sha1-1RQsDK7msRifh9OnYREGT4bIu/I=
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz#874bf69c6f404c2b5d99c481341399fd55892633"
+ integrity sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==
-fast-levenshtein@~2.0.4:
+fast-levenshtein@~2.0.6:
version "2.0.6"
resolved "https://registry.yarnpkg.com/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz#3d8a5c66883a16a30ca8643e851f19baa7797917"
integrity sha1-PYpcZog6FqMMqGQ+hR8Zuqd5eRc=
-figures@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/figures/-/figures-2.0.0.tgz#3ab1a2d2a62c8bfb431a0c94cb797a2fce27c962"
- integrity sha1-OrGi0qYsi/tDGgyUy3l6L84nyWI=
+figures@^3.0.0:
+ version "3.2.0"
+ resolved "https://registry.yarnpkg.com/figures/-/figures-3.2.0.tgz#625c18bd293c604dc4a8ddb2febf0c88341746af"
+ integrity sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==
dependencies:
escape-string-regexp "^1.0.5"
integrity sha1-GwqzvVU7Kg1jmdKcDj6gslIHgyc=
glob-parent@^5.0.0:
- version "5.0.0"
- resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.0.0.tgz#1dc99f0f39b006d3e92c2c284068382f0c20e954"
- integrity sha512-Z2RwiujPRGluePM6j699ktJYxmPpJKCfpGA13jz2hmFZC7gKetzrWvg5KN3+OsIFmydGyZ1AVwERCq1w/ZZwRg==
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/glob-parent/-/glob-parent-5.1.0.tgz#5f4c1d1e748d30cd73ad2944b3577a81b081e8c2"
+ integrity sha512-qjtRgnIVmOfnKUE3NJAQEdk+lKrxfw8t5ke7SXtfMTHcjsBfOfWXCQfdb30zfDoZQ2IRSIiidmjtbHZPZ++Ihw==
dependencies:
is-glob "^4.0.1"
glob@^7.1.3:
- version "7.1.4"
- resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.4.tgz#aa608a2f6c577ad357e1ae5a5c26d9a8d1969255"
- integrity sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==
+ version "7.1.6"
+ resolved "https://registry.yarnpkg.com/glob/-/glob-7.1.6.tgz#141f33b81a7c2492e125594307480c46679278a6"
+ integrity sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==
dependencies:
fs.realpath "^1.0.0"
inflight "^1.0.4"
once "^1.3.0"
path-is-absolute "^1.0.0"
-globals@^11.7.0:
- version "11.12.0"
- resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e"
- integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==
+globals@^12.1.0:
+ version "12.4.0"
+ resolved "https://registry.yarnpkg.com/globals/-/globals-12.4.0.tgz#a18813576a41b00a24a97e7f815918c2e19925f8"
+ integrity sha512-BWICuzzDvDoH54NHKCseDanAhE3CeDorgDL5MT6LMXXj2WCnd9UC2szdk4AWLfjdgNBCXLUanXYcpBBKOSWGwg==
+ dependencies:
+ type-fest "^0.8.1"
has-flag@^3.0.0:
version "3.0.0"
resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-3.0.0.tgz#b5d454dc2199ae225699f3467e5a07f3b955bafd"
integrity sha1-tdRU3CGZriJWmfNGfloH87lVuv0=
+has-flag@^4.0.0:
+ version "4.0.0"
+ resolved "https://registry.yarnpkg.com/has-flag/-/has-flag-4.0.0.tgz#944771fd9c81c81265c4d6941860da06bb59479b"
+ integrity sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==
+
iconv-lite@^0.4.24:
version "0.4.24"
resolved "https://registry.yarnpkg.com/iconv-lite/-/iconv-lite-0.4.24.tgz#2022b4b25fbddc21d2f524974a474aafe733908b"
integrity sha512-cyFDKrqc/YdcWFniJhzI42+AzS+gNwmUzOSFcRCQYwySuBBBy/KjuxWLZ/FHEH6Moq1NizMOBWyTcv8O4OZIMg==
import-fresh@^3.0.0:
- version "3.1.0"
- resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.1.0.tgz#6d33fa1dcef6df930fae003446f33415af905118"
- integrity sha512-PpuksHKGt8rXfWEr9m9EHIpgyyaltBy8+eF6GJM0QCAxMgxCfucMF3mjecK2QsJr0amJW7gTqh5/wht0z2UhEQ==
+ version "3.2.1"
+ resolved "https://registry.yarnpkg.com/import-fresh/-/import-fresh-3.2.1.tgz#633ff618506e793af5ac91bf48b72677e15cbe66"
+ integrity sha512-6e1q1cnWP2RXD9/keSkxHScg508CdXqXWgWBaETNhyuBFz+kUZlKboh+ISK+bU++DmbHimVBrOz/zzPe0sZ3sQ==
dependencies:
parent-module "^1.0.0"
resolve-from "^4.0.0"
resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.4.tgz#0fa2c64f932917c3433a0ded55363aae37416b7c"
integrity sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==
-inquirer@^6.4.1:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-6.5.2.tgz#ad50942375d036d327ff528c08bd5fab089928ca"
- integrity sha512-cntlB5ghuB0iuO65Ovoi8ogLHiWGs/5yNrtUcKjFhSSiVeAIVpD7koaSU9RM8mpXw5YDi9RdYXGQMaOURB7ycQ==
+inquirer@^7.0.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/inquirer/-/inquirer-7.1.0.tgz#1298a01859883e17c7264b82870ae1034f92dd29"
+ integrity sha512-5fJMWEmikSYu0nv/flMc475MhGbB7TSPd/2IpFV4I4rMklboCH2rQjYY5kKiYGHqUF9gvaambupcJFFG9dvReg==
dependencies:
- ansi-escapes "^3.2.0"
- chalk "^2.4.2"
- cli-cursor "^2.1.0"
+ ansi-escapes "^4.2.1"
+ chalk "^3.0.0"
+ cli-cursor "^3.1.0"
cli-width "^2.0.0"
external-editor "^3.0.3"
- figures "^2.0.0"
- lodash "^4.17.12"
- mute-stream "0.0.7"
- run-async "^2.2.0"
- rxjs "^6.4.0"
- string-width "^2.1.0"
- strip-ansi "^5.1.0"
+ figures "^3.0.0"
+ lodash "^4.17.15"
+ mute-stream "0.0.8"
+ run-async "^2.4.0"
+ rxjs "^6.5.3"
+ string-width "^4.1.0"
+ strip-ansi "^6.0.0"
through "^2.3.6"
is-extglob@^2.1.1:
resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz#a3b30a5c4f199183167aaab93beefae3ddfb654f"
integrity sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=
+is-fullwidth-code-point@^3.0.0:
+ version "3.0.0"
+ resolved "https://registry.yarnpkg.com/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz#f116f8064fe90b3f7844a38997c0b75051269f1d"
+ integrity sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==
+
is-glob@^4.0.0, is-glob@^4.0.1:
version "4.0.1"
resolved "https://registry.yarnpkg.com/is-glob/-/is-glob-4.0.1.tgz#7567dbe9f2f5e2467bc77ab83c4a29482407a5dc"
prelude-ls "~1.1.2"
type-check "~0.3.2"
-lodash@^4.17.12, lodash@^4.17.14:
+lodash@^4.17.14, lodash@^4.17.15:
version "4.17.15"
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548"
integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A==
-mimic-fn@^1.0.0:
- version "1.2.0"
- resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-1.2.0.tgz#820c86a39334640e99516928bd03fca88057d022"
- integrity sha512-jf84uxzwiuiIVKiOLpfYk7N46TSy8ubTonmneY9vrpHNAnp0QBt2BxWV9dO3/j+BoVAb+a5G6YDPW3M5HOdMWQ==
+mimic-fn@^2.1.0:
+ version "2.1.0"
+ resolved "https://registry.yarnpkg.com/mimic-fn/-/mimic-fn-2.1.0.tgz#7ed2c2ccccaf84d3ffcb7a69b57711fc2083401b"
+ integrity sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==
minimatch@^3.0.4:
version "3.0.4"
resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009"
integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==
-mute-stream@0.0.7:
- version "0.0.7"
- resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.7.tgz#3075ce93bc21b8fab43e1bc4da7e8115ed1e7bab"
- integrity sha1-MHXOk7whuPq0PhvE2n6BFe0ee6s=
+mute-stream@0.0.8:
+ version "0.0.8"
+ resolved "https://registry.yarnpkg.com/mute-stream/-/mute-stream-0.0.8.tgz#1630c42b2251ff81e2a283de96a5497ea92e5e0d"
+ integrity sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==
natural-compare@^1.4.0:
version "1.4.0"
dependencies:
wrappy "1"
-onetime@^2.0.0:
- version "2.0.1"
- resolved "https://registry.yarnpkg.com/onetime/-/onetime-2.0.1.tgz#067428230fd67443b2794b22bba528b6867962d4"
- integrity sha1-BnQoIw/WdEOyeUsiu6UotoZ5YtQ=
+onetime@^5.1.0:
+ version "5.1.0"
+ resolved "https://registry.yarnpkg.com/onetime/-/onetime-5.1.0.tgz#fff0f3c91617fe62bb50189636e99ac8a6df7be5"
+ integrity sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==
dependencies:
- mimic-fn "^1.0.0"
+ mimic-fn "^2.1.0"
-optionator@^0.8.2:
- version "0.8.2"
- resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.2.tgz#364c5e409d3f4d6301d6c0b4c05bba50180aeb64"
- integrity sha1-NkxeQJ0/TWMB1sC0wFu6UBgK62Q=
+optionator@^0.8.3:
+ version "0.8.3"
+ resolved "https://registry.yarnpkg.com/optionator/-/optionator-0.8.3.tgz#84fa1d036fe9d3c7e21d99884b601167ec8fb495"
+ integrity sha512-+IW9pACdk3XWmmTXG8m3upGUJst5XRGzxMRjXzAuJ1XnIFNvfhjjIuYkDvysnPQ7qzqVzLt78BCruntqRhWQbA==
dependencies:
deep-is "~0.1.3"
- fast-levenshtein "~2.0.4"
+ fast-levenshtein "~2.0.6"
levn "~0.3.0"
prelude-ls "~1.1.2"
type-check "~0.3.2"
- wordwrap "~1.0.0"
+ word-wrap "~1.2.3"
os-tmpdir@~1.0.2:
version "1.0.2"
resolved "https://registry.yarnpkg.com/resolve-from/-/resolve-from-4.0.0.tgz#4abcd852ad32dd7baabfe9b40e00a36db5f392e6"
integrity sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==
-restore-cursor@^2.0.0:
- version "2.0.0"
- resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-2.0.0.tgz#9f7ee287f82fd326d4fd162923d62129eee0dfaf"
- integrity sha1-n37ih/gv0ybU/RYpI9YhKe7g368=
+restore-cursor@^3.1.0:
+ version "3.1.0"
+ resolved "https://registry.yarnpkg.com/restore-cursor/-/restore-cursor-3.1.0.tgz#39f67c54b3a7a58cea5236d95cf0034239631f7e"
+ integrity sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==
dependencies:
- onetime "^2.0.0"
+ onetime "^5.1.0"
signal-exit "^3.0.2"
rimraf@2.6.3:
dependencies:
glob "^7.1.3"
-run-async@^2.2.0:
- version "2.3.0"
- resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.3.0.tgz#0371ab4ae0bdd720d4166d7dfda64ff7a445a6c0"
- integrity sha1-A3GrSuC91yDUFm19/aZP96RFpsA=
+run-async@^2.4.0:
+ version "2.4.0"
+ resolved "https://registry.yarnpkg.com/run-async/-/run-async-2.4.0.tgz#e59054a5b86876cfae07f431d18cbaddc594f1e8"
+ integrity sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==
dependencies:
is-promise "^2.1.0"
-rxjs@^6.4.0:
- version "6.5.2"
- resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.2.tgz#2e35ce815cd46d84d02a209fb4e5921e051dbec7"
- integrity sha512-HUb7j3kvb7p7eCUHE3FqjoDsC1xfZQ4AHFWfTKSpZ+sAhhz5X1WX0ZuUqWbzB2QhSLp3DoLUG+hMdEDKqWo2Zg==
+rxjs@^6.5.3:
+ version "6.5.4"
+ resolved "https://registry.yarnpkg.com/rxjs/-/rxjs-6.5.4.tgz#e0777fe0d184cec7872df147f303572d414e211c"
+ integrity sha512-naMQXcgEo3csAEGvw/NydRA0fuS2nDZJiw1YUWFKU7aPPAPGZEsD4Iimit96qwCieH6y614MCLYwdkrWx7z/7Q==
dependencies:
tslib "^1.9.0"
resolved "https://registry.yarnpkg.com/sprintf-js/-/sprintf-js-1.0.3.tgz#04e6926f662895354f3dd015203633b857297e2c"
integrity sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=
-string-width@^2.1.0:
- version "2.1.1"
- resolved "https://registry.yarnpkg.com/string-width/-/string-width-2.1.1.tgz#ab93f27a8dc13d28cac815c462143a6d9012ae9e"
- integrity sha512-nOqH59deCq9SRHlxq1Aw85Jnt4w6KvLKqWVik6oA9ZklXLNIOlqg4F2yrT1MVaTjAqvVwdfeZ7w7aCvJD7ugkw==
- dependencies:
- is-fullwidth-code-point "^2.0.0"
- strip-ansi "^4.0.0"
-
string-width@^3.0.0:
version "3.1.0"
resolved "https://registry.yarnpkg.com/string-width/-/string-width-3.1.0.tgz#22767be21b62af1081574306f69ac51b62203961"
is-fullwidth-code-point "^2.0.0"
strip-ansi "^5.1.0"
-strip-ansi@^4.0.0:
- version "4.0.0"
- resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-4.0.0.tgz#a8479022eb1ac368a871389b635262c505ee368f"
- integrity sha1-qEeQIusaw2iocTibY1JixQXuNo8=
+string-width@^4.1.0:
+ version "4.2.0"
+ resolved "https://registry.yarnpkg.com/string-width/-/string-width-4.2.0.tgz#952182c46cc7b2c313d1596e623992bd163b72b5"
+ integrity sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==
dependencies:
- ansi-regex "^3.0.0"
+ emoji-regex "^8.0.0"
+ is-fullwidth-code-point "^3.0.0"
+ strip-ansi "^6.0.0"
strip-ansi@^5.1.0, strip-ansi@^5.2.0:
version "5.2.0"
dependencies:
ansi-regex "^4.1.0"
+strip-ansi@^6.0.0:
+ version "6.0.0"
+ resolved "https://registry.yarnpkg.com/strip-ansi/-/strip-ansi-6.0.0.tgz#0b1571dd7669ccd4f3e06e14ef1eed26225ae532"
+ integrity sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==
+ dependencies:
+ ansi-regex "^5.0.0"
+
strip-json-comments@^3.0.1:
version "3.0.1"
resolved "https://registry.yarnpkg.com/strip-json-comments/-/strip-json-comments-3.0.1.tgz#85713975a91fb87bf1b305cca77395e40d2a64a7"
dependencies:
has-flag "^3.0.0"
+supports-color@^7.1.0:
+ version "7.1.0"
+ resolved "https://registry.yarnpkg.com/supports-color/-/supports-color-7.1.0.tgz#68e32591df73e25ad1c4b49108a2ec507962bfd1"
+ integrity sha512-oRSIpR8pxT1Wr2FquTNnGet79b3BWljqOuoW/h4oBhxJ/HUbX5nX6JSruTkvXDCFMwDPvsaTTbvMLKZWSy0R5g==
+ dependencies:
+ has-flag "^4.0.0"
+
table@^5.2.3:
version "5.4.6"
resolved "https://registry.yarnpkg.com/table/-/table-5.4.6.tgz#1292d19500ce3f86053b05f0e8e7e4a3bb21079e"
os-tmpdir "~1.0.2"
tslib@^1.9.0:
- version "1.10.0"
- resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.10.0.tgz#c3c19f95973fb0a62973fb09d90d961ee43e5c8a"
- integrity sha512-qOebF53frne81cf0S9B41ByenJ3/IuH8yJKngAX35CmiZySA0khhkovshKK+jGCaMnVomla7gVlIcc3EvKPbTQ==
+ version "1.11.1"
+ resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.11.1.tgz#eb15d128827fbee2841549e171f45ed338ac7e35"
+ integrity sha512-aZW88SY8kQbU7gpV19lN24LtXh/yD4ZZg6qieAJDDg+YBsJcSmLGK9QpnUjAKVG/xefmvJGd1WUmfpT/g6AJGA==
type-check@~0.3.2:
version "0.3.2"
dependencies:
prelude-ls "~1.1.2"
+type-fest@^0.11.0:
+ version "0.11.0"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.11.0.tgz#97abf0872310fed88a5c466b25681576145e33f1"
+ integrity sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==
+
+type-fest@^0.8.1:
+ version "0.8.1"
+ resolved "https://registry.yarnpkg.com/type-fest/-/type-fest-0.8.1.tgz#09e249ebde851d3b1e48d27c105444667f17b83d"
+ integrity sha512-4dbzIzqvjtgiM5rw1k5rEHtBANKmdudhGyBEajN01fEyhaAIhsoKNy6y7+IN93IfpFtwY9iqi7kD+xwKhQsNJA==
+
uri-js@^4.2.2:
version "4.2.2"
resolved "https://registry.yarnpkg.com/uri-js/-/uri-js-4.2.2.tgz#94c540e1ff772956e2299507c010aea6c8838eb0"
dependencies:
isexe "^2.0.0"
-wordwrap@~1.0.0:
- version "1.0.0"
- resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb"
- integrity sha1-J1hIEIkUVqQXHI0CJkQa3pDLyus=
+word-wrap@~1.2.3:
+ version "1.2.3"
+ resolved "https://registry.yarnpkg.com/word-wrap/-/word-wrap-1.2.3.tgz#610636f6b1f703891bd34771ccb17fb93b47079c"
+ integrity sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==
wrappy@1:
version "1.0.2"