From: Andy Allan Date: Wed, 16 Aug 2023 12:43:42 +0000 (+0100) Subject: Merge pull request #4133 from AntonKhorev/flex-leaflet-controls X-Git-Tag: live~627 X-Git-Url: https://git.openstreetmap.org/rails.git/commitdiff_plain/6b633e9d4a49df1f9308ef392203437cb7742558?hp=98d1da4b9894c3feb5912912aa773c84bae42666 Merge pull request #4133 from AntonKhorev/flex-leaflet-controls Use multiple columns for map controls if they don't fit vertically --- diff --git a/.rubocop_todo.yml b/.rubocop_todo.yml index 527c79354..db94a610b 100644 --- a/.rubocop_todo.yml +++ b/.rubocop_todo.yml @@ -92,16 +92,6 @@ Minitest/EmptyLineBeforeAssertionMethods: Minitest/MultipleAssertions: Max: 54 -# Offense count: 1 -# Configuration parameters: NamePrefix, ForbiddenPrefixes, AllowedMethods, MethodDefinitionMacros. -# NamePrefix: is_, has_, have_ -# ForbiddenPrefixes: is_, has_, have_ -# AllowedMethods: is_a? -# MethodDefinitionMacros: define_method, define_singleton_method -Naming/PredicateName: - Exclude: - - 'app/models/user.rb' - # Offense count: 1 # This cop supports unsafe autocorrection (--autocorrect-all). Rails/ActionControllerFlashBeforeRender: diff --git a/Gemfile.lock b/Gemfile.lock index 2cb6bf177..b75e93606 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -3,78 +3,78 @@ GEM specs: aasm (5.5.0) concurrent-ruby (~> 1.0) - actioncable (7.0.6) - actionpack (= 7.0.6) - activesupport (= 7.0.6) + actioncable (7.0.7) + actionpack (= 7.0.7) + activesupport (= 7.0.7) nio4r (~> 2.0) websocket-driver (>= 0.6.1) - actionmailbox (7.0.6) - actionpack (= 7.0.6) - activejob (= 7.0.6) - activerecord (= 7.0.6) - activestorage (= 7.0.6) - activesupport (= 7.0.6) + actionmailbox (7.0.7) + actionpack (= 7.0.7) + activejob (= 7.0.7) + activerecord (= 7.0.7) + activestorage (= 7.0.7) + activesupport (= 7.0.7) mail (>= 2.7.1) net-imap net-pop net-smtp - actionmailer (7.0.6) - actionpack (= 7.0.6) - actionview (= 7.0.6) - activejob (= 7.0.6) - activesupport (= 7.0.6) + actionmailer (7.0.7) + actionpack (= 7.0.7) + actionview (= 7.0.7) + activejob (= 7.0.7) + activesupport (= 7.0.7) mail (~> 2.5, >= 2.5.4) net-imap net-pop net-smtp rails-dom-testing (~> 2.0) - actionpack (7.0.6) - actionview (= 7.0.6) - activesupport (= 7.0.6) + actionpack (7.0.7) + actionview (= 7.0.7) + activesupport (= 7.0.7) rack (~> 2.0, >= 2.2.4) rack-test (>= 0.6.3) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.0, >= 1.2.0) actionpack-page_caching (1.2.4) actionpack (>= 4.0.0) - actiontext (7.0.6) - actionpack (= 7.0.6) - activerecord (= 7.0.6) - activestorage (= 7.0.6) - activesupport (= 7.0.6) + actiontext (7.0.7) + actionpack (= 7.0.7) + activerecord (= 7.0.7) + activestorage (= 7.0.7) + activesupport (= 7.0.7) globalid (>= 0.6.0) nokogiri (>= 1.8.5) - actionview (7.0.6) - activesupport (= 7.0.6) + actionview (7.0.7) + activesupport (= 7.0.7) builder (~> 3.1) erubi (~> 1.4) rails-dom-testing (~> 2.0) rails-html-sanitizer (~> 1.1, >= 1.2.0) active_record_union (1.3.0) activerecord (>= 4.0) - activejob (7.0.6) - activesupport (= 7.0.6) + activejob (7.0.7) + activesupport (= 7.0.7) globalid (>= 0.3.6) - activemodel (7.0.6) - activesupport (= 7.0.6) - activerecord (7.0.6) - activemodel (= 7.0.6) - activesupport (= 7.0.6) + activemodel (7.0.7) + activesupport (= 7.0.7) + activerecord (7.0.7) + activemodel (= 7.0.7) + activesupport (= 7.0.7) activerecord-import (1.4.1) activerecord (>= 4.2) - activestorage (7.0.6) - actionpack (= 7.0.6) - activejob (= 7.0.6) - activerecord (= 7.0.6) - activesupport (= 7.0.6) + activestorage (7.0.7) + actionpack (= 7.0.7) + activejob (= 7.0.7) + activerecord (= 7.0.7) + activesupport (= 7.0.7) marcel (~> 1.0) mini_mime (>= 1.1.0) - activesupport (7.0.6) + activesupport (7.0.7) concurrent-ruby (~> 1.0, >= 1.0.2) i18n (>= 1.6, < 2) minitest (>= 5.1) tzinfo (~> 2.0) - addressable (2.8.4) + addressable (2.8.5) public_suffix (>= 2.0.2, < 6.0) annotate (3.2.0) activerecord (>= 3.2, < 8.0) @@ -86,8 +86,8 @@ GEM autoprefixer-rails (10.4.13.0) execjs (~> 2) aws-eventstream (1.2.0) - aws-partitions (1.795.0) - aws-sdk-core (3.180.1) + aws-partitions (1.804.0) + aws-sdk-core (3.180.3) aws-eventstream (~> 1, >= 1.0.2) aws-partitions (~> 1, >= 1.651.0) aws-sigv4 (~> 1.5) @@ -95,12 +95,13 @@ GEM aws-sdk-kms (1.71.0) aws-sdk-core (~> 3, >= 3.177.0) aws-sigv4 (~> 1.1) - aws-sdk-s3 (1.132.0) + aws-sdk-s3 (1.132.1) aws-sdk-core (~> 3, >= 3.179.0) aws-sdk-kms (~> 1) aws-sigv4 (~> 1.6) aws-sigv4 (1.6.0) aws-eventstream (~> 1, >= 1.0.2) + base64 (0.1.1) better_errors (2.10.1) erubi (>= 1.0.0) rack (>= 0.9.0) @@ -168,7 +169,7 @@ GEM dry-configurable (1.1.0) dry-core (~> 1.0, < 2) zeitwerk (~> 2.6) - dry-core (1.0.0) + dry-core (1.0.1) concurrent-ruby (~> 1.0) zeitwerk (~> 2.6) dry-inflector (1.0.0) @@ -298,7 +299,7 @@ GEM maxminddb (0.1.22) method_source (1.0.0) mini_magick (4.12.0) - mini_mime (1.1.2) + mini_mime (1.1.5) mini_portile2 (2.8.4) minitest (5.19.0) msgpack (1.7.2) @@ -314,7 +315,7 @@ GEM net-smtp (0.3.3) net-protocol nio4r (2.5.9) - nokogiri (1.15.3) + nokogiri (1.15.4) mini_portile2 (~> 2.8.2) racc (~> 1.4) oauth (0.4.7) @@ -368,7 +369,7 @@ GEM ast (~> 2.4.1) racc pg (1.5.3) - popper_js (2.11.7) + popper_js (2.11.8) progress (3.6.0) public_suffix (5.0.3) puma (5.6.6) @@ -382,42 +383,42 @@ GEM rack-openid (1.4.2) rack (>= 1.1.0) ruby-openid (>= 2.1.8) - rack-protection (3.0.6) - rack + rack-protection (3.1.0) + rack (~> 2.2, >= 2.2.4) rack-test (2.1.0) rack (>= 1.3) rack-uri_sanitizer (0.0.2) - rails (7.0.6) - actioncable (= 7.0.6) - actionmailbox (= 7.0.6) - actionmailer (= 7.0.6) - actionpack (= 7.0.6) - actiontext (= 7.0.6) - actionview (= 7.0.6) - activejob (= 7.0.6) - activemodel (= 7.0.6) - activerecord (= 7.0.6) - activestorage (= 7.0.6) - activesupport (= 7.0.6) + rails (7.0.7) + actioncable (= 7.0.7) + actionmailbox (= 7.0.7) + actionmailer (= 7.0.7) + actionpack (= 7.0.7) + actiontext (= 7.0.7) + actionview (= 7.0.7) + activejob (= 7.0.7) + activemodel (= 7.0.7) + activerecord (= 7.0.7) + activestorage (= 7.0.7) + activesupport (= 7.0.7) bundler (>= 1.15.0) - railties (= 7.0.6) + railties (= 7.0.7) rails-controller-testing (1.0.5) actionpack (>= 5.0.1.rc1) actionview (>= 5.0.1.rc1) activesupport (>= 5.0.1.rc1) - rails-dom-testing (2.1.1) + rails-dom-testing (2.2.0) activesupport (>= 5.0.0) minitest nokogiri (>= 1.6) rails-html-sanitizer (1.6.0) loofah (~> 2.21) nokogiri (~> 1.14) - rails-i18n (7.0.6) + rails-i18n (7.0.8) i18n (>= 0.7, < 2) railties (>= 6.0.0, < 8) - railties (7.0.6) - actionpack (= 7.0.6) - activesupport (= 7.0.6) + railties (7.0.7) + actionpack (= 7.0.7) + activesupport (= 7.0.7) method_source rake (>= 12.2) thor (~> 1.0) @@ -434,7 +435,8 @@ GEM rinku (2.0.6) rotp (6.2.2) rouge (4.1.3) - rubocop (1.55.1) + rubocop (1.56.0) + base64 (~> 0.1.1) json (~> 2.3) language_server-protocol (>= 3.17.0) parallel (~> 1.10) @@ -453,7 +455,7 @@ GEM rubocop (~> 1.33) rubocop-minitest (0.31.0) rubocop (>= 1.39, < 2.0) - rubocop-performance (1.18.0) + rubocop-performance (1.19.0) rubocop (>= 1.7.0, < 2.0) rubocop-ast (>= 0.4.0) rubocop-rails (2.20.2) @@ -505,7 +507,7 @@ GEM actionpack (>= 5.2) activesupport (>= 5.2) sprockets (>= 3.0.0) - strong_migrations (1.6.0) + strong_migrations (1.6.1) activerecord (>= 5.2) terminal-table (3.0.2) unicode-display_width (>= 1.1.1, < 3) @@ -531,7 +533,7 @@ GEM websocket-extensions (0.1.5) xpath (3.2.0) nokogiri (~> 1.8) - zeitwerk (2.6.10) + zeitwerk (2.6.11) PLATFORMS ruby diff --git a/app/assets/images/banners/donate_2023_1.jpg b/app/assets/images/banners/donate_2023_1.jpg new file mode 100644 index 000000000..0a445b5e2 Binary files /dev/null and b/app/assets/images/banners/donate_2023_1.jpg differ diff --git a/app/assets/images/banners/donate_2023_1@2x.jpg b/app/assets/images/banners/donate_2023_1@2x.jpg new file mode 100644 index 000000000..8f519b63a Binary files /dev/null and b/app/assets/images/banners/donate_2023_1@2x.jpg differ diff --git a/app/assets/images/banners/sotm_2022.png b/app/assets/images/banners/sotm_2022.png deleted file mode 100644 index e6cc0cd79..000000000 Binary files a/app/assets/images/banners/sotm_2022.png and /dev/null differ diff --git a/app/assets/javascripts/messages.js b/app/assets/javascripts/messages.js index 0cae79a58..5accc1a60 100644 --- a/app/assets/javascripts/messages.js +++ b/app/assets/javascripts/messages.js @@ -1,30 +1,34 @@ $(document).ready(function () { $(".inbox-mark-unread").on("ajax:success", function (event, data) { - $("#inboxanchor").remove(); - $(".user-button").before(data.inboxanchor); - - $("#inbox-count").replaceWith(data.inbox_count); - - $(this).parents(".inbox-row").removeClass("inbox-row").addClass("inbox-row-unread"); + updateHtml(data); + updateReadState(this, false); }); $(".inbox-mark-read").on("ajax:success", function (event, data) { - $("#inboxanchor").remove(); - $(".user-button").before(data.inboxanchor); + updateHtml(data); + updateReadState(this, true); + }); - $("#inbox-count").replaceWith(data.inbox_count); + $(".inbox-destroy").on("ajax:success", function (event, data) { + updateHtml(data); - $(this).parents(".inbox-row-unread").removeClass("inbox-row-unread").addClass("inbox-row"); + $(this).closest("tr").fadeOut(800, "linear", function () { + $(this).remove(); + }); }); - $(".inbox-destroy").on("ajax:success", function (event, data) { + function updateHtml(data) { $("#inboxanchor").remove(); $(".user-button").before(data.inboxanchor); $("#inbox-count").replaceWith(data.inbox_count); - - $(this).parents(".inbox-row, .inbox-row-unread").fadeOut(800, "linear", function () { - $(this).remove(); - }); - }); + } + + function updateReadState(target, isRead) { + $(target).closest("tr") + .toggleClass("inbox-row", isRead) + .toggleClass("inbox-row-unread", !isRead) + .find(".inbox-mark-unread").prop("hidden", !isRead).end() + .find(".inbox-mark-read").prop("hidden", isRead); + } }); diff --git a/app/assets/javascripts/user.js b/app/assets/javascripts/user.js index 14da8f300..146d876f7 100644 --- a/app/assets/javascripts/user.js +++ b/app/assets/javascripts/user.js @@ -1,8 +1,11 @@ //= require leaflet.locatecontrol/src/L.Control.Locate $(document).ready(function () { + var defaultHomeZoom = 12; + var map, marker, deleted_lat, deleted_lon; + if ($("#map").length) { - var map = L.map("map", { + map = L.map("map", { attributionControl: false, zoomControl: false }).addLayer(new L.OSM.Mapnik()); @@ -35,13 +38,17 @@ $(document).ready(function () { .addClass("control-button"); if (OSM.home) { - map.setView([OSM.home.lat, OSM.home.lon], 12); + map.setView([OSM.home.lat, OSM.home.lon], defaultHomeZoom); } else { map.setView([0, 0], 0); } if ($("#map").hasClass("set_location")) { - var marker = L.marker([0, 0], { icon: OSM.getUserIcon() }); + marker = L.marker([0, 0], { + icon: OSM.getUserIcon(), + keyboard: false, + interactive: false + }); if (OSM.home) { marker.setLatLng([OSM.home.lat, OSM.home.lon]); @@ -49,18 +56,65 @@ $(document).ready(function () { } map.on("click", function (e) { - if ($("#updatehome").is(":checked")) { - var zoom = map.getZoom(), - precision = OSM.zoomPrecision(zoom), - location = e.latlng.wrap(); + if (!$("#updatehome").is(":checked")) return; + + var zoom = map.getZoom(), + precision = OSM.zoomPrecision(zoom), + location = e.latlng.wrap(); + + $("#home_lat").val(location.lat.toFixed(precision)); + $("#home_lon").val(location.lng.toFixed(precision)); + + deleted_lat = null; + deleted_lon = null; + respondToHomeUpdate(); + }).on("moveend", function () { + var lat = $("#home_lat").val().trim(), + lon = $("#home_lon").val().trim(), + location; + + try { + if (lat && lon) { + location = L.latLng(lat, lon); + } + } catch (error) { + // keep location undefined + } - $("#homerow").removeClass(); - $("#home_lat").val(location.lat.toFixed(precision)); - $("#home_lon").val(location.lng.toFixed(precision)); + $("#home_show").prop("disabled", !location || isCloseEnoughToMapCenter(location)); + }); - marker.setLatLng(e.latlng); - marker.addTo(map); - } + $("#home_lat, #home_lon").on("input", function () { + deleted_lat = null; + deleted_lon = null; + respondToHomeUpdate(); + }); + + $("#home_show").click(function () { + var lat = $("#home_lat").val(), + lon = $("#home_lon").val(); + + map.setView([lat, lon], defaultHomeZoom); + }); + + $("#home_delete").click(function () { + var lat = $("#home_lat").val(), + lon = $("#home_lon").val(); + + $("#home_lat, #home_lon").val(""); + deleted_lat = lat; + deleted_lon = lon; + respondToHomeUpdate(); + $("#home_undelete").trigger("focus"); + }); + + $("#home_undelete").click(function () { + $("#home_lat").val(deleted_lat); + $("#home_lon").val(deleted_lon); + deleted_lat = null; + deleted_lon = null; + respondToHomeUpdate(); + $("#home_delete").trigger("focus"); }); } else { $("[data-user]").each(function () { @@ -73,6 +127,41 @@ $(document).ready(function () { } } + function respondToHomeUpdate() { + var lat = $("#home_lat").val().trim(), + lon = $("#home_lon").val().trim(), + location; + + try { + if (lat && lon) { + location = L.latLng(lat, lon); + } + $("#home_lat, #home_lon").removeClass("is-invalid"); + } catch (error) { + if (lat && isNaN(lat)) $("#home_lat").addClass("is-invalid"); + if (lon && isNaN(lon)) $("#home_lon").addClass("is-invalid"); + } + + $("#home_message").toggleClass("invisible", Boolean(location)); + $("#home_show").prop("hidden", !location); + $("#home_delete").prop("hidden", !location); + $("#home_undelete").prop("hidden", !(!location && deleted_lat && deleted_lon)); + if (location) { + marker.setLatLng([lat, lon]); + marker.addTo(map); + map.panTo([lat, lon]); + } else { + marker.removeFrom(map); + } + } + + function isCloseEnoughToMapCenter(location) { + var inputPt = map.latLngToContainerPoint(location), + centerPt = map.latLngToContainerPoint(map.getCenter()); + + return centerPt.distanceTo(inputPt) < 10; + } + function updateAuthUID() { var provider = $("select#user_auth_provider").val(); diff --git a/app/assets/stylesheets/common.scss b/app/assets/stylesheets/common.scss index 5f4c9777d..2386fed82 100644 --- a/app/assets/stylesheets/common.scss +++ b/app/assets/stylesheets/common.scss @@ -304,7 +304,7 @@ body.small-nav { } nav.secondary { - .user-menu { + .user-menu, .login-menu { width: 100%; } } @@ -469,6 +469,11 @@ body.small-nav { display: block; width: $sidebarWidth; } + + button.btn-close { + background-color: rgba(255, 255, 255, 0.5); + opacity: 1.0; + } } #map { @@ -1056,49 +1061,24 @@ tr.turn:hover { width: 100%; } -/* Rules for the diary list page */ - -.diary_post { - position: relative; - padding-top: $lineheight; - padding-bottom: $lineheight/2; - border-top: 1px solid $grey; - - &.deleted { - background-color: #fee; - } -} - /* Rules for the diary entry page */ .diary_entries { #map { height: 400px; display: none; - margin-bottom: $lineheight; } .comments { max-width: 740px; } .diary-comment { border-top: 1px dashed $grey; - padding-top: $lineheight/2; - padding-bottom: $lineheight/2; &:first-child { - margin-top: $lineheight/2; - padding-top: $lineheight; border-top: 1px solid $grey; } - &.deleted { - background-color: #fee; - } p { margin-bottom: $lineheight/2; } - .comment-heading { - margin-bottom: 0; - margin-top: 0; - } } } @@ -1132,32 +1112,6 @@ tr.turn:hover { } } -/* Rules for the account settings page */ - -#accountForm .user_image { - margin-bottom: 0; -} - -#accountForm #user_image { - margin-left: 20px; -} - -#accountForm ul.accountImage-options { - margin-left: 120px; -} - -.nohome .location { - display: none; -} - -#homerow .message { - display: none; -} - -.nohome .message { - display: inline !important; -} - /* Rules for the oauth authorization page */ .oauth-authorize ul { @@ -1167,11 +1121,6 @@ tr.turn:hover { /* Rules for messages pages */ .messages { - button[type="submit"] { - margin: auto; - white-space: nowrap; - } - .inbox-row { background: $offwhite; } @@ -1179,80 +1128,6 @@ tr.turn:hover { .inbox-row-unread { background: #CBEEA7; } - - .right { - float: right; - } -} - -.inbox-row .inbox-mark-read { - display: none; -} - -.info-line { - margin-bottom: $lineheight; - padding: $lineheight/4 0px 4px 0px; - border-bottom: 1px solid $grey; - - form, form div { - display: inline; - } -} - -.info-line .user_thumbnail_tiny { - vertical-align: middle; -} - -.inbox-sent { - white-space: nowrap; -} - -.inbox-mark-unread, -.inbox-mark-read, -.inbox-delete { - width: 1%; -} - -.inbox-row-unread .inbox-mark-unread { - display: none; -} - -/* Rules for highlighting fields with rails validation errors */ - -.formError { - display: inline-block; - padding: 5px 10px; - margin-top: 5px; - border-radius: 4px; - font-size: 12px; - color: #fff; - background-color: #ff7070; -} - -/* Rules for rails validation error boxes */ - -#errorExplanation { - width: 400px; - border: 2px solid #ff7070; - padding: 0 $lineheight/2; - margin-bottom: $lineheight; - background-color: #f0f0f0; - - h2 { - margin: 0 -10px 10px -10px; - padding: $lineheight/4 $lineheight/4 $lineheight/4 15px; - font-weight: bold; - font-size: 12px; - background-color: #c00; - color: #fff; - text-align: left; - } - - p { - color: #333; - margin-bottom: 0px; - padding: $lineheight/4; - } } .search_form { @@ -1289,15 +1164,8 @@ img.user_thumbnail_tiny { max-height: 25px; } -/* Rules for geo microformats */ - -abbr.geo { - border-bottom: none; -} - /* General styles for action lists / subnavs */ - nav.secondary-actions { margin-left: -11px; overflow: hidden; @@ -1324,24 +1192,6 @@ div.secondary-actions { text-align: center; } -/* Create a single-line dl */ - -dl.dl-inline { - dt, dd { - display: inline-block; - } - dd { - margin-right: 1em; - } -} - -/* Rules for OpenID logo */ - -.openid_logo { - vertical-align: text-bottom; - border: 0; -} - /* Rules for rich text */ .richtext, @@ -1349,6 +1199,8 @@ dl.dl-inline { code { background: $lightgrey; padding: 2px 3px; + direction: inherit; /* fix for Bootstrap < 5.2 */ + unicode-bidi: unset; /* fix for Bootstrap < 5.2 */ } pre { @@ -1377,14 +1229,6 @@ dl.dl-inline { } } -/* Rules for the user notes list */ - -.note_list { - tr.creator { - background-color: $offwhite; - } -} - /* Rules for the iD editor */ .id-embed { diff --git a/app/controllers/api/capabilities_controller.rb b/app/controllers/api/capabilities_controller.rb index 7f91557f8..80222c40b 100644 --- a/app/controllers/api/capabilities_controller.rb +++ b/app/controllers/api/capabilities_controller.rb @@ -2,6 +2,7 @@ module Api class CapabilitiesController < ApiController authorize_resource :class => false + before_action :set_request_formats around_action :api_call_handle_error, :api_call_timeout # External apps that use the api are able to query the api to find out some diff --git a/app/controllers/api/changesets_controller.rb b/app/controllers/api/changesets_controller.rb index a08edff53..0a49a95f4 100644 --- a/app/controllers/api/changesets_controller.rb +++ b/app/controllers/api/changesets_controller.rb @@ -19,9 +19,6 @@ module Api # Helper methods for checking consistency include ConsistencyValidations - DEFAULT_QUERY_LIMIT = 100 - MAX_QUERY_LIMIT = 100 - ## # Return XML giving the basic info about the changeset. Does not # return anything about the nodes, ways and relations in the changeset. @@ -173,8 +170,15 @@ module Api changesets = conditions_closed(changesets, params["closed"]) changesets = conditions_ids(changesets, params["changesets"]) - # sort and limit the changesets - changesets = changesets.order("created_at DESC").limit(result_limit) + # sort the changesets + changesets = if params[:order] == "oldest" + changesets.order(:closed_at => :asc) + else + changesets.order(:closed_at => :desc) + end + + # limit the result + changesets = changesets.limit(result_limit) # preload users, tags and comments, and render result @changesets = changesets.preload(:user, :changeset_tags, :comments) @@ -391,13 +395,13 @@ module Api # Get the maximum number of results to return def result_limit if params[:limit] - if params[:limit].to_i.positive? && params[:limit].to_i <= MAX_QUERY_LIMIT + if params[:limit].to_i.positive? && params[:limit].to_i <= Settings.max_changeset_query_limit params[:limit].to_i else - raise OSM::APIBadUserInput, "Changeset limit must be between 1 and #{MAX_QUERY_LIMIT}" + raise OSM::APIBadUserInput, "Changeset limit must be between 1 and #{Settings.max_changeset_query_limit}" end else - DEFAULT_QUERY_LIMIT + Settings.default_changeset_query_limit end end end diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index d22a031d4..5dcfee07c 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -22,7 +22,7 @@ class ApplicationController < ActionController::Base def authorize_web if session[:user] - self.current_user = User.where(:id => session[:user]).where("status IN ('active', 'confirmed', 'suspended')").first + self.current_user = User.where(:id => session[:user], :status => %w[active confirmed suspended]).first if session[:fingerprint] && session[:fingerprint] != current_user.fingerprint diff --git a/app/controllers/diary_entries_controller.rb b/app/controllers/diary_entries_controller.rb index ea9aacb21..6981ed797 100644 --- a/app/controllers/diary_entries_controller.rb +++ b/app/controllers/diary_entries_controller.rb @@ -280,7 +280,7 @@ class DiaryEntriesController < ApplicationController @lon = @diary_entry.longitude @lat = @diary_entry.latitude @zoom = 12 - elsif current_user.home_lat.nil? || current_user.home_lon.nil? + elsif !current_user.home_location? @lon = params[:lon] || -0.1 @lat = params[:lat] || 51.5 @zoom = params[:zoom] || 4 diff --git a/app/controllers/geocoder_controller.rb b/app/controllers/geocoder_controller.rb index fc8b3a60b..912247c9c 100644 --- a/app/controllers/geocoder_controller.rb +++ b/app/controllers/geocoder_controller.rb @@ -88,10 +88,7 @@ class GeocoderController < ApplicationController response = fetch_xml("#{Settings.nominatim_url}search?format=xml&extratags=1&q=#{escape_query(query)}#{viewbox}#{exclude}&accept-language=#{http_accept_language.user_preferred_languages.join(',')}") # extract the results from the response - results = response.elements["searchresults"] - - # extract parameters from more_url - more_url_params = CGI.parse(URI.parse(results.attributes["more_url"]).query) + results = response.elements["searchresults"] # create result array @results = [] @@ -99,7 +96,7 @@ class GeocoderController < ApplicationController # create parameter hash for "more results" link @more_params = params .permit(:query, :minlon, :minlat, :maxlon, :maxlat, :exclude) - .merge(:exclude => more_url_params["exclude_place_ids"].first) + .merge(:exclude => results.attributes["exclude_place_ids"]) # parse the response results.elements.each("place") do |place| diff --git a/app/controllers/issue_comments_controller.rb b/app/controllers/issue_comments_controller.rb index 7edef184e..5bf4d0237 100644 --- a/app/controllers/issue_comments_controller.rb +++ b/app/controllers/issue_comments_controller.rb @@ -19,7 +19,7 @@ class IssueCommentsController < ApplicationController reassign_issue(@issue) flash[:notice] = t ".issue_reassigned" - if current_user.has_role? @issue.assigned_role + if current_user.role? @issue.assigned_role redirect_to @issue else redirect_to issues_path(:status => "open") diff --git a/app/controllers/issues_controller.rb b/app/controllers/issues_controller.rb index 44c19e322..c381119f0 100644 --- a/app/controllers/issues_controller.rb +++ b/app/controllers/issues_controller.rb @@ -42,6 +42,7 @@ class IssuesController < ApplicationController end def show + @title = t ".title", :status => @issue.status.humanize, :issue_id => @issue.id @read_reports = @issue.read_reports @unread_reports = @issue.unread_reports @comments = @issue.comments diff --git a/app/controllers/user_roles_controller.rb b/app/controllers/user_roles_controller.rb index fe4c855e3..cf5b4de9e 100644 --- a/app/controllers/user_roles_controller.rb +++ b/app/controllers/user_roles_controller.rb @@ -41,7 +41,7 @@ class UserRolesController < ApplicationController ## # checks that the user doesn't already have this role def not_in_role - if @user.has_role? @role + if @user.role? @role flash[:error] = t("user_role.filter.already_has_role", :role => @role) redirect_to user_path(@user) end @@ -50,7 +50,7 @@ class UserRolesController < ApplicationController ## # checks that the user already has this role def in_role - unless @user.has_role? @role + unless @user.role? @role flash[:error] = t("user_role.filter.doesnt_have_role", :role => @role) redirect_to user_path(@user) end diff --git a/app/controllers/users_controller.rb b/app/controllers/users_controller.rb index abd998030..fc9a6afc0 100644 --- a/app/controllers/users_controller.rb +++ b/app/controllers/users_controller.rb @@ -357,7 +357,7 @@ class UsersController < ApplicationController # get list of MX servers for a domains def domain_mx_servers(domain) Resolv::DNS.open do |dns| - dns.getresources(domain, Resolv::DNS::Resource::IN::MX).collect(&:exchange).collect(&:to_s) + dns.getresources(domain, Resolv::DNS::Resource::IN::MX).collect { |mx| mx.exchange.to_s } end end end diff --git a/app/helpers/application_helper.rb b/app/helpers/application_helper.rb index bb09f3a49..28c97e485 100644 --- a/app/helpers/application_helper.rb +++ b/app/helpers/application_helper.rb @@ -54,7 +54,7 @@ module ApplicationHelper if current_user data[:user] = current_user.id.to_json - data[:user_home] = { :lat => current_user.home_lat, :lon => current_user.home_lon } unless current_user.home_lon.nil? || current_user.home_lat.nil? + data[:user_home] = { :lat => current_user.home_lat, :lon => current_user.home_lon } if current_user.home_location? end data[:location] = session[:location] if session[:location] diff --git a/app/helpers/user_helper.rb b/app/helpers/user_helper.rb index 1064e95c7..c8a80588c 100644 --- a/app/helpers/user_helper.rb +++ b/app/helpers/user_helper.rb @@ -53,7 +53,7 @@ module UserHelper # External authentication support def openid_logo - image_tag "openid_small.png", :alt => t("sessions.new.openid_logo_alt"), :class => "openid_logo" + image_tag "openid_small.png", :alt => t("sessions.new.openid_logo_alt"), :class => "align-text-bottom" end def auth_button(name, provider, options = {}) diff --git a/app/helpers/user_roles_helper.rb b/app/helpers/user_roles_helper.rb index a8bc06b6e..c9f8e2e65 100644 --- a/app/helpers/user_roles_helper.rb +++ b/app/helpers/user_roles_helper.rb @@ -5,7 +5,7 @@ module UserRolesHelper def role_icon(user, role) if current_user&.administrator? - if user.has_role?(role) + if user.role?(role) image = "roles/#{role}" alt = t("users.show.role.revoke.#{role}") title = t("users.show.role.revoke.#{role}") @@ -18,7 +18,7 @@ module UserRolesHelper url = grant_role_path(:display_name => user.display_name, :role => role) confirm = t("user_role.grant.are_you_sure", :name => user.display_name, :role => role) end - elsif user.has_role?(role) + elsif user.role?(role) image = "roles/#{role}" alt = t("users.show.role.#{role}") title = t("users.show.role.#{role}") diff --git a/app/mailers/user_mailer.rb b/app/mailers/user_mailer.rb index c5c0118e6..a9c6b70f9 100644 --- a/app/mailers/user_mailer.rb +++ b/app/mailers/user_mailer.rb @@ -187,7 +187,25 @@ class UserMailer < ApplicationMailer end def attach_user_avatar(user) - attachments.inline["avatar.png"] = user_avatar_file(user) + @avatar = user_avatar_filename(user) + attachments.inline[@avatar] = user_avatar_file(user) + end + + def user_avatar_filename(user) + avatar = user&.avatar + if avatar&.attached? + case avatar.content_type + when "image/png" then "avatar.png" + when "image/jpeg" then "avatar.jpg" + when "image/gif" then "avatar.gif" + when "image/bmp" then "avatar.bmp" + when "image/tiff" then "avatar.tif" + when "image/svg+xml" then "avatar.svg" + else "avatar" + end + else + "avatar.png" + end end def user_avatar_file(user) diff --git a/app/models/trace.rb b/app/models/trace.rb index 0b9877225..35fee0bf4 100644 --- a/app/models/trace.rb +++ b/app/models/trace.rb @@ -35,7 +35,7 @@ class Trace < ApplicationRecord has_many :points, :class_name => "Tracepoint", :foreign_key => "gpx_id", :dependent => :delete_all, :inverse_of => :trace scope :visible, -> { where(:visible => true) } - scope :visible_to, ->(u) { visible.where("visibility IN ('public', 'identifiable') OR user_id = ?", u) } + scope :visible_to, ->(u) { visible.where(:visibility => %w[public identifiable]).or(visible.where(:user => u)) } scope :visible_to_all, -> { where(:visibility => %w[public identifiable]) } scope :tagged, ->(t) { joins(:tags).where(:gpx_file_tags => { :tag => t }) } diff --git a/app/models/user.rb b/app/models/user.rb index c809b6192..5c21736b0 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -238,8 +238,12 @@ class User < ApplicationRecord @preferred_languages ||= Locale.list(languages) end + def home_location? + home_lat && home_lon + end + def nearby(radius = Settings.nearby_radius, num = Settings.nearby_users) - if home_lon && home_lat + if home_location? gc = OSM::GreatCircle.new(home_lat, home_lon) sql_for_area = QuadTile.sql_for_area(gc.bounds(radius), "home_") sql_for_distance = gc.sql_for_distance("home_lat", "home_lon") @@ -278,18 +282,18 @@ class User < ApplicationRecord ## # returns true if the user has the moderator role, false otherwise def moderator? - has_role? "moderator" + role? "moderator" end ## # returns true if the user has the administrator role, false otherwise def administrator? - has_role? "administrator" + role? "administrator" end ## # returns true if the user has the requested role - def has_role?(role) + def role?(role) roles.any? { |r| r.role == role } end @@ -401,6 +405,6 @@ class User < ApplicationRecord end def update_tile - self.home_tile = QuadTile.tile_for_point(home_lat, home_lon) if home_lat && home_lon + self.home_tile = QuadTile.tile_for_point(home_lat, home_lon) if home_location? end end diff --git a/app/views/api/capabilities/show.builder b/app/views/api/capabilities/show.builder index b6a38723d..1258601bb 100644 --- a/app/views/api/capabilities/show.builder +++ b/app/views/api/capabilities/show.builder @@ -7,7 +7,9 @@ xml.osm(OSM::API.new.xml_root_attributes) do |osm| api.tracepoints(:per_page => Settings.tracepoints_per_page) api.waynodes(:maximum => Settings.max_number_of_way_nodes) api.relationmembers(:maximum => Settings.max_number_of_relation_members) - api.changesets(:maximum_elements => Changeset::MAX_ELEMENTS) + api.changesets(:maximum_elements => Changeset::MAX_ELEMENTS, + :default_query_limit => Settings.default_changeset_query_limit, + :maximum_query_limit => Settings.max_changeset_query_limit) api.timeout(:seconds => Settings.api_timeout) api.status(:database => @database_status, :api => @api_status, diff --git a/app/views/api/capabilities/show.json.jbuilder b/app/views/api/capabilities/show.json.jbuilder new file mode 100644 index 000000000..ceffa8b0e --- /dev/null +++ b/app/views/api/capabilities/show.json.jbuilder @@ -0,0 +1,44 @@ +json.partial! "api/root_attributes" + +json.api do + json.version do + json.minimum Settings.api_version + json.maximum Settings.api_version + end + json.area do + json.maximum Settings.max_request_area + end + json.note_area do + json.maximum Settings.max_note_request_area + end + json.tracepoints do + json.per_page Settings.tracepoints_per_page + end + json.waynodes do + json.maximum Settings.max_number_of_way_nodes + end + json.relationmembers do + json.maximum Settings.max_number_of_relation_members + end + json.changesets do + json.maximum_elements Changeset::MAX_ELEMENTS + json.default_query_limit Settings.default_changeset_query_limit + json.maximum_query_limit Settings.max_changeset_query_limit + end + json.timeout do + json.seconds Settings.api_timeout + end + json.status do + json.database @database_status + json.api @api_status + json.gpx @gpx_status + end +end + +json.policy do + json.imagery do + json.blacklist(Settings.imagery_blacklist) do |url_regex| + json.regex url_regex.to_s + end + end +end diff --git a/app/views/api/users/_user.json.jbuilder b/app/views/api/users/_user.json.jbuilder index 15f0685ac..1a339f628 100644 --- a/app/views/api/users/_user.json.jbuilder +++ b/app/views/api/users/_user.json.jbuilder @@ -46,7 +46,7 @@ json.user do end if current_user && current_user == user && can?(:details, User) - if user.home_lat && user.home_lon + if user.home_location? json.home do json.lat user.home_lat json.lon user.home_lon diff --git a/app/views/api/users/_user.xml.builder b/app/views/api/users/_user.xml.builder index 1791c60ef..9fb74826a 100644 --- a/app/views/api/users/_user.xml.builder +++ b/app/views/api/users/_user.xml.builder @@ -25,7 +25,7 @@ xml.tag! "user", :id => user.id, end end if current_user && current_user == user && can?(:details, User) - if user.home_lat && user.home_lon + if user.home_location? xml.tag! "home", :lat => user.home_lat, :lon => user.home_lon, :zoom => user.home_zoom diff --git a/app/views/dashboards/_contact.html.erb b/app/views/dashboards/_contact.html.erb index 7785c0552..0c012cec9 100644 --- a/app/views/dashboards/_contact.html.erb +++ b/app/views/dashboards/_contact.html.erb @@ -11,7 +11,7 @@

<%= link_to contact.display_name, user_path(contact) %> - <% if @user.home_lon and @user.home_lat and contact.home_lon and contact.home_lat %> + <% if @user.home_location? and contact.home_location? %> <% distance = @user.distance(contact) %> <% if distance < 1 %> (<%= t ".m away", :count => (distance * 1000).round %>) diff --git a/app/views/dashboards/show.html.erb b/app/views/dashboards/show.html.erb index d0344ce79..744661dfd 100644 --- a/app/views/dashboards/show.html.erb +++ b/app/views/dashboards/show.html.erb @@ -5,7 +5,7 @@

<% if current_user and @user.id == current_user.id %>
- <% if @user.home_lat.nil? or @user.home_lon.nil? %> + <% if !@user.home_location? %>

<%= t(".no_home_location_html", :edit_profile_link => link_to(t(".edit_your_profile"), edit_profile_path)) %>

diff --git a/app/views/diary_entries/_diary_comment.html.erb b/app/views/diary_entries/_diary_comment.html.erb index 403d30742..238f4d43c 100644 --- a/app/views/diary_entries/_diary_comment.html.erb +++ b/app/views/diary_entries/_diary_comment.html.erb @@ -1,9 +1,9 @@ -
"> +
">
<%= user_thumbnail diary_comment.user %>
-

<%= 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}")) %> +

<%= 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 %> diff --git a/app/views/diary_entries/_diary_entry.html.erb b/app/views/diary_entries/_diary_entry.html.erb index 37420cdf1..f69c7e552 100644 --- a/app/views/diary_entries/_diary_entry.html.erb +++ b/app/views/diary_entries/_diary_entry.html.erb @@ -1,4 +1,4 @@ -

+
<% if @user %>

<%= link_to diary_entry.title, diary_entry_path(diary_entry.user, diary_entry) %>

@@ -65,4 +65,4 @@ <% end %> -
+
diff --git a/app/views/diary_entries/_form.html.erb b/app/views/diary_entries/_form.html.erb index e07971089..bfb1c1823 100644 --- a/app/views/diary_entries/_form.html.erb +++ b/app/views/diary_entries/_form.html.erb @@ -5,13 +5,13 @@
<%= t ".location" -%> - <%= tag.div "", :id => "map", :class => "border border-grey rounded", :data => { :lat => @lat, :lon => @lon, :zoom => @zoom } %> + <%= tag.div "", :id => "map", :class => "border border-grey rounded mb-3", :data => { :lat => @lat, :lon => @lon, :zoom => @zoom } %>
<%= f.text_field :latitude, :wrapper_class => "col-sm-4", :id => "latitude" %> <%= f.text_field :longitude, :wrapper_class => "col-sm-4", :id => "longitude" %> -
- +
+
diff --git a/app/views/diary_entries/show.html.erb b/app/views/diary_entries/show.html.erb index 879207495..5bfdfa17b 100644 --- a/app/views/diary_entries/show.html.erb +++ b/app/views/diary_entries/show.html.erb @@ -12,8 +12,7 @@ <%= render @entry %> - -
+
<%= render :partial => "diary_comment", :collection => @comments %>
diff --git a/app/views/layouts/_banner.html.erb b/app/views/layouts/_banner.html.erb index f806201eb..4f24f538d 100644 --- a/app/views/layouts/_banner.html.erb +++ b/app/views/layouts/_banner.html.erb @@ -1,4 +1,4 @@ <% unless (banner = next_banner()).nil? %> -<%= link_to (image_tag banner[:img], :alt => banner[:alt], :title => banner[:alt]), banner[:link] %> - +<%= link_to (image_tag banner[:img], :srcset => banner[:srcset], :alt => banner[:alt], :title => banner[:alt]), banner[:link] %> + <% end %> diff --git a/app/views/layouts/map.html.erb b/app/views/layouts/map.html.erb index 6d983d30e..377f96149 100644 --- a/app/views/layouts/map.html.erb +++ b/app/views/layouts/map.html.erb @@ -4,7 +4,7 @@ <% content_for(:body_class) { "map-layout" } %> -<% if current_user and !current_user.home_lon.nil? and !current_user.home_lat.nil? %> +<% if current_user&.home_location? %> <% content_for :greeting do %> <%= link_to t("layouts.home"), "#", diff --git a/app/views/messages/_message_summary.html.erb b/app/views/messages/_message_summary.html.erb index 1a4445eae..b2a1bc268 100644 --- a/app/views/messages/_message_summary.html.erb +++ b/app/views/messages/_message_summary.html.erb @@ -1,8 +1,10 @@ "> - <%= link_to message_summary.sender.display_name, user_path(message_summary.sender) %> - <%= link_to message_summary.title, message_path(message_summary) %> - <%= l message_summary.sent_on, :format => :friendly %> - <%= button_to t(".unread_button"), message_mark_path(message_summary, :mark => "unread"), :remote => true, :class => "btn btn-sm btn-primary" %> - <%= button_to t(".read_button"), message_mark_path(message_summary, :mark => "read"), :remote => true, :class => "btn btn-sm btn-primary" %> - <%= button_to t(".destroy_button"), message_path(message_summary, :referer => request.fullpath), :method => :delete, :remote => true, :class => "btn btn-sm btn-danger" %> + <%= link_to message_summary.sender.display_name, user_path(message_summary.sender) %> + <%= link_to message_summary.title, message_path(message_summary) %> + <%= l message_summary.sent_on, :format => :friendly %> + + <%= button_to t(".unread_button"), message_mark_path(message_summary, :mark => "unread"), :remote => true, :class => "btn btn-sm btn-primary", :form => { :class => "inbox-mark-unread", :hidden => !message_summary.message_read? } %> + <%= button_to t(".read_button"), message_mark_path(message_summary, :mark => "read"), :remote => true, :class => "btn btn-sm btn-primary", :form => { :class => "inbox-mark-read", :hidden => message_summary.message_read? } %> + <%= button_to t(".destroy_button"), message_path(message_summary, :referer => request.fullpath), :method => :delete, :remote => true, :class => "btn btn-sm btn-danger", :form_class => "inbox-destroy" %> + diff --git a/app/views/messages/_sent_message_summary.html.erb b/app/views/messages/_sent_message_summary.html.erb index 4d1b361b1..24caba5ab 100644 --- a/app/views/messages/_sent_message_summary.html.erb +++ b/app/views/messages/_sent_message_summary.html.erb @@ -1,6 +1,8 @@ - <%= link_to sent_message_summary.recipient.display_name, user_path(sent_message_summary.recipient) %> - <%= link_to sent_message_summary.title, message_path(sent_message_summary) %> - <%= l sent_message_summary.sent_on, :format => :friendly %> - <%= button_to t(".destroy_button"), message_path(sent_message_summary, :referer => request.fullpath), :method => :delete, :remote => true, :class => "btn btn-sm btn-danger" %> + <%= link_to sent_message_summary.recipient.display_name, user_path(sent_message_summary.recipient) %> + <%= link_to sent_message_summary.title, message_path(sent_message_summary) %> + <%= l sent_message_summary.sent_on, :format => :friendly %> + + <%= button_to t(".destroy_button"), message_path(sent_message_summary, :referer => request.fullpath), :method => :delete, :remote => true, :class => "btn btn-sm btn-danger", :form_class => "inbox-destroy" %> + diff --git a/app/views/messages/inbox.html.erb b/app/views/messages/inbox.html.erb index 4f2925b14..54089c34a 100644 --- a/app/views/messages/inbox.html.erb +++ b/app/views/messages/inbox.html.erb @@ -19,14 +19,12 @@

<%= render :partial => "message_count" %>

<% if current_user.messages.size > 0 %> - +
- - diff --git a/app/views/messages/outbox.html.erb b/app/views/messages/outbox.html.erb index 0099b573d..e246f9292 100644 --- a/app/views/messages/outbox.html.erb +++ b/app/views/messages/outbox.html.erb @@ -20,13 +20,12 @@

<%= t ".messages", :count => current_user.sent_messages.size %>

<% if current_user.sent_messages.size > 0 %> -
<%= t ".from" %> <%= t ".subject" %> <%= t ".date" %>
+
- diff --git a/app/views/messages/show.html.erb b/app/views/messages/show.html.erb index 9ade68121..4761aac60 100644 --- a/app/views/messages/show.html.erb +++ b/app/views/messages/show.html.erb @@ -2,36 +2,29 @@

<%= @message.title %>

<% end %> -<% if current_user == @message.recipient %> -
+
+ <% if current_user == @message.recipient %> <%= user_thumbnail_tiny @message.sender %> - <%= link_to @message.sender.display_name, user_path(@message.sender) %> -
- <%= l @message.sent_on, :format => :friendly %> -
-
+ <%= link_to @message.sender.display_name, user_path(@message.sender) %> + <% else %> + <%= user_thumbnail_tiny @message.recipient %> + <%= link_to @message.recipient.display_name, user_path(@message.recipient) %> + <% end %> + + <%= l @message.sent_on, :format => :friendly %> + +
-
<%= @message.body.to_html %>
+
<%= @message.body.to_html %>
-
+
+ <% if current_user == @message.recipient %> <%= link_to t(".reply_button"), message_reply_path(@message), :class => "btn btn-primary" %> <%= link_to t(".unread_button"), message_mark_path(@message, :mark => "unread"), :method => "post", :class => "btn btn-primary" %> <%= link_to t(".destroy_button"), message_path(@message), :method => "delete", :class => "btn btn-danger" %> <%= link_to t(".back"), inbox_messages_path, :class => "btn btn-link" %> -
-<% else %> -
- <%= user_thumbnail_tiny @message.recipient %> - <%= link_to @message.recipient.display_name, user_path(@message.recipient) %> -
- <%= l @message.sent_on, :format => :friendly %> -
-
- -
<%= @message.body.to_html %>
- -
+ <% else %> <%= link_to t(".destroy_button"), message_path(@message), :method => "delete", :class => "btn btn-danger" %> <%= link_to t(".back"), outbox_messages_path, :class => "btn btn-link" %> -
-<% end %> + <% end %> +
diff --git a/app/views/notes/index.html.erb b/app/views/notes/index.html.erb index 2eb99b812..dd0cb2608 100644 --- a/app/views/notes/index.html.erb +++ b/app/views/notes/index.html.erb @@ -21,7 +21,7 @@ <% @notes.each do |note| -%> - class="creator"<% end %>> + class="table-primary"<% end %>>
<%= t ".to" %> <%= t ".subject" %> <%= t ".date" %>
<% if note.closed? %> <%= image_tag("closed_note_marker.png", :alt => "closed", :size => "25x40") %> diff --git a/app/views/profiles/edit.html.erb b/app/views/profiles/edit.html.erb index 2af64b84f..bf53832c8 100644 --- a/app/views/profiles/edit.html.erb +++ b/app/views/profiles/edit.html.erb @@ -42,15 +42,18 @@
<%= t ".home location" -%> -
class="nohome"<% end %>> -

<%= t ".no home location" %>

-
- <%= f.text_field :home_lat, :wrapper_class => "col-sm-4", :id => "home_lat" %> - <%= f.text_field :home_lon, :wrapper_class => "col-sm-4", :id => "home_lon" %> +

<%= t ".no home location" %>

+
+ <%= f.text_field :home_lat, :wrapper_class => "col-sm-4", :id => "home_lat" %> + <%= f.text_field :home_lon, :wrapper_class => "col-sm-4", :id => "home_lon" %> +
+ + +
- checked="checked" <% end %> id="updatehome" /> + checked <% end %> id="updatehome" />
<%= tag.div "", :id => "map", :class => "content_map set_location border border-grey rounded" %> diff --git a/app/views/user_mailer/_message_body.html.erb b/app/views/user_mailer/_message_body.html.erb index d572fb9d0..851f153a2 100644 --- a/app/views/user_mailer/_message_body.html.erb +++ b/app/views/user_mailer/_message_body.html.erb @@ -3,7 +3,7 @@
<%= link_to( image_tag( - attachments["avatar.png"].url, + attachments[@avatar].url, :alt => @author, :title => @author, :width => 50, diff --git a/app/views/users/show.html.erb b/app/views/users/show.html.erb index 4dcc9ab05..81e33dddb 100644 --- a/app/views/users/show.html.erb +++ b/app/views/users/show.html.erb @@ -118,12 +118,12 @@
-
-
<%= t ".mapper since" %>
-
<%= l @user.created_at.to_date, :format => :long %>
+
+
<%= t ".mapper since" %>
+
<%= l @user.created_at.to_date, :format => :long %>
<% unless @user.terms_agreed %> -
<%= t ".ct status" %>
-
+
<%= t ".ct status" %>
+
<% if @user.terms_seen? -%> <%= t ".ct declined" %> <% else -%> @@ -188,17 +188,17 @@ <% if current_user and current_user.administrator? -%>
-
-
<%= t ".email address" %>
-
<%= @user.email %>
+
+
<%= t ".email address" %>
+
<%= @user.email %>
<% unless @user.creation_ip.nil? -%> -
<%= t ".created from" %>
-
<%= @user.creation_ip %>
+
<%= t ".created from" %>
+
<%= @user.creation_ip %>
<% end -%> -
<%= t ".status" %>
-
<%= @user.status.capitalize %>
-
<%= t ".spam score" %>
-
<%= @user.spam_score %>
+
<%= t ".status" %>
+
<%= @user.status.capitalize %>
+
<%= t ".spam score" %>
+
<%= @user.spam_score %>
diff --git a/config/banners.yml b/config/banners.yml index affe6b144..c2a4df07b 100644 --- a/config/banners.yml +++ b/config/banners.yml @@ -1,6 +1,10 @@ -sotm_2022: - id: sotm_2022 - alt: State of the Map 2022 - link: https://2022.stateofthemap.org/ - img: banners/sotm_2022.png - enddate: 2022-aug-21 +donate_2023: + id: donate_2023 + alt: OpenStreetMap Funding Drive 2023 + link: https://supporting.openstreetmap.org/ + img: banners/donate_2023_1.jpg + srcset: + - [banners/donate_2023_1.jpg, 1x] + - [banners/donate_2023_1@2x.jpg, 2x] + dark: true + enddate: 2023-dec-31 diff --git a/config/locales/af.yml b/config/locales/af.yml index 73eebb406..1db4fa18d 100644 --- a/config/locales/af.yml +++ b/config/locales/af.yml @@ -6,20 +6,23 @@ # Author: Danieldegroot2 # Author: Firefishy # Author: Fwolff +# Author: Hentie # Author: Joris Darlington Quarshie # Author: Naudefj # Author: Nroets --- af: + html: + dir: ltr time: formats: friendly: '%e %B %Y om %H:%M' helpers: file: - prompt: Lêer kies + prompt: Kies leer submit: diary_comment: - create: Stoor + create: Voeg opmerking by diary_entry: create: Publiseer update: Opdateer @@ -105,6 +108,7 @@ af: language_code: Taal doorkeeper/application: name: Naam + confidential: Vertroulike aansoek scopes: Regte friend: user: Gebruiker @@ -148,6 +152,11 @@ af: pass_crypt: Wagwoord pass_crypt_confirmation: Bevestig wagwoord help: + doorkeeper/application: + confidential: Die toepassing sal gebruik word as die klient se geheime vertroulik + gehou kan word (inheemse mobiele toepassings en enkelbladsy-toepassings + is nie vertroilik nie. + redirect_uri: Gebruik een reel per URI trace: tagstring: komma afgebaken user_block: @@ -236,11 +245,25 @@ af: entry: comment: Kommentaar full: Volle nota + account: + deletions: + show: + title: Skrap my rekening + delete_account: Skrap my rekening + delete_introduction: 'U kan jou OpenStreetMap-rekening skrap deur die knoppie + hieronder te druk. Let sseblief op na die volgende besonderhede:' + delete_profile: Jou profielinligting sowel as jou avatar en tuisligging sal + geskrap word. + retain_caveats: Sommige inligting oor jou sal egter behou word op OpenStreetMap + behou word, selfs nadat jou rekening geskrap is. + retain_diary_entries: Jou dagboekinskrywings en dagboekopmerkings, indien + enige, sl behou word, maar versteek word, accounts: edit: title: Redigeer rekening my settings: My instellings current email address: Huidige e-posadres + external auth: Ekserne veriviering. public editing: heading: Openbare redigerings enabled: Geaktiveer. Nie anoniem nie en kan data redigeer. diff --git a/config/locales/bg.yml b/config/locales/bg.yml index 1e305763e..25fdb18d6 100644 --- a/config/locales/bg.yml +++ b/config/locales/bg.yml @@ -202,9 +202,9 @@ bg: default: По подразбиране (в момента %{name}) id: name: iD - description: iD (редактиране в браузър) + description: iD (редактиране в браузъра) remote: - name: Дистанционно управление + name: дистанционно управление description: Дистанционно управление (JOSM, Potlatch или Merkaartor) auth: providers: @@ -560,7 +560,7 @@ bg: boat_rental: Наем на лодки brothel: Бордел bureau_de_change: Обменно бюро - bus_station: Автобусна спирка + bus_station: Автогара cafe: Кафене car_rental: Коли под наем car_sharing: Съвместно пътуване @@ -1482,9 +1482,26 @@ bg: и поддържат данни за пътища, пътеки, кафенета, железопътни гари и много други по целия свят. local_knowledge_title: Местно познание + local_knowledge_html: OpenStreetMap набляга на местните познания. Сътрудниците + използват въздушни снимки, GPS устройства и нискотехнологични полеви карти, + за да проверят дали OSM е точна и актуална. open_data_title: Отворени данни + open_data_1_html: 'OpenStreetMap е %{open_data}: Вие сте свободни да я използвате + за всякакви цели стига да посочите OpenStreetMap и нейните сътрудници. Ако + промените или надграждате данните по определен начин, можете да разпространявате + резултата само под същия лиценз. За подробности вижте %{copyright_license_link}.' open_data_open_data: отворени данни legal_title: Правни въпроси + legal_1_1_html: |- + Този сайт и много други свързани с него услуги се управляват официално от + %{openstreetmap_foundation_link} (OSMF) + от името на общността. Използването на всички услуги, управлявани от OSMF, е предмет на + на нашите %{terms_of_use_link}, %{aup_link} и нашата %{privacy_policy_link}. + legal_2_1_html: Моля, %{contact_the_osmf_link} ако имате въпроси, свързани с + лицензирането, авторските права или други правни въпроси. + legal_2_1_contact_the_osmf: свържете се с OSMF + legal_2_2_html: OpenStreetMap, логото с лупа и State of the Map са %{registered_trademarks_link}. + legal_2_2_registered_trademarks: регистрирани търговски марки на OSMF partners_title: Партньори copyright: foreign: @@ -1556,25 +1573,41 @@ bg: title: Други съображения help: title: Получаване на помощ + introduction: OpenStreetMap разполага с няколко ресурса за запознаване с проекта, + задаване и отговаряне на въпроси, както и за съвместно обсъждане и документиране + на теми, свързани с картографирането. welcome: url: /welcome title: Добре дошли в OpenStreetMap + description: Започнете с това кратко ръководство, обхващащо основите на OpenStreetMap. beginners_guide: title: Наръчник за начинаещи + description: Ръководство за начинаещи, поддържано от общността. help: title: Форум за поддръжка + description: Задайте въпрос или потърсете отговори в сайта за въпроси и отговори + на OpenStreetMap. mailing_lists: title: Пощенски списъци + description: Задайте въпрос или дискутирайте интересни теми в широк спектър + от тематични и регионални пощенски списъци. + community: + title: Форум на общността + description: Споделено място за разговори за OpenStreetMap. irc: title: IRC + description: Интерактивен чат на много различни езици и по много теми. switch2osm: title: switch2osm + description: Помощ за компании и организации, които преминават към карти и + други услуги, базирани на OpenStreetMap. welcomemat: title: За организации description: Вие сте от организация, която иска да работи с OpenStreetMap? Ще получите необходимата информация на началната страница. wiki: title: Уики на OpenStreetMap + description: Разгледайте уикито за подробна документация за OpenStreetMap. any_questions: title: Въпроси? sidebar: @@ -1662,15 +1695,66 @@ bg: toilets: Тоалетни welcome: title: Добре дошли! + introduction: Добре дошли в OpenStreetMap, безплатната и редактируема карта + на света. Сега, след като сте се регистрирали, сте готови да започнете да + картографирате. Предлагаме ви кратко ръководство с най-важните неща, които + трябва да знаете. whats_on_the_map: title: Какво има на картата + on_the_map_html: OpenStreetMap е място за картографиране на неща, които са + едновременно %{real_and_current} - тя включва милиони сгради, пътища и други + подробности за местата. Можете да картографирате каквито реални характеристики + са ви интересни. + real_and_current: реални и актуални + off_the_map_html: Това, което %{doesnt}, са данни, основани на мнения, като + рейтинги, исторически или хипотетични характеристики и данни от източници, + защитени с авторски права. Освен ако не разполагате със специални разрешение, + не копирайте от онлайн или хартиени карти. + doesnt: не включва basic_terms: title: Основни картографски термини + paragraph_1: OpenStreetMap има свой собствен жаргон. Ето няколко ключови думи, + които ще Ви бъдат полезни. + an_editor_html: '%{editor} е програма или уебсайт, който можете да използвате, + за да редактирате картата.' + a_node_html: '%{node} е точка на картата, например ресторант или дърво.' + a_way_html: '%{way} е линия или площ, например автомобилен път, поток, езеро + или сграда.' + node: Възел + way: Път rules: title: Правилата! + para_1_html: OpenStreetMap има малко официални правила, но очакваме всички + участници да си сътрудничат и да комуникират с общността. Ако обмисляте + някакви дейности, различни от ръчно редактиране, моля, прочетете и следвайте + указанията на %{imports_link} и %{automated_edits_link}. + automated_edits: автоматизирани редакции start_mapping: Картографиране add_a_note: title: Нямате време да правите промени? Добавете бележка! + para_1: Ако искате само да поправите нещо малко и нямате време да се регистрирате + и да се научите да редактирате, можете да добавите бележка. + communities: + title: Общности + lede_text: Хора от цял свят допринасят за OpenStreetMap или я използват. Много + от тях участват индивидуално, а други са създали общности. Тези групи са с + различна големина и представляват географски райони от малки градове до големи + региони с много държави. Те също така могат да бъдат официални или неофициални. + local_chapters: + title: Местни клонове + about_text: Местните клонове са групи на национално или регионално ниво, които + са предприели формалните стъпки за създаване на юридически лица с нестопанска + цел. Те представляват картата и картографите на района в отношенията с местните + власти, бизнеса и медиите. Те също така са създали връзка с фондацията OpenStreetMap + (OSMF), което им дава възможност да се свържат с юридическия орган, управляващ + авторските права. + list_text: 'Следните общности са официално създадени като местни клонове:' + other_groups: + title: Други групи + other_groups_html: Не е необходимо да се създава официална група в същата + степен като местните клонове. Всъщност много групи съществуват много успешно + като неформално събиране на хора или като общностна група. Всеки може да + ги създаде или да се присъедини към тях. Прочетете повече на %{communities_wiki_link}. traces: new: upload_trace: Качване на следи от GPS @@ -1950,6 +2034,12 @@ bg: comment: Коментиране new: title: Нова бележка + intro: Забелязали сте грешка или нещо липсващо? Уведомете другите картографи, + за да можем да го поправим. Преместете маркера на правилната позиция и напишете + бележка, за да обясните проблема. + advice: Бележката ви е публична и може да бъде използвана за актуализиране на + картата, така че не въвеждайте лична информация или информация от карти или + списъци с указатели, защитени с авторски права. add: Добавяне на бележка javascripts: close: Затваряне @@ -1979,7 +2069,7 @@ bg: tooltip_disabled: Легендата не е достъпна за този слой map: zoom: - in: Увеличаване + in: Приближаване out: Отдалечаване locate: title: Моето местоположение @@ -2002,7 +2092,7 @@ bg: createnote_disabled_tooltip: Увеличете за добавяне на бележка map_notes_zoom_in_tooltip: Увеличете за преглед на бележките map_data_zoom_in_tooltip: Увеличете за подробности - queryfeature_tooltip: Търсене на особености + queryfeature_tooltip: Търсене на обекти queryfeature_disabled_tooltip: Увеличете за търсене на обекти changesets: show: diff --git a/config/locales/bn.yml b/config/locales/bn.yml index 513a25091..ecc870fef 100644 --- a/config/locales/bn.yml +++ b/config/locales/bn.yml @@ -2,6 +2,7 @@ # Exported from translatewiki.net # Export driver: phpyaml # Author: Aftabuzzaman +# Author: Aishik Rehman # Author: Al Riaz Uddin Ripon # Author: Anupamdutta73 # Author: Bellayet @@ -35,7 +36,7 @@ bn: friendly: '%e %B %Y %H:%M-এ' helpers: file: - prompt: ফাইল পছন্দ করুন + prompt: ফাইল নির্বাচন করুন submit: diary_comment: create: মন্তব্য diff --git a/config/locales/cs.yml b/config/locales/cs.yml index 57d641396..f1abd90c3 100644 --- a/config/locales/cs.yml +++ b/config/locales/cs.yml @@ -36,6 +36,7 @@ # Author: MrJaroslavik # Author: Nemo bis # Author: Patriccck +# Author: Pavreh # Author: Paxt # Author: Reaperman # Author: Robins7 @@ -438,9 +439,9 @@ cs: history_title_html: 'Historie cesty: %{name}' nodes: Uzly nodes_count: - one: 1 uzel + one: '%{count} uzel' few: '%{count} uzly' - many: '%{count} uzlů' + many: '%{count} uzlu' other: '%{count} uzlů' also_part_of_html: one: patří do cesty %{related_ways} @@ -613,10 +614,11 @@ cs: comment_link: Okomentovat tento záznam reply_link: PoÅ¡lete zprávu autorovi comment_count: + one: '%{count} komentář' few: '%{count} komentáře' - one: 1 komentář - zero: Bez komentářů + many: '%{count} komentáře' other: '%{count} komentářů' + no_comments: Bez komentářů edit_link: Upravit tento záznam hide_link: Skrýt tento záznam unhide_link: Zviditelnit tento záznam @@ -1508,6 +1510,7 @@ cs: few: '%{count} hlášení' many: '%{count} hlášení' other: '%{count} hlášení' + no_reports: Žádná hlášení report_created_at: První hlášení v %{datetime} last_resolved_at: Naposledy vyřeÅ¡eno v %{datetime} last_updated_at: Poslední aktualizace v %{datetime} od %{displayname} @@ -1941,8 +1944,8 @@ cs: title: Přihlásit se přes Facebook alt: Přihlášení pomocí účtu na Facebooku windowslive: - title: Přihlásit se přes Windows Live - alt: Přihlášení pomocí účtu služeb Windows Live + title: Přihlásit se přes Microsoft + alt: Přihlášení pomocí účtu Microsoft github: title: Přihlásit se přes GitHub alt: Přihlásit se pomocí GitHub účtu @@ -2133,6 +2136,11 @@ cs: contributors_nz_linz_data_service: datové služby LINZ contributors_nz_cc_by: CC BY 4.0 contributors_nz_cc_by_url: https://creativecommons.org/licenses/by/4.0/deed.cs + contributors_rs_credit_html: '%{serbia}: Obsahuje data %{rgz_link} a %{open_data_portal} + (srbská otevřená data), 2018.' + contributors_rs_serbia: Srbsko + contributors_rs_rgz: Srbského geodetického úřadu + contributors_rs_open_data_portal: Národního portálu otevřených dat contributors_si_credit_html: '%{slovenia}: Obsahuje data ze %{gu_link} a %{mkgp_link} (veřejné informace Slovinska).' contributors_si_slovenia: Slovinsko diff --git a/config/locales/cy.yml b/config/locales/cy.yml index be2390668..19dc32de1 100644 --- a/config/locales/cy.yml +++ b/config/locales/cy.yml @@ -43,9 +43,10 @@ cy: errors: messages: invalid_email_address: nid yw'n ymddangos ei fod yn gyfeiriad ebost dilys + email_address_not_routable: nid yw'n cyrchadwy models: acl: Rhestr Rheoli Mynediad - changeset: Grŵp newidiadau + changeset: Grŵp newid changeset_tag: Tag Grŵp newidiadau country: Gwlad diary_comment: Nodyn Dyddiadur @@ -76,11 +77,11 @@ cy: user_preference: Dewis Defnyddiwr user_token: Tocyn Defnyddiwr way: Llwybr - way_node: Cwgn Llwybr + way_node: Nod Llwybr way_tag: Tag Llwybr attributes: client_application: - name: Enw (Angenrheidiol) + name: Enw (gofynnol) allow_write_api: olygu'r map allow_write_notes: addasu nodiadau diary_comment: @@ -118,8 +119,11 @@ cy: redaction: title: Teitl description: Disgrifiad + report: + category: Dewiswch reswm dros eich adroddiad user: email: E-bost + email_confirmation: Cadarnhau E-bost new_email: Cyfeiriad e-bost newydd active: Gweithredol display_name: Enw defnyddiwr @@ -127,6 +131,7 @@ cy: home_lat: Lledred home_lon: Hydred languages: Ieithoedd + preferred_editor: Hoff Olygydd pass_crypt: Cyfrinair pass_crypt_confirmation: Cadarnhau cyfrinair help: @@ -149,23 +154,84 @@ cy: many: tua %{count} mis yn ôl other: tua %{count} mis yn ôl about_x_years: - one: tuag un blynedd yn ôl - other: tua %{count} blynedd yn ôl ago + zero: tua %{count} blynedd yn ôl + one: tuag %{count} blynedd yn ôl + two: tua %{count} flynedd yn ôl + few: tua %{count} blynedd yn ôl + many: tua %{count} blynedd yn ôl + other: tua %{count} blynedd yn ôl almost_x_years: - one: oddeutu un mlynedd yn ôl - other: bron i %{count} blynedd yn ôl + zero: bron %{count} blynedd yn ôl + one: bron %{count} blynedd yn ôl + two: bron %{count} flynedd yn ôl + few: bron %{count} blynedd yn ôl + many: bron %{count} blynedd yn ôl + other: bron %{count} blynedd yn ôl half_a_minute: hanner munud yn ôl less_than_x_seconds: - one: llai nag eiliad yn ôl - other: llai nag %{count} eiliad yn ôl + zero: llai nag eiliad yn ôl. + one: llai nag %{count} eiliad yn ôl. + two: llai na %{count} eiliad yn ôl. + few: llai na %{count} eiliad yn ôl. + many: llai na %{count} eiliad yn ôl. + other: llai na %{count} eiliad yn ôl. + less_than_x_minutes: + zero: llai na munud yn ôl. + one: llai nag %{count} munud yn ôl. + two: llai na %{count} funud yn ôl. + few: llai na %{count} munud yn ôl. + many: llai na %{count} munud yn ôl. + other: llai na %{count} munud yn ôl. + over_x_years: + zero: dros %{count} blynedd yn ôl + one: dros %{count} blynedd yn ôl + two: dros %{count} flynedd yn ôl + few: dros %{count} blynedd yn ôl + many: dros %{count} blynedd yn ôl + other: dros %{count} blynedd yn ôl + x_seconds: + zero: '%{count} eiliad yn ôl' + one: '%{count} eiliad yn ôl' + two: '%{count} eiliad yn ôl' + few: '%{count} eiliad yn ôl' + many: '%{count} eiliad yn ôl' + other: '%{count} eiliad yn ôl' + x_minutes: + zero: '%{count} munud yn ôl' + one: '%{count} munud yn ôl' + two: '%{count} funud yn ôl' + few: '%{count} munud yn ôl' + many: '%{count} munud yn ôl' + other: '%{count} munud yn ôl' + x_days: + zero: '%{count} diwrnod yn ôl.' + one: '%{count} diwrnod yn ôl.' + two: '%{count} ddiwrnod yn ôl.' + few: '%{count} diwrnod yn ôl.' + many: '%{count} diwrnod yn ôl.' + other: '%{count} diwrnod yn ôl.' + x_months: + zero: '%{count} mis yn ôl' + one: '%{count} mis yn ôl' + two: '%{count} fis yn ôl' + few: '%{count} mis yn ôl' + many: '%{count} mis yn ôl' + other: '%{count} mis yn ôl' + x_years: + zero: '%{count} blynedd yn ôl' + one: '%{count} blynedd yn ôl' + two: '%{count} flynedd yn ôl' + few: '%{count} blynedd yn ôl' + many: '%{count} blynedd yn ôl' + other: '%{count} blynedd yn ôl' editor: - default: (currently %{name}) diofyn + default: (%{name} yn gyfredol) diofyn id: name: iD description: iD (golygydd y porwr) remote: - name: Rheolaeth o bell - description: Pellreolwr (JOSM neu Merkaartor) + name: Allanol + description: Allanol (JOSM, Potlatch, Merkaartor) auth: providers: none: Dim @@ -181,8 +247,16 @@ cy: opened_at_by_html: Crëwyd %{when} gan %{user} commented_at_html: Diweddarwyd %{when} commented_at_by_html: Diweddarwyd %{when} gan %{user} + closed_at_html: Wedi datrys %{when} + closed_at_by_html: Wedi datrys %{when} gan %{user} + reopened_at_html: Wedi ail-gychwyn %{when} + reopened_at_by_html: Wedi ailgychwyn %{when} gan %{user} rss: title: Nodiadau OpenStreetMap + description_item: Ffrwd RSS ar gyfer nodyn %{id} + opened: Nodyn newydd (ger %{place}) + commented: Sylw newydd (ger %{place}) + closed: nodyn wedi'i gau (ger %{place}) entry: comment: Sylw full: Nodyn llawn @@ -191,7 +265,7 @@ cy: show: title: Dileu fy nghyfrif delete_account: Dileu cyfrif - retain_changeset_discussions: Bydd eich trafodaethau grŵp newidiadau, os ydynt + retain_changeset_discussions: Bydd eich trafodaethau grwpiau newid, os ydynt yn bodoli, yn cael eu cadw. confirm_delete: Ydych chi'n siŵr? cancel: Canslo @@ -200,6 +274,7 @@ cy: title: Golygu cyfrif my settings: Fy ngosodiadau current email address: Cyfeiriad e-bost cyfredol + external auth: Dilysu Allanol openid: link text: beth yw hwn? public editing: @@ -225,10 +300,16 @@ cy: destroy: success: Cyfrif wedi'i ddileu. browse: - created: Crëwyd + created: Wedi creu closed: Wedi cau + created_ago_html: Wedi creu %{time_ago} + closed_ago_html: Wedi cau %{time_ago} + created_ago_by_html: Wedi creu %{time_ago} gan %{user} + closed_ago_by_html: Wedi cau %{time_ago} gan %{user} + deleted_ago_by_html: Wedi dileu %{time_ago} gan %{user} + edited_ago_by_html: Golgwyd %{time_ago} gan %{user} version: Fersiwn - in_changeset: Grŵp newidiadau + in_changeset: Grŵp Newid anonymous: dienw no_comment: (dim sylw) part_of: Rhan o @@ -237,7 +318,7 @@ cy: view_details: Gweld manylion location: Lleoliadː changeset: - title: 'Grŵp newidiadau: %{id}' + title: 'Grŵp newid: %{id}' belongs_to: Awdur node: Nodau (%{count}) node_paginated: Nodau (%{x}-%{y} o %{count}) @@ -246,15 +327,15 @@ cy: relation: Perthynas %{count} relation_paginated: Perthynas (%{x}-%{y} o %{count}) comment: Sylwadau (%{count}) - changesetxml: XML grŵp newidiadau + changesetxml: XML grŵp newid osmchangexml: XML osmChange feed: - title: Grŵp newidiadau %{id} - title_comment: Grŵp newidiadau %{id} - %{comment} + title: Grŵp newid %{id} + title_comment: Grŵp newid %{id} - %{comment} join_discussion: Mewngofnodwch i ymuno â'r sgwrs discussion: Sgwrs - still_open: Mae'r grŵp newidiadau dal ar agor - bydd trafodaeth yn cychwyn unwaith - y bydd y grŵp newidiadau wedi cau. + still_open: Mae'r grŵp newid dal ar agor - bydd trafodaeth yn cychwyn unwaith + y bydd y grŵp newid wedi cau. node: title_html: 'Nod: %{name}' history_title_html: 'Hanes y nod: %{name}' @@ -279,20 +360,22 @@ cy: entry_html: Perthynas %{relation_name} entry_role_html: Perthynas %{relation_name} (fel %{relation_role}) not_found: + title: Heb ei Ganfod sorry: 'Ymddiheurwn, ni ellir canfod %{type} #%{id}.' type: node: nod way: llwybr relation: perthynas - changeset: grŵp newidiadau + changeset: grŵp newid note: nod timeout: + title: Gwall Goramser sorry: Cymerodd yn rhy hir i adalw data math %{type} (gydag ID %{id})! type: node: nod way: llwybr relation: perthynas - changeset: grŵp newidiadau + changeset: grŵp newid note: nodyn redacted: redaction: Golygiad %{id} @@ -303,8 +386,8 @@ cy: way: llwybr relation: perthynas start_rjs: - feature_warning: Wrthi'n llwytho nodweddio %{num_features}, a all arafu eich - porwr. Wyt ti'n sicr dy fod am weld y data? + feature_warning: Wrthi'n llwytho %{num_features} nodwedd, a all arafu eich porwr. + Ydych chi wir eisiau gweld y data? load_data: Llwytho data loading: Wrthi'n llwytho... tag_details: @@ -314,6 +397,7 @@ cy: tag: Tudalen disgrifiad wici ar gyfer y tag %{key}=%{value} wikidata_link: Eitem %{page} ar Wicidata wikipedia_link: Erthygl %{page} ar Wicipedia + wikimedia_commons_link: Eitem %{page} ar Gomin Wicimedia telephone_link: Galw %{phone_number} email_link: E-bost %{email} query: @@ -329,7 +413,7 @@ cy: changeset: anonymous: Dienw no_edits: (dim golygiadau) - view_changeset_details: Gweld manylion y grŵp newidiadau + view_changeset_details: Gweld manylion y grŵp newid changesets: id: ID saved_at: Cadwyd am @@ -337,31 +421,30 @@ cy: comment: Sylw area: Ardal index: - title: Grwpiau newidiadau - title_user: Grwpiau newidiadau gan %{user} - title_user_link_html: Grwpiau newidiadau gan %{user_link} - title_friend: Grwpiau newidiadau gan fy ffrindiau - title_nearby: Grwpiau newidiadau gan ddefnyddwyr cyfagos - empty: Ni chanfuwyd setiau-newid. - empty_area: Dim grwpiau newidiadau yn yr ardal yma. - empty_user: Dim setiau-newid gan y defnyddiwr hwn. - no_more: Ni chanfuwyd unrhyw grwpiau newidiadau ychwanegol. - no_more_area: Dim rhagor o setiau-newid yn yr ardal yma. - no_more_user: Ni chanfuwyd unrhyw grwpiau newidiadau ychwanegol gan y defnyddiwr - hwn. + title: Grwpiau newid + title_user: Grwpiau newid gan %{user} + title_user_link_html: Grwpiau newid gan %{user_link} + title_friend: Grwpiau newid gan fy ffrindiau + title_nearby: Grwpiau newid gan ddefnyddwyr cyfagos + empty: Heb ganfod grwpiau newid. + empty_area: Heb ganfod grwpiau newid yn yr ardal hon. + empty_user: Heb ganfod grwpiau newid gan y defnyddiwr hwn. + no_more: Heb ganfod mwy o grwpiau newid. + no_more_area: Heb ganfod mwy o grwpiau newid yn yr ardal hon. + no_more_user: Heb ganfod mwy o grwpiau newid gan y defnyddiwr hwn. load_more: Llwytho mwy timeout: - sorry: Mae'n ddrwg gennym, cymerodd y rhestr o grwpiau newidiadau y gwnaethoch - gais amdanynt ormod o amser i'w hadalw. + sorry: Mae'n ddrwg gennym, cymerodd y rhestr o grwpiau newid y gofynnoch amdanynt + rhy hir i'w hadalw. changeset_comments: comment: - comment: Sylw newydd ar grwp newidiadau %{changeset_id} gan %{author} - commented_at_by_html: Diweddarwyd %{when} yn ôl gan %{user} + comment: Sylw newydd ar grŵp newid %{changeset_id} gan %{author} + commented_at_by_html: Diweddarwyd %{when} gan %{user} comments: - comment: Sylw newydd ar grwp newidiadau %{changeset_id} gan %{author} + comment: Sylw newydd ar grŵp newid %{changeset_id} gan %{author} index: - title_all: Trafodaeth OpenStreetMa o'r setiau-newid - title_particular: Trafodaeth grwp newidiadau OpenStreetMap %{changeset_id} + title_all: Trafodaeth Grŵp Newid OpenStreetMap + title_particular: Trafodaeth grŵp newid OpenStreetMap %{changeset_id} dashboards: contact: km away: '%{count}km i ffwrdd' @@ -371,14 +454,15 @@ cy: nearby mapper: Mapiwr gerllaw friend: Ffrind show: + title: Fy Nashfwrdd edit_your_profile: Golygu eich proffil my friends: Fy ffrindiau no friends: Nid ydych wedi ychwanegu unrhyw ffrindiau eto. nearby users: Defnyddwyr eraill gerllaw no nearby users: Nid oes defnyddwyr gerllaw sy'n datgelu eu bod yn mapio eto. - friends_changesets: Grwpiau newidiadau eich ffrindiau + friends_changesets: Grwpiau newid eich ffrindiau friends_diaries: cofnodion dyddiaduron cyfeillion - nearby_changesets: grwp newidiadau defnyddwyr gerllaw + nearby_changesets: grwpiau newid defnyddwyr gerllaw nearby_diaries: cofnodion dyddiaduron defnyddwyr gerllaw diary_entries: new: @@ -387,46 +471,53 @@ cy: location: Lleoliad use_map_link: Defnyddio Map index: - title: Dyddiaduron defnyddwyr - title_friends: Dyddiaduron ffrindiau - title_nearby: Dyddiaduron defnyddwyr gerllaw + title: Dyddiaduron Defnyddwyr + title_friends: Dyddiaduron Ffrindiau + title_nearby: Dyddiaduron Defnyddwyr Gerllaw user_title: Dyddiadur %{user} - in_language_title: Cofnodion Dyddiadur yn %{language} + in_language_title: Cofnodion Dyddiadur %{language} new: Cofnod Dyddiadur Newydd - new_title: Ysgrifennu cofnod newydd yn eich dyddiadur defnyddiwr + new_title: Creu cofnod newydd yn fy nyddiadur defnyddiwr + my_diary: Fy Nyddiadur no_entries: Dim cofnodion dyddiadur recent_entries: Cofnodion dyddiadur diweddar older_entries: Cofnodion HÅ·n - newer_entries: Confodion Mwy Diweddar + newer_entries: Confodion Diweddarach edit: - title: Golygu cofnod dyddiadur - marker_text: Lleoliad cofnod y dyddiadur + title: Golygu Cofnod Dyddiadur + marker_text: Lleoliad cofnod dyddiadur show: - title: yddiadur %{user} | %{title} - user_title: dyddiadur %{user} - leave_a_comment: Gadael sylw + title: Dyddiadur %{user} | %{title} + user_title: Dyddiadur %{user} + leave_a_comment: Sylw login_to_leave_a_comment_html: '%{login_link} i adael sylw' login: Mewngofnodi no_such_entry: - title: Dim cofnod o'r fath yn y dyddiadur - heading: 'Dim cofnod efo''r id: %{id}' - body: Ymddiheurwn, ond nid oes cofnod o sylw gyda'r id %{id}. Gwirwch eich sillafu, - neu a ydych wedi clicio dolen anghywir? + title: Dim cofnod dyddiadur + heading: 'Dim cofnod gyda''r id: %{id}' + body: Mae'n ddrwg gennym, nid oes cofnod dyddiadur neu sylw gyda'r id %{id}. + Gwiriwch eich sillafu, neu efallai bod y ddolen rydych chi wedi ei chlicio + arni'n anghywir. diary_entry: - posted_by_html: Postiwyd gan %{link_user} ar %{created} mewn %{language_link} + posted_by_html: Postiwyd gan %{link_user} ar %{created} yn %{language_link} comment_link: Sylw ar y cofnod hwn - reply_link: Ymateb i'r cofnod hwn + reply_link: Anfon neges at yr awdur comment_count: zero: Dim sylwadau one: '%{count} sylw' + two: '%{count} sylw' + few: '%{count} sylw' + many: '%{count} sylw' other: '%{count} sylw' no_comments: Dim sylwadau edit_link: Golygu'r cofnod hwn hide_link: Cuddio'r cofnod hwn confirm: Cadarnhau + report: Adrodd y cofnod hwn diary_comment: comment_from_html: Sylwadau gan %{link_user} ar %{comment_created_at} hide_link: Cuddio'r sylw hwn + unhide_link: Datguddio'r sylw hwn confirm: Cadarnhau report: Riportio'r sylw hwn location: @@ -435,12 +526,12 @@ cy: edit: Golygu feed: user: - title: Cofnodion OpenStreetMap ar gyfer %{user} - description: Cofnodion dyddiadur diweddar OpenStreetMap gan %{user} + title: Cofnodion dyddiadur OpenStreetMap ar gyfer %{user} + description: Cofnodion dyddiadur OpenStreetMap diweddar gan %{user} language: - title: Cofnodion dyddiadur OpenStreetMap mewn %{language_name} - description: Cofnodion dyddiadur diweddar gan ddefnyddwyr OpenStreetMap in - %{language_name} mewn %{language_name} + title: Cofnodion dyddiadur %{language_name} ar OpenStreetMap + description: Cofnodion dyddiadur diweddar %{language_name} gan ddefnyddwyr + OpenStreetMap all: title: Cofnodion dyddiadur OpenStreetMap description: Cofnodion dyddiadur diweddar gan ddefnyddwyr OpenStreetMap @@ -448,8 +539,17 @@ cy: post: Post when: Pryd comment: Sylw - newer_comments: Sylwadau mwy diweddar - older_comments: Hen Sylwadau + newer_comments: Sylwadau Diweddarach + older_comments: Sylwadau HÅ·n + errors: + contact: + contact: cysylltu + forbidden: + title: Gwaharddedig + internal_server_error: + title: Gwall ap + not_found: + title: Heb ganfod ffeil friendships: make_friend: heading: Ychwanegu %{user} fel ffrind? @@ -463,6 +563,10 @@ cy: success: Tynnwyd %{name} o'ch ffrindiau. not_a_friend: Nid yw %{name} yn un o'ch ffrindiau. geocoder: + search: + title: + results_from_html: Canlyniadau o %{results_link} + latlon: Mewnol search_osm_nominatim: prefix: aerialway: @@ -470,6 +574,7 @@ cy: chair_lift: Cadair godi drag_lift: Cadair lusg gondola: Lifft Gondola + magic_carpet: Lifft Carped Hud pylon: Peilon station: Gorsaf Awyr t-bar: Lifft T-Bar @@ -484,7 +589,7 @@ cy: parking_position: Lle Parcio runway: Rhedfa Awyr taxiway: Safle tacsi - terminal: Terfynell + terminal: Terfynell Maes Awyr windsock: Hosan wynt amenity: animal_boarding: Lletya Anifeiliaid @@ -585,7 +690,9 @@ cy: administrative: Ffin Gweinyddol census: Ffin Cyfrifiad national_park: Parc Cenedlaethol + political: Ffin Etholiadol protected_area: Ardal Warchodol + "yes": Ffin bridge: aqueduct: Dyfrbont suspension: Pont Grog @@ -593,9 +700,16 @@ cy: viaduct: Pont Trenau "yes": Pont building: + apartment: Fflat + apartments: Fflatiau + barn: Ysgubor + bungalow: Bynglo + cabin: Caban chapel: Capel church: Adeilad Eglwys + civic: Adeilad Dinesig college: Adeilad Coleg + commercial: Adeilad Masnachol farm: Ffermdy garage: Garej garages: Garejis @@ -603,27 +717,57 @@ cy: hospital: Adeilad Ysbyty hotel: Adeilad Gwesty house: TÅ· + houseboat: Cwch preswyl + hut: Cwt + industrial: Adeilad Diwydiannol + kindergarten: Adeilad Meithrinfa office: Adeilad Swyddfa + public: Adeilad Cyhoeddus + residential: Adeilad Preswyl + retail: Adeilad Adwerthu roof: To school: Adeilad Ysgol + shed: Sied + stable: Stabl + static_caravan: Carafan + temple: Adeilad Teml + terrace: Adeilad Teras + train_station: Adeilad Gorsaf Drenau + university: Adeilad Prifysgol + warehouse: Warws "yes": Adeilad club: + sport: Clwb Chwaraeon "yes": Clwb craft: + beekeeper: Gwenynwr + blacksmith: Gof brewery: Bragdy carpenter: Saer + caterer: Arlwywr + confectionery: Melysion + dressmaker: Gwneuthurwr Ffrog electrician: Trydanydd + electronics_repair: Atgyweirio Electroneg gardener: Garddwr + glaziery: Glysiwr + handicraft: Gwaith Llaw + hvac: Crefft HVAC + metal_construction: Adeiladwr Metel painter: Peintiwr photographer: Ffotograffydd plumber: Plymar + roofer: Towr shoemaker: Crydd tailor: Teiliwr + winery: Gwindy "yes": Siop Grefft emergency: + access_point: Pwynt Mynediad ambulance_station: Gorsaf Ambiwlans assembly_point: Man Ymgynull defibrillator: Diffibriliwr + fire_extinguisher: Diffoddwr Tân landing_site: Man Glanio Argyfwng phone: Ffôn Argyfwng water_tank: Tanc Dŵr Argyfwng @@ -634,6 +778,7 @@ cy: bus_stop: Stop Bysiau construction: Priffordd yn cael ei Adeiladu corridor: Coridor + crossing: Croesfan cycleway: Llwybr Beicio elevator: Lifft emergency_access_point: Pwynt Mynediad Argyfwng @@ -667,18 +812,24 @@ cy: tertiary: Ffordd Trydyddol tertiary_link: Ffordd Trydyddol track: Trac + traffic_mirror: Drych Traffig traffic_signals: Goleuadau Traffig + trailhead: Pen Llwybr trunk: Cefnffordd trunk_link: Cefnffordd + turning_circle: Cylch Troi turning_loop: Lle Troi unclassified: Ffordd Diddosbarth "yes": Ffordd historic: + aircraft: Awyrennau Hanesyddol archaeological_site: Safle Archaeolegol + bomb_crater: Crater Bom Hanesyddol battlefield: Maes Brwydr boundary_stone: Maen Terfyn building: Adeilad Hanesyddol bunker: Byncar + cannon: Cannon Hanesyddol castle: Castell church: Eglwys city_gate: Gat y Ddinas @@ -708,8 +859,8 @@ cy: brownfield: Browndir cemetery: Mynwent commercial: Ardal Fasnachol - conservation: Cadwraeth - construction: Adeiladwaith + conservation: Ardal Gadwraeth + construction: Ardal Adeiladu farmland: Tir Ffermio farmyard: Buarth Fferm forest: Coedwig @@ -728,7 +879,7 @@ cy: reservoir: Cronfa Ddŵr reservoir_watershed: Gwahanfa Ddŵr residential: Ardal Breswyl - retail: Adwerthu + retail: Parc Adwerthu village_green: Llain Pentref vineyard: Gwinllan "yes": Defnydd Tir @@ -743,7 +894,7 @@ cy: fitness_station: Gorsaf Hamdden garden: Gardd golf_course: Cwrs Golff - horse_riding: Llain Marchogaeth + horse_riding: Canolfan Marchogaeth ice_rink: Llawr Sglefrio marina: Marina miniature_golf: Golff Pitw @@ -762,6 +913,8 @@ cy: water_park: Parc Dŵr "yes": Hamdden man_made: + advertising: Hysbysebu + antenna: Antena beacon: Goleufa beehive: Cwch Gwenyn breakwater: Morglawdd @@ -812,6 +965,7 @@ cy: cape: Penrhyn cave_entrance: Mynediad Ogof cliff: Clogwyn + coastline: Arfordir crater: Crater dune: Twyn fell: Rhostir @@ -840,25 +994,34 @@ cy: stone: Carreg strait: Culfor tree: Coeden + tree_row: Rhes o Goed + tundra: Twndra valley: Dyffryn volcano: Llosgfynydd water: Dŵr wetland: Gwlyptir wood: Coed + "yes": Nodwedd Naturiol office: accountant: Cyfrifydd administrative: Gweinyddu + advertising_agency: Asiantaeth Hysbysebu architect: Pensaer association: Cymdeithas company: Cwmni educational_institution: Sefydliad Addysgol employment_agency: Asiantaeth Cyflogi estate_agent: Gwerthwr Tai + financial: Swyddfa Gyllid government: Swyddfa Llywodraeth insurance: Swyddfa Yswiriant it: Swyddfa TG lawyer: Cyfreithiwr + newspaper: Swyddfa Bapur Newydd ngo: Swyddfa NGO + religion: Swyddfa Grefyddol + research: Swyddfa Ymchwil + tax_advisor: Cynghorydd Treth telecommunication: Swyddfa Telegyfathrebu travel_agent: Asiantaeth Deithio "yes": Swyddfa @@ -878,6 +1041,7 @@ cy: locality: Ardal municipality: Bwrdeistref neighbourhood: Cymdogaeth + plot: Plot postcode: Cod Post quarter: Maestref region: Rhanbarth @@ -904,6 +1068,7 @@ cy: platform: Platfform Drenau preserved: Rheilffordd ar Gadw proposed: Rheilfford Arfaethedig + rail: Rheilffordd spur: Cainc Rheilffordd station: Gorsaf Drenau stop: Siop Reilffordd @@ -912,6 +1077,7 @@ cy: switch: Pwyntiau Atal (Rheilffyrdd) tram: Tramffordd tram_stop: Stop Tramiau + turntable: Trofwrdd yard: Buarth Drenau shop: alcohol: Siop Drwyddedig @@ -944,7 +1110,7 @@ cy: deli: Deli department_store: Siop Adrannol discount: Siop Ddisgownt - doityourself: DIY + doityourself: Siop DIY dry_cleaning: Sychlanhau e-cigarette: Siop E-Sigaréts electronics: Siop Electroneg @@ -1007,7 +1173,7 @@ cy: artwork: Gwaith Celf attraction: Atyniad bed_and_breakfast: Gweldy a Brecwast - cabin: Caban + cabin: Caban Twristiaeth camp_pitch: Gwersyll camp_site: Man Gwersylla caravan_site: Parc Carafanau @@ -1074,17 +1240,39 @@ cy: last_updated_time_ago_user_html: '%{time_ago} gan %{user}' link_to_reports: Gweld adroddiadau reports_count: - one: 1 Report - other: '%{count} Adroddiadau' + zero: '%{count} Adroddiad' + one: '%{count} Adroddiad' + two: '%{count} Adroddiad' + few: '%{count} Adroddiad' + many: '%{count} Adroddiad' + other: '%{count} Adroddiad' reported_item: Eitem ag adroddwyd states: + ignored: Anwybyddwyd open: Agor resolved: Datruswyd + show: + no_reports: Dim adroddiadau + report_created_at: Adroddwyd gyntaf am %{datetime} + last_resolved_at: Datryswyd ddiwethaf am %{datetime} + resolve: Datrys + ignore: Anwybyddu + reopen: Ailagor + helper: + reportable_title: + note: 'Nodyn #%{note_id}' reports: new: + title_html: Adrodd %{link} categories: + diary_entry: + other_label: Arall + diary_comment: + other_label: Arall user: other_label: Arall + note: + other_label: Arall layouts: logo: alt_text: Logo OpenStreetMap @@ -1096,6 +1284,7 @@ cy: edit: Golygu history: Hanes export: Allforio + issues: Problemau data: Data export_data: Allforio data gps_traces: Dargopiadau GPS @@ -1108,6 +1297,8 @@ cy: intro_text: Mae OpenStreetMap yn fap o'r byd, wedi'i greu gan bobl fel chi ac sydd ar gael i'w ddefnyddio am ddim a dan drwydded rydd. intro_2_create_account: Creu cyfrif defnyddiwr + partners_ucl: UCL + partners_fastly: Fastly partners_bytemark: Bytemark Hosting partners_partners: partneriaid tou: Telerau Gwasanaeth @@ -1129,14 +1320,19 @@ cy: learn_more: Dysgu Mwy more: Mwy user_mailer: + diary_comment_notification: + hi: Helo %{to_user}, message_notification: subject: '[OpenStreetMap] %{message_title}' hi: Helo %{to_user}, friendship_notification: hi: Helo %{to_user}, gpx_failure: + hi: Helo %{to_user}, failed_to_import: 'methwyd a mewnforio. Dyma''r gwall:' subject: Methwyd mewnforio GPX [OpenStreetMap] + gpx_success: + hi: Helo %{to_user}, signup_confirm: greeting: Shwmae! created: Mae rhywun (chi gobeithio!) newydd greu cyfrif yn %{site_url}. @@ -1151,12 +1347,17 @@ cy: anonymous: Defnyddiwr dienw greeting: Helo, changeset_comment_notification: + hi: Helo %{to_user}, greeting: Helo, commented: + partial_changeset_with_comment: gyda sylw '%{changeset_comment}' partial_changeset_with_comment_html: gyda sylw '%{changeset_comment}' + partial_changeset_without_comment: dim sylw confirmations: confirm: + heading: Gwiriwch eich e-byst! button: Cadarnhau + click_here: cliciwch yma confirm_email: heading: Cadarnhau newid cyfeiriad e-bost button: Cadarnhau @@ -1198,6 +1399,7 @@ cy: to: I subject: Pwnc date: Dyddiad + people_mapping_nearby: pobl yn mapio gerllaw show: title: Darllen neges reply_button: Ateb @@ -1226,8 +1428,15 @@ cy: preferences: show: title: Dewisiadau + preferred_editor: Hoff Olygydd + preferred_languages: Ieithoedd + edit_preferences: Dewisiadau Golygu edit: + title: Dewisiadau Golygu + save: Diweddaru Dewisiadau cancel: Canslo + update: + failure: Ni ellir diweddaru'r dewisiadau. profiles: edit: title: Golygu proffil @@ -1258,13 +1467,36 @@ cy: no account: Dim cyfrif gennych? openid_logo_alt: Mewngofnodi gydag OpenID auth_providers: + openid: + title: Mewngofnodi ag OpenID + alt: Mewngofnodi ag URL OpenID + google: + title: Mewngofnodi â Google + alt: Mewngofnodi â Google OpenID + facebook: + title: Mewngofnodi â Facebook + alt: Mewngofnodi â Chyfrif Facebook windowslive: title: Mewngofnodi gyda Microsoft alt: Mewngofnodi gyda Chyfrif Microsoft + github: + title: Mewngofnodi â GitHub + alt: Mewngofnodi â Chyfrif GitHub + wikipedia: + title: Mewngofnodi ag Wicipedia + alt: Mewngofnodi â Chyfrif Wicipedia + wordpress: + title: Mewngofnodi ag Wordpress + alt: Mewngofnodi ag Wordpress OpenID + aol: + title: Mewngofnodi ag AOL + alt: Mewngofnodi ag AOL OpenID destroy: title: Allgofnodi heading: Allgofnodi o OpenStreetMap logout_button: Allgofnodi + suspended_flash: + support: cymorth shared: markdown_help: headings: Penawdau @@ -1273,6 +1505,7 @@ cy: link: Dolen text: Testun image: Delwedd + alt: Testun amgen url: URL richtext_field: edit: Golygu @@ -1280,9 +1513,18 @@ cy: site: about: next: Nesaf + heading_html: '%{copyright}Cyfranwyr %{br} OpenStreetMap' local_knowledge_title: Gwybodaeth Leol + community_driven_osm_blog: Blog OpenStreetMap + community_driven_user_diaries: dyddiaduron defnyddwyr + community_driven_community_blogs: blogiau cymunedol + community_driven_osm_foundation: OSM Foundation open_data_title: Data Agored + open_data_open_data: data agored legal_title: Cyfreithiol + legal_1_1_terms_of_use: Telerau Gwasanaeth + legal_1_1_privacy_policy: Polisi Preifatrwydd + legal_2_1_contact_the_osmf: cysylltwch â'r OSMF partners_title: Partneriaid copyright: foreign: @@ -1296,12 +1538,19 @@ cy: mapping_link: dechrau mapio legal_babble: title_html: Hawlfraint a Thrwydded + introduction_1_open_data: data agored + introduction_2_legal_code: cod cyfreithiol credit_title_html: Sut i gydnabod OpenStreetMap + credit_4_1_this_copyright_page: y dudalen hawlfraint hon attribution_example: title: Enghraifft o gydnabyddiaeth more_title_html: Darganfod rhagor contributors_title_html: Ein cyfranwyr + contributors_at_austria: Awstria + contributors_at_stadt_wien: Stadt Wien contributors_at_cc_by: CC BY + contributors_at_land_vorarlberg: Land Vorarlberg + contributors_at_cc_by_at_with_amendments: CC BY AT gyda diwygiadau contributors_au_australia: Awstralia contributors_au_geoscape_australia: Geoscape Australia contributors_ca_canada: Canada @@ -1310,6 +1559,7 @@ cy: contributors_fr_france: Ffrainc contributors_nl_netherlands: Iseldiroedd contributors_nz_new_zealand: Seland Newydd + contributors_nz_cc_by: CC BY 4.0 contributors_rs_serbia: Serbia contributors_si_slovenia: Slofenia contributors_es_spain: Sbaen @@ -1319,6 +1569,8 @@ cy: contributors_gb_united_kingdom: Deyrnas Unedig contributors_2_contributors_page: Tudalen gyfranwyr infringement_title_html: Torri hawlfraint + trademarks_title: Nodau Masnach + trademarks_1_1_trademark_policy: Polisi Nod Masnach index: permalink: Dolen barhaol shortlink: Dolen fer @@ -1364,6 +1616,7 @@ cy: title: Ymunwch â'r gymuned other_concerns: title: Gofidion eraill + copyright: tudalen hawlfraint help: title: Cael Cymorth welcome: @@ -1376,10 +1629,14 @@ cy: title: Fforwm Cymorth mailing_lists: title: Rhestr Gohebiaeth + community: + title: Fforwm Cymunedol irc: title: IRC switch2osm: title: switch2osm + wiki: + title: Wici OpenStreetMap any_questions: title: Unrhyw gwestiynau? sidebar: @@ -1435,6 +1692,7 @@ cy: common: - Comin - dôl + - gardd retail: Ardal adwerthu industrial: Ardal diwydiannol commercial: Ardal masnachol @@ -1469,11 +1727,18 @@ cy: title: Beth sydd ar y Map basic_terms: title: Termau syml mapio + editor: golygydd + node: nod + way: llwybr + tag: tag rules: title: Rheolau! + imports: Mewnforion + automated_edits: Golygiadau Awtomatig start_mapping: Dechrau Mapio add_a_note: title: Dim amser i olygu? Ychwanegwch nodyn! + the_map: map communities: title: Cymunedau other_groups: @@ -1519,9 +1784,12 @@ cy: in: mewn index: tagged_with: tagiwyd gyda %{tags} + wiki_page: tudalen wici application: settings_menu: account_settings: Gosodiadau Cyfrif + oauth1_settings: Gosodiadau OAuth 1 + oauth2_applications: Ceisiadau OAuth 2 oauth: authorize: allow_to: 'Caniatáu''r rhaglen cleient i:' @@ -1557,19 +1825,30 @@ cy: index: oauth: OAuth oauth2_applications: + index: + name: Enw + permissions: Caniatâd application: edit: Golygu delete: Dileu show: edit: Golygu delete: Dileu + client_id: ID Cleient + client_secret: Cyfrinach Cleient + oauth2_authorizations: + new: + authorize: Awdurdodi + deny: Gwrthod users: new: title: Cofrestru + support: cymorth display name description: Eich enw defnyddiwr cyhoeddus. Gallwch newid hyn yn nes ymlaen yn eich dewisiadau. continue: Cofrestru terms accepted: Diolch am dderbyn telerau newydd cyfranwyr! + privacy_policy: polisi preifatrwydd terms: title: Telerau heading: Telerau @@ -1606,12 +1885,16 @@ cy: ct status: 'Telerau cyfrannwr:' ct undecided: Heb Benderfynu ct declined: Wedi Gwrthod + latest edit: 'Golygiad diweddaraf (%{ago}):' email address: 'Cyfeiriad ebost:' created from: 'Crëwyd o:' status: 'Statws:' + spam score: 'Sgôr Sbam:' role: administrator: Mae'r defnyddiwr hwn yn weinyddwr. moderator: Mae'r defnyddiwr hwn yn gymedrolwr. + block_history: Blociau Gweithredol + moderator_history: Blociau a roddwyd comments: Sylwadau create_block: Rhwystro'r Defnyddiwr hwn activate_user: Gwneud y cyfri'n fyw @@ -1626,6 +1909,8 @@ cy: index: title: Defnyddwyr heading: Defnyddwyr + suspended: + support: cymorth user_role: grant: confirm: Cadarnhau @@ -1635,7 +1920,11 @@ cy: helper: time_future_html: Yn dod i ben mewn %{time}. time_past_html: Wedi dod i ben %{time} yn ôl. + blocks_on: + title: Blociau ar %{name} show: + created: 'Crëwyd:' + duration: 'Cyfnod:' status: 'Statws:' show: Dangos edit: Golygu @@ -1651,19 +1940,25 @@ cy: notes: index: id: Id + description: Disgrifiad + created_at: Crëwyd am last_changed: Newidiwyd ddiwethaf show: title: 'Nodyn: %{id}' description: Disgrifiad - open_title: '#%{note_name} heb ei ddatrus' - closed_title: '#%{note_name} wedi''i ddatrus' + open_title: '#%{note_name} heb ei ddatrys' + closed_title: '#%{note_name} wedi''i ddatrys' hidden_title: Nodyn cudd %{note_name} + event_opened_by_html: Crëwyd gan %{user} %{time_ago} + event_opened_by_anonymous_html: Crëwyd gan berson ddienw %{time_ago} + event_commented_by_html: Sylw gan %{user} %{time_ago} + event_commented_by_anonymous_html: Sylw gan berson ddienw %{time_ago} report: riportio'r nodyn hwn hide: Cuddio resolve: Datrys - reactivate: Ail roi ar waith + reactivate: Ail-ysgogi comment_and_resolve: Sylw a Datrys - comment: Adweithio + comment: Sylw new: title: Nodyn Newydd add: Ychwanegu Nodyn @@ -1676,6 +1971,7 @@ cy: link: Dolen neu HTML long_link: Dolen short_link: Dolen Fer + geo_uri: URI Geo embed: HTML format: 'Fformat:' scale: 'Graddfa:' @@ -1697,7 +1993,7 @@ cy: hot: Dyngarol layers: header: Haenau Mapiau - notes: Nodiadau Map + notes: Sylwadau Map data: Data Map title: Haenau site: @@ -1716,15 +2012,34 @@ cy: unhide_comment: datguddio directions: engines: + fossgis_osrm_bike: Beic (OSRM) + fossgis_osrm_car: Car (OSRM) + fossgis_osrm_foot: Troed (OSRM) + graphhopper_bicycle: Beic (GraphHopper) + graphhopper_car: Car (GraphHopper) + graphhopper_foot: Troed (GraphHopper) fossgis_valhalla_bicycle: Beic (Valhalla) fossgis_valhalla_car: Car (Valhalla) + fossgis_valhalla_foot: Troed (Valhalla) + distance_m: '%{distance}m' + distance_km: '%{distance}km' instructions: exit_counts: first: 1af second: 2il third: 3ydd + fourth: 4ydd + fifth: 5ed + sixth: 6fed + seventh: 7fed + eighth: 8fed + ninth: 9fed + tenth: 10fed + time: Amser query: + node: Nod way: Llwybr + relation: Perthynas nothing_found: Ni ddarganfuwyd nodweddion error: 'Gwall cysyltlu gyda %{server}: %{error}' redactions: diff --git a/config/locales/en.yml b/config/locales/en.yml index c05b92d44..e14c5806c 100644 --- a/config/locales/en.yml +++ b/config/locales/en.yml @@ -1754,6 +1754,9 @@ en: home location: "Home Location" no home location: "You have not entered your home location." update home location on click: "Update home location when I click on the map?" + show: "Show" + delete: "Delete" + undelete: "Undo delete" update: success: Profile updated. failure: Couldn't update profile. diff --git a/config/locales/es.yml b/config/locales/es.yml index 82403522c..48167044f 100644 --- a/config/locales/es.yml +++ b/config/locales/es.yml @@ -118,7 +118,7 @@ es: update: Actualizar redaction: create: Crear censura - update: Guardar redacción + update: Guardar censura trace: create: Subir update: Guardar cambios @@ -161,7 +161,7 @@ es: tracetag: Etiqueta de la traza user: Usuario user_preference: Preferencia de usuario - user_token: Ficha de usuario + user_token: Token de usuario way: Vía way_node: Nodo de la vía way_tag: Etiqueta de la vía @@ -171,11 +171,11 @@ es: url: URL de la aplicación principal (obligatorio) callback_url: URL de devolución de llamada support_url: URL de asistencia - allow_read_prefs: leer sus preferencias de usuario - allow_write_prefs: modificar sus preferencias de usuario + allow_read_prefs: leer tus preferencias de usuario + allow_write_prefs: modificar tus preferencias de usuario allow_write_diary: crear entradas de diario, comentarios y hacer amigos allow_write_api: modificar el mapa - allow_read_gpx: leer sus trazas de GPS privadas + allow_read_gpx: leer tus trazas de GPS privadas allow_write_gpx: cargar trazas de GPS allow_write_notes: modificar notas diary_comment: @@ -189,7 +189,7 @@ es: language_code: Idioma doorkeeper/application: name: Nombre - redirect_uri: Redirigir URI + redirect_uri: Redirigir URIs confidential: ¿Solicitud confidencial? scopes: Permisos friend: @@ -216,14 +216,14 @@ es: title: Título description: Descripción report: - category: Seleccione el motivo de su informe - details: Es necesario proporcionar más detalles sobre el problema. + category: Seleccione el motivo de tu denuncia + details: Es necesario proporcionar más detalles sobre el problema (requerido). user: auth_provider: Proveedor de autentificación auth_uid: UID de autentificación email: Correo electrónico email_confirmation: Confirmación de correo electrónico - new_email: Nuevo correo electrónico + new_email: Nueva dirección de correo electrónico active: Activo display_name: Nombre para mostrar description: Descripción del perfil @@ -242,11 +242,11 @@ es: trace: tagstring: delimitado por comas user_block: - reason: El motivo por el que el usuario está siendo bloqueado. Manténgase - lo más tranquilo y razonable posible, dando tantos detalles como pueda sobre - la situación, recordando que el mensaje será visible públicamente. Tenga - en cuenta que no todos los usuarios comprenden la jerga de la comunidad, - así que intente utilizar términos simples. + reason: El motivo por el que el usuario está siendo bloqueado. Manténte lo + más tranquilo y razonable posible, dando tantos detalles como puedas sobre + la situación, recordando que el mensaje será visible públicamente. Ten en + cuenta que no todos los usuarios comprenden la jerga de la comunidad, así + que intenta utilizar términos simples. needs_view: ¿Tiene que iniciar sesión el usuario antes de que este bloqueo sea eliminado? user: @@ -296,7 +296,7 @@ es: name: iD description: iD (editor en el navegador) remote: - name: Control Remoto + name: Control remoto description: Control remoto (JOSM, Potlatch o Merkaartor) auth: providers: @@ -304,6 +304,7 @@ es: openid: OpenID google: Google facebook: Facebook + windowslive: Microsoft github: GitHub wikipedia: Wikipedia api: @@ -320,8 +321,8 @@ es: rss: title: Notas de OpenStreetMap description_area: Una lista de notas, informadas, comentadas o cerradas en - su área [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})] - description_item: Un suministro RSS para la nota %{id} + tu área [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})] + description_item: Un suministro RSS para notas %{id} opened: nueva nota (cerca de %{place}) commented: nuevo comentario (cerca de %{place}) closed: nota cerrada (cerca de %{place}) @@ -336,49 +337,51 @@ es: warning: ¡Advertencia! El proceso de eliminación de la cuenta es definitivo y no puede ser revertido. delete_account: Eliminar cuenta - delete_introduction: 'Puede eliminar su cuenta de OpenStreetMap utilizando - el botón que aparece a continuación. Tenga en cuenta los siguientes detalles:' - delete_profile: Se eliminará la información de su perfil, incluido su avatar, + delete_introduction: 'Puedes eliminar tu cuenta de OpenStreetMap utilizando + el botón que aparece a continuación. Ten en cuenta los siguientes detalles:' + delete_profile: Se eliminará la información de tu perfil, incluido tu avatar, descripción y ubicación de inicio. - delete_display_name: Su nombre para mostrar será eliminado, y puede ser reutilizado + delete_display_name: Tu nombre para mostrar será eliminado, y podrá ser reutilizado por otras cuentas. - retain_caveats: 'Sin embargo, algunos datos sobre usted se conservarán en - OpenStreetMap, incluso después de que se elimine su cuenta:' - retain_edits: Sus ediciones en la base de datos de mapas, si las hay, se conservarán. - retain_traces: Sus trazas subidas, si las hay, se conservarán. + retain_caveats: 'Sin embargo, algunos datos sobre ti se conservarán en OpenStreetMap, + incluso después de que se elimine tu cuenta:' + retain_edits: Tus ediciones en la base de datos de mapas, si las hay, se conservarán. + retain_traces: Tus trazas subidas, si las hay, se conservarán. retain_diary_entries: Las entradas y los comentarios de tu diario, si los hay, se conservarán pero estarán ocultos. retain_notes: Las notas del mapa y los comentarios de las notas, si los hay, se conservarán pero estarán ocultos. - retain_changeset_discussions: Sus discusiones sobre el conjunto de cambios, + retain_changeset_discussions: Tus discusiones sobre conjuntos de cambios, si las hay, se conservarán. - retain_email: Su dirección de correo electrónico se conservará. + retain_email: Tu dirección de correo electrónico se conservará. confirm_delete: ¿Lo confirma? cancel: Cancelar accounts: edit: title: Editar cuenta - my settings: Mi configuración - current email address: Correo electrónico actual - external auth: Autenticación externa + my settings: Mis configuraciones + current email address: Dirección de correo electrónico actual + external auth: Autentificación externa openid: + link: https://wiki.openstreetmap.org/wiki/ES:OpenID link text: ¿Qué es esto? public editing: heading: Edición pública - enabled: Activadas. No es anónimo y puede editar datos. + enabled: Activadas. No es anónimo y puedes editar datos. enabled link: https://wiki.openstreetmap.org/wiki/ES:Ediciones_an%C3%B3nimas enabled link text: ¿Qué es esto? - disabled: Desactivadas y no puede editar datos; todas las ediciones anteriores + disabled: Desactivadas y no puedes editar datos; todas las ediciones anteriores son anónimas. disabled link text: ¿Por qué no puedo editar? contributor terms: - heading: Términos de colaborador - agreed: Ha aceptado los nuevos Términos de colaborador. - not yet agreed: Aún no ha aceptado los nuevos Términos de Colaborador. - review link text: Siga este enlace cuando le resulte conveniente para revisar - y aceptar los nuevos Términos de colaborador. - agreed_with_pd: También ha declarado que considera que sus ediciones son de - Dominio Público. + heading: Términos de Colaborador + agreed: Has aceptado los nuevos Términos de Colaborador. + not yet agreed: Aún no has aceptado los nuevos Términos de Colaborador. + review link text: Sigue este enlace cuando te resulte conveniente para revisar + y aceptar los nuevos Términos de Colaborador. + agreed_with_pd: También has declarado que consideras que tus ediciones son + de Dominio Público. + link: https://wiki.openstreetmap.org/wiki/ES:Licencia_Abierta_de_Base_de_Datos/T%C3%A9rminos_del_colaborador link text: ¿Qué es esto? save changes button: Guardar cambios delete_account: Eliminar cuenta... @@ -391,6 +394,7 @@ es: only_public_can_edit: Desde el cambio de API 0.6, solo los usuarios públicos pueden editar los datos de los mapas. find_out_why: averiguar por qué + find_out_why_url: https://wiki.openstreetmap.org/wiki/ES:Ediciones_an%C3%B3nimas email_not_revealed: Tu dirección de correo electrónico no será revelada al hacerse pública. not_reversible: Esta acción no se puede revertir y todos los nuevos usuarios @@ -398,7 +402,7 @@ es: make_edits_public_button: Hacer todas mis ediciones públicas update: success_confirm_needed: La información del usuario se ha actualizado correctamente. - Compruebe su correo electrónico para ver una nota sobre cómo confirmar su + Comprueba tu correo electrónico para ver un mensaje sobre cómo confirmar tu nueva dirección de correo electrónico. success: La información del usuario se ha actualizado correctamente. destroy: @@ -437,12 +441,14 @@ es: relation: Relaciones (%{count}) relation_paginated: Relaciones (%{x}-%{y} de %{count}) comment: Comentarios (%{count}) + hidden_comment_by_html: Comentario ocultado por %{user} %{time_ago} + comment_by_html: Comentario de %{user} %{time_ago} changesetxml: XML del conjunto de cambios osmchangexml: XML en formato osmChange feed: title: Conjunto de cambios %{id} title_comment: Conjunto de cambios %{id} - %{comment} - join_discussion: Inicie sesión para unirse a la discusión + join_discussion: Inicia sesión para unirte a la discusión discussion: Discusión still_open: El conjunto de cambios sigue abierto; la discusión se abrirá cuando se cierre el conjunto de cambios. @@ -454,7 +460,7 @@ es: history_title_html: 'Historial de vía: %{name}' nodes: Nodos nodes_count: - one: 1 nodo + one: '%{count} nodo' other: '%{count} nodos' also_part_of_html: one: parte de la vía %{related_ways} @@ -464,7 +470,7 @@ es: history_title_html: 'Historial de relación: %{name}' members: Miembros members_count: - one: 1 miembro + one: '%{count} miembro' other: '%{count} miembros' relation_member: entry_role_html: '%{type} %{name} como %{role}' @@ -504,7 +510,7 @@ es: relation: relación start_rjs: feature_warning: Cargando %{num_features} elementos, lo que puede hacer que - su navegador se ralentice o que no responda. ¿Está seguro de que desea mostrar + tu navegador se ralentice o no responda. ¿Estás seguro de que deseas mostrar estos datos? load_data: Cargar datos loading: Cargando… @@ -521,7 +527,7 @@ es: email_link: Correo electrónico %{email} query: title: Consultar elementos - introduction: Pulse en el mapa para encontrar elementos cercanos. + introduction: Haz clic en el mapa para encontrar elementos cercanos. nearby: Elementos cercanos enclosing: Elementos delimitantes changesets: @@ -554,7 +560,7 @@ es: load_more: Cargar más timeout: sorry: Lo sentimos, la lista de conjuntos de cambios que solicitó tardó demasiado - en recuperarse. + en obtenerse. changeset_comments: comment: comment: 'Comentario nuevo sobre el conjunto de cambios #%{changeset_id} de @@ -568,13 +574,13 @@ es: title_particular: 'Discusión del conjunto de cambios #%{changeset_id} de OpenStreetMap' timeout: sorry: Lo sentimos, la lista de comentarios del conjunto de cambios que solicitó - tardó demasiado en recuperarse. + tardó demasiado en obtenerse. dashboards: contact: - km away: '%{count} km de distancia' - m away: '%{count} m de distancia' + km away: '%{count} km. de distancia' + m away: '%{count} m. de distancia' popup: - your location: Su ubicación + your location: Tu ubicación nearby mapper: Mapeadores cercanos friend: Amigo show: @@ -583,9 +589,9 @@ es: para ver los usuarios cercanos.' edit_your_profile: Edita tu perfil my friends: Mis amigos - no friends: No has añadido ningún amigo aún. + no friends: No has añadido amigos aún. nearby users: Otros usuarios cercanos - no nearby users: Todavía no hay usuarios que se hayan ubicado en su proximidad. + no nearby users: Todavía no hay usuarios que admitan mapear cerca. friends_changesets: conjuntos de cambios realizados por amigos friends_diaries: entradas de diarios de amigos nearby_changesets: conjuntos de cambios de los usuarios cercanos @@ -611,7 +617,7 @@ es: newer_entries: Entradas más recientes edit: title: Editar entrada del diario - marker_text: Lugar de la entrada del diario + marker_text: Ubicación de la entrada del diario show: title: Diario de %{user} | %{title} user_title: Diario de %{user} @@ -619,19 +625,19 @@ es: login_to_leave_a_comment_html: '%{login_link} para dejar un comentario' login: Iniciar sesión no_such_entry: - title: No existe esa entrada de diario + title: No existe esta entrada de diario heading: No hay ninguna entrada con el identificador %{id} - body: No hay ninguna entrada de diario o comentario con el identificador %{id}. - Revise su ortografía, o tal vez el enlace en el que hizo clic es incorrecto. + body: No hay alguna entrada de diario o comentario con el identificador %{id}. + Revisa la ortografía, o tal vez el enlace en el que hiciste clic es incorrecto. diary_entry: posted_by_html: Publicado por %{link_user} el %{created} en %{language_link}. updated_at_html: Última actualización en %{updated}. comment_link: Comentar esta entrada reply_link: Enviar un mensaje al autor comment_count: - zero: No hay comentarios one: '%{count} comentario' other: '%{count} comentarios' + no_comments: Sin comentarios edit_link: Editar esta entrada hide_link: Ocultar esta entrada unhide_link: Mostrar esta entrada @@ -672,15 +678,15 @@ es: flash: applications: create: - notice: Solicitud registrada. + notice: Aplicación registrada. errors: contact: contact_url: https://wiki.openstreetmap.org/wiki/ES:Canales_de_contacto contact_url_title: Varios canales de contacto explicados contact: contacto contact_the_community_html: Siéntete libre de %{contact_link} a la comunidad - de OpenStreetMap si ha encontrado un enlace roto o un error. Toma nota de - la URL exacta de su solicitud. + de OpenStreetMap si has encontrado un enlace roto o un error. Toma nota de + la URL exacta de tu solicitud. forbidden: title: Prohibido description: La operación que se solicitó al servidor de OpenStreetMap solo @@ -697,21 +703,21 @@ es: make_friend: heading: ¿Añadir a %{user} como un amigo? button: Añadir como amigo - success: ¡%{name} ahora es su amigo! + success: ¡%{name} ahora es tu amigo! failed: Lo sentimos, no se ha podido añadir a %{name} como un amigo. already_a_friend: Ya eres amigo de %{name}. - limit_exceeded: Ha agregado a muchos amigos recientemente. Por favor espere + limit_exceeded: Has agregado a muchos amigos recientemente. Por favor espera un poco antes de intentar agregar más amigos. remove_friend: - heading: ¿Quitar a %{user} de los amigos? - button: Quitar amistad - success: Ha quitado a %{name} de sus amigos. - not_a_friend: '%{name} no es uno de sus amigos.' + heading: ¿Quitar a %{user} de tus amigos? + button: Quitar como amigo + success: Has quitado a %{name} de tus amigos. + not_a_friend: '%{name} no es uno de tus amigos.' geocoder: search: title: results_from_html: Resultados de %{results_link} - latlon: Fuentes internas + latlon: Interno osm_nominatim: Nominatim de OpenStreetMap osm_nominatim_reverse: Nominatim de OpenStreetMap search_osm_nominatim: @@ -722,15 +728,15 @@ es: drag_lift: Telearrastre gondola: Telecabina magic_carpet: Ascensor de alfombra mágica - platter: Telesquí - pylon: Pilón + platter: Cable de remolque con platillo + pylon: Torre de tendido station: Estación de remonte - t-bar: Telesquí + t-bar: Ascensor de barra en T "yes": Vía aérea aeroway: aerodrome: Aeródromo - airstrip: Aeródromo - apron: Pista + airstrip: Pista de aterrizaje + apron: Plataforma gate: Puerta de aeropuerto hangar: Hangar helipad: Helipuerto @@ -750,11 +756,11 @@ es: bank: Banco bar: Bar bbq: Parrilla - bench: Banco + bench: Banca bicycle_parking: Aparcamiento de bibicletas bicycle_rental: Alquiler de bicicletas bicycle_repair_station: Estación de reparación de bicicletas - biergarten: Terraza + biergarten: Patio cervecero blood_bank: Banco de sangre boat_rental: Alquiler de botes brothel: Burdel @@ -766,7 +772,7 @@ es: car_wash: Autolavado casino: Casino charging_station: Estación de carga - childcare: Guardería + childcare: Puricultura cinema: Cine clinic: Clínica clock: Reloj @@ -778,12 +784,12 @@ es: dentist: Dentista doctors: Consultorio médico drinking_water: Agua potable - driving_school: Autoescuela + driving_school: Escuela de automovilismo embassy: Embajada events_venue: Lugar de eventos fast_food: Comida rápida - ferry_terminal: Terminal de ferrys - fire_station: Parque de bomberos + ferry_terminal: Terminal de transbordador + fire_station: Estación de bomberos food_court: Zona de restaurantes fountain: Fuente fuel: Estación de servicio @@ -794,7 +800,7 @@ es: hunting_stand: Apostadero de caza ice_cream: Heladería internet_cafe: Cibercafé - kindergarten: Escuela infantil/guardería + kindergarten: Guardería language_school: Escuela de idiomas library: Biblioteca loading_dock: Muelle de carga @@ -807,17 +813,17 @@ es: music_school: Escuela de música nightclub: Club nocturno nursing_home: Residencia para la tercera edad - parking: Aparcamiento + parking: Estacionamiento parking_entrance: Entrada de estacionamiento - parking_space: Estacionamiento + parking_space: Plaza de estacionamiento payment_terminal: Terminal de pago pharmacy: Farmacia - place_of_worship: Templo + place_of_worship: Lugar de culto police: Policía post_box: Buzón post_office: Oficina de correos prison: Prisión - pub: Pub + pub: Taberna public_bath: Baño público public_bookcase: Biblioteca libre public_building: Edificio público @@ -854,7 +860,7 @@ es: aboriginal_lands: Tierras aborígenes administrative: Frontera administrativa census: Límite de censo - national_park: Parque Nacional + national_park: Parque nacional political: Límite electoral protected_area: Área protegida "yes": Límite @@ -872,10 +878,10 @@ es: bungalow: Bungaló cabin: Cabaña chapel: Capilla - church: Edificio de la iglesia + church: Edificio de iglesia civic: Edificio cívico - college: Edificio educativo superior no universitario - commercial: Edificio de oficinas + college: Edificio de institución educativa + commercial: Edificio de comercios construction: Edificio en construcción detached: Casa independiente dormitory: Residencia de estudiantes @@ -887,12 +893,12 @@ es: greenhouse: Invernadero hangar: Hangar hospital: Edificio hospitalario - hotel: Edificio del hotel + hotel: Edificio de hotel house: Casa houseboat: Casa flotante hut: Choza industrial: Edificio industrial - kindergarten: Edificio de jardín de infantes + kindergarten: Edificio de guardería manufacture: Edificio de manufactura office: Edificio de oficinas public: Edificio público @@ -904,13 +910,13 @@ es: semidetached_house: Casa adosada service: Edificio de servicios shed: Cobertizo - stable: Establo para caballos + stable: Establo static_caravan: Caravana - temple: Edificio del templo + temple: Edificio de templo terrace: Edificio terraza - train_station: Edificio de la estación de tren - university: Edificio universitario - warehouse: Almacén + train_station: Edificio de estación de tren + university: Edificio de universidad + warehouse: Depósito "yes": Edificio club: scout: Base del grupo de exploradores @@ -934,7 +940,7 @@ es: painter: Pintor photographer: Fotógrafo plumber: Plomero/fontanero - roofer: Techador/Techista + roofer: Techador sawmill: Aserradero shoemaker: Zapatero stonemason: Albañil @@ -956,21 +962,21 @@ es: suction_point: Punto de succión de emergencia water_tank: Tanque de agua de emergencia highway: - abandoned: Calle o carretera abandonada - bridleway: Camino prioritario para peatones y caballos + abandoned: Carretera abandonada + bridleway: Vía ecuestre bus_guideway: Canal guiado de autobuses bus_stop: Parada de autobuses - construction: Calle o carretera en construcción + construction: Carretera en construcción corridor: Corredor crossing: Cruce - cycleway: Bicisenda + cycleway: Ciclovía elevator: Ascensor emergency_access_point: Acceso de emergencia - emergency_bay: Apartadero de emergencia + emergency_bay: Bahía de emergencia footway: Sendero ford: Vado give_way: Señal de ceda el paso - living_street: Calle residencial + living_street: Calle viva milestone: Hito motorway: Autovía motorway_junction: Cruce de autovías @@ -978,34 +984,34 @@ es: passing_place: Lugar de paso path: Camino pedestrian: Vía peatonal - platform: Plataforma - primary: Carretera primaria - primary_link: Carretera primaria + platform: Apeadero + primary: Vía primaria + primary_link: Enlace a vía primaria proposed: Vía en proyecto raceway: Circuito de carreras - residential: Calle + residential: Calle residencial rest_area: Área de descanso - road: Carretera - secondary: Carretera secundaria - secondary_link: Carretera secundaria + road: Vía (genérico) + secondary: Vía secundaria + secondary_link: Enlace a vía secundaria service: Vía de servicio services: Servicios carreteros - speed_camera: Radar + speed_camera: Cámara de tráfico steps: Escaleras stop: Señal de alto street_lamp: Farola - tertiary: Carretera terciaria - tertiary_link: Carretera terciaria + tertiary: Vía terciaria + tertiary_link: Enlace a vía terciaria track: Pista traffic_mirror: Espejo de tráfico traffic_signals: Señales de tráfico trailhead: Inicio del sendero trunk: Vía troncal - trunk_link: Enlace de vía rápida - turning_circle: Radio de giro + trunk_link: Enlace a vía troncal + turning_circle: Rotonda turning_loop: Bucle de giro - unclassified: Carretera sin clasificar - "yes": Camino + unclassified: Vía de menor nivel + "yes": Vía (genérico) historic: aircraft: Avión histórico archaeological_site: Yacimiento arqueológico @@ -1031,27 +1037,27 @@ es: mine_shaft: Pozo minero monument: Monumento railway: Ferrocarril histórico - roman_road: Calzada romana + roman_road: Calle romana ruins: Ruinas rune_stone: Piedra rúnica stone: Piedra tomb: Tumba tower: Torre wayside_chapel: Capilla al borde del camino - wayside_cross: Crucero - wayside_shrine: Sepulcro + wayside_cross: Cruz al borde del camino + wayside_shrine: Santuario al borde de camino wreck: Pecio "yes": Sitio histórico junction: "yes": Intersección landuse: - allotments: Huertos + allotments: Parcelas aquaculture: Acuicultura basin: Cuenca - brownfield: Solar vacante + brownfield: Terreno baldío cemetery: Cementerio commercial: Área comercial - conservation: Espacio natural protegido + conservation: Área de conservación construction: Área de construcción farmland: Tierra de labranza farmyard: Corral @@ -1065,7 +1071,7 @@ es: military: Zona militar mine: Mina orchard: Huerto - plant_nursery: Vivero de plantas + plant_nursery: Vivero quarry: Cantera railway: Ferrocarril recreation_ground: Área recreacional @@ -1081,7 +1087,7 @@ es: adult_gaming_centre: Centro de juegos para adultos amusement_arcade: Sala recreativa de videojuegos bandstand: Quiosco de música - beach_resort: Complejo en la playa + beach_resort: Complejo turístico en playa bird_hide: Observatorio de aves bleachers: Gradas bowling_alley: Pista de bolos @@ -1091,7 +1097,7 @@ es: firepit: Foso de fuego fishing: Área de pesca fitness_centre: Gimnasio (fitness) - fitness_station: Gimnasio + fitness_station: Estación de fitness garden: Jardín golf_course: Campo de golf horse_riding: Centro ecuestre @@ -1102,10 +1108,10 @@ es: outdoor_seating: Asientos al aire libre park: Parque picnic_table: Mesa de picnic - pitch: Cancha deportiva + pitch: Cancha de deportes playground: Área de juegos - recreation_ground: Área recreativa - resort: Centro turístico + recreation_ground: Terreno recreativo + resort: Complejo turístico sauna: Sauna slipway: Grada sports_centre: Centro deportivo @@ -1115,7 +1121,7 @@ es: water_park: Parque acuático "yes": Ocio man_made: - adit: Entrada a galería + adit: Entrada a mina advertising: Publicidad antenna: Antena avalanche_protection: Protección contra avalanchas @@ -1134,7 +1140,7 @@ es: dolphin: Poste de amarre dyke: Dique embankment: Terraplén - flagpole: Asta de bandera + flagpole: Asta gasometer: Depósito de gas groyne: Espigón kiln: Horno @@ -1143,12 +1149,12 @@ es: mast: Mástil mine: Mina mineshaft: Pozo minero - monitoring_station: Estación de monitorización + monitoring_station: Estación de monitoreo petroleum_well: Pozo petrolífero pier: Muelle pipeline: Tubería pumping_station: Estación de bombeo - reservoir_covered: Depósito cubierto + reservoir_covered: Embalse cubierto silo: Silo snow_cannon: Cañón de nieve snow_fence: Barrera anti avalanchas de nieve @@ -1187,7 +1193,7 @@ es: coastline: Costa crater: Cráter dune: Duna - fell: Monte + fell: Braña fjord: Fiordo forest: Bosque geyser: Géiser @@ -1200,7 +1206,7 @@ es: isthmus: Istmo land: Tierra marsh: Marisma - moor: Páramo + moor: Landa mud: Lodo peak: Pico peninsula: Península @@ -1288,7 +1294,7 @@ es: disused: Ferrocarril en desuso funicular: Vía de funicular halt: Apeadero - junction: Encrucijada de vías ferroviarias + junction: Cruce de vías ferroviarias level_crossing: Paso a nivel light_rail: Metro ligero miniature: Ferrocarril en miniatura @@ -1302,7 +1308,7 @@ es: station: Estación de trenes stop: Parada de tren subway: Metro - subway_entrance: Boca de metro + subway_entrance: Entrada de metro switch: Aguja de ferrocarril tram: Ruta de tranvía tram_stop: Parada de tranvía @@ -1328,7 +1334,7 @@ es: butcher: Carnicería car: Concesionario car_parts: Repuestos de automóvil - car_repair: Taller mecánico + car_repair: Taller automotriz carpet: Tienda de alfombras charity: Tienda benéfica cheese: Tienda de quesos @@ -1339,13 +1345,13 @@ es: computer: Tienda de informática confectionery: Confitería convenience: Pequeño supermercado - copyshop: Copistería + copyshop: Centro de copiado cosmetics: Tienda de cosméticos craft: Tienda de suministros de artesanía curtain: Tienda de cortinas dairy: Tienda de lácteos deli: Delicatessen - department_store: Grandes almacenes + department_store: Tienda por departamentos discount: Tienda de descuento doityourself: Tienda de bricolaje dry_cleaning: Tintorería @@ -1410,13 +1416,13 @@ es: shoes: Zapatería sports: Tienda de deportes stationery: Papelería - storage_rental: Trasteros de alquiler + storage_rental: Alquiler de almacenamiento supermarket: Supermercado tailor: Sastre tattoo: Estudio de tatuajes tea: Tienda de té ticket: Tienda de Tickets - tobacco: Tabaquería. Estanco + tobacco: Tabaquería toys: Juguetería travel_agency: Agencia de viajes tyres: Tienda de neumáticos @@ -1435,8 +1441,8 @@ es: bed_and_breakfast: Alojamiento y desayuno (B&B) cabin: Cabaña Turística camp_pitch: Lugar para acampar - camp_site: Campamento/camping - caravan_site: Camping para caravanas + camp_site: Área de acampada, camping + caravan_site: Sitio para caravanas chalet: Chalet gallery: Galería guest_house: Pensión @@ -1452,7 +1458,7 @@ es: zoo: Zoológico tunnel: building_passage: Pasaje de edificio - culvert: Alcantarilla + culvert: Drenaje "yes": Túnel waterway: artificial: Vía fluvial artificial @@ -1460,7 +1466,7 @@ es: canal: Canal dam: Presa derelict_canal: Canal abandonado - ditch: Acequia + ditch: Zanja dock: Muelle drain: Desagüe lock: Esclusa @@ -1478,7 +1484,7 @@ es: level3: Límite regional level4: Límite de estado o provincia level5: Límite de región - level6: Límite de provincia + level6: Límite de condado level7: Límite municipal level8: Límite de ciudad level9: Límite de pueblo @@ -1486,7 +1492,7 @@ es: level11: Límite vecinal types: cities: Ciudades - towns: Municipios + towns: Pueblos places: Lugares results: no_results: No se han encontrado resultados @@ -1504,76 +1510,77 @@ es: user_not_found: El usuario no existe issues_not_found: No se encontraron incidencias de este tipo status: Estado - reports: Reportes + reports: Denuncias last_updated: Última actualización - link_to_reports: Ver informes + last_updated_time_ago_user_html: '%{time_ago} por %{user}' + link_to_reports: Ver denuncias reports_count: - one: 1 informe - other: '%{count} informes' + one: '%{count} reporte' + other: '%{count} reportes' reported_item: Elemento denunciado states: ignored: Ignorado open: Abierto resolved: Resuelto show: - title: '%{status} Informe n.º %{issue_id}' + title: '%{status} Incidencia n.º %{issue_id}' reports: - zero: Sin informes - one: 1 informe - other: '%{count} informes' - report_created_at: Reportado por primera vez el %{datetime} + one: '%{count} reporte' + other: '%{count} reportes' + no_reports: Sin reportes + report_created_at: Denunciado por primera vez el %{datetime} last_resolved_at: Resuelto por última vez el %{datetime} last_updated_at: Actualizado por última vez el %{datetime} por %{displayname} resolve: Resolver ignore: Ignorar reopen: Reabrir - reports_of_this_issue: Informes de este problema - read_reports: Leer informes - new_reports: Informes nuevos + reports_of_this_issue: Denuncias de esta incidencia + read_reports: Leer denuncias + new_reports: Denuncias nuevas other_issues_against_this_user: Otras incidencias en contra de este usuario no_other_issues: No hay otras incidencias en contra de este usuario. - comments_on_this_issue: Comentarios sobre este informe + comments_on_this_issue: Comentarios sobre esta incidencia resolve: - resolved: El estado de la incidencia se ha establecido en 'Resuelto' + resolved: El estado de la incidencia se ha establecido a 'Resuelto' ignore: - ignored: El estado de la incidencia se ha establecido en 'Ignorado' + ignored: El estado de la incidencia se ha establecido a 'Ignorado' reopen: - reopened: El estado de la incidencia se ha establecido en 'Abierto'. + reopened: El estado de la incidencia se ha establecido a 'Abierto'. comments: comment_from_html: Comentario de %{user_link} en %{comment_created_at} - reassign_param: ¿Quiere reasignar el informe? + reassign_param: ¿Quiere reasignar la incidencia? reports: - reported_by_html: Reportado como %{category} por %{user} en %{updated_at} + reported_by_html: Denunciado como %{category} por %{user} en %{updated_at} helper: reportable_title: diary_comment: '%{entry_title}, comentario #%{comment_id}' note: Nota n.º %{note_id} issue_comments: create: - comment_created: Su comentario ha sido creado con éxito - issue_reassigned: Su comentario fue creado y el tema fue reasignado + comment_created: Tu comentario ha sido creado con éxito + issue_reassigned: Tu comentario fue creado y la incidencia fue reasignada reports: new: - title_html: Reportar %{link} - missing_params: No se puede crear un informe nuevo + title_html: Denunciar %{link} + missing_params: No se puede crear una denuncia nueva disclaimer: - intro: 'Antes de enviar su denuncia a los moderadores del sitio, asegúrese + intro: 'Antes de enviar tu denuncia a los moderadores del sitio, asegúrate de que:' not_just_mistake: Está seguro de que el problema no es sólo un error - unable_to_fix: No puede solucionar el problema usted mismo o con la ayuda - de otros miembros de la comunidad. - resolve_with_user: Ya ha intentado resolver el problema con el usuario en + unable_to_fix: No puedes corregir el problema tu mismo o con la ayuda de otros + miembros de la comunidad. + resolve_with_user: Ya has intentado resolver el problema con el usuario en cuestión. categories: diary_entry: - spam_label: Esta entrada del diario es/contiene spam - offensive_label: Esta entrada del diario es obscena/ofensiva - threat_label: Esta entrada del diario contiene una amenaza + spam_label: Esta entrada de diario es/contiene spam + offensive_label: Esta entrada de diario es obscena/ofensiva + threat_label: Esta entrada de diario contiene una amenaza other_label: Otro diary_comment: - spam_label: Este comentario del diario es/contiene spam - offensive_label: Este comentario del diario es obsceno/ofensivo - threat_label: Este comentario del diario contiene una amenaza + spam_label: Este comentario de diario es/contiene spam + offensive_label: Este comentario de diario es obsceno/ofensivo + threat_label: Este comentario de diario contiene una amenaza other_label: Otro user: spam_label: Este perfil de usuario es/contiene spam @@ -1587,16 +1594,19 @@ es: abusive_label: Esta nota es abusiva other_label: Otro create: - successful_report: Su denuncia ha sido registrada con éxito + successful_report: Tu denuncia ha sido registrada con éxito provide_details: Proporcione los detalles requeridos layouts: + project_name: + title: OpenStreetMap + h1: OpenStreetMap logo: alt_text: Logo de OpenStreetMap home: Inicio logout: Cerrar sesión log_in: Iniciar sesión sign_up: Registrarse - start_mapping: Comenzar a cartografiar + start_mapping: Comenzar a mapear edit: Editar history: Historial export: Exportar @@ -1619,7 +1629,7 @@ es: partners_fastly: Fastly partners_bytemark: Bytemark Hosting partners_partners: socios - tou: Términos de uso + tou: Términos de Uso osm_offline: La base de datos de OpenStreetMap no está disponible en estos momentos debido a trabajos de mantenimiento. osm_read_only: La base de datos de OpenStreetMap se encuentra en modo de sólo @@ -1633,7 +1643,7 @@ es: community_blogs: Blogs de la comunidad community_blogs_title: Blogs de miembros de la comunidad de OpenStreetMap make_a_donation: - title: Apoye a OpenStreetMap con una donación monetaria + title: Apoya a OpenStreetMap con una donación monetaria text: Hacer una donación learn_more: Más información more: Más @@ -1641,36 +1651,35 @@ es: diary_comment_notification: subject: '[OpenStreetMap] %{user} ha comentado en una entrada de diario' hi: 'Hola, %{to_user}:' - header: '%{from_user} ha comentado sobre en la entrada de diario con el asunto - %{subject}:' - header_html: '%{from_user} ha comentado la entrada de diario con el asunto %{subject}:' - footer: También puede leer el comentario en %{readurl} y puede comentar en %{commenturl} - o responder en %{replyurl} - footer_html: También puede leer el comentario en %{readurl} y puede comentar + header: '%{from_user} ha comentado en la entrada de diario con asunto %{subject}:' + header_html: '%{from_user} ha comentado la entrada de diario con asunto %{subject}:' + footer: También puedes leer el comentario en %{readurl} y puedes comentar en + %{commenturl} o responder en %{replyurl} + footer_html: También puedes leer el comentario en %{readurl} y puedes comentar en %{commenturl} o responder en %{replyurl} message_notification: subject: '[OpenStreetMap] %{message_title}' hi: Hola %{to_user}, - header: '%{from_user} le ha enviado un mensaje a través de OpenStreetMap con + header: '%{from_user} te ha enviado un mensaje a través de OpenStreetMap con el asunto %{subject}:' header_html: '%{from_user} te ha enviado un mensaje a través de OpenStreetMap - con el asunto %{subject}:' - footer: También puede leer el mensaje en %{readurl} y enviar un mensaje al autor + con asunto %{subject}:' + footer: También puedes leer el mensaje en %{readurl} y enviar un mensaje al + autor en %{replyurl} + footer_html: También puedes leer el mensaje en %{readurl} y puede responder en %{replyurl} - footer_html: También puede leer el mensaje en %{readurl} y puede responder en - %{replyurl} friendship_notification: hi: Hola %{to_user}, - subject: '[OpenStreetMap] %{user} le ha añadido como amigo' - had_added_you: '%{user} le ha añadido como amigo en OpenStreetMap' - see_their_profile: Puede ver su perfil en %{userurl}. - see_their_profile_html: Puede ver su perfil en %{userurl}. - befriend_them: También puede añadirle como amigo en %{befriendurl}. - befriend_them_html: También puede añadirle como amigo en %{befriendurl}. + subject: '[OpenStreetMap] %{user} te ha añadido como amigo' + had_added_you: '%{user} te ha añadido como amigo en OpenStreetMap' + see_their_profile: Puedes ver tu perfil en %{userurl}. + see_their_profile_html: Puedes ver su perfil en %{userurl}. + befriend_them: También puedes añadirlo como amigo en %{befriendurl}. + befriend_them_html: También puedes añadirlo como amigo en %{befriendurl}. gpx_description: - description_with_tags_html: 'Parece que el archivo GPX %{trace_name} con la + description_with_tags_html: 'Parece que tu archivo GPX %{trace_name} con la descripción %{trace_description} y las etiquetas siguientes: %{tags}' - description_with_no_tags_html: Parece que el archivo GPX %{trace_name} con la + description_with_no_tags_html: Parece que tu archivo GPX %{trace_name} con la descripción %{trace_description} sin etiquetas gpx_failure: hi: Hola %{to_user}, @@ -1685,102 +1694,102 @@ es: other: se cargaron correctamente, con %{trace_points} de %{count} puntos posibles. subject: '[OpenStreetMap] Éxito al importar GPX' signup_confirm: - subject: '[OpenStreetMap] OpenStreetMap le da la bienvenida' + subject: '[OpenStreetMap] OpenStreetMap te da la bienvenida' greeting: ¡Hola! created: Alguien (probablemente tú) acaba de crear una cuenta en %{site_url}. confirm: 'Antes de hacer cualquier otra cosa, debemos confirmar que esta solicitud - proviene de usted, por lo que si así fue, haga clic en el enlace a continuación - para confirmar su cuenta:' - welcome: Después de confirmar su cuenta, nosotros le proporcionaremos alguna - información adicional para ayudarle a empezar. + proviene de ti, por lo que si así fue, haz clic en el enlace a continuación + para confirmar tu cuenta:' + welcome: Después de confirmar tu cuenta, nosotros te proporcionaremos alguna + información adicional para ayudarte a empezar. email_confirm: - subject: '[OpenStreetMap] Confirme su dirección de correo electrónico' + subject: '[OpenStreetMap] Confirma tu dirección de correo electrónico' greeting: Hola, - hopefully_you: Alguien (esperemos que usted) desea cambiar su dirección de correo - electrónico a través de %{server_url} a %{new_address}. - click_the_link: Si es usted, haga clic en el enlace de abajo para confirmar - el cambio. + hopefully_you: Alguien (esperemos que seas tu) desea cambiar tu dirección de + correo electrónico a través de %{server_url} a %{new_address}. + click_the_link: Si eres tú, haz clic en el enlace de abajo para confirmar el + cambio. lost_password: subject: '[OpenStreetMap] Petición para restablecer la contraseña' greeting: Hola, - hopefully_you: Alguien (posiblemente usted) ha solicitado que se restablezca - la contraseña en la cuenta de openstreetmap.org de esta dirección de correo - electrónico. - click_the_link: Si es usted, haga clic en el enlace a continuación para restablecer - su contraseña. + hopefully_you: Alguien (posiblemente tu) ha solicitado que se restablezca la + contraseña de la cuenta en openstreetmap.org de esta dirección de correo electrónico. + click_the_link: Si eres tú, haga clic en el enlace a continuación para restablecer + tu contraseña. note_comment_notification: anonymous: Un usuario anónimo greeting: Hola, commented: - subject_own: '[OpenStreetMap] %{commenter} ha comentado en una de sus notas' + subject_own: '[OpenStreetMap] %{commenter} ha comentado en una de tus notas' subject_other: '[OpenStreetMap] %{commenter} ha comentado en una nota que - le interesa' - your_note: '%{commenter} ha dejado un comentario en una de sus notas del mapa + te interesa' + your_note: '%{commenter} ha dejado un comentario en una de tus notas del mapa cerca de %{place}.' - your_note_html: '%{commenter} ha dejado un comentario en una de sus notas + your_note_html: '%{commenter} ha dejado un comentario en una de tus notas de mapa cerca de %{place}' commented_note: '%{commenter} ha dejado un comentario en una nota del mapa - que ha comentado. La nota está cerca de %{place}.' + que has comentado. La nota está cerca de %{place}.' commented_note_html: '%{commenter} ha dejado un comentario en una nota del - mapa que usted ha comentado. La nota está cerca de %{place}.' + mapa que has comentado. La nota está cerca de %{place}.' closed: - subject_own: '[OpenStreetMap] %{commenter} ha resuelto una de sus notas' - subject_other: '[OpenStreetMap] %{commenter} ha resuelto una nota que le interesa' - your_note: '%{commenter} ha resuelto una de sus notas del mapa cerca de %{place}.' - your_note_html: '%{commenter} ha resuelto una de sus notas del mapa cerca + subject_own: '[OpenStreetMap] %{commenter} ha resuelto una de tus notas' + subject_other: '[OpenStreetMap] %{commenter} ha resuelto una nota que te interesa' + your_note: '%{commenter} ha resuelto una de tus notas del mapa cerca de %{place}.' + your_note_html: '%{commenter} ha resuelto una de tus notas del mapa cerca de %{place}.' - commented_note: '%{commenter} ha resuelto una nota de mapa que ha comentado. + commented_note: '%{commenter} ha resuelto una nota de mapa que has comentado. La nota está cerca de %{place}.' commented_note_html: '%{commenter} ha resuelto una nota del mapa en la que - usted ha comentado. La nota está cerca de %{place}.' + tu ha comentado. La nota está cerca de %{place}.' reopened: - subject_own: '[OpenStreetMap] %{commenter} ha reactivado una de sus notas' + subject_own: '[OpenStreetMap] %{commenter} ha reactivado una de tus notas' subject_other: '[OpenStreetMap] %{commenter} ha reactivado una nota que te interesa' - your_note: '%{commenter} ha reactivado una de sus notas del mapa cerca de + your_note: '%{commenter} ha reactivado una de tus notas del mapa cerca de %{place}.' - your_note_html: '%{commenter} ha reactivado una de sus notas del mapa cerca + your_note_html: '%{commenter} ha reactivado una de tus notas del mapa cerca de %{place}.' - commented_note: '%{commenter} ha reactivado una nota de mapa que ha comentado. + commented_note: '%{commenter} ha reactivado una nota de mapa que has comentado. La nota está cerca de %{place}.' commented_note_html: '%{commenter} ha reactivado un nota del mapa en la que - usted ha comentado. La nota está cerca de %{place}.' + has comentado. La nota está cerca de %{place}.' details: Más detalles acerca de la nota pueden encontrarse en %{url}. - details_html: Puede encontrar más detalles acerca de la nota en %{url}. + details_html: Puedes encontrar más detalles acerca de la nota en %{url}. changeset_comment_notification: hi: Hola %{to_user}, greeting: Hola, commented: - subject_own: '[OpenStreetMap] %{commenter} ha comentado uno de sus conjuntos + subject_own: '[OpenStreetMap] %{commenter} ha comentado uno de tus conjuntos de cambios' subject_other: '[OpenStreetMap] %{commenter} ha comentado un conjunto de cambios - que le interesa' - your_changeset: '%{commenter} dejó un comentario el %{time} en uno de sus + que te interesa' + your_changeset: '%{commenter} dejó un comentario el %{time} en uno de tus conjuntos de cambios' your_changeset_html: '%{commenter} dejó un comentario el %{time} en uno de - sus conjuntos de cambios' + tus conjuntos de cambios' commented_changeset: '%{commenter} dejó un comentario el %{time} en un conjunto - de cambios que está siguiendo, creado por %{changeset_author}' + de cambios que estás siguiendo, creado por %{changeset_author}' commented_changeset_html: '%{commenter} dejó un comentario el %{time} en un - conjunto de cambios que está siguiendo, creado por %{changeset_author}' + conjunto de cambios que estás siguiendo, creado por %{changeset_author}' partial_changeset_with_comment: con el comentario '%{changeset_comment}' partial_changeset_with_comment_html: con el comentario '%{changeset_comment}' partial_changeset_without_comment: sin comentarios - details: Puede encontrar más detalles sobre el conjunto de cambios en %{url}. - details_html: Puede encontrar más detalles sobre el conjunto de cambios en %{url}. + details: Puedes encontrar más detalles sobre el conjunto de cambios en %{url}. + details_html: Puedes encontrar más detalles sobre el conjunto de cambios en + %{url}. unsubscribe: Para cancelar la suscripción a las actualizaciones de este conjunto - de cambios, visite %{url} y haga clic en "Cancelar suscripción". + de cambios, visita %{url} y haz clic en "Cancelar suscripción". unsubscribe_html: Para darte de baja de las actualizaciones de este conjunto - de cambios, visita %{url} y haz clic en "darse de baja". + de cambios, visita %{url} y haz clic en "Cancelas subscripción". confirmations: confirm: - heading: Revise su correo electrónico! - introduction_1: Le hemos enviado un correo electrónico de confirmación. - introduction_2: Confirme su cuenta haciendo clic en el enlace del correo electrónico - y podrá comenzar a mapear. - press confirm button: Pulse botón de confirmación de abajo para activar su cuenta. + heading: ¡Revisa tu correo electrónico! + introduction_1: Te hemos enviado un correo electrónico de confirmación. + introduction_2: Confirma tu cuenta haciendo clic en el enlace del correo electrónico + y podrás comenzar a mapear. + press confirm button: Pulsa botón de confirmación de abajo para activar tu cuenta. button: Confirmar - success: ¡Cuenta confirmada, gracias por registrarse! + success: Cuenta confirmada, !gracias por registrarte! already active: Esta cuenta ya ha sido confirmada. unknown token: Ese código de confirmación ha caducado o no existe. resend_html: Si necesita que le reenviemos el mensaje de confirmación, %{reconfirm_link}. @@ -1789,25 +1798,24 @@ es: failure: No se ha encontrado el usuario %{name} confirm_email: heading: Confirmar el cambio de dirección de correo electrónico - press confirm button: Pulse el botón de confirmación de debajo para confirmar - su nueva dirección de correo electrónico. + press confirm button: Pulsa el botón de confirmación de debajo para confirmar + tu nueva dirección de correo electrónico. button: Confirmar - success: Se confirmó el cambio de dirección de correo electrónico. - failure: Ya se ha confirmado una dirección de correo electrónico con esta credencial - de autenticación. + success: ¡Se confirmó el cambio de dirección de correo electrónico! + failure: Ya se ha confirmado una dirección de correo electrónico con este token. unknown_token: Ese código de confirmación ha caducado o no existe. resend_success_flash: - confirmation_sent: Hemos enviado una nueva nota a %{email} y tan pronto como - confirmes tu cuenta podrás obtener mapeo. + confirmation_sent: Hemos enviado un nuevo mensaje a %{email} y tan pronto como + confirmes tu cuenta podrás comenzar a mapear. whitelist: Si usas un sistema antispam que envía solicitudes de confirmación entonces por favor asegúrate de incluir en la lista blanca %{sender}, ya que - no podemos responder ninguna solicitud de confirmación. + no podemos responder solicitud de confirmación alguna. messages: inbox: title: Buzón de entrada my_inbox: Mi buzón my_outbox: Mi buzón de salida - messages: Tiene %{new_messages} y %{old_messages} + messages: Tienes %{new_messages} y %{old_messages} new_messages: one: '%{count} nuevo mensaje' other: '%{count} nuevos mensajes' @@ -1817,8 +1825,8 @@ es: from: De subject: Asunto date: Fecha - no_messages_yet_html: Aún no tiene mensajes. ¿Por qué no ponerse en contacto - con algunos de los %{people_mapping_nearby_link}? + no_messages_yet_html: Aún no tienes mensajes. ¿Por qué no ponerte en contacto + con algunas de las %{people_mapping_nearby_link}? people_mapping_nearby: gente mapeando cerca message_summary: unread_button: Marcar como no leído @@ -1831,12 +1839,12 @@ es: back_to_inbox: Regresar a la bandeja de entrada create: message_sent: Mensaje enviado - limit_exceeded: Ha enviado muchos mensajes recientemente. Espere un poco antes + limit_exceeded: Has enviado muchos mensajes recientemente. Espera un poco antes de intentar enviar más. no_such_message: title: Este mensaje no existe. heading: Este mensaje no existe. - body: Lo sentimos, no hay ningún mensaje con este identificador. + body: Lo sentimos, no hay mensaje alguno con este identificador. outbox: title: Bandeja de salida my_inbox: Mi Bandeja de entrada @@ -1844,53 +1852,51 @@ es: messages: one: Tiene %{count} mensaje enviado other: Tiene %{count} mensajes enviados - to: A + to: Para subject: Asunto date: Fecha - no_sent_messages_html: Aún no tiene mensajes enviados. ¿Por qué no ponerse en - contacto con algunos de los %{people_mapping_nearby_link}? - people_mapping_nearby: gente mapeando cerca + no_sent_messages_html: Aún no tienes mensajes enviados. ¿Por qué no ponerte + en contacto con algunas de las %{people_mapping_nearby_link}? + people_mapping_nearby: personas mapeando cerca reply: - wrong_user: |- - Está conectado como `%{user}' pero el mensaje que quiere responder no se ha enviado a dicho usuario. Por favor, ingrese con el usuario correcto para responder. - - Ha iniciado sesión como `%{user}' pero el mensaje que quiere responder no se envió a ese usuario. Inicie sesión con el usuario correcto para responder. + wrong_user: Estás conectado como `%{user}' pero el mensaje que quieres responder + no se ha enviado a dicho usuario. Por favor, inicia sesión con el usuario + correcto para responder. show: title: Leer mensaje reply_button: Responder unread_button: Marcar como no leído destroy_button: Eliminar back: Volver - wrong_user: |- - Está conectado como `%{user}' pero el mensaje que quiere leer no se ha enviado por o a dicho usuario. Por favor, ingrese con el usuario correcto para ver el mensaje. - - Ha iniciado sesión como `%{user}' pero el mensaje que quiere leer no fue enviado por o a ese usuario. Inicie sesión con el usuario correcto para poder leerlo. + wrong_user: Estás conectado como `%{user}' pero el mensaje que quieres leer + no se ha enviado por o a dicho usuario. Por favor, inicia sesión con el usuario + correcto para leer el mensaje. sent_message_summary: destroy_button: Eliminar mark: as_read: Mensaje marcado como leído as_unread: Mensaje marcado como no leído destroy: - destroyed: Mensaje borrado + destroyed: Mensaje eliminado passwords: lost_password: title: Contraseña perdida heading: ¿Contraseña olvidada? email address: 'Dirección de correo electrónico:' new password button: Restablecer contraseña - help_text: Escriba el correo electrónico con el que se registró. Le enviaremos - un vínculo a esa dirección, que podrá utilizar para restablecer su contraseña. - notice email on way: Sentimos que la haya perdido :-( pero ya va de camino un - correo electrónico que le servirá para restablecer su contraseña enseguida. + help_text: Escribe el correo electrónico con el que se registró. Te enviaremos + un enlace a esa dirección, que podrás utilizar para restablecer su contraseña. + notice email on way: Sentimos que la hayas perdido :-( pero ya va de camino + un correo electrónico que te servirá para restablecer su contraseña enseguida. notice email cannot find: Lo sentimos, no se pudo encontrar esa dirección de correo electrónico. reset_password: title: Restablecer contraseña heading: Restablecer contraseña para %{user} reset: Restablecer contraseña - flash changed: Su contraseña ha sido cambiada. - flash token bad: No se ha encontrado este elemento, ¿Quizá debería comprobar - la URL? + flash changed: Tu contraseña ha sido cambiada. + flash token bad: No se ha encontrado este token, ¿Quizá deberías comprobar la + URL? preferences: show: title: Mis preferencias @@ -1913,17 +1919,18 @@ es: image: Imagen gravatar: gravatar: Usa Gravatar + link: https://wiki.openstreetmap.org/wiki/ES:Gravatar what_is_gravatar: ¿Qué es Gravatar? disabled: Gravatar se ha deshabilitado. - enabled: Se ha habilitado la visualización de su Gravatar. + enabled: Se ha habilitado la visualización de tu Gravatar. new image: Añadir una imagen keep image: Mantener la imagen actual delete image: Eliminar la imagen actual replace image: Reemplazar la imagen actual image size hint: (las imágenes cuadradas de al menos 100x100 funcionan mejor) - home location: Lugar de origen - no home location: No ha introducido su lugar de origen. - update home location on click: ¿Actualizar su lugar de origen cuando pulses + home location: Ubicación de casa + no home location: No has introducido tu ubicación de casa. + update home location on click: ¿Actualizar tu lugar de origen cuando hagas clic sobre el mapa? update: success: Perfil actualizado. @@ -1936,12 +1943,12 @@ es: password: 'Contraseña:' openid_html: '%{logo} OpenID:' remember: Recordarme - lost password link: ¿Ha perdido su contraseña? + lost password link: ¿Has perdido su contraseña? login_button: Iniciar sesión - register now: Regístrese ahora - with external: 'O bien, utilice un servicio de terceros para acceder:' - no account: ¿No está registrado? - auth failure: Lo sentimos. No pude iniciar sesión con esos datos. + register now: Registrarse ahora + with external: 'O bien, utiliza un servicio de terceros para acceder:' + no account: ¿No estás registrado? + auth failure: Lo sentimos. No puede iniciar sesión con esos datos. openid_logo_alt: Inicia sesión con una OpenID auth_providers: openid: @@ -1951,11 +1958,11 @@ es: title: Iniciar sesión con Google alt: Iniciar sesión con una OpenID de Google facebook: - title: Inicia sesión con Facebook - alt: Inicia sesión con una cuenta de Facebook + title: Iniciar sesión con Facebook + alt: Iniciar sesión con una cuenta de Facebook windowslive: - title: Inicia sesión con Windows Live - alt: Iniciar sesión con una cuenta de Windows Live + title: Iniciar sesión con Microsoft + alt: Iniciar sesión con una cuenta Microsoft github: title: Iniciar sesión con GitHub alt: Iniciar sesión con una cuenta de GitHub @@ -1973,13 +1980,14 @@ es: heading: Cerrar sesión de OpenStreetMap logout_button: Cerrar sesión suspended_flash: - suspended: Lo sentimos, su cuenta ha sido suspendida debido a actividad sospechosa. - contact_support_html: Póngase en contacto con %{support_link} si desea discutir + suspended: Lo sentimos, tu cuenta ha sido suspendida debido a actividad sospechosa. + contact_support_html: Ponte en contacto con %{support_link} si deseas discutir sobre esto. support: el servicio técnico shared: markdown_help: heading_html: Procesado con %{kramdown_link} + kramdown: kramdown headings: Títulos heading: Título subheading: Subtítulo @@ -1998,32 +2006,51 @@ es: site: about: next: Siguiente + heading_html: Contribuidores %{copyright}OpenStreetMap %{br} used_by_html: '%{name} proporciona datos de mapas para miles de sitios web, aplicaciones móviles y dispositivos de hardware' - lede_text: OpenStreetMap lo crea una gran comunidad de colaboradores que aportan + lede_text: OpenStreetMap lo crea una gran comunidad de mapeadores que aportan y mantienen datos sobre caminos, senderos, cafeterías, estaciones de ferrocarril y muchas cosas más a lo largo de todo el mundo. local_knowledge_title: Conocimiento local local_knowledge_html: OpenStreetMap valora mucho el conocimiento local. Los - colaboradores utilizan imágenes aéreas, dispositivos GPS, mapas y otras fuentes - de datos libres para verificar que los datos de OSM sean precisos y estén - actualizados. + colaboradores utilizan imágenes aéreas, dispositivos GPS y otras fuentes de + datos libres para verificar que los datos de OSM sean precisos y estén actualizados. community_driven_title: Impulsado por la comunidad + community_driven_1_html: "La comunidad de OpenStreetMap es diversa, apasionada + y crece cada día. \nNuestros colaboradores incluyen mapeadores entusiastas, + profesionales de los SIG, ingenieros asegurando \nel funcionamiento de los + servidores de OSM, personal humanitario que mapean las zonas afectadas por + desastres, \ny muchos más. \nPara obtener más información sobre la comunidad, + mira el %{osm_blog_link}, \n%{user_diaries_link}, %{community_blogs_link} + y el sitio web de %{osm_foundation_link}." community_driven_osm_blog: Blog de OpenStreetMap + community_driven_user_diaries: diarios de usuario community_driven_community_blogs: blogs comunitarios community_driven_osm_foundation: OSM Foundation open_data_title: Datos abiertos - open_data_1_html: 'OpenStreetMap es %{open_data}: puede usarlo libremente para - cualquier propósito siempre que dé crédito a OpenStreetMap y a sus colaboradores. - Si lo altera o se basa en sus datos de alguna manera, solo puede distribuir - el resultado con la misma licencia. Consulte la %{copyright_license_link} + open_data_1_html: 'OpenStreetMap es %{open_data}: puedes usarlo libremente para + cualquier propósito siempre que des crédito a OpenStreetMap y a sus colaboradores. + Si lo alteras o te basa en sus datos de alguna manera, solo puedes distribuir + el resultado con la misma licencia. Consulta la %{copyright_license_link} para obtener más detalles.' open_data_open_data: datos abiertos open_data_copyright_license: Página de derechos de autor y licencia legal_title: Legal + legal_1_1_html: "Este sitio y muchos otros servicios relacionados son operados + formalmente por la \n%{openstreetmap_foundation_link} (OSMF) \nen nombre + de la comunidad. El uso de todos los servicios operados por el OSMF está sujeto + a nuestors %{terms_of_use_link}, %{aup_link} y nuestra %{privacy_policy_link}." legal_1_1_openstreetmap_foundation: Fundación OpenStreetMap + legal_1_1_terms_of_use: Términos de Uso legal_1_1_aup: Normativas de uso aceptable legal_1_1_privacy_policy: Normativa de privacidad + legal_2_1_html: Sí tienes alguna pregunta sobre licencias, derechos de autor + u otras cuestiones legales, por favor %{contact_the_osmf_link}. + legal_2_1_contact_the_osmf: contacta la OSMF + legal_2_2_html: OpenStreetMap, el logotipo de la lupa y el estado del mapa son + %{registered_trademarks_link}. + legal_2_2_registered_trademarks: marcas registradas de la OSMF partners_title: Socios copyright: foreign: @@ -2033,100 +2060,196 @@ es: english_link: el original en Inglés native: title: Acerca de esta página - html: Está viendo la versión en inglés de la página de derechos de autor. - Puede ir a la %{native_link} de esta página o puede dejar de leer acerca + html: Estás viendo la versión en inglés de la página de derechos de autor. + Puedes ir a la %{native_link} de esta página o puedes dejar de leer acerca de derechos de autor y %{mapping_link}. native_link: versión en español - mapping_link: comenzar a cartografiar + mapping_link: comenzar a mapear legal_babble: title_html: Derechos de autor y licencia + introduction_1_html: "OpenStreetMap%{registered_trademark_link} es %{open_data}, + licenciada bajo los términos de \n%{odc_odbl_link} (ODbL) por la %{osm_foundation_link}" introduction_1_open_data: datos abiertos introduction_1_odc_odbl: Licencia de bases de datos abiertas de Open Data Commons + introduction_1_osm_foundation: Fundación OpenStreetMap + introduction_2_html: Eres libre de copiar, distribuir, transmitir y adaptar + nuestros datos libremente siempre y cuando des reconocimiento a OpenStreetMap + y sus colaboradores. Si modificas o te basas en nuestros datos, sólo podrás + distribuir el resultado bajo la misma licencia. El %{legal_code_link} completo + explica tus derechos y responsabilidades. introduction_2_legal_code: código legal - introduction_3_html: Nuestra documentación tiene la licencia %{creative_commons_link} - (CC BY-SA 2.0). - introduction_3_creative_commons: Creative Commons - Atribución - Compartir - Igual 2.0 + introduction_3_html: Nuestra documentación está licenciada bajo los términos + de %{creative_commons_link} (CC BY-SA 2.0). + introduction_3_creative_commons: Creative Commons Atribución-CompartirIgual + 2.0 + introduction_3_creative_commons_url: https://creativecommons.org/licenses/by-sa/2.0/deed.es credit_title_html: Cómo dar reconocimiento a OpenStreetMap - credit_1_html: 'Cuando utilice datos de OpenStreetMap, deberá hacer las dos + credit_1_html: 'Cuando utilice datos de OpenStreetMap, deberás hacer las dos cosas siguientes:' - credit_2_1: Proporcione crédito a OpenStreetMap mostrando nuestro aviso de + credit_2_1: Proporciona crédito a OpenStreetMap mostrando nuestro aviso de derechos de autor. - credit_2_2: Especifique que los datos están disponibles bajo la Licencia de + credit_2_2: Especifica que los datos están disponibles bajo la Licencia de base de datos abierta. + credit_3_html: Para el aviso de derechos de autor, tenemos diferentes requisitos + sobre cómo se debe mostrar en función del uso que se haga de nuestros datos. + Por ejemplo, se aplican diferentes normas sobre cómo mostrar el aviso de + derechos de autor (copyright) dependiendo de si ha creado un mapa navegable, + un mapa impreso o una imagen estática. Encontrarás todos los detalles sobre + los requisitos en la %{attribution_guidelines_link}. credit_3_attribution_guidelines: Directrices de atribución + credit_4_1_html: |- + Para dejar claro que los datos están disponibles bajo la licencia Open + Database License, puedes enlazar hacia %{this_copyright_page_link}. + Alternativamente, y como requisito si estás distribuyendo OSM en forma de datos, puedes nombrar y enlazar directamente a la(s) licencia(s). En los medios donde los enlaces no son posibles (por ejemplo, obras impresas), te sugerimos que dirijas a tus lectores a openstreetmap.org (quizás ampliando 'OpenStreetMap' a esta dirección completa) y a opendatacommons.org. + En este ejemplo, el crédito aparece en la esquina del mapa. + credit_4_1_this_copyright_page: esta página de derechos de autor attribution_example: - alt: Ejemplo de como dar reconocimiento a OpenStreetMap en una página web + alt: Ejemplo de cómo dar reconocimiento a OpenStreetMap en una página web title: Ejemplo de atribución - more_title_html: Para saber más... + more_title_html: Para saber más + more_1_1_html: Lee más sobre el uso de nuestros datos y cómo acreditarnos + en el %{osmf_licence_page_link}. + more_1_1_osmf_licence_page: página de licencia de la OSMF + more_2_1_html: "Aunque OpenStreetMap es un sistema de datos abiertos, no podemos + proporcionar una \nAPI de mapas gratuita para terceros. \nMira nuestra %{api_usage_policy_link}, + %{tile_usage_policy_link} y %{nominatim_usage_policy_link}." more_2_1_api_usage_policy: Normativa de uso de la API + more_2_1_tile_usage_policy: Política de uso de teselas more_2_1_nominatim_usage_policy: Normativa de uso de Nominatim contributors_title_html: Nuestros colaboradores contributors_intro_html: 'Nuestros colaboradores son miles de personas. Incluimos también datos con licencia abierta de organismos cartográficos nacionales y otras fuentes, entre ellas:' + contributors_at_credit_html: "%{austria}: Contiene datos de %{stadt_wien_link} + (en el apartado %{cc_by_link}), %{land_vorarlberg_link} \ny Land Tirol (en + el %{cc_by_at_with_amendments_link})." contributors_at_austria: Austria + contributors_at_stadt_wien: Ciudad de Viena + contributors_at_cc_by: CC BY + contributors_at_land_vorarlberg: El territorio de Vorarlberg + contributors_at_cc_by_at_with_amendments: CC BY-AT con modificaciones + contributors_au_credit_html: "%{australia}: Incorpora o desarrolla usando + Fronteras Administrativas © %{geoscape_australia_link} \nlicenciadas + por la Mancomunidad de Australia bajo el %{cc_licence_link}." contributors_au_australia: Australia + contributors_au_geoscape_australia: Geoscape Australia + contributors_au_cc_licence: Licencia internacional Creative Commons Attribution + 4.0 (CC BY 4.0) + contributors_au_cc_licence_url: https://creativecommons.org/licenses/by/4.0/deed.es + contributors_ca_credit_html: '%{canada}: Contiene datos de GeoBase®, GeoGratis + (© Departmento de recursos naturales de Canadá), CanVec (© Departmento + de recursos naturales de Canadá) y StatCan (División Geográfica, Estadísticas + de Canadá).' contributors_ca_canada: Canadá + contributors_fi_credit_html: "%{finland}: Contiene datos de la \nBase de datos + topográficos del Estudio Nacional de Tierras de Finlandia \ny otros conjuntos + de datos, bajo el enlace %{nlsfi_license_link}." contributors_fi_finland: Finlandia contributors_fi_nlsfi_license: Licencia NLSFI + contributors_fr_credit_html: |- + %{france}: Contiene datos de la + Dirección General de Impuestos. contributors_fr_france: Francia + contributors_nl_credit_html: '%{netherlands}: Contiene © y datos, 2007 + (%{and_link})' contributors_nl_netherlands: Países Bajos + contributors_nz_credit_html: "%{new_zealand}: Contiene datos del %{linz_data_service_link} + \ny licenciados para su reutilización bajo %{cc_by_link}." contributors_nz_new_zealand: Nueva Zelanda contributors_nz_linz_data_service: Servicio de datos de LINZ + contributors_nz_cc_by: CC BY 4.0 + contributors_nz_cc_by_url: https://creativecommons.org/licenses/by/4.0/deed.es + contributors_rs_credit_html: "%{serbia}: Contiene datos del %{rgz_link} y + %{open_data_portal} \n (información pública de Serbia), 2018." + contributors_rs_serbia: Serbia + contributors_rs_rgz: Autoridad geodética serbia + contributors_rs_open_data_portal: Portal Nacional de Datos Abiertos + contributors_si_credit_html: |- + %{slovenia}: Contiene datos de %{gu_link} y %{mkgp_link} + (información pública de Eslovenia). contributors_si_slovenia: Eslovenia + contributors_si_gu: Autoridad de Topografía y Cartografía contributors_si_mkgp: Ministerio de Agricultura, Silvicultura y Alimentación + contributors_es_credit_html: |- + %{spain}: Contiene datos del + Instituto Geográfico Nacional de España (%{ign_link}) y + Sistema Cartográfico Nacional (%{scne_link}) + con licencia para su reutilización bajo %{cc_by_link}. contributors_es_spain: España contributors_es_ign: IGN + contributors_es_scne: SCNE + contributors_es_cc_by: CC BY 4.0 + contributors_es_cc_by_url: https://creativecommons.org/licenses/by/4.0/deed.es + contributors_za_credit_html: '%{south_africa}: Contiene datos de %{ngi_link}, + derechos de autor reservados por del Estado.' contributors_za_south_africa: Sudáfrica + contributors_za_ngi: 'Dirección General: Información Geoespacial Nacional' + contributors_gb_credit_html: |- + %{united_kingdom}: contiene datos de Ordnance Survey © Crown copyright and database right + 2010-2023. contributors_gb_united_kingdom: Reino Unido + contributors_2_html: Para obtener más detalles de estas y otras fuentes que + se han utilizado para ayudar a mejorar OpenStreetMap, consultq el %{contributors_page_link} + en el Wiki de OpenStreemMap. + contributors_2_contributors_page: Página de colaboradores + contributors_2_contributors_page_url: https://wiki.openstreetmap.org/wiki/ES:Colaboradores contributors_footer_2_html: La inclusión de datos en OpenStreetMap no implica que el proveedor de la información original apoya a OpenStreetMap, proporciona alguna garantía, o acepta cualquier responsabilidad. infringement_title_html: Violación de derechos de autor - infringement_1_html: Se le recuerda a los colaboradores de OSM que no deberán - añadir información procedente de ninguna fuente con derechos de autor reservados + infringement_1_html: Se le recuerda a los colaboradores de OSM que no deben + añadir información procedente de alguna fuente con derechos de autor reservados (p. ej. Google Maps o mapas impresos) sin el consentimiento explícito de los poseedores de los derechos de autor. + infringement_2_1_html: |- + Si crees que material protegido por derechos de autor se ha agregado de manera inapropiada a la base de datos de OpenStreetMap o a este sitio, consulta nuestro %{takedown_procedure_link} o presenta tu queja directamente en nuestro + %{online_filing_page_link}. + infringement_2_1_takedown_procedure: procedimiento de eliminación + infringement_2_1_online_filing_page: página de presentación en línea trademarks_title: Marcas + trademarks_1_1_html: |- + OpenStreetMap, el logotipo de la lupa y State of the Map son marcas registradas de la Fundación + OpenStreetMap. Si tienes preguntas sobre el uso de las marcas, consulta nuestra + %{trademark_policy_link}. trademarks_1_1_trademark_policy: Normativa de marcas index: - js_1: Está usando un navegador que no soporta o tiene desactivado JavaScript - js_2: OpenStreetMap utiliza JavaScript para mostrar su mapa + js_1: Estás usando un navegador que no soporta o tiene desactivado JavaScript + js_2: OpenStreetMap utiliza JavaScript para mostrar su mapa deslizable. permalink: Enlace permanente - shortlink: Atajo + shortlink: Enlace corto createnote: Añadir una nota license: - copyright: Copyright OpenStreetMap y colaboradores, bajo una licencia abierta - remote_failed: 'Error de edición: Asegúrese de que JOSM o Merkaartor están cargados - y con la opción de control remoto activada' + copyright: Derechos de autor de OpenStreetMap y colaboradores, bajo una licencia + abierta + remote_failed: Error de edición - Asegúrate de que JOSM o Merkaartor están cargados + y con la opción de control remoto activada edit: - not_public: No ha configurado sus ediciones para que sean públicas. - not_public_description_html: No puede seguir editando el mapa a menos que lo - haga. Puede marcar sus ediciones como públicas desde su %{user_page}. + not_public: No has configurado tus ediciones para que sean públicas. + not_public_description_html: No puedes seguir editando el mapa a menos que lo + hagas. Puedes marcar tus ediciones como públicas desde tu %{user_page}. user_page_link: página de usuario - anon_edits_link_text: Descubra a que se debe + anon_edits_link_text: Descubre a qué se debe. id_not_configured: iD no ha sido configurado - no_iframe_support: Su navegador no soporta iframes HTML, que son necesarios + no_iframe_support: Tu navegador no soporta iframes HTML, que son necesarios para esta funcionalidad. export: title: Exportar area_to_export: Área a exportar manually_select: Seleccionar manualmente un área diferente format_to_export: Formato de exportación - osm_xml_data: Datos OpenStreetMap en formato XML + osm_xml_data: Datos de OpenStreetMap en formato XML map_image: Imagen de mapa (muestra la capa estándar) embeddable_html: HTML integrable licence: Licencia - licence_details_html: Los datos de OpenStreetMap está registrada por %{odbl_link} + licence_details_html: Los datos de OpenStreetMap están registrados bajo %{odbl_link} (ODbL). - odbl: Licencia de base de datos abierta de Open Data Commons + odbl: Licencia de Base de datos Abierta de Open Data Commons too_large: - advice: 'Si la exportación anterior falla, considere utilizar una de las fuentes + advice: 'Si la exportación anterior falla, considera utilizar una de las fuentes que se enumeran a continuación:' body: Esta área es demasiado grande para exportarla como datos XML de OpenStreetMap. - Acerque o seleccione un área más pequeña, o use una de las fuentes que se + Acerca o selecciona un área más pequeña, o usa una de las fuentes que se enumeran a continuación para descargas de datos masivas. planet: title: Planeta OSM @@ -2146,9 +2269,9 @@ es: options: Opciones format: Formato scale: Escala - max: máx. + max: máximo image_size: Tamaño de la imagen - zoom: Zum + zoom: Acercar add_marker: Añadir un marcador al mapa latitude: 'Lat:' longitude: 'Lon:' @@ -2160,34 +2283,42 @@ es: how_to_help: title: Cómo ayudar join_the_community: - title: Unirse a la comunidad - explanation_html: Si ha notado un problema con nuestros datos del mapa, + title: Unete a la comunidad + explanation_html: Si has notado un problema con nuestros datos del mapa, por ejemplo, falta un camino o su dirección, la mejor manera de proceder es unirse a la comunidad OpenStreetMap y agregar o corregir los datos - usted mismo. + tu mismo. + add_a_note: + instructions_1_html: |- + Simplemente haz clic en %{note_icon} o en el mismo icono en la visualización del mapa. + Esto agregará un marcador al mapa que puedes mover arrastrándolo. Agrega tu mensaje, luego haz clic en guardar, y otros mapeadores lo investigarán. other_concerns: title: Otras preocupaciones - copyright: página de derechos de copia + concerns_html: |- + Si tienes inquietudes sobre cómo se utilizan nuestros datos o sobre el contenido, consulta nuestro + %{copyright_link} para obtener más información legal, o comunícate con el %{working_group_link} correspondiente. + copyright: página de derechos de autor + working_group: grupo de trabajo OSMF help: title: Cómo obtener ayuda introduction: OpenStreetMap tiene varios recursos para aprender sobre el proyecto, preguntando y contestando preguntas, y colaborativamente discutir y documentar - temas de cartografía. + temas de mapeo. welcome: url: /welcome - title: Bienvenida a OpenStreetMap - description: Comience con esta guía rápida que cubre lo básico de OpenStreetMap. + title: Bienvenido a OpenStreetMap + description: Comienza con esta guía rápida que cubre lo básico de OpenStreetMap. beginners_guide: - url: https://wiki.openstreetmap.org/wiki/ES:Beginners%27_guide + url: https://wiki.openstreetmap.org/wiki/ES:Gu%C3%ADa_de_principiantes title: Guía para principiantes description: Guía para principiantes, mantenida por la comunidad. help: title: Foro de ayuda - description: Haga una pregunta o busque respuestas en el sitio de preguntas + description: Haz una pregunta o busca respuestas en el sitio de preguntas y respuestas de OpenStreetMap. mailing_lists: title: Listas de correo - description: Haga una pregunta o discuta asuntos interesantes en una amplia + description: Haz una pregunta o discute asuntos interesantes en una amplia gama de listas de correo regionales o temáticas. community: title: Foro de la Comunidad @@ -2205,13 +2336,18 @@ es: description: ¿Con una organización que hace planes para OpenStreetMap? Encuentra lo que debes saber en nuestra Estera de Bienvenida. wiki: - url: https://wiki.openstreetmap.org/wiki/ES:Main_Page + url: https://wiki.openstreetmap.org/wiki/ES:Página_principal title: Wiki de OpenStreetMap description: Explora la wiki para obtener documentación detallada de OpenStreetMap. potlatch: - removed: El editor de OpenStreetMap predeterminado se establece como Potlatch. + removed: El editor de OpenStreetMap predeterminado está establecido como Potlatch. Dado que Adobe Flash Player se ha retirado, Potlatch ya no está disponible para su uso en un navegador web. + desktop_application_html: Todavía puedes usar Potlatch en %{download_link}. + download: descargando la aplicación de escritorio para Mac y Windows + id_editor_html: Alternativamente, puedes establecer tu editor predeterminado + a iD, el cual se ejecuta en tu navegador como hacía Potlatch anteriormente. + %{change_preferences_link}. change_preferences: Cambia tus preferencias aquí any_questions: title: ¿Alguna pregunta? @@ -2220,7 +2356,7 @@ es: preguntas sobre él, así como debatir y documentar de forma conjunta sobre temas de mapeo. %{help_link}. ¿Con una organización que hace planes para OpenStreetMap? %{welcome_mat_link}. get_help_here: Obtén ayuda aquí - welcome_mat: Echa un vistazo a Welcome Mat + welcome_mat: Echa un vistazo a la estera de bienvenida sidebar: search_results: Resultados de la búsqueda close: Cerrar @@ -2238,14 +2374,14 @@ es: table: entry: motorway: Autopista - main_road: Carretera principal - trunk: Carretera troncal - primary: Carretera primaria - secondary: Carretera secundaria - unclassified: Carretera sin clasificar + main_road: Vía principal + trunk: Vía troncal + primary: Vía primaria + secondary: Vía secundaria + unclassified: Vía de menos nivel track: Pista bridleway: Vía ecuestre - cycleway: Bicisenda + cycleway: Ciclovía cycleway_national: Ciclovía nacional cycleway_regional: Ciclovía regional cycleway_local: Ciclovía local @@ -2254,7 +2390,7 @@ es: subway: Metro tram: - Metro ligero - - Tranvía + - tranvía cable: - Telecabina - Telesilla @@ -2264,27 +2400,27 @@ es: apron: - Rampa aeroportuaria - terminal - admin: Límites administrativos + admin: Límite administrativos forest: Bosque - wood: Madera + wood: Bosque golf: Campo de golf park: Parque resident: Zona residencial common: - Común - pradera - - Jardín + - jardín retail: Zona de comercios industrial: Zona industrial - commercial: Zona de oficinas - heathland: Landa, brezal + commercial: Zona comercial + heathland: Brezal lake: - Lago - embalse - farm: Campiña - brownfield: Baldío + farm: Granja + brownfield: Sitio baldío cemetery: Cementerio - allotments: Huertos de ocio + allotments: Parcelas pitch: Campo de juego centre: Centro deportivo reserve: Reserva natural @@ -2307,16 +2443,20 @@ es: toilets: Baños welcome: title: ¡Bienvenido! - introduction: Le damos la bienvenida a OpenStreetMap, el mapa libre y editable - del mundo. Ahora que se ha registrado, ha hecho lo necesario para empezar - a cartografiar. He aquí una guía rápida con las cosas más importantes que - necesita saber. + introduction: Te damos la bienvenida a OpenStreetMap, el mapa libre y editable + del mundo. Ahora que te has registrado, has hecho lo necesario para empezar + a mapear. He aquí una guía rápida con las cosas más importantes que necesita + saber. whats_on_the_map: title: Qué hay en el mapa on_the_map_html: |- - OpenStreetMap es un sitio para cartografiar objetos %{real_and_current}: - esto incluye millones de edificios, carreteras y otros datos de destinos. Es posible cartografiar cualquier rasgo del mundo real que le interese. + OpenStreetMap es un sitio para mapear objetos %{real_and_current}: + esto incluye millones de edificios, carreteras y otros datos de destinos. Es posible mapear cualquier rasgo del mundo real que le interese. real_and_current: reales y actuales + off_the_map_html: Lo que %{doesnt} incluye son datos de opinión como calificaciones, + elementos históricos o hipotéticas, ni datos provenientes de fuentes protegidas + por derechos de autor. A menos que tengas un permiso especial, no copies + mapas en línea o en papel. doesnt: "no" basic_terms: title: Términos básicos para mapear @@ -2334,17 +2474,19 @@ es: way: vía tag: etiqueta rules: - title: Reglas + title: ¡Reglas! para_1_html: OpenStreetMap tiene pocas reglas, pero esperamos que todos los participantes colaboren y se comuniquen entre ellos. Si estás pensando en realizar otras actividades diferentes a la edición a mano, por favor, lee y sigue las instrucciones en %{imports_link} y %{automated_edits_link}. imports: Importaciones + imports_url: https://wiki.openstreetmap.org/wiki/ES:Importaci%C3%B3n/Directrices automated_edits: Ediciones automatizadas - start_mapping: Comenzar a cartografiar + automated_edits_url: https://wiki.openstreetmap.org/wiki/ES:C%C3%B3digo_de_conducta_de_ediciones_automatizadas + start_mapping: Comenzar a mapear add_a_note: - title: ¿No tiene tiempo para editar? ¡Añada una nota! - para_1: Si sólo desea corregir algo pequeño y no tiene tiempo para registrarse + title: ¿No tienes tiempo para editar? ¡Añade una nota! + para_1: Si sólo deseas corregir algo pequeño y no tienes tiempo para registrarse y aprender a editar, es fácil añadir una nota. para_2_html: |- Basta con ir a %{map_link} y pulsar en el icono de nota: %{note_icon}. @@ -2359,17 +2501,23 @@ es: Estos grupos son de distintos tamaños y representan geografías que van desde pequeñas ciudades a grandes regiones multinacionales. También pueden ser formales o informales. local_chapters: - title: Delegaciones locales + title: Capítulos locales about_text: Las delegaciones locales son grupos nacionales o regionales que han dado el paso formal de constituirse como entidades jurídicas sin ánimo de lucro. Representan al mapa y a los cartógrafos de la zona ante la administración local, las empresas y los medios de comunicación. También se han afiliado a la OpenStreetMap Foundation (OSMF), lo que les proporciona un vínculo con el órgano de gobierno legal y de derechos de autor. - list_text: 'Estas comunidades se han constituido formalmente como delegaciones - locales:' + list_text: 'Estas comunidades se han constituido formalmente como Capítulos + Locales:' other_groups: title: Otros grupos + other_groups_html: |- + No hay necesidad de establecer formalmente un grupo en la misma medida que los Capítulos Locales. + De hecho, muchos grupos existen con mucho éxito como una reunión informal de personas o como un grupo + comunitario. Cualquiera puede crearlos o unirse a estos. Obten más información en %{communities_wiki_link}. + communities_wiki: Página wiki de comunidades + communities_wiki_url: https://wiki.openstreetmap.org/wiki/ES:Grupo_de_usuarios traces: visibility: private: Privado (solo compartido como anónimo, puntos no ordenados) @@ -2386,21 +2534,22 @@ es: help_url: https://wiki.openstreetmap.org/wiki/ES:Subir create: upload_trace: Subir traza GPS - trace_uploaded: Su archivo GPX se ha cargado y está esperando su inserción en - la base de datos. Por lo general, esto sucederá en media hora y se le enviará + trace_uploaded: Tu archivo GPX se ha cargado y está esperando su inserción en + la base de datos. Por lo general, esto sucederá en media hora y se te enviará un correo electrónico al finalizar. upload_failed: Lo sentimos, no se ha podido subir el GPX. Un administrador ha - sido alertado del error. Inténtelo de nuevo. + sido alertado del error. Inténtalo de nuevo. traces_waiting: - one: Tiene %{count} traza esperando por subir. Considere esperar a que termine + one: Tienes %{count} traza esperando por subir. Considera esperar a que termine antes de cargar más, para no bloquear la cola para otros usuarios. - other: Tiene %{count} trazas esperando por subir. Considere esperar a que + other: Tienes %{count} trazas esperando por subir. Considera esperar a que terminen antes de cargar más, para no bloquear la cola para otros usuarios. edit: cancel: Cancelar title: Editando traza %{name} heading: Editando traza %{name} visibility_help: ¿Qué significa esto? + visibility_help_url: https://wiki.openstreetmap.org/wiki/ES:Visibilidad_de_trazas_GPS update: updated: Traza actualizada trace_optionals: @@ -2425,7 +2574,7 @@ es: delete_trace: Eliminar esta traza trace_not_found: ¡No se ha encontrado la traza! visibility: 'Visibilidad:' - confirm_delete: ¿Quiere eliminar esta traza? + confirm_delete: ¿Quieres eliminar esta traza? trace_paging_nav: older: Trazas más antiguas newer: Trazas más recientes @@ -2451,10 +2600,11 @@ es: description: Explorar las trazas GPS recién subidas tagged_with: etiquetado con %{tags} empty_title: Todavía no hay nada - empty_upload_html: '%{upload_link} o conozca más sobre el trazado GPS en la - %{wiki_link} correspondiente.' - upload_new: Cargue una traza nueva + empty_upload_html: '%{upload_link} o conoce más sobre el trazado GPS en la %{wiki_link} + correspondiente.' + upload_new: Carga una traza nueva wiki_page: página del wiki + wiki_page_url: https://wiki.openstreetmap.org/wiki/ES:Gu%C3%ADa_del_principiante_1.2 upload_trace: Subir una traza all_traces: Todas las trazas my_traces: Mis trazas @@ -2479,20 +2629,20 @@ es: other: Archivo GPX con %{count} puntos de %{user} description_without_count: Archivo GPX de %{user} application: - permission_denied: No tiene permisos para realizar esa acción + permission_denied: No tienes permisos para realizar esa acción require_cookies: - cookies_needed: Parece que tiene las cookies deshabilitadas. Habilite las cookies - en su navegador antes de continuar. + cookies_needed: Parece que tienes las cookies deshabilitadas. Habilita las cookies + en tu navegador antes de continuar. require_admin: not_an_admin: Necesitas ser un administrador para realizar esa acción. setup_user_auth: - blocked_zero_hour: Tiene un mensaje urgente en el sitio web de OpenStreetMap. - Debe leer el mensaje para poder guardar sus ediciones. - blocked: Su acceso a la API ha sido bloqueado. Inicie sesión en la interfaz + blocked_zero_hour: Tienes un mensaje urgente en el sitio web de OpenStreetMap. + Debes leer el mensaje para poder guardar tus ediciones. + blocked: Tu acceso a la API ha sido bloqueado. Inicia sesión en la interfaz web para obtener más información. - need_to_see_terms: Su acceso a la API está temporalmente suspendido. Inicie - sesión en la web para ver los Términos de colaborador. No es necesario aceptarlos, - pero debe conocerlos. + need_to_see_terms: Tu acceso a la API está temporalmente suspendido. Inicia + sesión en la web para ver los Términos de Colaborador. No es necesario aceptarlos, + pero debes conocerlos. settings_menu: account_settings: Configuración de la cuenta oauth1_settings: Otras configuraciones @@ -2500,37 +2650,37 @@ es: oauth2_authorizations: Autorizaciones de OAuth 2 oauth: authorize: - title: Autorizar el acceso a su cuenta - request_access_html: La aplicación %{app_name} solicita acceso a su cuenta, - %{user}. Compruebe si desea que la aplicación tenga las siguientes capacidades. - Puede elegir tantas o tan pocas como quiera. + title: Autorizar el acceso a tu cuenta + request_access_html: La aplicación %{app_name} solicita acceso a tu cuenta, + %{user}. Comprueba si deseas que la aplicación tenga las siguientes capacidades. + Puedes elegir tantas o tan pocas como quieras. allow_to: 'Permitir a la aplicación cliente:' - allow_read_prefs: leer sus preferencias de usuario. - allow_write_prefs: modificar sus preferencias de usuario. + allow_read_prefs: leer tus preferencias de usuario. + allow_write_prefs: modificar tus preferencias de usuario. allow_write_diary: crear entradas en el diario, comentarios y hacer amigos. allow_write_api: modificar el mapa. - allow_read_gpx: leer sus trazas GPS privadas. + allow_read_gpx: leer tus trazas GPS privadas. allow_write_gpx: subir trazas GPS. allow_write_notes: cambiar notas. grant_access: Otorgar acceso authorize_success: title: Solicitud de autorización permitida - allowed_html: Ha concedido acceso a su cuenta a la aplicación %{app_name}. + allowed_html: Has concedido acceso a tu cuenta a la aplicación %{app_name}. verification: El código de verificación es %{code}. authorize_failure: title: Falló la solicitud de autorización - denied: Ha denegado a la aplicación %{app_name} el acceso a su cuenta. + denied: Has denegado a la aplicación %{app_name} el acceso a tu cuenta. invalid: El token de autorización no es válido. revoke: - flash: Revocó el token para %{application} + flash: Revocaste el token para %{application} permissions: - missing: No ha permitido que la aplicación acceda a esta instalación. + missing: No has permitido que la aplicación acceda a esta instalación. scopes: read_prefs: Leer preferiencias de usuario - write_prefs: modificar sus preferencias de usuario. + write_prefs: modificar tus preferencias de usuario. write_diary: Crea entradas diarias, comentarios y haz amigos write_api: modificar el mapa. - read_gpx: Leer sus trazas de GPS privadas + read_gpx: Leer tus trazas de GPS privadas write_gpx: Subir trazas de GPS write_notes: Modifica notas read_email: Leer dirección de correo electrónico del usuario @@ -2539,56 +2689,57 @@ es: new: title: Registrar una nueva aplicación edit: - title: Editar su aplicación + title: Editar tu aplicación show: title: Detalles de OAuth de %{app_name} key: 'Clave de Consumidor:' - secret: 'Secreto de Consumidor:' - url: 'URL de Token de Solicitud:' - access_url: 'URL de Token de Acceso:' + secret: 'Secreto de consumidor:' + url: 'URL de token de solicitud:' + access_url: 'URL de token de acceso:' authorize_url: 'URL de autorización:' support_notice: Soportamos HMAC-SHA1 (recomendado) y firmas RSA-SHA1. edit: Editar detalles delete: Eliminar cliente - confirm: ¿Está seguro? + confirm: ¿Estás seguro? requests: 'Solicitando los siguientes permisos del usuario:' index: title: Mis datos OAuth my_tokens: Mis aplicaciones autorizadas - list_tokens: 'Se han emitido los siguientes tokens para aplicaciones en su nombre:' + list_tokens: 'Se han emitido los siguientes tokens para aplicaciones en tu nombre:' application: Nombre de la aplicación issued_at: Emitido el revoke: ¡Revocar! my_apps: Mis aplicaciones cliente - no_apps_html: ¿Tiene una aplicación que le gustaría registrar para usar con - nosotros utilizando el estándar %{oauth}? Debe registrar su aplicación web - antes de que pueda hacer solicitudes OAuth a este servicio. + no_apps_html: ¿Tienes una aplicación que te gustaría registrar para usar con + nosotros utilizando el estándar %{oauth}? Debes registrar tu aplicación web + antes de que puedas hacer solicitudes OAuth a este servicio. oauth: OAuth - registered_apps: 'Tiene las siguientes aplicaciones cliente registradas:' - register_new: Registre su aplicación + registered_apps: 'Tienes las siguientes aplicaciones cliente registradas:' + register_new: Registra tu aplicación form: requests: 'Solicita los siguientes permisos del usuario:' not_found: sorry: Lo sentimos, ese %{type} no puede ser encontrado. create: - flash: Registrada la información exitosamente + flash: Información registrada exitosamente update: flash: Actualizada la información del cliente exitosamente destroy: flash: Destruido el registro de aplicación del cliente oauth2_applications: index: - title: Mis Aplicaciones de Cliente - no_applications_html: ¿Tiene una aplicación que le gustaría registrar para usar - con nosotros utilizando el estándar %{oauth2}? Debe registrar su aplicación + title: Mis aplicaciones de cliente + no_applications_html: ¿Tienes una aplicación que te gustaría registrar para + usar con nosotros utilizando el estándar %{oauth2}? Debes registrar tu aplicación antes de que pueda hacer solicitudes OAuth a este servicio. - new: Registre su aplicación + oauth_2: OAuth 2 + new: Registra tu aplicación name: Nombre permissions: Permisos application: edit: Ediciones delete: Eliminar - confirm_delete: Ver esta aplicación + confirm_delete: ¿Eliminar esta aplicación? new: title: Registrar una nueva aplicación edit: @@ -2599,7 +2750,7 @@ es: confirm_delete: ¿Eliminar esta aplicación? client_id: Identificador de cliente client_secret: Secreto del cliente - client_secret_warning: Asegúrese de guardar este secreto - no será accesible + client_secret_warning: Asegúrese de guardar este secreto - no estará disponible de nuevo permissions: 'Permisos:' redirect_uris: Redirigir URI @@ -2608,68 +2759,76 @@ es: oauth2_authorizations: new: title: Se necesita autorización - introduction: ¿Autorizar a %{application} a acceder a su cuenta con los siguientes + introduction: ¿Autorizar a %{application} a acceder a tu cuenta con los siguientes permisos? - authorize: Autorizar → + authorize: Autorizar deny: Denegar error: - title: Se produjo un error. + title: Se produjo un error show: title: Sin código de autorización oauth2_authorized_applications: index: title: Mis aplicaciones autorizadas application: Solicitudes - permissions: 'Permisos:' - no_applications_html: Aún no ha autorizado ninguna aplicación %{oauth2}. + permissions: Permisos + no_applications_html: Aún no has autorizado aplicaciones a %{oauth2}. application: revoke: Revocar el acceso confirm_revoke: ¿Revocar el acceso a esta aplicación? users: new: title: Registrarse - no_auto_account_create: Lamentablemente, ahora no podemos crear su cuenta automáticamente. - please_contact_support_html: 'Póngase en contacto con %{support_link} para organizar + no_auto_account_create: Lamentablemente, ahora no podemos crear tu cuenta automáticamente. + please_contact_support_html: 'Pónte en contacto con %{support_link} para organizar la creación de una cuenta: intentaremos atender la solicitud lo antes posible.' support: asistencia about: header: Libre y editable paragraph_1: A diferencia de otros mapas, OpenStreetMap está completamente - creado por personas como tú, y cualquiera puede repararlo, actualizarlo, + creado por personas como tú, y cualquiera puede corregirlo, actualizarlo, descargarlo y usarlo de forma gratuita. paragraph_2: Regístrate para comenzar a contribuir. Te enviaremos un email para confirmar tu cuenta. - display name description: Su nombre de usuario público. Puede cambiarlo más + display name description: Tu nombre de usuario público. Puedes cambiarlo más tarde en las preferencias. - external auth: 'Autenticación de terceros:' - use external auth: O bien, utilice un servicio de terceros para acceder + external auth: 'Autentificación de terceros:' + use external auth: O bien, utiliza un servicio de terceros para acceder auth no password: Con la autenticación de terceros no se necesita una contraseña, - aunque hay algunas herramientas y servidores que aún la solicitan. + aunque habrá algunas herramientas y servidores que aún la soliciten. continue: Registrarse - terms accepted: ¡Gracias por aceptar los nuevos términos de colaborador! + terms accepted: ¡Gracias por aceptar los nuevos Términos de Colaborador! + email_confirmation_help_html: Tu dirección no se muestra públicamente, consulta + nuestra %{privacy_policy_link} para obtener más información. privacy_policy: normativa de privacidad + privacy_policy_title: Política de privacidad de la OSMF, incluida la sección + sobre direcciones de correo electrónico terms: title: Términos heading: Términos - heading_ct: Términos de colaborador - read and accept with tou: Lea el acuerdo de colaborador y los términos de uso, + heading_ct: Términos de Colaborador + read and accept with tou: Lea el acuerdo de colaborador y los Términos de Uso, marque ambas casillas de verificación cuando haya terminado y luego presione el botón Continuar. - contributor_terms_explain: Este acuerdo gobierna los términos de sus contribuciones + contributor_terms_explain: Este acuerdo gobierna los términos de tus contribuciones actuales y futuras. - read_ct: He leído y estoy de acuerdo con los términos de colaborador arriba + read_ct: He leído y estoy de acuerdo con los Términos de Colaborador arriba descritos tou_explain_html: Estos %{tou_link} rigen el uso del sitio web y de la infraestructura - provista por OSMF. Haga clic en el enlace, lea y acepte el texto. + provista por OSMF. Haz clic en el enlace, lee y acepta el texto. read_tou: He leído y estoy de acuerdo con los Términos de Uso consider_pd: Además del acuerdo anterior, considero que mis contribuciones se encuentran en Dominio Público. consider_pd_why: ¿Qué es esto? + guidance_info_html: 'Información para ayudar a comprender estos términos: un + %{readable_summary_link} y algunas %{informal_translations_link}' + readable_summary: resumen legible por humanos + informal_translations: traducciones informales continue: Continuar - declined: https://wiki.openstreetmap.org/wiki/ES:Contributor_Terms_Declined + declined: https://wiki.openstreetmap.org/wiki/ES:Términos_de_contribuidor_rechazados decline: Declinar - you need to accept or decline: Lea y luego acepte o rechace los nuevos Términos - de colaborador para continuar. + you need to accept or decline: Lee y luego acepta o rechaza los nuevos Términos + de Colaborador para continuar. legale_select: 'País de residencia:' legale_names: france: Francia @@ -2677,14 +2836,14 @@ es: rest_of_world: Resto del mundo terms_declined_flash: terms_declined_html: Lamentamos que haya decidido no aceptar los nuevos Términos - de colaborador. Para obtener más información, consulte %{terms_declined_link}. + de Colaborador. Para obtener más información, consulte %{terms_declined_link}. terms_declined_link: esta página wiki - terms_declined_url: https://wiki.openstreetmap.org/wiki/ES:Contributor_Terms_Declined + terms_declined_url: https://wiki.openstreetmap.org/wiki/ES:Términos_de_contribuidor_rechazados no_such_user: title: Este usuario no existe heading: El usuario %{user} no existe - body: Lo sentimos, no existe ningún usuario con el nombre %{user}. Revise las - letras, o tal vez el enlace en el que hizo clic sea incorrecto. + body: Lo sentimos, no existe algún usuario con el nombre %{user}. Revisa las + letras, o tal vez el enlace en el que hiciste clic sea incorrecto. deleted: eliminado show: my diary: Mi diario @@ -2693,7 +2852,7 @@ es: my notes: Mis notas my messages: Mis mensajes my profile: Mi perfil - my settings: Mi configuración + my settings: Mis configuraciones my comments: Mis comentarios my_preferences: Mis preferencias my_dashboard: Mi tablero @@ -2708,7 +2867,7 @@ es: remove as friend: Eliminar como amigo add as friend: Añadir como amigo mapper since: 'Mapeando desde:' - ct status: 'Términos de colaborador:' + ct status: 'Términos de Colaborador:' ct undecided: Indeciso ct declined: Rechazado latest edit: 'Última edición (%{ago}):' @@ -2739,8 +2898,8 @@ es: confirm: Confirmar report: Denunciar a este usuario go_public: - flash success: Todas sus ediciones ahora son públicas y ya está autorizado para - editar. + flash success: Todas tus ediciones ahora son públicas y ya estás autorizado + para editar. index: title: Usuarios heading: Usuarios @@ -2755,26 +2914,27 @@ es: suspended: title: Cuenta suspendida heading: Cuenta suspendida - support: A favor - automatically_suspended: Lo sentimos, su cuenta ha sido suspendida automáticamente + support: a favor + automatically_suspended: Lo sentimos, tu cuenta ha sido suspendida automáticamente debido a actividad sospechosa. contact_support_html: Esta decisión será revisada por un administrador en breve, - o puede ponerse en contacto con %{support_link} si desea discutir sobre esto. + o puedes ponerte en contacto con %{support_link} si deseas discutir sobre + esto. auth_failure: - connection_failed: Falló la conexión con el proveedor de autenticación - invalid_credentials: Datos de autenticación no válidos + connection_failed: Falló la conexión con el proveedor de autentificación + invalid_credentials: Datos de autentificación no válidos no_authorization_code: Sin código de autorización unknown_signature_algorithm: Algoritmo de firma desconocido invalid_scope: Ámbito no válido unknown_error: Autentificación fallida auth_association: - heading: Su identificador aún no está asociado con una cuenta de OpenStreetMap. - option_1: Si eres nuevo en OpenStreetMap, crea cuenta nueva usando el formulario + heading: Tu identificador aún no está asociado con una cuenta de OpenStreetMap. + option_1: Si eres nuevo en OpenStreetMap, crea una cuenta nueva usando el formulario a continuación. option_2: |- - Si ya tiene una cuenta, puede iniciar sesión en su cuenta - usando su nombre de usuario y contraseña y luego asociar la cuenta - con su identificador en sus preferencias de usuario. + Si ya tienes una cuenta, puedes iniciar sesión a tu cuenta + usando tu nombre de usuario y contraseña y luego asociar la cuenta + con tu identificador en tus configuraciones de usuario. user_role: filter: not_a_role: La cadena `%{role}' no es un rol válido. @@ -2785,7 +2945,7 @@ es: grant: title: Confirmar adjudicación de rol heading: Confirmar adjudicación de rol - are_you_sure: ¿Está seguro de que desea otorgar el rol `%{role}' al usuario + are_you_sure: ¿Estás seguro de que deseas otorgar el rol `%{role}' al usuario `%{name}'? confirm: Confirmar fail: No pudo otorgarse el rol `%{role}' al usuario `%{name}'. Comprueba que @@ -2793,7 +2953,7 @@ es: revoke: title: Confirmar revocación de rol heading: Confirmar revocación de rol - are_you_sure: ¿Está seguro de que desea revocar el rol `%{role}' del usuario + are_you_sure: ¿Está seguro de que deseas revocar el rol `%{role}' del usuario `%{name}'? confirm: Confirmar fail: No se pudo revocar el rol `%{role}' del usuario `%{name}'. Comprueba que @@ -2809,14 +2969,14 @@ es: new: title: Creando un bloqueo para %{name} heading_html: Creando un bloqueo para %{name} - period: ¿Por cuánto tiempo, empezando ahora, el usuario tendrá bloqueado el - uso de la API? + period: ¿Por cuánto tiempo, empezando desde ahora, el usuario tendrá bloqueado + el uso de la API? back: Ver todos los bloqueos edit: title: Editando el bloqueo sobre %{name} heading_html: Editando el bloqueo sobre %{name} - period: ¿Por cuánto tiempo, empezando ahora, el usuario tendrá bloqueado el - uso de la API? + period: ¿Por cuánto tiempo, empezando desde ahora, el usuario tendrá bloqueado + el uso de la API? show: Ver este bloqueo back: Ver todos los bloqueos filter: @@ -2824,21 +2984,21 @@ es: block_period: El periodo de bloqueo debe de ser uno de los valores seleccionables de la lista desplegable. create: - flash: Ha creado un bloqueo en el usuario %{name}. + flash: Has creado un bloqueo en el usuario %{name}. update: only_creator_can_edit: Sólo el moderador que ha creado este bloqueo puede editarlo. success: Bloqueo actualizado. index: title: Bloqueos de usuario heading: Listado de bloqueos de usuario - empty: Todavía no se ha hecho ningún bloqueo. + empty: Todavía no se ha hecho algún bloqueo. revoke: title: Revocando el bloqueo sobre %{block_on} heading_html: Revocando el bloqueo sobre %{block_on} por %{block_by} time_future: Este bloqueo finalizará en %{time}. past: Este bloqueo terminó %{time} y no puede ser revocado ahora. - confirm: ¿Está seguro de que desea revocar este bloqueo? - revoke: Revocar + confirm: ¿Estás seguro de que desea revocar este bloqueo? + revoke: ¡Revocar! flash: Este bloqueo ha sido revocado. helper: time_future_html: Termina en %{time}. @@ -2869,7 +3029,7 @@ es: blocks_by: title: Bloqueos por %{name} heading_html: Listado de bloqueos por %{name} - empty: '%{name} todavía no ha creado ningún bloqueo.' + empty: '%{name} todavía no ha creado algún bloqueo.' show: title: '%{block_on} bloqueado por %{block_by}' heading_html: '%{block_on} bloqueado por %{block_by}' @@ -2878,8 +3038,8 @@ es: status: 'Estado:' show: Mostrar edit: Editar - revoke: Revocar - confirm: ¿Está seguro? + revoke: ¡Revocar! + confirm: ¿Estás seguro? reason: 'Razón del bloqueo:' back: Ver todos los bloqueos revoker: 'Revocador:' @@ -2889,7 +3049,7 @@ es: not_revoked: (no revocado) show: Mostrar edit: Editar - revoke: Revocar + revoke: ¡Revocar! blocks: display_name: Usuario bloqueado creator_name: Creador @@ -2916,6 +3076,15 @@ es: open_title: 'Nota sin resolver #%{note_name}' closed_title: 'Nota resuelta #%{note_name}' hidden_title: 'Nota oculta #%{note_name}' + event_opened_by_html: Creado por %{user} %{time_ago} + event_opened_by_anonymous_html: Creado por anónimo %{time_ago} + event_commented_by_html: Comentario de %{user} %{time_ago} + event_commented_by_anonymous_html: Comentario de un anónimo %{time_ago} + event_closed_by_html: Resuelta por %{user} %{time_ago} + event_closed_by_anonymous_html: Resuelto por anónimo %{time_ago} + event_reopened_by_html: Reactivada por %{user} %{time_ago} + event_reopened_by_anonymous_html: Reactivado por anónimo %{time_ago} + event_hidden_by_html: Ocultado por %{user} %{time_ago} report: denunciar esta nota anonymous_warning: Esta nota incluye comentarios de usuarios anónimos que deben ser verificados de forma independiente. @@ -2924,18 +3093,18 @@ es: reactivate: Reactivar comment_and_resolve: Comentar y resolver comment: Comentar - report_link_html: Si esta nota contiene información delicada que debe eliminarse, - puede %{link}. - other_problems_resolve: Para todos los demás problemas con la nota, resuélvalo + report_link_html: Si esta nota contiene información sensible que debe eliminarse, + puedes %{link}. + other_problems_resolve: Para todos los demás problemas con la nota, resuélvelo con un comentario. other_problems_resolved: Para todos los demás problemas, la resolución es suficiente. disappear_date_html: Esta nota resuelta desaparecerá del mapa en %{disappear_in}. new: title: Nota nueva - intro: ¿Detectó un error o falta algo? Informe a otros mapeadores para que podamos - solucionarlo. Mueva el marcador a la posición correcta y escriba una nota - para explicar el problema. - advice: La nota será pública y podría utilizarse para actualizar el mapa, así + intro: ¿Detectaste un error o falta algo? Informa a otros mapeadores para que + podamos corregirlo. Mueve el marcador a la posición correcta y escribe una + nota para explicar el problema. + advice: Tu nota será pública y podría utilizarse para actualizar el mapa, así que no des información personal ni datos provenientes de mapas o catálogos protegidos por derechos de autor. add: Añadir nota @@ -2959,10 +3128,10 @@ es: include_marker: Incluir marcador center_marker: Centrar mapa en el marcador paste_html: Pegar código HTML para incrustar en el sitio web - view_larger_map: Ver mapa más grande + view_larger_map: Ver el mapa más grande only_standard_layer: Sólo la capa estándar se puede exportar como una imagen embed: - report_problem: Reportar problemas + report_problem: Reportar un problema key: title: Leyenda del mapa tooltip: Leyenda del mapa @@ -2974,11 +3143,11 @@ es: locate: title: Mostrar mi ubicación metersPopup: - one: Estás a un metro de este punto + one: Estás a %{count} metro de este punto other: Estás a %{count} metros de este punto feetPopup: - one: Estás dentro de una distancia de un pie desde este punto - other: Estás dentro de una distancia de %{count} pies desde este punto + one: Estás a %{count} pie desde este punto + other: Estás a %{count} pies desde este punto base: standard: Estándar cyclosm: CyclOSM @@ -2993,10 +3162,17 @@ es: gps: Trazas GPS públicas overlays: Activar superposiciones para solucionar problemas en el mapa title: Capas - make_a_donation: Hacer un donativo + openstreetmap_contributors: Colaboradores de OpenStreetMap + make_a_donation: Hacer una donación website_and_api_terms: Términos del sitio web y de la API + cyclosm_credit: Estilo de teselas por %{cyclosm_link} alojados por %{osm_france_link} + cyclosm_name: CyclOSM osm_france: OpenStreetMap Francia + thunderforest_credit: Teselas cortesía de %{thunderforest_link} andy_allan: Andy Allan + opnvkarte_credit: Teselas cortesía de %{memomaps_link} + memomaps: MeMoMaps + hotosm_credit: Estilo de teselas por %{hotosm_link} alojados por %{osm_france_link} hotosm_name: Equipo humanitario de OpenStreetMap site: edit_tooltip: Editar el mapa @@ -3014,8 +3190,8 @@ es: unsubscribe: Cancelar suscripción hide_comment: ocultar unhide_comment: mostrar - edit_help: Mueva el mapa el mapa y acerca a una ubicación que desees editar, luego - haga clic aquí. + edit_help: Mueve el mapa el mapa y acerca a una ubicación que desees editar, luego + haz clic aquí. directions: ascend: Ascender engines: @@ -3038,81 +3214,81 @@ es: no_place: No se pudo localizar «%{place}». instructions: continue_without_exit: Continuar en %{name} - slight_right_without_exit: Gire un poco a la derecha hacia %{name} - offramp_right: Tome la rampa de la derecha - offramp_right_with_exit: Tome la salida %{exit} a la derecha - offramp_right_with_exit_name: Tome la salida %{exit} a la derecha hacia %{name} - offramp_right_with_exit_directions: Tome la salida %{exit} a la derecha hacia + slight_right_without_exit: Gira un poco a la derecha hacia %{name} + offramp_right: Toma la rampa de la derecha + offramp_right_with_exit: Toma la salida %{exit} a la derecha + offramp_right_with_exit_name: Toma la salida %{exit} a la derecha hacia %{name} + offramp_right_with_exit_directions: Toma la salida %{exit} a la derecha hacia %{directions} - offramp_right_with_exit_name_directions: Tome la salida %{exit} a la derecha + offramp_right_with_exit_name_directions: Toma la salida %{exit} a la derecha hacia %{name}, en dirección %{directions} - offramp_right_with_name: Tome la rampa a la derecha hacia %{name} - offramp_right_with_directions: Tome la salida a la derecha hacia %{directions} - offramp_right_with_name_directions: Tome la rampa a la derecha hacia %{name}, + offramp_right_with_name: Toma la rampa a la derecha hacia %{name} + offramp_right_with_directions: Toma la salida a la derecha hacia %{directions} + offramp_right_with_name_directions: Toma la rampa a la derecha hacia %{name}, en dirección %{directions} - onramp_right_without_exit: Gire a la derecha en la rampa hacia %{name} - onramp_right_with_directions: Gire a la derecha en la rampa hacia %{directions} - onramp_right_with_name_directions: Gire a la derecha en la rampa hacia %{name}, + onramp_right_without_exit: Gira a la derecha en la rampa hacia %{name} + onramp_right_with_directions: Gira a la derecha en la rampa hacia %{directions} + onramp_right_with_name_directions: Gira a la derecha en la rampa hacia %{name}, en dirección %{directions} - onramp_right_without_directions: Gire a la derecha en la rampa - onramp_right: Gire a la derecha en la rampa - endofroad_right_without_exit: Al final de la calle gire a la derecha hacia + onramp_right_without_directions: Gira a la derecha en la rampa + onramp_right: Gira a la derecha en la rampa + endofroad_right_without_exit: Al final de la calle gira a la derecha hacia %{name} - merge_right_without_exit: Incorpórese a la derecha hacia %{name} - fork_right_without_exit: En la bifurcación, gire a la derecha hacia %{name} - turn_right_without_exit: Gire a la derecha hacia %{name} - sharp_right_without_exit: Gire cerrado a la derecha hacia %{name} - uturn_without_exit: Gire en U a lo largo de %{name} - sharp_left_without_exit: Gire cerrado a la izquierda hacia %{name} - turn_left_without_exit: Gire a la izquierda hacia %{name} - offramp_left: Tome la rampa de la izquierda - offramp_left_with_exit: Tome la salida %{exit} de la izquierda - offramp_left_with_exit_name: Tome la salida %{exit} a la izquierda hacia %{name} - offramp_left_with_exit_directions: Tome la salida %{exit} a la izquierda hacia + merge_right_without_exit: Incorpórate a la derecha hacia %{name} + fork_right_without_exit: En la bifurcación, gira a la derecha hacia %{name} + turn_right_without_exit: Gira a la derecha hacia %{name} + sharp_right_without_exit: Gira cerrado a la derecha hacia %{name} + uturn_without_exit: Gira en U a lo largo de %{name} + sharp_left_without_exit: Gira cerrado a la izquierda hacia %{name} + turn_left_without_exit: Gira a la izquierda hacia %{name} + offramp_left: Toma la rampa de la izquierda + offramp_left_with_exit: Toma la salida %{exit} de la izquierda + offramp_left_with_exit_name: Toma la salida %{exit} a la izquierda hacia %{name} + offramp_left_with_exit_directions: Toma la salida %{exit} a la izquierda hacia %{directions} - offramp_left_with_exit_name_directions: Tome la salida %{exit} a la izquierda + offramp_left_with_exit_name_directions: Toma la salida %{exit} a la izquierda hacia %{name}, en dirección %{directions} - offramp_left_with_name: Tome la salida a la izquierda hacia %{name} - offramp_left_with_directions: Tome la rampa a la izquierda hacia %{directions} - offramp_left_with_name_directions: Tome la rampa a la izquierda hacia %{name}, + offramp_left_with_name: Toma la salida a la izquierda hacia %{name} + offramp_left_with_directions: Toma la rampa a la izquierda hacia %{directions} + offramp_left_with_name_directions: Toma la rampa a la izquierda hacia %{name}, en dirección %{directions} - onramp_left_without_exit: Gire a la izquierda en la rampa hacia %{name} - onramp_left_with_directions: Gire a la izquierda en la rampa hacia %{directions} - onramp_left_with_name_directions: Gire a la izquierda en la rampa hacia %{name}, + onramp_left_without_exit: Gira a la izquierda en la rampa hacia %{name} + onramp_left_with_directions: Gira a la izquierda en la rampa hacia %{directions} + onramp_left_with_name_directions: Gira a la izquierda en la rampa hacia %{name}, en dirección %{directions} - onramp_left_without_directions: Gire a la izquierda en la rampa - onramp_left: Gire a la izquierda en la rampa - endofroad_left_without_exit: Al final de la calle gire a la izquierda hacia + onramp_left_without_directions: Gira a la izquierda en la rampa + onramp_left: Gira a la izquierda en la rampa + endofroad_left_without_exit: Al final de la calle gira a la izquierda hacia %{name} - merge_left_without_exit: Incorpórese a la izquierda hacia %{name} - fork_left_without_exit: En la bifurcación, gire a la izquierda hacia %{name} - slight_left_without_exit: Gire un poco a la izquierda hacia %{name} + merge_left_without_exit: Incorpórate a la izquierda hacia %{name} + fork_left_without_exit: En la bifurcación, gira a la izquierda hacia %{name} + slight_left_without_exit: Gira un poco a la izquierda hacia %{name} via_point_without_exit: (punto intermedio) - follow_without_exit: Siga a %{name} - roundabout_without_exit: En la rotonda, tome la salida hacia %{name} - leave_roundabout_without_exit: Salga de la rotonda - %{name} - stay_roundabout_without_exit: Permanezca en la rotonda - %{name} + follow_without_exit: Sigue a %{name} + roundabout_without_exit: En la rotonda, toma la salida hacia %{name} + leave_roundabout_without_exit: Sal de la rotonda - %{name} + stay_roundabout_without_exit: Permanece en la rotonda - %{name} start_without_exit: Comenzar en %{name} - destination_without_exit: Llegue a su destino + destination_without_exit: Llegaste a tu destino against_oneway_without_exit: Ir en contra del sentido único en %{name} end_oneway_without_exit: Final de sentido único en %{name} - roundabout_with_exit: En la rotonda, tome la salida %{exit} hacia %{name} - roundabout_with_exit_ordinal: En la rotonda, tome la salida %{exit} hacia + roundabout_with_exit: En la rotonda, toma la salida %{exit} hacia %{name} + roundabout_with_exit_ordinal: En la rotonda, toma la salida %{exit} hacia %{name} - exit_roundabout: Salga de la rotonda hacia %{name} - unnamed: sin nombre + exit_roundabout: Sal de la rotonda hacia %{name} + unnamed: vía genérica sin nombre courtesy: Indicaciones cortesía de %{link} exit_counts: - first: 1.ª - second: 2.ª - third: 3.ª - fourth: 4.ª - fifth: 5.ª - sixth: 6.ª - seventh: 7.ª - eighth: 8.ª - ninth: 9.ª - tenth: 10.ª + first: 1ª. + second: 2ª. + third: 3ª. + fourth: 4ª. + fifth: 5ª. + sixth: 6ª. + seventh: 7ª. + eighth: 8ª. + ninth: 9ª. + tenth: 10ª. time: Hora query: node: Nodo @@ -3131,29 +3307,29 @@ es: redactions: edit: heading: Editar censura - title: Editar redacción + title: Editar censura index: - empty: No hay ninguna censura que mostrar. - heading: Lista de redacciones + empty: No hay ninguna censura para mostrar. + heading: Lista de censuras title: Lista de censuras new: - heading: Introduzca la información de la censura nueva - title: Creando nueva redacción + heading: Introduzca la información de la nueva censura + title: Creando nueva censura show: description: 'Descripción:' - heading: Mostrando redacción "%{title}" - title: Mostrando redacción + heading: Mostrando censura "%{title}" + title: Mostrando censura user: 'Creador:' edit: Editar esta censura - destroy: Eliminar esta redacción + destroy: Eliminar esta censura confirm: ¿Está seguro? create: flash: Se creó la censura. update: flash: Cambios guardados. destroy: - not_empty: La redacción no está vacía. Elimine todas las versiones previas pertenecientes - a esta redacción antes de destruirla. + not_empty: La censura no está vacía. Elimina todas las versiones previas pertenecientes + a esta censura antes de destruirla. flash: Redacción destruida. error: Se produjo un error al destruir esta censura. validations: diff --git a/config/locales/fi.yml b/config/locales/fi.yml index dcc183107..a358fcd06 100644 --- a/config/locales/fi.yml +++ b/config/locales/fi.yml @@ -1850,7 +1850,7 @@ fi: title: Kirjaudu Facebookin avulla alt: Kirjaudu käyttämällä Facebook-tunnustasi windowslive: - title: Kirjaudu Windows Liven avulla + title: Kirjaudu Microsoft-tilin avulla alt: Kirjaudu sisään Microsoft-tililläsi github: title: Kirjaudu GitHubin avulla diff --git a/config/locales/fr.yml b/config/locales/fr.yml index 4022ba877..0aa7d67d6 100644 --- a/config/locales/fr.yml +++ b/config/locales/fr.yml @@ -1954,6 +1954,9 @@ fr: no home location: Vous n’avez pas indiqué votre lieu de domicile. update home location on click: Mettre à jour mon lieu de domicile quand je clique sur la carte ? + show: Afficher + delete: Supprimer + undelete: Annuler la suppression update: success: Profil mis à jour. failure: Impossible de mettre à jour le profil. diff --git a/config/locales/hr.yml b/config/locales/hr.yml index a397b32b7..17ef797bc 100644 --- a/config/locales/hr.yml +++ b/config/locales/hr.yml @@ -706,7 +706,7 @@ hr: street_lamp: Ulična rasvjeta tertiary: Lokalna cesta tertiary_link: Lokalna cesta - track: Makadam + track: Poljski ili Å¡umski put traffic_signals: Semafori trunk: Cesta rezervirana za motorna vozila trunk_link: Cesta rezrevirana za mot. voz. - prilazna cesta @@ -1413,7 +1413,7 @@ hr: primary: Primarna cesta secondary: Sekundarna cesta unclassified: Nerazvrstana cesta - track: Neasfaltirani put + track: Poljski ili Å¡umski put bridleway: Staza za konje cycleway: Biciklistička staza cycleway_national: Državna biciklistička staza diff --git a/config/locales/hu.yml b/config/locales/hu.yml index 5e3ac71ab..5df67b976 100644 --- a/config/locales/hu.yml +++ b/config/locales/hu.yml @@ -118,7 +118,7 @@ hu: allow_write_diary: naplóbejegyzések és hozzászólások készítése és ismerősök hozzáadása allow_write_api: a térkép módosítása - allow_read_gpx: magán GPS-nyomvonalaik olvasása + allow_read_gpx: magán GPS-nyomvonalaik megtekintése allow_write_gpx: GPS-nyomvonalak feltöltése allow_write_notes: jegyzetek módosítása diary_comment: @@ -165,7 +165,7 @@ hu: auth_provider: Hitelesítésszolgáltató auth_uid: Hitelesítési felhasználóazonosító email: E-mail - email_confirmation: E-mail cím megerősítése + email_confirmation: E-mail-cím megerősítése new_email: Új e-mail-cím active: Aktív display_name: Megjelenítendő név @@ -190,7 +190,7 @@ hu: hogy az üzenet nyilvánosan látható lesz. Gondolj arra, hogy nem minden felhasználó érti a közösségi szakzsargont, ezért kérjük, próbálj laikus kifejezéseket használni. - needs_view: Be kell jelentkeznie a felhasználónak, mielőtt a blokkolás feloldódik? + needs_view: Be kell-e jelentkeznie a felhasználónak, mielőtt a blokkolás feloldódik? user: new_email: (soha nem jelenik meg nyilvánosan) datetime: @@ -291,9 +291,9 @@ hu: megmaradnak, de nem lesznek láthatóak. retain_notes: Térképjegyzeteid és jegyzethozzászólásaid (ha vannak) megmaradnak, de nem lesznek láthatóak. - retain_changeset_discussions: A módosításkészletekhez fűzött hozzászólásaid + retain_changeset_discussions: A módosításcsomagokhoz fűzött hozzászólásaid (ha vannak) megőrződnek. - retain_email: Az e-mail címed is megmarad. + retain_email: Az e-mail-címed is megmarad. confirm_delete: Biztos vagy benne? cancel: Mégsem accounts: @@ -313,8 +313,8 @@ hu: disabled link text: miért nem tudok szerkeszteni? contributor terms: heading: Hozzájárulási feltételek - agreed: Elfogadtad az új hozzájárulási feltételeket. - not yet agreed: Még nem fogadtad el az új hozzájárulási feltételeket. + agreed: Elfogadtad az új közreműködési feltételeket. + not yet agreed: Még nem fogadtad el az új közreműködési feltételeket. review link text: Kérjük, kövesd ezt a hivatkozást az új közreműködési feltételek áttekintéséhez és elfogadásához. agreed_with_pd: Azt is kijelentetted, hogy a szerkesztéseid közkincsnek tekinthetők. @@ -336,7 +336,7 @@ hu: make_edits_public_button: Az összes szerkesztésem nyilvánossá tétele update: success_confirm_needed: Felhasználói információk sikeresen frissítve. Nézd meg - az e-mailjeidet az új e-mail címedet megerősítő levélhez. + az e-mailjeidet az új e-mail-címedet megerősítő levélhez. success: Felhasználói információk sikeresen frissítve. destroy: success: Fiók törölve. @@ -346,7 +346,7 @@ hu: created_ago_html: Létrehozva %{time_ago} closed_ago_html: Lezárva %{time_ago} created_ago_by_html: Létrehozta %{user} %{time_ago} - closed_ago_by_html: Lezárva %{time_ago}, %{user} által + closed_ago_by_html: Lezárta %{user} %{time_ago} deleted_ago_by_html: Törölte %{user} %{time_ago} edited_ago_by_html: Szerkesztette %{user} %{time_ago} version: Verzió @@ -374,8 +374,10 @@ hu: relation: Kapcsolatok (%{count}) relation_paginated: 'Kapcsolatok (%{x}-%{y} ennyiből: %{count})' comment: Hozzászólások (%{count}) - changesetxml: Changeset XML - osmchangexml: osmChange XML + hidden_comment_by_html: Rejtett hozzászólás %{user} felhasználótól %{time_ago} + comment_by_html: Hozzászólt %{user} %{time_ago} + changesetxml: Módosításcsomag adatai (XML) + osmchangexml: Módosításcsomag tartalma (osmChange XML) feed: title: '%{id} módosításcsomag' title_comment: '%{id} módosításcsomag - %{comment}' @@ -391,6 +393,7 @@ hu: history_title_html: '%{name} vonal előzményei' nodes: Pontok nodes_count: + one: '%{count} pont' other: '%{count} pont' also_part_of_html: one: '%{related_ways} vonal része' @@ -453,7 +456,7 @@ hu: wikimedia_commons_link: A(z) %{page} elem a Wikimédia Commons-on telephone_link: '%{phone_number} felhívása' colour_preview: '%{colour_value} szín előnézete' - email_link: Email %{email} + email_link: E-mail %{email} query: title: Objektumok lekérdezése introduction: Kattints a térképre a közeli objektumok megtalálásához. @@ -565,9 +568,9 @@ hu: comment_link: Hozzászólás ehhez a bejegyzéshez reply_link: Üzenet küldése a szerzőnek comment_count: - zero: Nincs hozzászólás one: '%{count} hozzászólás' other: '%{count} hozzászólás' + no_comments: Nincs hozzászólás edit_link: Bejegyzés szerkesztése hide_link: Bejegyzés elrejtése unhide_link: Bejegyzés megjelenítése @@ -613,8 +616,8 @@ hu: contact: contact_url_title: A különféle kapcsolatfelvételi csatornák magyarázata contact: kapcsolat - contact_the_community_html: Nyugodtan keresse fel az OpenStreetMap közösséget - (%{contact_link}), ha hibás linket vagy más hibát talál. Kérjük, ne felejtse + contact_the_community_html: Nyugodtan keresd fel az OpenStreetMap közösséget + (%{contact_link}), ha hibás linket vagy más hibát találtál. Kérjük, ne felejtsd el feljegyezni a hibás oldal pontos URL-jét. forbidden: title: Tiltott @@ -643,6 +646,10 @@ hu: success: '%{name} eltávolítva az ismerőseid közül.' not_a_friend: '%{name} nem tartozik az ismerőseid közé.' geocoder: + search: + title: + results_from_html: 'Találatok innen: %{results_link}' + latlon: Belső search_osm_nominatim: prefix: aerialway: @@ -1418,7 +1425,7 @@ hu: towns: Kisvárosok places: Helyek results: - no_results: Nem található eredmény + no_results: Nincs találat more_results: További eredmények issues: index: @@ -1435,29 +1442,30 @@ hu: status: Állapot reports: Bejelentések last_updated: Utoljára frissítve + last_updated_time_ago_user_html: '%{time_ago} %{user} felhasználó által' link_to_reports: Bejelentések megtekintése reports_count: one: '%{count} bejelentés' other: '%{count} bejelentés' reported_item: Jelentett elem states: - ignored: Mellőzve + ignored: Figyelmen kívül hagyva open: Nyitva resolved: Megoldva show: title: '#%{issue_id} probléma %{status}' reports: - zero: Nincs bejelentés - one: 1 bejelentés + one: '%{count} bejelentés' other: '%{count} bejelentés' + no_reports: Nincs bejelentés report_created_at: Először bejelentve %{datetime} időpontban last_resolved_at: Utoljára megoldva %{datetime} időpontban last_updated_at: Utoljára frissítve %{displayname} által %{datetime} időpontban resolve: Megoldás - ignore: Mellőz + ignore: Figyelmen kívül hagyás reopen: Újramegnyitás reports_of_this_issue: Ezen probléma bejelentései - read_reports: Bejelentések olvasása + read_reports: Bejelentések elolvasása new_reports: Új bejelentések other_issues_against_this_user: Más problémák ezzel a felhasználóval no_other_issues: Nincsenek további problémák ezzel a felhasználóval kapcsolatban @@ -1465,7 +1473,7 @@ hu: resolve: resolved: 'A probléma állapota átállítva a következőre: „megoldva”' ignore: - ignored: 'A probléma állapota átállítva a következőre: „mellőzve”' + ignored: 'A probléma állapota átállítva a következőre: „figyelmen kívül hagyva”' reopen: reopened: 'A probléma állapota átállítva a következőre: „nyitott”' comments: @@ -1623,7 +1631,7 @@ hu: email_confirm: subject: '[OpenStreetMap] E-mail-cím megerősítése' greeting: Szia! - hopefully_you: 'Valaki (remélhetőleg te) szeretné megváltoztatni az e-mail címét + hopefully_you: 'Valaki (remélhetőleg te) szeretné megváltoztatni az e-mail-címét a %{server_url} címen, erre: %{new_address}.' click_the_link: Ha ez Te vagy, akkor a módosítás megerősítéséhez kattints az alábbi hivatkozásra. @@ -1631,7 +1639,7 @@ hu: subject: '[OpenStreetMap] Jelszó alaphelyzetbe állításának kérése' greeting: Szia! hopefully_you: Valaki (remélhetőleg te) jelszó visszaállítást kért, ehhez az - e-mail címhez tartozó openstreetmap.org felhasználónak. + e-mail-címhez tartozó openstreetmap.org felhasználónak. click_the_link: Ha ez Te vagy, akkor a jelszó alaphelyzetbe állításához kattints az alábbi hivatkozásra. note_comment_notification: @@ -1712,11 +1720,11 @@ hu: confirm_resend: failure: '%{name} felhasználó nem található.' confirm_email: - heading: E-mail cím módosításának megerősítése - press confirm button: Új e-mail címed megerősítéséhez nyomd meg az alábbi megerősítés + heading: E-mail-cím módosításának megerősítése + press confirm button: Új e-mail-címed megerősítéséhez nyomd meg az alábbi megerősítés gombot. button: Megerősítés - success: Az e-mail címed módosítása megerősítve! + success: Az e-mail-címed módosítása megerősítve! failure: Ezzel a tokennel már meg lett erősítve egy e-mail cím. unknown_token: Ez a megerősítő kód lejárt, vagy nem létezik. resend_success_flash: @@ -1778,7 +1786,7 @@ hu: szeretnél, nem ez a felhasználó kapta. A válaszadáshoz jelentkezz be a helyes felhasználónévvel. show: - title: Üzenet olvasása + title: Üzenet elolvasása reply_button: Válasz unread_button: Jelölés olvasatlanként destroy_button: Törlés @@ -1797,9 +1805,9 @@ hu: lost_password: title: Elvesztett jelszó heading: Elfelejtetted jelszavad? - email address: 'E-mail cím:' + email address: 'E-mail-cím:' new password button: Jelszó alaphelyzetbe állítása - help_text: Add meg az e-mail címed, amellyel regisztráltál. Küldeni fogunk egy + help_text: Add meg az e-mail-címed, amellyel regisztráltál. Küldeni fogunk egy hivatkozást, amellyel visszaállíthatod a jelszavad. notice email on way: Sajnáljuk, hogy elvesztetted :-( de már úton van egy e-mail, így nemsokára alaphelyzetbe állíthatod. @@ -1844,6 +1852,8 @@ hu: no home location: Nem adtad meg az otthonod helyét. update home location on click: Frissüljön-e az otthonom helye, amikor a térképre kattintok? + delete: Törlés + undelete: Törlés visszavonása update: success: Profil frissítve. failure: Nem sikerült frissíteni a profilt. @@ -1851,7 +1861,7 @@ hu: new: title: Bejelentkezés heading: Bejelentkezés - email or username: 'E-mail cím vagy felhasználónév:' + email or username: 'E-mail-cím vagy felhasználónév:' password: 'Jelszó:' openid_html: '%{logo} OpenID:' remember: Emlékezz rám @@ -1873,8 +1883,8 @@ hu: title: Bejelentkezés Facebook-kal alt: Bejelentkezés Facebook fiókkal windowslive: - title: Bejelentkezés Windows Live-val. - alt: Bejelentkezés Windows Live fiókkal + title: Bejelentkezés Microsofttal. + alt: Bejelentkezés Microsoft fiókkal github: title: Bejelentkezés GitHub-bal alt: Bejelentkezés GitHub fiókkal @@ -1892,7 +1902,7 @@ hu: heading: Kijelentkezés az OpenStreetMapból logout_button: Kijelentkezés suspended_flash: - suspended: Sajnáljuk, fiókja gyanús tevékenység miatt fel lett függesztve. + suspended: Sajnáljuk, fiókod gyanús tevékenység miatt fel lett függesztve. contact_support_html: Kérjük vedd fel a kapcsolatot a %{support_link}-sal, ha meg akarod vitatni ezt. support: támogatás @@ -1917,6 +1927,7 @@ hu: site: about: next: Következő + heading_html: '%{copyright}OpenStreetMap %{br} közreműködők' used_by_html: '%{name} több ezer weboldalnak, mobilalkalmazásnak és hardvereszköznek biztosít térképadatokat' lede_text: Az OpenStreetMapet egy térképszerkesztő-közösség építi, akik hozzáadnak @@ -1927,8 +1938,34 @@ hu: A közreműködők műholdképeket, GPS-eszközöket és hagyományos térképeket használnak, hogy ellenőrizzék az OSM pontosságát és naprakészségét. community_driven_title: Közösség által vezérelt + community_driven_1_html: |- + Az OpenStreetMap közössége sokszínű, szenvedélyes és napról napra növekszik. Közreműködőink között vannak lelkes térképészek, térinformatikai szakemberek, az OSM szervereit üzemeltető mérnökök, katasztrófa sújtotta területeket feltérképező humanitárius szakemberek és önkéntesek és még nagyon sokan mások. + A közösségről többet megtudhat a következő oldalakon: %{osm_blog_link}, %{user_diaries_link}, %{community_blogs_link} és %{osm_foundation_link}. + community_driven_osm_blog: OpenStreetMap blog + community_driven_user_diaries: felhasználók naplói + community_driven_community_blogs: közösségi blogok + community_driven_osm_foundation: OSM Alapítvány open_data_title: Nyílt adat + open_data_1_html: 'Az OpenStreetMap %{open_data}: szabadon felhasználhatja bármilyen + célra, amennyiben az OpenStreetMap és a közreműködők nevét megemlíti. Ha az + adatokat bizonyos módon módosítja vagy felhasználja, az eredményt csak ugyanezen + licenc alapján terjesztheti. További részletek: %{copyright_license_link}.' + open_data_open_data: nyílt adat + open_data_copyright_license: szerzői jogok (copyright) és licenc legal_title: Jogi segítség + legal_1_1_html: 'Ezt a webhelyet és sok más kapcsolódó szolgáltatást hivatalosan + az %{openstreetmap_foundation_link} (OSMF) üzemelteti a közösség nevében. + Az összes OSMF által üzemeltetett szolgáltatás igénybevételére irányadók a + következők: %{terms_of_use_link}, %{aup_link} és %{privacy_policy_link}.' + legal_1_1_openstreetmap_foundation: OpenStreetMap Alapítvány + legal_1_1_terms_of_use: Felhasználási Feltételek + legal_1_1_aup: Elfogadható felhasználási szabályzat + legal_1_1_privacy_policy: Adatvédelmi irányelvek + legal_2_1_html: Kérjük, %{contact_the_osmf_link}, ha licencekkel kapcsolatos, + szerzői jogi vagy egyéb jogi kérdései vannak. + legal_2_1_contact_the_osmf: lépj kapcsolatba az OSM Alapítvánnyal + legal_2_2_html: Az OpenStreetMap, a nagyító logó és a State of the Map %{registered_trademarks_link}. + legal_2_2_registered_trademarks: az OSMF bejegyzett védjegye partners_title: Partnerek copyright: foreign: @@ -1956,15 +1993,42 @@ hu: azonos licenccel terjesztheted. Jogaid és kötelességeid a teljes %{legal_code_link} ismerteti. introduction_2_legal_code: jogi kódex + introduction_3_html: Dokumentációnkra a %{creative_commons_link} (CC BY-SA + 2.0) licenc vonatkozik. + introduction_3_creative_commons: Creative Commons „Nevezd meg! – Így add tovább!” + 2.0 introduction_3_creative_commons_url: https://creativecommons.org/licenses/by-sa/2.0/deed.hu credit_title_html: Hogyan kell feltüntetned az OpenStreetMapet? - credit_1_html: 'Ahol az OpenStreetMap adatait használja, ott kérjük tüntesse + credit_1_html: 'Ahol az OpenStreetMap adatait használod, ott kérjük, tüntesd fel az alább felsoroltakat:' + credit_2_1: Úgy nevezd meg az OpenStreetMapet, hogy feltünteted a szerzői + jogi (copyright) jegyzetünket. + credit_2_2: Tedd egyértelművé, hogy az adatok az Open Database Licenc szerint + állnak rendelkezésre. + credit_3_html: A szerzői jogi megjegyzés esetében különböző követelményeink + vannak arra, hogy hogyan kell megjeleníteni, attól függően, hogy hogyan + használod az adatainkat. Például eltérő szabályok vonatkoznak a szerzői + jogi megjegyzés megjelenítésére attól függően, hogy böngészhető térképet, + nyomtatott térképet vagy statikus képet készítettél. A követelmények részletekeit + a %{attribution_guidelines_link} oldalon találod. + credit_3_attribution_guidelines: megnevezési iránymutatások + credit_4_1_html: Annak egyértelművé tétele érdekében, hogy az adatok az Open + Database License (nyílt adatbázis licenc) alatt érhetőek el, hivatkozz %{this_copyright_page_link}. + Alternatív megoldásként – és ha az OSM-et adat formájában terjeszted akkor + követelményként – a licenc(ek)et közvetlenül is megnevezheted és belinkelheted. + Ha nem lehet linkelni (pl. nyomtatott munkák), javasoljuk, hogy az olvasóidat + közvetlenül irányítsd hozzánk az openstreetmap.org (vagy csak "OpenStreetMap") + megjelöléssel és az opendatacommons.org-ra. Ebben a példában a megjelölés + a térkép sarkán jelenik meg. + credit_4_1_this_copyright_page: erre a szerzői jogi oldalra attribution_example: alt: Példa arra, hogyan jelenjen meg az OpenStreetMap-re való hivatkozás egy weboldalon title: Példa egy hivatkozásra more_title_html: Tudj meg többet! + more_1_1_html: További információ az adataink felhasználásáról és a jóváírásról + %{osmf_licence_page_link}. + more_1_1_osmf_licence_page: az OSMF licencekkel foglalkozó oldalán more_2_1_html: 'Bár az OpenStreetMap nyílt adat, harmadik feleknek nem tudunk ingyenes térkép-API-t biztosítani. A részleteket megtekintheted a következő oldalakon: %{api_usage_policy_link}, %{tile_usage_policy_link} és %{nominatim_usage_policy_link}.' @@ -1975,8 +2039,19 @@ hu: contributors_intro_html: 'Több ezer egyéni közreműködőnk van. További, szabadon elérhető adatokat is felhasználunk nemzeti térkép intézetektől és más forrásokból, többek között:' + contributors_at_credit_html: '%{austria} adatai: %{stadt_wien_link} (%{cc_by_link} + licenc szerint), valamint %{land_vorarlberg_link} és Tirol tartomány (%{cc_by_at_with_amendments_link} + licenc szerint).' + contributors_at_austria: Ausztria + contributors_at_stadt_wien: Stadt Wien (Bécs) + contributors_at_cc_by: CC BY contributors_at_cc_by_url: https://creativecommons.org/licenses/by/3.0/at/deed.hu + contributors_at_land_vorarlberg: Vorarlberg tartomány contributors_at_land_vorarlberg_url: https://vorarlberg.at/-/wms-dienste + contributors_at_cc_by_at_with_amendments: módosított CC BY AT + contributors_au_australia: Ausztrália + contributors_au_geoscape_australia: Geoscape Australia + contributors_ca_canada: Kanada contributors_footer_2_html: Az adatok befoglalása az OpenStreetMapbe nem jelenti azt, hogy az eredeti adatszolgáltató támogatja az OpenStreetMapet, garanciát nyújt vagy felelősséget vállal rá. @@ -2010,7 +2085,7 @@ hu: area_to_export: Exportálandó terület manually_select: Más terület kézi kijelölése format_to_export: Exportálás formátuma - osm_xml_data: OpenStreetMap XML adat + osm_xml_data: OpenStreetMap XML adatok map_image: Térkép képe (az alapréteget jeleníti meg) embeddable_html: Beágyazható HTML licence: Licenc @@ -2020,9 +2095,9 @@ hu: too_large: advice: Ha a fenti exportálás sikertelen lenne, próbáld meg az alábbi listából valamelyik lehetőséget. - body: Ez a terület túl nagy ahhoz, hogy exportálásra kerüljön OpenStreetMap - XML adatként. Közelíts, vagy jelölj ki kisebb területet. Esetleg használd - az alábbi listából valamelyik nagy adatmennyiségek letöltését támogató módszert. + body: Ez a terület túl nagy ahhoz, hogy OpenStreetMap XML adatként exportálni + lehessen. Közelíts, vagy jelölj ki kisebb területet. Esetleg az alábbi listából + használd valamelyik nagy adatmennyiség letöltését támogató módszert. planet: title: Planet OSM description: A teljes OpenStreetMap adatbázis rendszeresen frissített másolatai @@ -2111,7 +2186,7 @@ hu: get_help_here: Itt kaphatsz segítséget welcome_mat: Nézd meg az előszobát sidebar: - search_results: Keresés eredményei + search_results: Keresés eredménye close: Bezár search: search: Keresés @@ -2338,6 +2413,10 @@ hu: description: Böngészés a legutóbb feltöltött GPS-nyomvonalak között tagged_with: ' %{tags} címkével' empty_title: Itt még nincs semmi + empty_upload_html: '%{upload_link} vagy nézzen utána a GPS nyomvonalkövetésnek + a %{wiki_link}.' + upload_new: Töltsön fel új nyomvonalat + wiki_page: wiki-oldalon upload_trace: Nyomvonal feltöltése all_traces: Minden nyomvonal my_traces: Saját nyomvonalak @@ -2366,8 +2445,8 @@ hu: not_an_admin: Ennek a műveletnek az elvégzéséhez adminisztrátori jogosultsággal kell rendelkezned. setup_user_auth: - blocked_zero_hour: Sürgős üzeneted van az OpenStreetMap weboldalon. El kell - olvasnod az üzenetet, mielőtt elmentheted a változtatásokat. + blocked_zero_hour: Sürgős üzeneted van az OpenStreetMap weboldalon. A szerkesztésed + elmentése előtt el kell olvasnod. blocked: Az API-hoz való hozzáférésed blokkolva lett. A részletek megtekintéséhez jelentkezz be a webes felületen. need_to_see_terms: Az API-hoz való hozzáférésed ideiglenesen felfüggesztésre @@ -2385,12 +2464,12 @@ hu: kér a felhasználói fiókodhoz. Kérlek, jelöld, ha azt szeretnéd, hogy az alkalmazás képes legyen az alábbiakra. Annyit választasz ki, amennyit szeretnél. allow_to: 'Az alábbiak engedélyezése a kliensalkalmazásnak:' - allow_read_prefs: felhasználói beállítások olvasása. + allow_read_prefs: felhasználói beállítások elolvasása. allow_write_prefs: felhasználói beállítások módosítása. allow_write_diary: naplóbejegyzések, hozzászólások létrehozása és ismerősök hozzáadása. allow_write_api: a térkép módosítása. - allow_read_gpx: magán GPS-nyomvonalaid olvasása. + allow_read_gpx: magán GPS-nyomvonalaid megtekintése. allow_write_gpx: GPS-nyomvonalak feltöltése. allow_write_notes: jegyzet módosítása grant_access: Hozzáférés megadása @@ -2407,11 +2486,11 @@ hu: permissions: missing: Nem engedted meg az alkalmazás számára, hogy hozzáférjen ehhez a létesítményhez scopes: - read_prefs: Felhasználói beállítások olvasása + read_prefs: Felhasználói beállítások elolvasása write_prefs: Felhasználói beállítások módosítása write_diary: Naplóbejegyzések és hozzászólások készítése, és ismerősök hozzáadása write_api: A térkép módosítása - read_gpx: Magán nyomvonalak olvasása + read_gpx: Magán nyomvonalak megtekintése write_gpx: GPS-nyomvonalak feltöltése write_notes: Jegyzetek módosítása read_email: Felhasználó e-mail-címének elolvasása @@ -2511,12 +2590,14 @@ hu: title: Felhasználói fiók létrehozása no_auto_account_create: Sajnos jelenleg nem tudunk neked létrehozni automatikusan egy felhasználói fiókot. - please_contact_support_html: Kérjük, lépjen kapcsolatba velünk (%{support_link}), - hogy elrendezhessük a fiók létrehozását. Kérését igyekszünk a lehető leggyorsabban + please_contact_support_html: Kérjük, lépj kapcsolatba velünk (%{support_link}), + hogy elrendezhessük a fiók létrehozását. Kérésedet igyekszünk a lehető leggyorsabban feldolgozni. support: támogatás about: header: Szabad és szerkeszthető + paragraph_2: Regisztrálj a közreműködés megkezdéséhez. A fiókod megerősítéséhez + küldeni fogunk egy e-mailt. display name description: A nyilvánosan megjelenített felhasználóneved. A beállításaidban később megváltoztathatod. external auth: 'Harmadik fél általi hitelesítés:' @@ -2524,7 +2605,7 @@ hu: auth no password: Harmadik féltől származó hitelesítés esetén a jelszó nem kötelező, de néhány extra eszköz vagy szerver igényelhet egyet. continue: Regisztráció - terms accepted: Köszönjük, hogy elfogadtad az új hozzájárulási feltételeket! + terms accepted: Köszönjük, hogy elfogadtad az új közreműködési feltételeket! terms: title: Feltételek heading: Feltételek @@ -2586,7 +2667,7 @@ hu: ct undecided: Nem eldöntött ct declined: Elutasítva latest edit: 'Utolsó szerkesztés (%{ago}):' - email address: 'E-mail cím:' + email address: 'E-mail-cím:' created from: 'Készítve innen:' status: 'Állapot:' spam score: 'Spam pontszám:' @@ -2783,6 +2864,11 @@ hu: open_title: '%{note_name} megoldatlan jegyzet' closed_title: '%{note_name} megoldott jegyzet' hidden_title: '%{note_name} rejtett jegyzet' + event_opened_by_html: Létrehozta %{user} %{time_ago} + event_commented_by_html: Hozzászólt %{user} %{time_ago} + event_closed_by_html: Megoldotta %{user} %{time_ago} + event_reopened_by_html: Újraaktiválta %{user} %{time_ago} + event_hidden_by_html: Elrejtette %{user} %{time_ago} report: jegyzet bejelentése anonymous_warning: Ez a jegyzet névtelen felhasználók hozzászólásait is tartalmazza, amelyeket független módon kell ellenőrizni. @@ -2862,6 +2948,7 @@ hu: gps: Nyilvános GPS-nyomvonalak overlays: További rétegek engedélyezése a térkép hibáinak javítása érdekében title: Rétegek + openstreetmap_contributors: OpenStreetMap közreműködők site: edit_tooltip: Térkép szerkesztése edit_disabled_tooltip: Közelíts a térkép szerkesztéséhez diff --git a/config/locales/ia.yml b/config/locales/ia.yml index 3ac1f4a33..7a4063e4b 100644 --- a/config/locales/ia.yml +++ b/config/locales/ia.yml @@ -1839,6 +1839,9 @@ ia: no home location: Tu non ha entrate tu position de origine. update home location on click: Actualisar le position de origine quando io clicca sur le carta? + show: Monstrar + delete: Deler + undelete: Disfacer deletion update: success: Profilo actualisate. failure: Non poteva actualisar le profilo. diff --git a/config/locales/it.yml b/config/locales/it.yml index f19773d34..e000c5781 100644 --- a/config/locales/it.yml +++ b/config/locales/it.yml @@ -1896,6 +1896,8 @@ it: home location: Posizione no home location: Non si è inserita la propria posizione. update home location on click: Aggiorna la posizione quando clicco sulla mappa? + show: Mostra + delete: Cancella update: success: Il profilo è stato aggiornato. failure: Impossibile aggiornare il profilo. diff --git a/config/locales/ja.yml b/config/locales/ja.yml index 9c945b806..9869ab108 100644 --- a/config/locales/ja.yml +++ b/config/locales/ja.yml @@ -1766,6 +1766,7 @@ ja: home location: ホーム地点 no home location: あなたはまだホーム地点を登録していません。 update home location on click: ホーム地点を、地図上のクリックした地点に変更 + delete: 削除 update: success: プロフィール更新済み。 failure: プロファイルを更新できませんでした。 diff --git a/config/locales/ko.yml b/config/locales/ko.yml index 457735b7f..9fe8930a3 100644 --- a/config/locales/ko.yml +++ b/config/locales/ko.yml @@ -659,7 +659,7 @@ ko: fountain: 분수대 fuel: 주유소 gambling: 도박장 - grave_yard: 묘지 + grave_yard: (종교)묘역 grit_bin: 모래상자 hospital: 병원 hunting_stand: 사냥장 @@ -889,7 +889,7 @@ ko: aquaculture: 수경 재배 basin: 유역 brownfield: 재개발지역 - cemetery: 묘지 + cemetery: 묘역 commercial: 상업/관공서 지역 conservation: ë³´ì¡´ 지역 construction: 공사 지역 @@ -1954,7 +1954,7 @@ ko: - 저수지 farm: 농장 brownfield: 재개발지역 - cemetery: 묘지 + cemetery: 묘역 allotments: 텃밭 pitch: 운동장 centre: 스포츠 센터 diff --git a/config/locales/lb.yml b/config/locales/lb.yml index 18f7b6bc3..7d92e3a5a 100644 --- a/config/locales/lb.yml +++ b/config/locales/lb.yml @@ -1809,6 +1809,9 @@ lb: home location: Heemecht no home location: Du hues nach keng Heemecht aginn. update home location on click: Heemecht beim Klick op d'Kaart aktualiséieren + show: Weisen + delete: Läschen + undelete: Läsche réckgängeg maachen update: success: Profil aktualiséiert. failure: De Profil konnt net aktualiséiert ginn. diff --git a/config/locales/lt.yml b/config/locales/lt.yml index 6a9af3096..b09bc0c78 100644 --- a/config/locales/lt.yml +++ b/config/locales/lt.yml @@ -22,6 +22,7 @@ # Author: Techwebpd # Author: Tomasdd # Author: UndefinedCarp +# Author: Vac31. # Author: Zygimantus --- lt: @@ -415,7 +416,7 @@ lt: nodes_count: one: '{%count} taÅ¡kas' few: '%{count} taÅ¡kai' - many: '{%count} taÅ¡kas' + many: '{%count} taÅ¡kus' other: '%{count} taÅ¡kų' also_part_of_html: one: dalis kelio %{related_ways} @@ -592,6 +593,7 @@ lt: one: '%{count} komentaras' zero: Nėra komentarų other: '%{count} komentarai (-ų)' + no_comments: Jokių komentarų edit_link: Keisti šį įrašą hide_link: Slėpti šį įrašą unhide_link: Nebeslėpti Å¡io įraÅ¡o @@ -1352,6 +1354,7 @@ lt: title: Problemos select_status: Parinkite bÅ«seną select_type: Pasirinkite tipą + not_updated: Neatnaujinta search: IeÅ¡koti search_guidance: 'Problemų paieÅ¡ka:' user_not_found: Naudotojo nėra @@ -1377,6 +1380,7 @@ lt: few: '%{count} praneÅ¡imai' many: '{%count} praneÅ¡imas' other: '%{count} praneÅ¡imų' + no_reports: Jokių ataskaitų report_created_at: Pirmą kartą praneÅ¡ta %{datetime} last_resolved_at: Paskutinį kartą iÅ¡spręsta %{datetime} last_updated_at: Paskutinį kartą atnaujinta %{datetime} naudotojo %{displayname} @@ -1852,8 +1856,19 @@ lt: orotofoto nuotraukas, GPS įrenginius ir paprastus lauko žemėlapius, tikrindami, kad OSM duomenys yra teisingi ir aktualÅ«s. community_driven_title: Bendruomenės vystomas + community_driven_community_blogs: bendruomenių tinklaraščiai + community_driven_osm_foundation: OSM fondas open_data_title: Atviri duomenys + open_data_1_html: 'OpenStreetMap yra %{open_data}: gali laisvai jį naudoti bet + kokiais tikslais, jei tik nurodysi OpenStreetMap ir jo bendradarbius. Jei + pakeisi duomenis arba juos tam tikrais bÅ«dais papildysi, gali platinti rezultatą + tik pagal tą pačią licenciją. IÅ¡samesnės informacijos rasi %{copyright_license_link}.' + open_data_open_data: atviri duomenys + open_data_copyright_license: Autorių teisių ir licencijos puslapis legal_title: Teisės + legal_1_1_openstreetmap_foundation: OpenStreetMap fondas + legal_1_1_terms_of_use: Naudojimo sąlygos + legal_2_1_contact_the_osmf: susisiekti su OSMF partners_title: Partneriai copyright: foreign: @@ -2122,12 +2137,15 @@ lt: title: Pagrindiniai žymėjimo terminai paragraph_1: OpenStreetMap turi savo žodyną. Čia keli pagrindiniai naudojami terminai/žodžiai. + a_way_html: '%{way} – tai linija arba teritorija, kaip kelias, upelis, ežeras + ar pastatas.' editor: redaktorius node: taÅ¡kas way: kelias tag: žyma rules: title: Taisyklės! + imports: Importai automated_edits: Automatizuoti pakeitimai start_mapping: Pradėti žymėti add_a_note: @@ -2137,6 +2155,13 @@ lt: the_map: žemėlapis communities: title: Bendruomenės + lede_text: |- + Žmonės iÅ¡ viso pasaulio prisideda prie OpenStreetMap arba naudojasi juo. + Daugelis dalyvauja kaip individualÅ«s asmenys, kiti yra sukÅ«rę bendruomenes. + Å ios grupės yra įvairaus dydžio ir atstovauja įvairioms geografinėms teritorijoms – nuo mažų miestelių iki didelių daugiaÅ¡alių regionų. + Jos taip pat gali bÅ«ti formalios arba neformalios. + local_chapters: + title: Vietiniai skyriai traces: visibility: private: Privatus (dalinamas tik kaip anonimiÅ¡kas, taÅ¡kai nesurikiuoti) @@ -2398,6 +2423,11 @@ lt: no_auto_account_create: Deja Å¡iuo metu negalime jums automatiÅ¡kai sukurti paskyros. about: header: Laisvas ir redaguojamas + paragraph_1: Skirtingai nuo kitų žemėlapių, OpenStreetMap žemėlapį visiÅ¡kai + sukÅ«rė žmonės, tokie kaip tu, ir jį nemokamai gali taisyti, atnaujinti, + atsisiųsti ir naudoti kiekvienas. + paragraph_2: Užsiregistruok ir pradėk prisidėti. Atsiųsime el. laiÅ¡ką, kad + patvirtintume tavo paskyrą. display name description: JÅ«sų vieÅ¡ai rodomas naudotojo vardas. Jei norėsite, galėsite jį vėliau pakeisti savo nustatymuose. external auth: 'Trečios Å¡alies autentikacija:' @@ -2406,6 +2436,7 @@ lt: bet kai kuriems papildomiems įrankiams arba serveriui gali jo prireikti. continue: Užsiregistruoti terms accepted: AčiÅ«, kad patvirtinote naująsias talkininkų sąlygas! + privacy_policy: privatumo politika terms: title: Sąlygos heading: Sąlygos @@ -2426,6 +2457,8 @@ lt: france: PrancÅ«zija italy: Italija rest_of_world: Likęs pasaulis + terms_declined_flash: + terms_declined_link: Å¡is viki puslapis no_such_user: title: Nėra tokio naudotojo heading: Naudotojas %{user} neegzistuoja diff --git a/config/locales/mk.yml b/config/locales/mk.yml index 84c971af5..720b34c6b 100644 --- a/config/locales/mk.yml +++ b/config/locales/mk.yml @@ -1828,6 +1828,9 @@ mk: no home location: Немате внесено матична местоположба. update home location on click: Подновувај ја матичната местоположба кога ќе стиснам на картата + show: Прикажи + delete: Избриши + undelete: Откажи бришење update: success: Профилот е подновен. failure: Не можев да го подновам профилот. diff --git a/config/locales/nb.yml b/config/locales/nb.yml index 9a5fb3a94..34e08cea6 100644 --- a/config/locales/nb.yml +++ b/config/locales/nb.yml @@ -1588,6 +1588,9 @@ nb: home location: Hjemmeposisjon no home location: Du har ikke angitt din hjemmeposisjon. update home location on click: Oppdater hjemmeposisjon nÃ¥r jeg klikker pÃ¥ kartet? + show: Vis + delete: Slett + undelete: Angre sletting sessions: new: title: Logg inn diff --git a/config/locales/nl.yml b/config/locales/nl.yml index 058ada96c..95794336a 100644 --- a/config/locales/nl.yml +++ b/config/locales/nl.yml @@ -1900,6 +1900,9 @@ nl: home location: Thuislocatie no home location: Er is geen thuislocatie ingevoerd. update home location on click: Thuislocatie aanpassen bij klikken op de kaart + show: Weergeven + delete: Verwijderen + undelete: Verwijderen ongedaan maken update: success: Profiel bijgewerkt. failure: Kon het profiel niet bijwerken. diff --git a/config/locales/ro.yml b/config/locales/ro.yml index f60c4cffb..eae6cf76c 100644 --- a/config/locales/ro.yml +++ b/config/locales/ro.yml @@ -181,8 +181,9 @@ ro: datetime: distance_in_words_ago: about_x_hours: - one: aproximativ 1 oră în urmă - other: aproximativ %{count} ore în urmă + one: aproximativ 1 oră în urmă}} + few: aproximativ %{count} ore în urmă}} + other: …}} about_x_months: one: aproximativ 1 lună în urmă other: aproximativ %{count} luni în urmă @@ -272,6 +273,9 @@ ro: de alte conturi. retain_caveats: 'Cu toate acestea, unele informații despre dvs. vor fi păstrate pe OpenStreetMap, chiar și după ștergerea contului:' + retain_email: Adresa dvs. de e-mail va fi păstrată. + confirm_delete: Sunteți sigur(ă)? + cancel: Anulează accounts: edit: title: Modificare cont @@ -297,16 +301,35 @@ ro: sunt în Domeniul Public. link text: Ce este aceasta? save changes button: Salvează modificările + delete_account: Șterge Cont... go_public: heading: Editare publică + currently_not_public: Momentan, editările dvs. sunt anonime și oamenii nu vă + pot trimite mesaje sau vă pot vedea locația. Pentru a afișa ceea ce ați editat + și pentru a le permite oamenilor să vă contacteze prin intermediul site-ului + web, faceți clic pe butonul de mai jos. + only_public_can_edit: De la trecerea la 0.6 API, numai utilizatorii publici + pot edita datele hărții. + find_out_why: află de ce + email_not_revealed: Adresa ta de e-mail nu va fi dezvăluită devenind public. + not_reversible: Această acțiune nu poate fi anulată și toți utilizatorii noi + sunt acum publici în mod implicit. make_edits_public_button: Faceți toate editările mele publice update: success_confirm_needed: Informațiile despre utilizator s-au actualizat cu succes. Verificați e-mailul pentru o notă pentru a confirma noua adresă de e-mail. success: Informațiile despre utilizator s-au actualizat cu succes. + destroy: + success: Contul Este Șters. browse: created: Creat closed: Închis + created_ago_html: Creat %{time_ago} + closed_ago_html: Închis %{time_ago} + created_ago_by_html: Creat %{time_ago} de %{user} + closed_ago_by_html: Închis %{time_ago} de către %{user} + deleted_ago_by_html: Șters %{time_ago} de %{user} + edited_ago_by_html: Editat %{time_ago} de %{user} version: Versiune in_changeset: Set de modificări anonymous: anonim @@ -317,9 +340,9 @@ ro: few: '%{count} relații' other: "" part_of_ways: - one: 1 relație - few: '%{count} relații' - other: "" + one: '%{count} cale}}' + few: '%{count} căi}}' + other: '}}' download_xml: Descarcă XML view_history: Vezi istoric view_details: Vezi detalii @@ -417,6 +440,7 @@ ro: wikimedia_commons_link: Item-ul %{page} pe Wikimedia Commons telephone_link: Sună %{phone_number} colour_preview: Previzualizează %{colour_value} culoare + email_link: Email %{email} query: title: Interogări ale funcțiilor introduction: Dați clic pe hartă pentru a găsi obiectivele din apropiere. @@ -440,6 +464,7 @@ ro: index: title: Set de modificări title_user: Seturi de modificări făcute de %{user} + title_user_link_html: Seturi de modificări făcute de %{user_link} title_friend: Seturi de modificări făcute de prietenii mei title_nearby: Modificări făcute de utilizatori din apropiere empty: Niciun set de modificări găsit. @@ -566,6 +591,17 @@ ro: applications: create: notice: Aplicație înregistrată. + errors: + forbidden: + title: Interzis + internal_server_error: + title: Eroare aplicație + description: Serverul OpenStreetMap a întâlnit o condiție neașteptată care l-a + împiedicat să îndeplinească cererea (HTTP 500) + not_found: + title: Fișierul nu a fost găsit + description: Nu s-a putut găsi o operație de file/directory/API operation cu + acest nume pe serverul OpenStreetMap (HTTP 404) friendships: make_friend: heading: Adăugați %{user} ca prieten? @@ -581,6 +617,10 @@ ro: success: '%{name} a fost scos de la lista de prieteni.' not_a_friend: '%{name} nu este unul din prietenii tăi.' geocoder: + search: + title: + results_from_html: Rezultate de la %{results_link} + latlon: Intern search_osm_nominatim: prefix: aerialway: @@ -597,12 +637,12 @@ ro: aeroway: aerodrome: Aerodrom airstrip: Pistă de aterizare - apron: Peron de aeroport - gate: Poartă de aeroport + apron: Peron Aeroport + gate: Poartă Aeroport hangar: Hangar helipad: Helipad holding_position: Păstrează poziția - navigationaid: Ajutor de navigație aeriană + navigationaid: Ajutor Navigație Aviație parking_position: Poziția de parcare runway: Pistă taxilane: Banda de taxi @@ -662,7 +702,7 @@ ro: ice_cream: Înghețată internet_cafe: Internet Cafe kindergarten: Grădiniță - language_school: Școală de limbi + language_school: Școală Lingvistică library: Bibliotecă loading_dock: Doc de încărcare love_hotel: Hotel de dragoste @@ -900,6 +940,7 @@ ro: railway: Cale ferată istorică roman_road: Drumul roman ruins: Ruine + rune_stone: Piatra Rune stone: Piatră tomb: Mormânt tower: Turn @@ -917,8 +958,8 @@ ro: brownfield: Teren brun cemetery: Cimitir commercial: Zonă comercială - conservation: Conservare - construction: Construcție + conservation: Zonă Conservare + construction: Șantier în lucru farmland: Teren agricol farmyard: Curte țărănească forest: Pădure @@ -939,7 +980,7 @@ ro: reservoir: Rezervor reservoir_watershed: Cumpăna apelor residential: Zonă rezidențială - retail: Amănuntul + retail: Vânzare cu amănuntul village_green: Village Green vineyard: Podgorie "yes": Utilizarea terenului @@ -960,7 +1001,7 @@ ro: fitness_station: Stație de fitness garden: Grădină golf_course: Teren de golf - horse_riding: Călărie de cai + horse_riding: Centru de echitație ice_rink: Patinoar marina: Marina miniature_golf: Minigolf @@ -991,7 +1032,9 @@ ro: breakwater: Dig bridge: Pod bunker_silo: Buncăr + cairn: Movilă chimney: Șemineu + clearcut: Cioturi de copac communications_tower: Turn de Comunicații crane: Macara cross: Cruce @@ -1014,12 +1057,14 @@ ro: pumping_station: Stație de Pompare reservoir_covered: Rezervor Acoperit silo: Siloz + snow_cannon: Tun de Zăpadă snow_fence: Gard zăpadă storage_tank: Rezervor de depozitare street_cabinet: Cabinet stradal surveillance: Supraveghere telescope: Telescop tower: Turn + utility_pole: Stâlp Utilitar wastewater_plant: Stație de epurare a apei watermill: Fântână de apă water_tap: Robinet de apă @@ -1040,6 +1085,7 @@ ro: "yes": Trecătoare prin munți natural: atoll: Atol + bare_rock: Stânci bay: Golf beach: Plajă cape: Cap @@ -1073,6 +1119,7 @@ ro: sand: Nisip scree: Grohotiș scrub: Tufăriș + shingle: Plajă cu scoici și pietre spring: Izvor stone: Piatră strait: Strâmtoare @@ -1143,6 +1190,7 @@ ro: "yes": Loc railway: abandoned: Cale ferată abandonată + buffer_stop: Tampon tren construction: Cale ferată în construcție disused: Cale ferată dezafectată funicular: Cale Ferată Funicular @@ -1156,6 +1204,7 @@ ro: platform: Platformă feroviară preserved: Cale ferată rezervată proposed: Cale ferată propusă + rail: Șină spur: Cale ferată privată station: Gară stop: Stop la calea ferată @@ -1164,6 +1213,7 @@ ro: switch: Macazul de cale ferată tram: Tramvai tram_stop: Stație de tramvai + turntable: Placă turnantă yard: Depou shop: agrarian: Magazin agricol @@ -1204,7 +1254,7 @@ ro: deli: Deli department_store: Magazin specializat discount: Magazin cu itemuri la discount - doityourself: Bricolaj + doityourself: Magazin de bricolaj dry_cleaning: Curățătorie chimică e-cigarette: Magazin de țigări electronice electronics: Magazin de electronice @@ -1230,7 +1280,7 @@ ro: health_food: Magazin de produse naturiste hearing_aids: Aparate Auditive herbalist: Herbalist - hifi: Hi-Fi + hifi: Magazin Hi-Fi houseware: Magazinul de electrocasnice ice_cream: Magazin de înghețate interior_decoration: Decoeațiuni interioare @@ -1290,7 +1340,7 @@ ro: artwork: Operă de artă attraction: Atracție bed_and_breakfast: Cazare și mic dejun - cabin: Cabină + cabin: Cabană Turistică camp_pitch: Teren pentru camping camp_site: Loc de campare caravan_site: Parc de rulote @@ -1363,10 +1413,12 @@ ro: status: Stare reports: Rapoarte last_updated: Ultima actualizare + last_updated_time_ago_user_html: '%{time_ago} de %{user}' link_to_reports: Vizualizați rapoartele reports_count: - one: 1 Report - other: '%{count} Rapoarte' + one: '%{count} Raport' + few: '%{count} Raporturi' + other: "" reported_item: Articol raportat states: ignored: Ignorat @@ -1375,9 +1427,9 @@ ro: show: title: '%{status} Problema #%{issue_id}' reports: - zero: Nu există rapoarte - one: 1 report - other: '%{count} rapoarte' + one: '%{count} raport' + few: '%{count} raporturi' + other: "" no_reports: Fara rapoarte report_created_at: Prima dată raportată la %{datetime} last_resolved_at: Ultima rezolvată la %{datetime} @@ -1409,6 +1461,7 @@ ro: issue_comments: create: comment_created: Comentariul dvs. a fost creat cu succes + issue_reassigned: Comentariul dvs. a fost creat și problema a fost reatribuită reports: new: title_html: '%{link} raport' @@ -1484,6 +1537,7 @@ ro: help: Ajutor about: Despre copyright: Drepturi de autor + communities: Comunități community: Comunitate community_blogs: Bloguri ale comunității community_blogs_title: Bloguri ale membrilor comunității OpenStreetMap @@ -1521,12 +1575,23 @@ ro: see_their_profile_html: Puteți vedea profilul respectiv la %{userurl}. befriend_them: De asemenea, îi puteți adăuga ca prieten la %{befriendurl} befriend_them_html: Le puteți adăuga și ca prieten la %{befriendurl}. + gpx_description: + description_with_tags_html: 'Se pare că fișierul dvs. GPX %{trace_name} cu descrierea + %{trace_description} și următoarele etichete: %{tags}' + description_with_no_tags_html: Se pare că fișierul dvs. GPX %{trace_name} cu + descrierea %{trace_description} și fără etichete gpx_failure: hi: Salut %{to_user}, failed_to_import: 'nu a reușit să importe. Iată eroarea:' + more_info_html: Mai multe informații despre eșecurile de import GPX și despre + cum să le evitați pot fi găsite la %{url}. subject: '[OpenStreetMap] eșec import fișier GPX' gpx_success: hi: Salut %{to_user}, + loaded: + one: încărcat cu succes cu %{trace_points} dintr-un posibil %{count} punct. + few: încărcat cu succes cu %{trace_points} dintr-un posibil %{count} puncte. + other: "" subject: '[OpenStreetMap] succes import fișier GPX' signup_confirm: subject: '[OpenStreetMap] Bun venit la OpenStreetMap' @@ -1559,22 +1624,35 @@ ro: subject_other: '[OpenStreetMap] %{commenter} a comentat o notă care vă interesează' your_note: '%{commenter} a lăsat un comentariu pe o notă de pe hartă lângă %{place}.' + your_note_html: '%{commenter} a lăsat un comentariu la una dintre notele dvs. + de hartă lângă %{place}.' commented_note: '%{commenter} a lăsat un comentariu pe o notă de hartă pe care ați comentat-o. Nota este aproape de %{place}.' + commented_note_html: '%{commenter} a lăsat un comentariu pe o notă de hartă + pe care ați comentat-o. Nota este aproape de %{place}.' closed: subject_own: '[OpenStreetMap] %{commenter}a rezolvat una dintre notele tale' subject_other: '[OpenStreetMap] %{commenter} a rezolvat o notă care vă interesează' your_note: '%{commenter} a rezolvat una dintre notele dvs. de hartă lângă %{place}.' + your_note_html: '%{commenter} a rezolvat una dintre notele dvs. de hartă lângă + %{place}.' commented_note: '%{commenter} a rezolvat o notă de hartă pe care ați comentat-o. Nota este aproape de %{place}.' + commented_note_html: '%{commenter} a rezolvat o notă de hartă pe care ați + comentat-o. Nota este aproape de %{place}.' reopened: subject_own: '[OpenStreetMap] %{commenter} a reactivat una dintre notele tale' subject_other: '[OpenStreetMap] %{commenter} a reactivat o notă care vă interesează' your_note: '%{commenter} a reactivat una din notele dvs. de hartă lângă %{place}.' + your_note_html: '%{commenter} a reactivat una dintre notele dvs. de hartă + lângă %{place}.' commented_note: '%{commenter} a reactivat o notă de hartă pe care ați comentat-o. Nota este aproape de %{place}.' + commented_note_html: '%{commenter} a reactivat o notă de hartă pe care ați + comentat-o. Nota este aproape de %{place}.' details: Mai multe detalii despre notă pot fi găsite la adresa %{url}. + details_html: Mai multe detalii despre notă pot fi găsite la %{url}. changeset_comment_notification: hi: Salut %{to_user}, greeting: Salut, @@ -1585,8 +1663,12 @@ ro: care vă interesează' your_changeset: '%{commenter} a lăsat un comentariu la %{time} asupra unui set de modificări ale dvs.' + your_changeset_html: '%{commenter} a lăsat un comentariu la %{time} la unul + dintre seturile dvs. de modificări' commented_changeset: '%{commenter} a lăsat un comentariu %{time} cu privire la un set de modificări pe care îl urmăriți creat de %{changeset_author}' + commented_changeset_html: '%{commenter} a lăsat un comentariu la %{time} la + un set de modificări pe care îl vizionați, creat de %{changeset_author}' partial_changeset_with_comment: cu comentariul '%{changeset_comment}' partial_changeset_with_comment_html: cu comentariul '%{changeset_comment}' partial_changeset_without_comment: fără comentarii @@ -1610,6 +1692,8 @@ ro: success: Confirmat contul dvs., vă mulțumim pentru înscrierea! already active: Acest cont a fost deja confirmat. unknown token: Codul de confirmare a expirat sau nu există. + resend_html: Dacă aveți nevoie să retrimitem e-mailul de confirmare, %{reconfirm_link}. + click_here: click aici confirm_resend: failure: Utilizatorul %{name} nu a fost găsit. confirm_email: @@ -1620,6 +1704,12 @@ ro: success: Ați confirmat schimbarea adresei de e-mail! failure: O adresă de e-mail a fost deja confirmată cu acest token. unknown_token: Codul de confirmare a expirat sau nu există. + resend_success_flash: + confirmation_sent: Am trimis o nouă notă de confirmare către %{email} și, de + îndată ce vă confirmați contul, veți putea obține cartografierea. + whitelist: Dacă utilizați un sistem antispam care trimite cereri de confirmare, + vă rugăm să vă asigurați că ați plasat pe lista albă %{sender}, deoarece nu + putem răspunde la nicio solicitare de confirmare. messages: inbox: title: Mesaje primite @@ -1713,6 +1803,7 @@ ro: edit_preferences: Editare preferințe edit: title: Editare preferințe + save: Actualizare Preferințe cancel: Revocare update: failure: Nu se pot salva preferințele. @@ -1720,6 +1811,8 @@ ro: message: Preferințele au fost salvate. profiles: edit: + title: Editare Profil + save: Actualizează Profil cancel: Revocare image: Imagine gravatar: @@ -1736,6 +1829,9 @@ ro: no home location: Nu ați introdus locația dvs. de domiciliu. update home location on click: Actualizați locația locuinței dvs. când faceți click pe hartă? + update: + success: Profil actualizat. + failure: Nu s-a putut actualiza profilul. sessions: new: title: Autentificare @@ -1762,8 +1858,8 @@ ro: title: Autentificare cu Facebook alt: Conectați-vă cu un cont Facebook windowslive: - title: Conectați-vă cu Windows Live - alt: Conectați-vă cu un cont Windows Live + title: Conectare cu Microsoft + alt: Conectare cu un Cont Microsoft github: title: Conectați-vă cu GitHub alt: Conectați-vă cu un cont GitHub @@ -1780,8 +1876,14 @@ ro: title: Ieșire heading: Deconectare din OpenStreetMap logout_button: Ieșire + suspended_flash: + suspended: Ne pare rău, contul dvs. a fost suspendat din cauza activității suspecte. + contact_support_html: Vă rugăm să contactați %{support_link} dacă doriți să + discutați acest lucru. + support: suport shared: markdown_help: + heading_html: Parsează cu %{kramdown_link} headings: Titluri heading: Titlu subheading: Subtitlu @@ -1800,8 +1902,9 @@ ro: site: about: next: Înainte - used_by_html: '%{name} oferă datele hărților pe mii de site-uri web, aplicații - mobile și dispozitive hardware' + heading_html: '%{copyright}OpenStreetMap %{br} contributori' + used_by_html: '%{name} furnizează date de hărți pentru mii de site-uri web, + aplicații mobile și dispozitive hardware' lede_text: |- OpenStreetMap este construit de o comunitate de cartografi care contribuie și întrețin datele despre drumuri, trasee, cafenele, stații de cale ferată și multe altele din întreaga lume. @@ -1810,8 +1913,43 @@ ro: OpenStreetMap îndrăgește cunoștințele locale. Colaboratorii folosesc imaginile aeriene, dispozitivele GPS și hărțile câmpurilor de joasă tehnologie pentru a verifica faptul că OSM este exactă și actualizată. community_driven_title: Condusă de comunitate + community_driven_1_html: |- + Comunitatea OpenStreetMap este diversă, pasionată și în creștere în fiecare zi. + Contribuitorii noștri includ cartografii entuziaști, profesioniști GIS, ingineri + rulează serverele OSM, umanitarii cartografiază zonele afectate de dezastre, + si multe altele. + Pentru a afla mai multe despre comunitate, consultați %{osm_blog_link}, + %{user_diaries_link}, %{community_blogs_link} și + site-ul web %{osm_foundation_link}. + community_driven_osm_blog: OpenStreetMap Blog + community_driven_user_diaries: jurnale utilizatori + community_driven_community_blogs: blogurile comunității + community_driven_osm_foundation: Fundația OSM open_data_title: Deschideți datele + open_data_1_html: |- + OpenStreetMap este %{open_data}: sunteți liber să îl utilizați în orice scop + atâta timp cât creditați OpenStreetMap și colaboratorii săi. Dacă modificați sau + construiți pe date în anumite moduri, puteți distribui numai rezultatul + sub aceeași licență. Consultați %{copyright_license_link} pentru detalii. + open_data_open_data: date deschise + open_data_copyright_license: Pagina Drepturi de autor și licență legal_title: Legal + legal_1_1_html: |- + Acest site și multe alte servicii conexe sunt operate oficial de către + %{openstreetmap_foundation_link} (OSMF) + în numele comunității. Utilizarea tuturor serviciilor operate de OSMF este supusă + la %{terms_of_use_link}, %{aup_link} și %{privacy_policy_link}. + ​Căutați detalii + legal_1_1_openstreetmap_foundation: Fundația OpenStreetMap + legal_1_1_terms_of_use: Termeni de Utilizare + legal_1_1_aup: Politica de Utilizare Acceptabilă + legal_1_1_privacy_policy: Politica de Confidențialitate + legal_2_1_html: |- + Vă rugăm %{contact_the_osmf_link} + dacă aveți întrebări legate de licență, drepturi de autor sau alte întrebări legale. + legal_2_1_contact_the_osmf: contactați OSMF + legal_2_2_html: OpenStreetMap, logo-ul lupei și starea hărții sunt %{registered_trademarks_link}. + legal_2_2_registered_trademarks: mărci înregistrate ale OSMF partners_title: Parteneri copyright: foreign: @@ -1828,18 +1966,132 @@ ro: mapping_link: Începeți să cartografiați legal_babble: title_html: Drepturi de autor și licență + introduction_1_html: |- + OpenStreetMap%{registered_trademark_link} este %{open_data}, licențiat în conformitate cu + %{odc_odbl_link} (ODbL) de către %{osm_foundation_link} (OSMF). + introduction_1_open_data: date deschise + introduction_1_odc_odbl: Open Data Commons Licență pentru baze de date deschise + introduction_1_osm_foundation: Fundația OpenStreetMap + introduction_2_html: |- + Sunteți liber să copiați, să distribuiți, să transmiteți și să adaptați datele noastre, + atâta timp cât creditați OpenStreetMap și a acestuia + contribuabili. Dacă modificați sau construiți pe baza datelor noastre, dvs + poate distribui rezultatul numai sub aceeași licență. The + %{legal_code_link} complet explică drepturile și responsabilitățile dvs. + introduction_2_legal_code: cod juridic + introduction_3_html: Documentația noastră este licențiată sub licența %{creative_commons_link} + (CC BY-SA 2.0). + introduction_3_creative_commons: Creative Commons Attribution-ShareAlike 2.0 credit_title_html: Cum se creditează OpenStreetMap - credit_1_html: Noi cerem să utilizați creditul© contribuitori OpenStreetMap& - rdquo;. + credit_1_html: 'Acolo unde utilizați datele OpenStreetMap, vi se cere să faceți + următoarele două lucruri:' + credit_2_1: Oferiți credit OpenStreetMap afișând notificarea noastră privind + drepturile de autor. + credit_2_2: Asigurați-vă că datele sunt disponibile în baza licenței pentru + baze de date deschise. + credit_3_html: |- + Pentru notificarea privind drepturile de autor, avem cerințe diferite despre cum ar trebui să fie + afișate, în funcție de modul în care utilizați datele noastre. De exemplu, diferit + se aplică reguli cu privire la modul de afișare a notificării privind drepturile de autor, în funcție de faptul că aveți + a creat o hartă navigabilă, o hartă tipărită sau o imagine statică. Detalii complete pe + cerințele pot fi găsite în %{attribution_guidelines_link}. + credit_3_attribution_guidelines: Orientări Privind Atribuirea + credit_4_1_html: |- + Pentru a clarifica faptul că datele sunt disponibile în cadrul Open + Licență pentru baze de date, puteți face link la %{this_copyright_page_link}. + Alternativ, și ca o cerință dacă distribuiți OSM într-un + formular de date, puteți numi și conecta direct la licență(e). În media + unde link-urile nu sunt posibile (de exemplu, lucrări tipărite), vă sugerăm + direcționați-vă cititorii către openstreetmap.org (poate prin extinderea + „OpenStreetMap” la această adresă completă) și la opendatacommons.org. + În acest exemplu, creditul apare în colțul hărții. + credit_4_1_this_copyright_page: această pagină de drepturi de autor attribution_example: alt: Exemplu de atribuire a OpenStreetMap pe o pagină Web title: Exemplul de atribuire more_title_html: Aflați mai multe. + more_1_1_html: Citiți mai multe despre utilizarea datelor noastre și despre + cum să ne creditați, la %{osmf_licence_page_link}. + more_1_1_osmf_licence_page: Pagina de licență OSMF + more_2_1_html: |- + Deși OpenStreetMap este date deschise, nu putem oferi o + API gratuit pentru hărți pentru terți. + Consultați %{api_usage_policy_link}, %{tile_usage_policy_link} și %{nominatim_usage_policy_link}. + more_2_1_api_usage_policy: Politica de utilizare API + more_2_1_tile_usage_policy: Politica de Utilizare a Plăcilor + more_2_1_nominatim_usage_policy: Politica Utilizare Nominatim contributors_title_html: Contribuitorii noștri contributors_intro_html: |- Contribuitorii noștri sunt mii de indivizi. De asemenea, includem date cu licență de la agențiile naționale de cartografiere și alte surse, printre care: + contributors_at_credit_html: |- + %{austria}: conține date de la %{stadt_wien_link} (sub %{cc_by_link}), %{land_vorarlberg_link} + și Land Tirol (sub %{cc_by_at_with_amendments_link}). + contributors_at_austria: Austria + contributors_at_stadt_wien: Stadt Wien + contributors_at_cc_by: CC BY + contributors_at_land_vorarlberg: Land Vorarlberg + contributors_at_cc_by_at_with_amendments: CC BY AT cu amendamente + contributors_au_credit_html: |- + %{australia}: Încorporează sau dezvoltat folosind limite administrative © %{geoscape_australia_link} + licențiat de Commonwealth of Australia sub %{cc_licence_link}. + contributors_au_australia: Australia + contributors_au_geoscape_australia: Geoscape Australia + contributors_au_cc_licence: Creative Commons Attribution 4.0 International + licence (CC BY 4.0) + contributors_ca_credit_html: |- + %{canada}: Conține date de la + GeoBase®, GeoGratis (© Departamentul de Natură + Resources Canada), CanVec (© Department of Natural + Resources Canada) și StatCan (Divizia de Geografie, + Statistics Canada). + contributors_ca_canada: Canada + contributors_fi_credit_html: |- + %{finland}: Conține date din + National Land Survey of Finland's Topographic Database + și alte seturi de date, sub %{nlsfi_license_link}. + contributors_fi_finland: Finlanda + contributors_fi_nlsfi_license: Licența NLSFI + contributors_fr_credit_html: |- + %{france}: Conține date provenite din + Direction Générale des Impôts. + contributors_fr_france: Franța + contributors_nz_new_zealand: Noua Zeelandă + contributors_nz_linz_data_service: Serviciul de date LINZ + contributors_nz_cc_by: CC BY 4.0 + contributors_rs_credit_html: |- + %{serbia}: conține date din %{rgz_link} și %{open_data_portal} + (informații publice din Serbia), 2018. + contributors_rs_serbia: Serbia + contributors_rs_rgz: Autoritatea Geodetică a Serbiei + contributors_rs_open_data_portal: Portalul Național de Date Deschise + contributors_si_credit_html: |- + %{slovenia}: conține date din %{gu_link} și %{mkgp_link} + (informații publice din Slovenia). + contributors_si_slovenia: Slovenia + contributors_si_gu: Autoritatea de Topografie și Cartografiere + contributors_si_mkgp: Ministerul Agriculturii, Pădurilor și Alimentației + contributors_es_credit_html: |- + %{spain}: Conține date provenite din + Institutul Geografic Național Spaniol (%{ign_link}) și + Sistemul Cartografic Național (%{scne_link}) + licențiat pentru reutilizare sub %{cc_by_link}. + contributors_es_spain: Spania + contributors_es_cc_by: CC BY 4.0 + contributors_za_credit_html: '%{south_africa}: Conține date provenite de la + %{ngi_link}, drepturi de autor de stat rezervate.' + contributors_za_south_africa: Africa de Sud + contributors_za_ngi: 'Directoratul Șef: Informații Geo-Spațiale Naționale' + contributors_gb_credit_html: |- + %{united_kingdom}: Contains Ordnance + Datele sondajului © Dreptul de autor al coroanei și dreptul de bază de date + 2010-2023. + contributors_gb_united_kingdom: Regatul Unit + contributors_2_html: |- + Pentru mai multe detalii despre acestea și despre alte surse care au fost folosite + pentru a ajuta la îmbunătățirea OpenStreetMap, vă rugăm să consultați %{contributors_page_link} de pe Wiki OpenStreetMap. + contributors_2_contributors_page: Pagina contribuitorilor contributors_footer_2_html: |- Includerea datelor în OpenStreetMap nu implică faptul că originalul furnizor de date acceptă OpenStreetMap, oferă orice garanție sau @@ -1849,6 +2101,19 @@ ro: date de la nici una dintre sursele protejate de drepturi de autor (de ex., Hărți Google sau hărți tipărite) fără permisiunea explicită din partea deținătorilor drepturilor de autor. + infringement_2_1_html: |- + Dacă credeți că materialul protejat prin drepturi de autor a fost inadecvat + adăugat la baza de date OpenStreetMap sau la acest site, vă rugăm să consultați + la %{takedown_procedure_link} sau un fișier direct la nostru + %{online_filing_page_link}. + infringement_2_1_takedown_procedure: procedura de eliminare + infringement_2_1_online_filing_page: pagina de depunere online + trademarks_title: Mărci înregistrate + trademarks_1_1_html: |- + OpenStreetMap, logo-ul lupei și State of the Map sunt mărci comerciale înregistrate ale + Fundația OpenStreetMap. Dacă aveți întrebări despre utilizarea mărcilor, vă rugăm să consultați + %{trademark_policy_link}. + trademarks_1_1_trademark_policy: Politica Mărcilor Înregistrate index: js_1: Utilizați fie un browser care nu acceptă JavaScript, fie aveți JavaScript dezactivat. @@ -1878,6 +2143,9 @@ ro: map_image: Imagine hartă (arată stratul standard) embeddable_html: HTML încorporabil licence: Licență + licence_details_html: Datele OpenStreetMap sunt licențiate sub %{odbl_link} + (ODbL). + odbl: Open Data Commons Open Database License too_large: advice: 'Dacă exportul de mai sus nu reușește, vă recomandăm să utilizați una dintre sursele de mai jos:' @@ -1920,8 +2188,18 @@ ro: de exemplu un drum care lipsește sau adresa dvs., cel mai bun mod de a rezolva această problemă este să vă alăturați comunității OpenStreetMap și să adăugați sau să reparați singuri datele. + add_a_note: + instructions_1_html: |- + Doar faceți clic pe %{note_icon} sau pe aceeași pictogramă de pe afișajul hărții. + Aceasta va adăuga un marcator pe hartă, pe care îl puteți muta + prin tragere. Adăugați mesajul dvs., apoi faceți clic pe Salvați, iar alți cartografi vor investiga. other_concerns: title: Alte preocupări + concerns_html: |- + Dacă aveți nelămuriri cu privire la modul în care sunt utilizate datele noastre sau cu privire la conținut, vă rugăm să consultați + %{copyright_link} pentru mai multe informații legale sau contactați %{working_group_link} corespunzător. + copyright: Pagina de drepturi de autor + working_group: Grup de lucru al OSMF help: title: Obținerea de ajutor introduction: OpenStreetMap are mai multe resurse pentru a învăța despre proiect, @@ -1944,6 +2222,9 @@ ro: title: Lista de e-mail-uri description: Adresați o întrebare sau discutați despre probleme interesante pe o gamă largă de liste de discuții de actualitate sau regionale. + community: + title: Forumul Comunității + description: Un loc comun pentru discuții despre OpenStreetMap. irc: title: IRC description: Chat interactiv în multe limbi diferite și pe mai multe subiecte. @@ -1958,6 +2239,10 @@ ro: wiki: title: OpenStreetMap Wiki description: Caută pe wiki pentru o documentație OpenStreetMap detaliată. + potlatch: + removed: Editorul dvs. implicit OpenStreetMap este setat ca Potlatch. Deoarece + Adobe Flash Player a fost retras, Potlatch nu mai este disponibil pentru utilizare + într-un browser web. any_questions: title: Întrebări? sidebar: @@ -2171,8 +2456,8 @@ ro: require_admin: not_an_admin: Trebuie să fii administrator pentru a efectua acea acțiune. setup_user_auth: - blocked_zero_hour: Aveți un mesaj urgent pe site-ul web OpenStreetMap. Trebuie - să citiți mesajul înainte de a vă putea salva modificările. + blocked_zero_hour: Aveți un mesaj urgent pe site-ul OpenStreetMap. Trebuie să + citiți mesajul înainte de a putea salva editările. blocked: Accesul la API a fost blocat. Conectați-vă la interfața web pentru a afla mai multe. need_to_see_terms: Accesul dvs. la API este suspendat temporar. Conectați-vă @@ -2607,6 +2892,14 @@ ro: gps: Urmele GPS publice overlays: Activați suprapuneri pentru depanarea hărții title: Straturi + openstreetmap_contributors: OpenStreetMap contribuitori + make_a_donation: Faceți o Donație + website_and_api_terms: Termenii site-ului web și API + cyclosm_credit: Stil de plăci de %{cyclosm_link} găzduit de %{osm_france_link} + osm_france: OpenStreetMap Franța + thunderforest_credit: Plăci prin amabilitatea lui %{thunderforest_link} + andy_allan: Andy Allan + hotosm_name: Echipa Umanitară OpenStreetMap site: edit_tooltip: Modifică harta edit_disabled_tooltip: Măriți pentru a edita harta @@ -2634,9 +2927,14 @@ ro: graphhopper_bicycle: Bicicletă (GraphHopper) graphhopper_car: Mașină (GraphHopper) graphhopper_foot: Mers (GraphHopper) + fossgis_valhalla_bicycle: Bicicletă (Valhalla) + fossgis_valhalla_car: Maşina (Valhalla) + fossgis_valhalla_foot: Mers (Valhalla) descend: Coborâre directions: Direcții distance: Distanță + distance_m: '%{distance}m' + distance_km: '%{distance}km' errors: no_route: Nu s-a putut găsi un traseu între cele două locuri. no_place: Scuze - nu am găsit '%{place}'. diff --git a/config/locales/skr-arab.yml b/config/locales/skr-arab.yml index 72474027f..b33dcc7b7 100644 --- a/config/locales/skr-arab.yml +++ b/config/locales/skr-arab.yml @@ -1089,6 +1089,9 @@ skr-arab: save: پروفائل اپ ڈیٹ کرو cancel: منسوخ image: تصویر + show: ݙِکھاؤ + delete: مٹاؤ + undelete: بحال sessions: new: title: لاگ ان diff --git a/config/locales/sl.yml b/config/locales/sl.yml index bc4c08c21..3bbe874dd 100644 --- a/config/locales/sl.yml +++ b/config/locales/sl.yml @@ -59,7 +59,7 @@ sl: email_address_not_routable: ni preusmerljiv models: acl: Seznam nadzora dostopa - changeset: Sklop sprememb + changeset: Nabor sprememb changeset_tag: Oznaka množice sprememb country: Država diary_comment: DnevniÅ¡ki komentar @@ -301,7 +301,7 @@ sl: obstajajo, vendar si jih ne bo mogoče ogledati. retain_notes: Ohranjeni bodo morebitne opombe na zemljevidu in komentarji k opombam, vendar si jih ne bo mogoče ogledati. - retain_changeset_discussions: Ohranjeni bodo vaÅ¡i pogovori o sklopih sprememb, + retain_changeset_discussions: Ohranjeni bodo vaÅ¡i pogovori o naborih sprememb, če obstajajo. retain_email: Ohranjen bo vaÅ¡ e-poÅ¡tni naslov. confirm_delete: Ali ste prepričani? @@ -361,7 +361,7 @@ sl: deleted_ago_by_html: Izbrisal %{user} %{time_ago} edited_ago_by_html: Uredil_a %{user} %{time_ago} version: Različica - in_changeset: Sklop sprememb + in_changeset: Nabor sprememb anonymous: anonimni no_comment: (brez komentarja) part_of: Del @@ -380,7 +380,7 @@ sl: view_details: Prikaz podrobnosti location: 'Lokacija:' changeset: - title: 'Sklop sprememb: %{id}' + title: 'Nabor sprememb: %{id}' belongs_to: Avtor node: Vozlišč (%{count}) node_paginated: Vozlišča (%{x}-%{y} od %{count}) @@ -391,15 +391,15 @@ sl: comment: Komentarji (%{count}) hidden_comment_by_html: Skrit komentar %{user} %{time_ago} comment_by_html: Komentar %{user} %{time_ago} - changesetxml: Sklop sprememb XML + changesetxml: Nabor sprememb XML osmchangexml: osmChange XML feed: - title: Sklop sprememb %{id} - title_comment: Sklop sprememb %{id} – %{comment} + title: Nabor sprememb %{id} + title_comment: Nabor sprememb %{id} – %{comment} join_discussion: Prijavite se za pridružitev pogovoru discussion: Pogovor - still_open: Sklop sprememb je Å¡e vedno odprt – pogovor se bo začel, ko bo sklop - sprememb zaključen. + still_open: Nabor sprememb je Å¡e vedno odprt – pogovor se bo začel, ko bo nabor + sprememb zaprt. node: title_html: 'Vozlišče: %{name}' history_title_html: 'Zgodovina vozlišča: %{name}' @@ -440,7 +440,7 @@ sl: node: vozlišče way: pot relation: relacija - changeset: sklop sprememb + changeset: nabor sprememb note: opomba timeout: title: Napaka časovne omejitve @@ -449,7 +449,7 @@ sl: node: vozlišče way: pot relation: relacija - changeset: sklop sprememb + changeset: nabor sprememb note: opomba redacted: redaction: Redakcija %{id} @@ -488,7 +488,7 @@ sl: changeset: anonymous: Anonimen no_edits: (brez urejanj) - view_changeset_details: Ogled podrobnosti sklopa sprememb + view_changeset_details: Ogled podrobnosti nabora sprememb changesets: id: ID saved_at: Shranjeno ob @@ -502,26 +502,26 @@ sl: title_friend: Množice sprememb mojih prijateljev title_nearby: Sklopi sprememb bližnjih uporabnikov empty: Ni najdenih množic sprememb. - empty_area: Na tem območju ni sklopov sprememb. + empty_area: Na tem območju ni naborov sprememb. empty_user: Ni množic sprememb tega uporabnika. - no_more: Ni drugih najdenih sklopov sprememb. + no_more: Ni drugih najdenih naborov sprememb. no_more_area: Na tem območju ni drugih množic sprememb. - no_more_user: Ni drugih sklopov sprememb tega uporabnika. + no_more_user: Ni drugih naborov sprememb tega uporabnika. load_more: Naloži več timeout: - sorry: Žal je trajalo pridobivanje zahtevanega sklopa sprememb predolgo. + sorry: Žal je trajalo pridobivanje zahtevanega nabora sprememb predolgo. changeset_comments: comment: - comment: 'Nov komentar o sklopu sprememb #%{changeset_id} uporabnika %{author}' + comment: 'Nov komentar o naboru sprememb #%{changeset_id} uporabnika %{author}' commented_at_by_html: Posodobil_a %{user} %{when} comments: - comment: 'Nov komentar o sklopu sprememb #%{changeset_id} uporabnika %{author}' + comment: 'Nov komentar o naboru sprememb #%{changeset_id} uporabnika %{author}' index: - title_all: Razprava o sklopu sprememb OpenStreetMap - title_particular: 'Razprava o sklopu sprememb OpenStreetMap #%{changeset_id}' + title_all: Razprava o naboru sprememb OpenStreetMap + title_particular: 'Razprava o naboru sprememb OpenStreetMap #%{changeset_id}' timeout: - sorry: Žal je trajalo pridobivanje seznama zahtevanih komentarjev sklopov sprememb - predolgo. + sorry: Žal je trajalo pridobivanje seznama komentarjev nabora sprememb, ki ste + ga zahtevali, predolgo. dashboards: contact: km away: oddaljen %{count} km @@ -1720,26 +1720,26 @@ sl: hi: Pozdravljeni, %{to_user}, greeting: Pozdravljeni, commented: - subject_own: '[OpenStreetMap] %{commenter} je komentiral enega od vaÅ¡ih sklopov + subject_own: '[OpenStreetMap] %{commenter} je komentiral enega od vaÅ¡ih naborov sprememb' subject_other: '[OpenStreetMap] %{commenter} je komentiral množico sprememb, ki vas zanima' - your_changeset: '%{commenter} je %{time} komentiral enega od vaÅ¡ih sklopov + your_changeset: '%{commenter} je %{time} komentiral enega od vaÅ¡ih naborov sprememb' your_changeset_html: '%{commenter} je %{time} podal komentar na enega od vaÅ¡ih - sklopov sprememb' - commented_changeset: '%{commenter} je %{time} komentiral sklop sprememb, ki + naborov sprememb' + commented_changeset: '%{commenter} je %{time} komentiral nabor sprememb, ki ga spremljate in ga je ustvaril %{changeset_author}' - commented_changeset_html: '%{commenter} je podal komentar na sklop sprememb, + commented_changeset_html: '%{commenter} je podal komentar na nabor sprememb, ki ga opazujete in ki ga je %{time} ustvaril %{changeset_author}' partial_changeset_with_comment: s komentarjem »%{changeset_comment}« partial_changeset_with_comment_html: s komentarjem »%{changeset_comment}« partial_changeset_without_comment: brez komentarja - details: Več podrobnosti o tem sklopu sprememb lahko najdete na %{url}. - details_html: Več podrobnosti o tem sklopu sprememb lahko najdete na %{url}. - unsubscribe: Če se želite odnaročiti od obveščanja o tem sklopu sprememb, obiščite + details: Več podrobnosti o tem naboru sprememb lahko najdete na %{url}. + details_html: Več podrobnosti o tem naboru sprememb lahko najdete na %{url}. + unsubscribe: Če se želite odnaročiti od obveščanja o tem naboru sprememb, obiščite %{url} in kliknite »Odnaroči«. - unsubscribe_html: Če se želite odnaročiti od obveščanja o tem sklopu sprememb, + unsubscribe_html: Če se želite odnaročiti od obveščanja o tem naboru sprememb, obiščite %{url} in kliknite »Odnaroči«. confirmations: confirm: @@ -1895,6 +1895,9 @@ sl: home location: Domača lokacija no home location: Niste nastavili vaÅ¡e domače lokacije. update home location on click: Posodobim domačo lokacijo ob kliku zemljevida? + show: Prikaži + delete: IzbriÅ¡i + undelete: Razvljavi izbris update: success: Profil posodobljen. failure: Profila ni bilo mogoče posodobiti. diff --git a/config/locales/zh-TW.yml b/config/locales/zh-TW.yml index 4d74ecd41..085c06003 100644 --- a/config/locales/zh-TW.yml +++ b/config/locales/zh-TW.yml @@ -1778,6 +1778,9 @@ zh-TW: home location: 家的位置 no home location: 您尚未輸入家的位置。 update home location on click: 當我點選地圖時更新家的位置? + show: 顯示 + delete: 刪除 + undelete: 還原刪除 update: success: 已更新基本資料。 failure: 無法更新個人資料。 diff --git a/config/settings.yml b/config/settings.yml index ec6cedb5a..49b4531ad 100644 --- a/config/settings.yml +++ b/config/settings.yml @@ -27,6 +27,10 @@ status: "online" max_request_area: 0.25 # Number of GPS trace/trackpoints returned per-page tracepoints_per_page: 5000 +# Default limit on the number of changesets returned by the changeset query api method +default_changeset_query_limit: 100 +# Maximum limit on the number of changesets returned by the changeset query api method +max_changeset_query_limit: 100 # Maximum number of nodes that will be returned by the api in a map request max_number_of_nodes: 50000 # Maximum number of nodes that can be in a way (checked on save) diff --git a/test/controllers/api/capabilities_controller_test.rb b/test/controllers/api/capabilities_controller_test.rb index 9d6de4a6f..aa8e21938 100644 --- a/test/controllers/api/capabilities_controller_test.rb +++ b/test/controllers/api/capabilities_controller_test.rb @@ -9,10 +9,18 @@ module Api { :path => "/api/capabilities", :method => :get }, { :controller => "api/capabilities", :action => "show" } ) + assert_routing( + { :path => "/api/capabilities.json", :method => :get }, + { :controller => "api/capabilities", :action => "show", :format => "json" } + ) assert_recognizes( { :controller => "api/capabilities", :action => "show" }, { :path => "/api/0.6/capabilities", :method => :get } ) + assert_recognizes( + { :controller => "api/capabilities", :action => "show", :format => "json" }, + { :path => "/api/0.6/capabilities.json", :method => :get } + ) end def test_capabilities @@ -32,5 +40,28 @@ module Api end end end + + def test_capabilities_json + get api_capabilities_path, :params => { :format => "json" } + assert_response :success + js = ActiveSupport::JSON.decode(@response.body) + assert_not_nil js + + assert_equal Settings.api_version, js["version"] + assert_equal Settings.generator, js["generator"] + assert_equal Settings.api_version, js["api"]["version"]["minimum"] + assert_equal Settings.api_version, js["api"]["version"]["maximum"] + assert_equal Settings.max_request_area, js["api"]["area"]["maximum"] + assert_equal Settings.max_note_request_area, js["api"]["note_area"]["maximum"] + assert_equal Settings.tracepoints_per_page, js["api"]["tracepoints"]["per_page"] + assert_equal Changeset::MAX_ELEMENTS, js["api"]["changesets"]["maximum_elements"] + assert_equal Settings.default_changeset_query_limit, js["api"]["changesets"]["default_query_limit"] + assert_equal Settings.max_changeset_query_limit, js["api"]["changesets"]["maximum_query_limit"] + assert_equal Settings.max_number_of_relation_members, js["api"]["relationmembers"]["maximum"] + assert_equal "online", js["api"]["status"]["database"] + assert_equal "online", js["api"]["status"]["api"] + assert_equal "online", js["api"]["status"]["gpx"] + assert_equal Settings.imagery_blacklist.length, js["policy"]["imagery"]["blacklist"].length + end end end diff --git a/test/controllers/api/changesets_controller_test.rb b/test/controllers/api/changesets_controller_test.rb index 40b8bc9f2..4f96e3ecb 100644 --- a/test/controllers/api/changesets_controller_test.rb +++ b/test/controllers/api/changesets_controller_test.rb @@ -151,7 +151,7 @@ module Api get changeset_show_path(changeset) assert_response :success, "cannot get first changeset" - assert_select "osm[version='#{Settings.api_version}'][generator='OpenStreetMap server']", 1 + assert_select "osm[version='#{Settings.api_version}'][generator='#{Settings.generator}']", 1 assert_select "osm>changeset[id='#{changeset.id}']", 1 assert_select "osm>changeset>@open", "true" assert_select "osm>changeset>@created_at", changeset.created_at.xmlschema @@ -161,7 +161,7 @@ module Api get changeset_show_path(changeset), :params => { :include_discussion => true } assert_response :success, "cannot get first changeset with comments" - assert_select "osm[version='#{Settings.api_version}'][generator='OpenStreetMap server']", 1 + assert_select "osm[version='#{Settings.api_version}'][generator='#{Settings.generator}']", 1 assert_select "osm>changeset[id='#{changeset.id}']", 1 assert_select "osm>changeset>@open", "true" assert_select "osm>changeset>@created_at", changeset.created_at.xmlschema @@ -175,7 +175,7 @@ module Api get changeset_show_path(changeset), :params => { :include_discussion => true } assert_response :success, "cannot get closed changeset with comments" - assert_select "osm[version='#{Settings.api_version}'][generator='OpenStreetMap server']", 1 + assert_select "osm[version='#{Settings.api_version}'][generator='#{Settings.generator}']", 1 assert_select "osm>changeset[id='#{changeset.id}']", 1 assert_select "osm>changeset>@open", "false" assert_select "osm>changeset>@created_at", changeset.created_at.xmlschema @@ -194,7 +194,7 @@ module Api assert_not_nil js assert_equal Settings.api_version, js["version"] - assert_equal "OpenStreetMap server", js["generator"] + assert_equal Settings.generator, js["generator"] assert_equal changeset.id, js["changeset"]["id"] assert js["changeset"]["open"] assert_equal changeset.created_at.xmlschema, js["changeset"]["created_at"] @@ -210,7 +210,7 @@ module Api js = ActiveSupport::JSON.decode(@response.body) assert_not_nil js assert_equal Settings.api_version, js["version"] - assert_equal "OpenStreetMap server", js["generator"] + assert_equal Settings.generator, js["generator"] assert_equal changeset.id, js["changeset"]["id"] assert js["changeset"]["open"] assert_equal changeset.created_at.xmlschema, js["changeset"]["created_at"] @@ -247,7 +247,7 @@ module Api assert_not_nil js assert_equal Settings.api_version, js["version"] - assert_equal "OpenStreetMap server", js["generator"] + assert_equal Settings.generator, js["generator"] assert_equal changeset.id, js["changeset"]["id"] assert_not js["changeset"]["open"] assert_equal changeset.created_at.xmlschema, js["changeset"]["created_at"] @@ -521,7 +521,7 @@ module Api "can't upload a simple valid creation to changeset: #{@response.body}" # check the returned payload - assert_select "diffResult[version='#{Settings.api_version}'][generator='OpenStreetMap server']", 1 + assert_select "diffResult[version='#{Settings.api_version}'][generator='#{Settings.generator}']", 1 assert_select "diffResult>node", 1 assert_select "diffResult>way", 1 assert_select "diffResult>relation", 1 @@ -759,7 +759,7 @@ module Api "can't do a conditional delete of in use objects: #{@response.body}" # check the returned payload - assert_select "diffResult[version='#{Settings.api_version}'][generator='OpenStreetMap server']", 1 + assert_select "diffResult[version='#{Settings.api_version}'][generator='#{Settings.generator}']", 1 assert_select "diffResult>node", 1 assert_select "diffResult>way", 1 assert_select "diffResult>relation", 1 @@ -1430,7 +1430,7 @@ module Api "failed to return error in XML format" # check the returned payload - assert_select "osmError[version='#{Settings.api_version}'][generator='OpenStreetMap server']", 1 + assert_select "osmError[version='#{Settings.api_version}'][generator='#{Settings.generator}']", 1 assert_select "osmError>status", 1 assert_select "osmError>message", 1 end @@ -1890,7 +1890,7 @@ module Api assert_not_nil js assert_equal Settings.api_version, js["version"] - assert_equal "OpenStreetMap server", js["generator"] + assert_equal Settings.generator, js["generator"] assert_equal 2, js["changesets"].count # check that the correct error is given when we provide both UID and name @@ -1950,19 +1950,58 @@ module Api get changesets_path assert_response :success - assert_changesets [changeset5, changeset4, changeset3, changeset2, changeset1] + assert_changesets_in_order [changeset5, changeset4, changeset3, changeset2, changeset1] get changesets_path(:limit => "3") assert_response :success - assert_changesets [changeset5, changeset4, changeset3] + assert_changesets_in_order [changeset5, changeset4, changeset3] get changesets_path(:limit => "0") assert_response :bad_request - get changesets_path(:limit => "101") + get changesets_path(:limit => Settings.max_changeset_query_limit) + assert_response :success + assert_changesets_in_order [changeset5, changeset4, changeset3, changeset2, changeset1] + + get changesets_path(:limit => Settings.max_changeset_query_limit + 1) assert_response :bad_request end + ## + # test the query functionality of changesets with the order parameter + def test_query_order + user = create(:user) + changeset1 = create(:changeset, :closed, :user => user, :created_at => Time.utc(2008, 1, 1, 0, 0, 0), :closed_at => Time.utc(2008, 1, 2, 0, 0, 0)) + changeset2 = create(:changeset, :closed, :user => user, :created_at => Time.utc(2008, 2, 1, 0, 0, 0), :closed_at => Time.utc(2008, 2, 2, 0, 0, 0)) + changeset3 = create(:changeset, :closed, :user => user, :created_at => Time.utc(2008, 3, 1, 0, 0, 0), :closed_at => Time.utc(2008, 3, 2, 0, 0, 0)) + changeset4 = create(:changeset, :closed, :user => user, :created_at => Time.utc(2008, 4, 1, 0, 0, 0), :closed_at => Time.utc(2008, 4, 2, 0, 0, 0)) + changeset5 = create(:changeset, :closed, :user => user, :created_at => Time.utc(2008, 5, 1, 0, 0, 0), :closed_at => Time.utc(2008, 5, 2, 0, 0, 0)) + + get changesets_path(:order => "oldest") + assert_response :success + assert_changesets_in_order [changeset1, changeset2, changeset3, changeset4, changeset5] + + get changesets_path(:order => "oldest", :time => "2008-01-01T00:00Z,2018-01-01T00:00Z") + assert_response :success + assert_changesets_in_order [changeset1, changeset2, changeset3, changeset4, changeset5] + + get changesets_path(:order => "oldest", :time => "2008-01-02T00:00Z,2018-01-01T00:00Z") + assert_response :success + assert_changesets_in_order [changeset1, changeset2, changeset3, changeset4, changeset5] + + get changesets_path(:order => "oldest", :time => "2008-01-02T00:01Z,2018-01-01T00:00Z") + assert_response :success + assert_changesets_in_order [changeset2, changeset3, changeset4, changeset5] + + get changesets_path(:order => "oldest", :time => "2008-04-01T00:00Z,2018-01-01T00:00Z") + assert_response :success + assert_changesets_in_order [changeset4, changeset5] + + get changesets_path(:order => "oldest", :time => "2008-06-01T00:00Z,2018-01-01T00:00Z") + assert_response :success + assert_changesets_in_order [] + end + ## # check that errors are returned if garbage is inserted # into query strings @@ -2243,8 +2282,7 @@ module Api private ## - # boilerplate for checking that certain changesets exist in the - # output. + # check that certain changesets exist in the output def assert_changesets(changesets) assert_select "osm>changeset", changesets.size changesets.each do |changeset| @@ -2252,6 +2290,15 @@ module Api end end + ## + # check that certain changesets exist in the output in the specified order + def assert_changesets_in_order(changesets) + assert_select "osm>changeset", changesets.size + changesets.each_with_index do |changeset, index| + assert_select "osm>changeset:nth-child(#{index + 1})[id='#{changeset.id}']", 1 + end + end + ## # update the changeset_id of a way element def update_changeset(xml, changeset_id) diff --git a/test/controllers/api/relations_controller_test.rb b/test/controllers/api/relations_controller_test.rb index eb8f8e022..7f2c19665 100644 --- a/test/controllers/api/relations_controller_test.rb +++ b/test/controllers/api/relations_controller_test.rb @@ -915,7 +915,7 @@ module Api assert_response :success # count one osm element - assert_select "osm[version='#{Settings.api_version}'][generator='OpenStreetMap server']", 1 + assert_select "osm[version='#{Settings.api_version}'][generator='#{Settings.generator}']", 1 # we should have only the expected number of relations assert_select "osm>relation", expected_relations.size diff --git a/test/controllers/diary_entries_controller_test.rb b/test/controllers/diary_entries_controller_test.rb index c9464ffed..6365d46e5 100644 --- a/test/controllers/diary_entries_controller_test.rb +++ b/test/controllers/diary_entries_controller_test.rb @@ -563,35 +563,35 @@ class DiaryEntriesControllerTest < ActionDispatch::IntegrationTest # Try and get the index get diary_entries_path assert_response :success - assert_select "div.diary_post", :count => 20 + assert_select "article.diary_post", :count => 20 assert_select "li.page-item a.page-link", :text => "Older Entries", :count => 1 assert_select "li.page-item.disabled span.page-link", :text => "Newer Entries", :count => 1 # Try and get the second page get css_select("li.page-item a.page-link").first["href"] assert_response :success - assert_select "div.diary_post", :count => 20 + assert_select "article.diary_post", :count => 20 assert_select "li.page-item a.page-link", :text => "Older Entries", :count => 1 assert_select "li.page-item a.page-link", :text => "Newer Entries", :count => 1 # Try and get the third page get css_select("li.page-item a.page-link").first["href"] assert_response :success - assert_select "div.diary_post", :count => 10 + assert_select "article.diary_post", :count => 10 assert_select "li.page-item.disabled span.page-link", :text => "Older Entries", :count => 1 assert_select "li.page-item a.page-link", :text => "Newer Entries", :count => 1 # Go back to the second page get css_select("li.page-item a.page-link").last["href"] assert_response :success - assert_select "div.diary_post", :count => 20 + assert_select "article.diary_post", :count => 20 assert_select "li.page-item a.page-link", :text => "Older Entries", :count => 1 assert_select "li.page-item a.page-link", :text => "Newer Entries", :count => 1 # Go back to the first page get css_select("li.page-item a.page-link").last["href"] assert_response :success - assert_select "div.diary_post", :count => 20 + assert_select "article.diary_post", :count => 20 assert_select "li.page-item a.page-link", :text => "Older Entries", :count => 1 assert_select "li.page-item.disabled span.page-link", :text => "Newer Entries", :count => 1 end @@ -997,7 +997,7 @@ class DiaryEntriesControllerTest < ActionDispatch::IntegrationTest assert_response :success assert_template "index" assert_no_missing_translations - assert_select "div.diary_post", entries.count + assert_select "article.diary_post", entries.count entries.each do |entry| assert_select "a[href=?]", "/user/#{ERB::Util.u(entry.user.display_name)}/diary/#{entry.id}" diff --git a/test/helpers/user_helper_test.rb b/test/helpers/user_helper_test.rb index cb7125cca..044f71681 100644 --- a/test/helpers/user_helper_test.rb +++ b/test/helpers/user_helper_test.rb @@ -111,7 +111,7 @@ class UserHelperTest < ActionView::TestCase def test_openid_logo logo = openid_logo - assert_match %r{^$}, logo + assert_match %r{^$}, logo end def test_auth_button diff --git a/test/models/user_test.rb b/test/models/user_test.rb index 8329b1962..a4ed07e09 100644 --- a/test/models/user_test.rb +++ b/test/models/user_test.rb @@ -239,11 +239,11 @@ class UserTest < ActiveSupport::TestCase assert_predicate create(:administrator_user), :administrator? end - def test_has_role? - assert_not create(:user).has_role?("administrator") - assert_not create(:user).has_role?("moderator") - assert create(:administrator_user).has_role?("administrator") - assert create(:moderator_user).has_role?("moderator") + def test_role? + assert_not create(:user).role?("administrator") + assert_not create(:user).role?("moderator") + assert create(:administrator_user).role?("administrator") + assert create(:moderator_user).role?("moderator") end def test_soft_destroy diff --git a/yarn.lock b/yarn.lock index 2be69e654..5ff60cd30 100644 --- a/yarn.lock +++ b/yarn.lock @@ -19,10 +19,10 @@ resolved "https://registry.yarnpkg.com/@eslint-community/regexpp/-/regexpp-4.6.2.tgz#1816b5f6948029c5eaacb0703b850ee0cb37d8f8" integrity sha512-pPTNuaAG3QMH+buKyBIGJs3g/S5y0caxw0ygM3YyE6yJFySwiGGSzA+mM3KJ8QQvzeLh3blwgSonkFjgQdxzMw== -"@eslint/eslintrc@^2.1.1": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.1.tgz#18d635e24ad35f7276e8a49d135c7d3ca6a46f93" - integrity sha512-9t7ZA7NGGK8ckelF0PQCfcxIUzs1Md5rrO6U/c+FIQNanea5UZC0wqKXH4vHBccmu4ZJgZ2idtPeW7+Q2npOEA== +"@eslint/eslintrc@^2.1.2": + version "2.1.2" + resolved "https://registry.yarnpkg.com/@eslint/eslintrc/-/eslintrc-2.1.2.tgz#c6936b4b328c64496692f76944e755738be62396" + integrity sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g== dependencies: ajv "^6.12.4" debug "^4.3.2" @@ -34,10 +34,10 @@ minimatch "^3.1.2" strip-json-comments "^3.1.1" -"@eslint/js@^8.46.0": - version "8.46.0" - resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.46.0.tgz#3f7802972e8b6fe3f88ed1aabc74ec596c456db6" - integrity sha512-a8TLtmPi8xzPkCbp/OGFUo5yhRkHM2Ko9kOWP4znJr0WAhWyThaw3PnwX4vOTWOAMsV2uRt32PPDcEz63esSaA== +"@eslint/js@^8.47.0": + version "8.47.0" + resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.47.0.tgz#5478fdf443ff8158f9de171c704ae45308696c7d" + integrity sha512-P6omY1zv5MItm93kLM8s2vr1HICJH8v0dvddDhysbIuZ+vcjOHg5Zbkf1mTkcmi2JA9oBG2anOkRnW8WJTS8Og== "@humanwhocodes/config-array@^0.11.10": version "0.11.10" @@ -218,20 +218,20 @@ eslint-scope@^7.2.2: esrecurse "^4.3.0" estraverse "^5.2.0" -eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.2: - version "3.4.2" - resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.2.tgz#8c2095440eca8c933bedcadf16fefa44dbe9ba5f" - integrity sha512-8drBzUEyZ2llkpCA67iYrgEssKDUu68V8ChqqOfFupIaG/LCVPUT+CoGJpT77zJprs4T/W7p07LP7zAIMuweVw== +eslint-visitor-keys@^3.3.0, eslint-visitor-keys@^3.4.1, eslint-visitor-keys@^3.4.3: + version "3.4.3" + resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz#0cd72fe8550e3c2eae156a96a4dddcd1c8ac5800" + integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag== eslint@^8.0.0: - version "8.46.0" - resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.46.0.tgz#a06a0ff6974e53e643acc42d1dcf2e7f797b3552" - integrity sha512-cIO74PvbW0qU8e0mIvk5IV3ToWdCq5FYG6gWPHHkx6gNdjlbAYvtfHmlCMXxjcoVaIdwy/IAt3+mDkZkfvb2Dg== + version "8.47.0" + resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.47.0.tgz#c95f9b935463fb4fad7005e626c7621052e90806" + integrity sha512-spUQWrdPt+pRVP1TTJLmfRNJJHHZryFmptzcafwSvHsceV81djHOdnEeDmkdotZyLNjDhrOasNK8nikkoG1O8Q== dependencies: "@eslint-community/eslint-utils" "^4.2.0" "@eslint-community/regexpp" "^4.6.1" - "@eslint/eslintrc" "^2.1.1" - "@eslint/js" "^8.46.0" + "@eslint/eslintrc" "^2.1.2" + "@eslint/js" "^8.47.0" "@humanwhocodes/config-array" "^0.11.10" "@humanwhocodes/module-importer" "^1.0.1" "@nodelib/fs.walk" "^1.2.8" @@ -242,7 +242,7 @@ eslint@^8.0.0: doctrine "^3.0.0" escape-string-regexp "^4.0.0" eslint-scope "^7.2.2" - eslint-visitor-keys "^3.4.2" + eslint-visitor-keys "^3.4.3" espree "^9.6.1" esquery "^1.4.2" esutils "^2.0.2"