Rails:
Enabled: true
-# Config can be removed after https://github.com/rubocop/rubocop-factory_bot/issues/53
-FactoryBot/AssociationStyle:
- Include:
- - 'test/factories/**/*'
-
Layout/ExtraSpacing:
AllowForAlignment: true
curl \
default-jre-headless \
file \
+ git-core \
gpg-agent \
libarchive-dev \
libffi-dev \
gem "pg"
# Use SCSS for stylesheets
-gem "sassc-rails"
+gem "dartsass-sprockets"
+# Pin the dependentent sass-embedded to avoid deprecation warnings in bootstrap
+gem "sass-embedded", "~> 1.64.0"
# Use Terser as compressor for JavaScript assets
gem "terser"
gem "actionpack-page_caching", ">= 1.2.0"
gem "activerecord-import"
gem "active_record_union"
-gem "bootstrap", "~> 5.1.0"
+gem "bootstrap", :github => "gravitystorm/bootstrap-rubygem", :branch => "dartsass_5_2_3"
gem "bootstrap_form", "~> 5.0"
gem "cancancan"
gem "composite_primary_keys", "~> 14.0.0"
+GIT
+ remote: https://github.com/gravitystorm/bootstrap-rubygem.git
+ revision: 7bd2caa8a2897a55892915a789d4e020906adb60
+ branch: dartsass_5_2_3
+ specs:
+ bootstrap (5.2.3)
+ autoprefixer-rails (>= 9.1.0)
+ popper_js (>= 2.11.6, < 3)
+
GEM
remote: https://rubygems.org/
specs:
autoprefixer-rails (10.4.15.0)
execjs (~> 2)
aws-eventstream (1.2.0)
- aws-partitions (1.820.0)
- aws-sdk-core (3.181.0)
+ aws-partitions (1.831.0)
+ aws-sdk-core (3.185.0)
aws-eventstream (~> 1, >= 1.0.2)
aws-partitions (~> 1, >= 1.651.0)
aws-sigv4 (~> 1.5)
jmespath (~> 1, >= 1.6.1)
- aws-sdk-kms (1.71.0)
- aws-sdk-core (~> 3, >= 3.177.0)
+ aws-sdk-kms (1.72.0)
+ aws-sdk-core (~> 3, >= 3.184.0)
aws-sigv4 (~> 1.1)
- aws-sdk-s3 (1.134.0)
+ aws-sdk-s3 (1.136.0)
aws-sdk-core (~> 3, >= 3.181.0)
aws-sdk-kms (~> 1)
aws-sigv4 (~> 1.6)
debug_inspector (>= 0.0.1)
bootsnap (1.16.0)
msgpack (~> 1.2)
- bootstrap (5.1.3)
- autoprefixer-rails (>= 9.1.0)
- popper_js (>= 2.9.3, < 3)
- sassc-rails (>= 2.0.0)
- bootstrap_form (5.2.3)
- actionpack (>= 6.0)
- activemodel (>= 6.0)
+ bootstrap_form (5.3.2)
+ actionpack (>= 6.1)
+ activemodel (>= 6.1)
brakeman (6.0.1)
brotli (0.4.0)
browser (5.3.1)
crack (0.4.5)
rexml
crass (1.0.6)
- dalli (3.2.5)
+ dalli (3.2.6)
+ dartsass-ruby (3.0.1)
+ sass-embedded (~> 1.54)
+ dartsass-sprockets (3.0.0)
+ dartsass-ruby (~> 3.0)
+ railties (>= 4.0.0)
+ sprockets (> 3.0)
+ sprockets-rails
+ tilt
date (3.3.3)
debug_inspector (1.1.0)
deep_merge (1.2.2)
docile (1.4.0)
doorkeeper (5.6.6)
railties (>= 5)
- doorkeeper-i18n (5.2.6)
+ doorkeeper-i18n (5.2.7)
doorkeeper (>= 5.2)
doorkeeper-openid_connect (1.8.7)
doorkeeper (>= 5.5, < 5.7)
rubocop
smart_properties
erubi (1.12.0)
- execjs (2.9.0)
+ execjs (2.9.1)
exifr (1.4.0)
factory_bot (6.2.1)
activesupport (>= 5.0.0)
faraday-net_http (>= 2.0, < 3.1)
ruby2_keywords (>= 0.0.4)
faraday-net_http (3.0.2)
- ffi (1.15.5)
+ ffi (1.16.2)
ffi-compiler (1.0.1)
ffi (>= 1.0.0)
rake
- ffi-libarchive (1.1.3)
+ ffi-libarchive (1.1.13)
ffi (~> 1.0)
frozen_record (0.27.0)
activemodel
ffi (>= 1.0.0)
globalid (1.2.1)
activesupport (>= 6.1)
+ google-protobuf (3.24.3)
hashdiff (1.0.1)
hashie (5.0.0)
highline (2.1.0)
net-protocol
net-protocol (0.2.1)
timeout
- net-smtp (0.3.3)
+ net-smtp (0.4.0)
net-protocol
nio4r (2.5.9)
nokogiri (1.15.4)
rinku (2.0.6)
rotp (6.3.0)
rouge (4.1.3)
- rubocop (1.56.3)
+ rubocop (1.56.4)
base64 (~> 0.1.1)
json (~> 2.3)
language_server-protocol (>= 3.17.0)
unicode-display_width (>= 2.4.0, < 3.0)
rubocop-ast (1.29.0)
parser (>= 3.2.1.0)
- rubocop-capybara (2.18.0)
+ rubocop-capybara (2.19.0)
rubocop (~> 1.41)
- rubocop-factory_bot (2.23.1)
+ rubocop-factory_bot (2.24.0)
rubocop (~> 1.33)
- rubocop-minitest (0.31.1)
+ rubocop-minitest (0.32.2)
rubocop (>= 1.39, < 2.0)
- rubocop-performance (1.19.0)
+ rubocop-performance (1.19.1)
rubocop (>= 1.7.0, < 2.0)
rubocop-ast (>= 0.4.0)
- rubocop-rails (2.21.0)
+ rubocop-rails (2.21.2)
activesupport (>= 4.2.0)
rack (>= 1.1)
rubocop (>= 1.33.0, < 2.0)
ffi (~> 1.12)
ruby2_keywords (0.0.5)
rubyzip (2.3.2)
- sanitize (6.0.2)
+ sanitize (6.1.0)
crass (~> 1.0.2)
nokogiri (>= 1.12.0)
- sassc (2.4.0)
- ffi (~> 1.9)
- sassc-rails (2.1.2)
- railties (>= 4.0.0)
- sassc (>= 2.0)
- sprockets (> 3.0)
- sprockets-rails
- tilt
+ sass-embedded (1.64.2)
+ google-protobuf (~> 3.23)
+ rake (>= 13.0.0)
secure_headers (6.5.0)
- selenium-webdriver (4.12.0)
+ selenium-webdriver (4.13.1)
rexml (~> 3.2, >= 3.2.5)
rubyzip (>= 1.2.2, < 3.0)
websocket (~> 1.0)
actionpack (>= 5.2)
activesupport (>= 5.2)
sprockets (>= 3.0.0)
- strong_migrations (1.6.1)
+ strong_migrations (1.6.3)
activerecord (>= 5.2)
terminal-table (3.0.2)
unicode-display_width (>= 1.1.1, < 3)
terser (1.1.18)
execjs (>= 0.3.0, < 3)
thor (1.2.2)
- tilt (2.2.0)
+ tilt (2.3.0)
timeout (0.4.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
- unicode-display_width (2.4.2)
+ unicode-display_width (2.5.0)
validates_email_format_of (1.7.2)
i18n
vendorer (0.2.0)
addressable (>= 2.8.0)
crack (>= 0.3.2)
hashdiff (>= 0.4.0, < 2.0.0)
- websocket (1.2.9)
+ websocket (1.2.10)
websocket-driver (0.7.6)
websocket-extensions (>= 0.1.0)
websocket-extensions (0.1.5)
xpath (3.2.0)
nokogiri (~> 1.8)
- zeitwerk (2.6.11)
+ zeitwerk (2.6.12)
PLATFORMS
ruby
better_errors
binding_of_caller
bootsnap (>= 1.4.2)
- bootstrap (~> 5.1.0)
+ bootstrap!
bootstrap_form (~> 5.0)
brakeman
browser
config
connection_pool
dalli
+ dartsass-sprockets
debug_inspector
delayed_job_active_record
doorkeeper
rubocop-rails
rubocop-rake
sanitize
- sassc-rails
+ sass-embedded (~> 1.64.0)
secure_headers
selenium-webdriver
simplecov
webmock
BUNDLED WITH
- 2.3.26
+ 2.4.19
folder 'img', 'src/img'
end
- from 'https://github.com/jfirebaugh/leaflet-osm.git' do
+ from 'https://github.com/openstreetmap/leaflet-osm.git' do
file 'leaflet.osm.js', 'leaflet-osm.js'
end
}).prop("outerHTML");
var thunderforest = I18n.t("javascripts.map.thunderforest_credit", { thunderforest_link: thunderforest_link });
+ var tracestrack_link = $("<a>", {
+ href: "https://www.tracestrack.com/",
+ target: "_blank",
+ text: I18n.t("javascripts.map.tracestrack")
+ }).prop("outerHTML");
+ var tracestrack = I18n.t("javascripts.map.tracestrack_credit", { tracestrack_link: tracestrack_link });
+
var memomaps_link = $("<a>", {
href: "https://memomaps.de/",
target: "_blank",
}));
}
+ if (OSM.TRACESTRACK_KEY) {
+ this.baseLayers.push(new L.OSM.TracestrackTopo({
+ attribution: copyright + ". " + tracestrack + ". " + terms,
+ apikey: OSM.TRACESTRACK_KEY,
+ code: "P",
+ keyid: "tracestracktopo",
+ name: I18n.t("javascripts.map.base.tracestracktop_topo")
+ }));
+ }
+
this.baseLayers.push(new L.OSM.OPNVKarte({
attribution: copyright + ". " + memomaps + ". " + terms,
code: "O",
THUNDERFOREST_KEY: <%= Settings.thunderforest_key.to_json %>,
<% end %>
+<% if Settings.key?(:tracestrack_key) %>
+ TRACESTRACK_KEY: <%= Settings.tracestrack_key.to_json %>,
+<% end %>
+
MARKER_GREEN: <%= image_path("marker-green.png").to_json %>,
MARKER_RED: <%= image_path("marker-red.png").to_json %>,
nav.primary {
- .btn-outline-primary {
+ & > .btn-group .btn-outline-primary {
@include button-outline-variant($green, $color-hover: $white, $active-color: $white);
}
}
}
- .comments {
- color: $darkgrey;
- }
-
- .comments-0 {
- opacity: 0.5;
- }
-
.changeset_more .loader {
display: none;
width: 100%;
.search_form {
background-color: $lightgrey;
+ #query {
+ z-index: 0;
+ }
+
.describe_location {
- top: 6px;
- right: 6px;
font-size: 10px;
- color: $blue;
}
}
code {
background: $lightgrey;
padding: 2px 3px;
- direction: inherit; /* fix for Bootstrap < 5.2 */
- unicode-bidi: unset; /* fix for Bootstrap < 5.2 */
}
pre {
+html {
+ height: 100%;
+}
+
+body {
+ height: 100%;
+ margin: 0;
+}
+
+#content {
+ height: 100%;
+}
+
header,
-#sidebar,
-#permalink,
.leaflet-control {
display: none;
}
-html {
- height: 100%;
+.map-layout .overlay-sidebar #sidebar {
+ display: none;
+}
+
+.map-layout #sidebar {
+ page-break-after: always;
+
+ & > * {
+ display: none;
+ }
+ #sidebar_content {
+ display: unset;
+ }
+
+ button,
+ input,
+ textarea,
+ .secondary-actions {
+ display: none;
+ }
+}
+
+#map-ui {
+ display: none !important;
}
#map {
- position: absolute !important;
- top: 0;
- bottom: 40px;
- left: 0;
- right: 0;
+ position: relative;
+ height: calc(100% - 40px);
+ box-sizing: border-box;
border: 1px solid black;
}
/* Rules for attribution text under the main map shown on printouts */
#attribution {
- position: absolute !important;
- bottom: 0;
- left: 0;
- right: 0;
+ page-break-inside: avoid;
height: 40px;
font-size: 12px;
text-align: center;
module BannerHelper
def active_banners
BANNERS.reject do |_k, v|
- enddate = v[:enddate]
begin
- parsed = enddate && Date.parse(enddate)
+ startdate = v[:startdate] && Date.parse(v[:startdate])
rescue StandardError
- parsed = nil
+ startdate = nil
end
- !parsed.is_a?(Date) || (parsed.is_a?(Date) && parsed.past?)
+
+ begin
+ enddate = v[:enddate] && Date.parse(v[:enddate])
+ rescue StandardError
+ enddate = nil
+ end
+
+ startdate&.future? || enddate&.past?
end
end
end
def open_issues_count
- count = Issue.visible_to(current_user).open.limit(100).size
- if count > 99
- tag.span("99+", :class => "badge count-number")
+ count = Issue.visible_to(current_user).open.limit(Settings.max_issues_count).size
+ if count >= Settings.max_issues_count
+ tag.span(I18n.t("count.at_least_pattern", :count => Settings.max_issues_count), :class => "badge count-number")
elsif count.positive?
tag.span(count, :class => "badge count-number")
end
end
if image
- svg_icon = tag.source(:srcset => image_path("#{image}.svg"), :type => "image/svg+xml")
- png_icon = image_tag("#{image}.png", :srcset => image_path("#{image}.svg"), :size => "20x20", :border => 0, :alt => alt, :title => title)
- icon = tag.picture(svg_icon + png_icon)
+ icon = image_tag("#{image}.png", :srcset => image_path("#{image}.svg"), :size => "20x20", :border => 0, :alt => alt, :title => title)
icon = link_to(icon, url, :method => :post, :data => { :confirm => confirm }) if url
end
<div class="alert alert-danger row mx-0 p-3 align-items-center">
<div class="col-auto">
- <picture>
- <source srcset="<%= image_path "notice.svg" %>" type="image/svg+xml"></source>
- <%= image_tag("notice.png", :srcset => image_path("notice.svg")) %>
- </picture>
+ <%= image_tag("notice.png", :srcset => image_path("notice.svg")) %>
</div>
<div class="col">
<p class="mb-0"><%= t ".warning" %></p>
#<%= changeset.id %>
</a>
</div>
- <div class="col-auto comments comments-<%= changeset.comments.length %>">
+ <div class="col-auto text-secondary<%= " opacity-50" if changeset.comments.empty? %>">
<%= changeset.comments.length %>
<span class="icon note grey"></span>
</div>
<% if flash[:error] %>
<div class="alert alert-danger row mx-0 mb-0 p-3 rounded-0 align-items-center">
<div class="col-auto">
- <picture>
- <source srcset="<%= image_path "notice.svg" %>" type="image/svg+xml" />
- <%= image_tag("notice.png", :srcset => image_path("notice.svg")) %>
- </picture>
+ <%= image_tag("notice.png", :srcset => image_path("notice.svg")) %>
</div>
<div class="col"><%= render_flash(flash[:error]) %></div>
</div>
<% if flash[:warning] %>
<div class="alert alert-warning row mx-0 mb-0 p-3 rounded-0 align-items-center">
<div class="col-auto">
- <picture>
- <source srcset="<%= image_path "notice.svg" %>" type="image/svg+xml"></source>
- <%= image_tag("notice.png", :srcset => image_path("notice.svg")) %>
- </picture>
+ <%= image_tag("notice.png", :srcset => image_path("notice.svg")) %>
</div>
<div class="col"><%= render_flash(flash[:warning]) %></div>
</div>
<% if flash[:notice] %>
<div class="alert alert-success row mx-0 mb-0 p-3 rounded-0 align-items-center">
<div class="col-auto">
- <picture>
- <source srcset="<%= image_path "notice.svg" %>" type="image/svg+xml"></source>
- <%= image_tag("notice.png", :srcset => image_path("notice.svg")) %>
- </picture>
+ <%= image_tag("notice.png", :srcset => image_path("notice.svg")) %>
</div>
<div class="col"><%= render_flash(flash[:notice]) %></div>
</div>
<header class="closed clearfix">
<h1>
<a href="<%= root_path %>" class="geolink">
- <picture>
- <source srcset="<%= image_path "osm_logo.svg" %>" type="image/svg+xml" />
- <%= image_tag "osm_logo.png", :srcset => image_path("osm_logo.svg"), :alt => t("layouts.logo.alt_text"), :class => "logo" %>
- </picture>
+ <%= image_tag "osm_logo.png", :srcset => image_path("osm_logo.svg"), :alt => t("layouts.logo.alt_text"), :class => "logo" %>
<%= t "layouts.project_name.h1" %>
</a>
</h1>
<div class="row gx-2 mx-0">
<div class="col">
<div class="input-group flex-nowrap">
- <div class='query_wrapper position-relative flex-grow-1'>
- <%= link_to t("site.search.where_am_i"), "#", :class => "describe_location position-absolute", :title => t("site.search.where_am_i_title") %>
- <%= text_field_tag "query", params[:query], :placeholder => t("site.search.search"), :autofocus => autofocus, :autocomplete => "on", :class => "form-control form-control-sm", :dir => "auto" %>
- </div>
- <div class="input-group-append">
- <%= submit_tag t("site.search.submit_text"), :class => "btn btn-sm btn-primary", :data => { :disable_with => false } %>
+ <%= text_field_tag "query", params[:query], :placeholder => t("site.search.search"), :autofocus => autofocus, :autocomplete => "on", :class => "form-control form-control-sm", :dir => "auto" %>
+ <div class="input-group-text border-start-0 p-0 position-relative">
+ <%= button_tag t("site.search.where_am_i"), :type => "button", :class => "describe_location position-absolute end-0 me-1 btn btn-sm btn-outline-primary border-0 bg-transparent", :title => t("site.search.where_am_i_title") %>
</div>
+ <%= submit_tag t("site.search.submit_text"), :class => "btn btn-sm btn-primary", :data => { :disable_with => false } %>
</div>
</div>
<div class="col-auto">
</head>
<body>
<a href="<%= root_path %>">
- <picture>
- <source srcset="<%= image_path "osm_logo.svg" %>" type="image/svg+xml" />
- <%= image_tag "osm_logo.png", :srcset => image_path("osm_logo.svg"), :alt => t("layouts.logo.alt_text"), :class => "logo" %>
- </picture>
+ <%= image_tag "osm_logo.png", :srcset => image_path("osm_logo.svg"), :alt => t("layouts.logo.alt_text"), :class => "logo" %>
</a>
<div class="details">
<%= yield %>
</li>
<% end %>
- <li class="nav-item flex-sm-grow-1"></li>
- <li class="nav-item">
- <div class="px-3 py-2 py-sm-0">
- <%= link_to({ :action => :georss, :display_name => @target_user&.display_name, :tag => params[:tag] }, { :class => "btn btn-secondary btn-sm" }) do %>
- <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" fill="white" viewBox="0 0 16 16">
- <path d="M5.5 12a1.5 1.5 0 1 1-3 0 1.5 1.5 0 0 1 3 0zm-3-8.5a1 1 0 0 1 1-1c5.523 0 10 4.477 10 10a1 1 0 1 1-2 0 8 8 0 0 0-8-8 1 1 0 0 1-1-1zm0 4a1 1 0 0 1 1-1 6 6 0 0 1 6 6 1 1 0 1 1-2 0 4 4 0 0 0-4-4 1 1 0 0 1-1-1z" />
- </svg>
- <% end -%>
- <%= link_to t(".upload_trace"), new_trace_path, :class => "btn btn-secondary btn-sm" %>
+ <li class="nav-item ms-auto">
+ <div class="nav-link pe-0">
+ <%= link_to({ :action => :georss, :display_name => @target_user&.display_name, :tag => params[:tag] }, { :class => "btn btn-secondary btn-sm my-n2 align-baseline border-0" }) do %>
+ <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" class="align-text-bottom">
+ <circle cx="2" cy="14" r="2" fill="white" />
+ <path d="M 8 14 a 6 6 0 0 0 -6 -6 M 14 14 a 12 12 0 0 0 -12 -12" fill="none" stroke="white" stroke-width="3" stroke-linecap="round" />
+ </svg><% end -%>
+ <%= link_to t(".upload_trace"), new_trace_path, :class => "btn btn-secondary btn-sm my-n2 align-baseline border-0" %>
</div>
</li>
</ul>
- [banners/donate_2023_1@2x.jpg, 2x]
dark: true
enddate: 2023-dec-31
+sotmeu_2023:
+ id: sotmeu_2023
+ alt: State of the Map Europe 2023
+ link: https://stateofthemap.eu/
+ img: banners/StateoftheMapEurope_2023.png
+ startdate: 2023-oct-05
+ enddate: 2023-nov-05
required(:tracepoints_per_page).filled(:int?)
required(:max_number_of_way_nodes).filled(:int?)
required(:max_number_of_relation_members).filled(:int?)
+ required(:max_issues_count).filled(:int?)
required(:api_timeout).filled(:int?)
required(:imagery_blacklist).maybe(:array?)
required(:status).filled(:str?, :included_in? => ALLOWED_STATUS)
:form_action => %w['self'],
:frame_ancestors => %w['self'],
:frame_src => %w['self'],
- :img_src => %w['self' data: www.gravatar.com *.wp.com tile.openstreetmap.org *.tile.openstreetmap.org *.tile.thunderforest.com tileserver.memomaps.de *.openstreetmap.fr],
+ :img_src => %w['self' data: www.gravatar.com *.wp.com tile.openstreetmap.org *.tile.openstreetmap.org *.tile.thunderforest.com tileserver.memomaps.de tile.tracestrack.com *.openstreetmap.fr],
:manifest_src => %w['self'],
:media_src => %w['none'],
:object_src => %w['self'],
public_traces_from: آثار جي بي إس عمومية من %{user}
description: تصفح أحدث مسارات GPS المرفوعة
tagged_with: بالوسم %{tags}
+ wiki_page: صفحة ويكي
upload_trace: حمل أثر
my_traces: أثري في GPS
destroy:
level2: Държавна граница
level4: Държавна граница
level5: Граница на региона
- level6: Ð\94Ñ\8aÑ\80жавна граница
- level8: Ð\93Ñ\80аниÑ\86а на гÑ\80ада
+ level6: Ð\9eблаÑ\81Ñ\82на граница
+ level8: Ð\93Ñ\80аниÑ\86а на землиÑ\89е
level9: Граница на селото
level10: Граница на предградията
types:
time:
formats:
friendly: '%e %B %Y da %H:%M'
+ count:
+ at_least_pattern: '%{count}+'
helpers:
file:
prompt: Dibab ur restr
retain_caveats: 'Koulskoude, miret e vo un nebeut titouroù diwar ho penn e
OpenStreetMap goude ma vefe bet dilamet ho kont:'
retain_edits: Ho kemmoù degaset d'ar gartenn, ma'z eus anezho, a vo dalc'het.
+ retain_traces: Ar roudoù ho peus enporzhiet, ma'z eus anezho, a vo dalc'het.
retain_diary_entries: Hoc'h enmonedoù hag evezhiadennoù en deiz-levr, ma'z
eus anezho, a vo miret met kuzhet e vint.
retain_changeset_discussions: Ho kaozeadennoù, ma'z eus anezho, a vo miret.
public_bath: Kibelldi foran
public_bookcase: Levraoueg foran
public_building: Savadur foran
+ ranger_station: Post gward-koad
recycling: Lec'h adaozañ
restaurant: Preti
school: Skol
title: Skouer deverkadur
more_title_html: Titouroù ouzhpenn
more_1_1_osmf_licence_page: Pajenn aotre-implijout diazezadur OSM
+ more_2_1_api_usage_policy: Politikerezh implij an API
+ more_2_1_tile_usage_policy: Politikerezh implij an teol
contributors_title_html: Hor c'henlabourerien
contributors_intro_html: 'Miliadoù a hiniennoù a labour ganimp. Ebarzhiñ a
reomp ivez roadennoù digor eus ajañsoù kartennañ hag eus mamennoù all, hag
remove as friend: Lemel eus ar vignoned
add as friend: Ouzhpennañ d'ar vignoned
mapper since: 'Kartennour abaoe :'
+ uid: 'Kod anaout an implijer:'
ct status: 'Diferadennoù ar c''henlabourer :'
ct undecided: En entremar
ct declined: Nac'het
index:
title: Notennoù kaset pe addispleget gant %{user}
heading: notennoù %{user}
- subheading_html: Notennoù kaset pe addispleget gant %{user}
+ subheading_html: Notennoù %{submitted} pe %{commented} gant %{user}
subheading_submitted: kaset
subheading_commented: skrivet war
no_notes: Notenn ebet
make_a_donation: Ober un donezon
website_and_api_terms: Termenoù-implij al lec'hien hag an API
osm_france: OpenStreetMap Frañs
+ thunderforest_credit: Teol pourchaset gant %{thunderforest_link}
andy_allan: Andy Allan
+ opnvkarte_credit: Teol pourchaset gant %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Teol pourchaset gant %{tracestrack_link}
site:
edit_tooltip: Kemmañ ar gartenn
edit_disabled_tooltip: Zoumañ da zegas kemmoù war ar gartenn
contributors_at_stadt_wien: Ciutat de Viena
contributors_at_cc_by: CC BY
contributors_at_land_vorarlberg: Estat de Vorarlberg
+ contributors_at_cc_by_at_with_amendments: CC BY AT amb esmenes
contributors_au_australia: Austràlia
contributors_ca_canada: Canadà
contributors_fi_finland: Finlàndia
+ contributors_fr_credit_html: '%{france}: Conté dades d''origen de la «Direction
+ Générale des Impôts».'
contributors_fr_france: França
contributors_nl_netherlands: Països Baixos
contributors_nz_new_zealand: Nova Zelanda
contributors_rs_serbia: Sèrbia
contributors_rs_rgz: Autoritat geodèsica sèrbia
contributors_si_slovenia: Eslovènia
+ contributors_si_gu: Autoritat de topografia i cartografia
contributors_si_mkgp: Ministeri d'Agricultura, Forestal i Alimentació
contributors_es_credit_html: |-
%{spain}: conté dades procedents de
remove as friend: Deixa l'amistat
add as friend: Afegeix com a amic
mapper since: 'Cartografiant des de:'
+ uid: 'ID d''usuari:'
ct status: 'Termes de col·laboració:'
ct undecided: No decidit
ct declined: Rebutjat
cyclosm: CyclOSM
cycle_map: Mapa ciclista
transport_map: Mapa de transports
+ tracestracktop_topo: Tracestrack Topo
hot: Humanitari
opnvkarte: ÖPNVKarte (mapa de transport públic)
layers:
andy_allan: Andy Allan
opnvkarte_credit: Tessel·les cortesia de %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Tessel·les cortesia de %{tracestrack_link}
+ tracestrack: Tracestrack
hotosm_credit: Estil de tessel·les per %{hotosm_link}, hostatjades per %{osm_france_link}
hotosm_name: Equip humanitari de l'OpenStreetMap
site:
closed: ДӀачӀагӀа
version: Верси
in_changeset: Нисдарш
- anonymous: цӀе хьулйина
+ anonymous: аноним
no_comment: (коммент йац)
part_of: Дакъалоцу цу
download_xml: Схьаэца XML
telephone_link: Телпо тоха %{phone_number}
query:
title: ХӀун йу кхузахь?
- introduction: УллеÑ\80а обÑ\8aекÑ\82аÑ\88 каÑ\80айан, каÑ\80Ñ\82ан Ñ\82Ó\80еÑ\82аÓ\80ае
+ introduction: УллеÑ\80а обÑ\8aекÑ\82аÑ\88 каÑ\80айан, каÑ\80Ñ\82ин Ñ\82Ó\80еÑ\82аÓ\80айe
nearby: Уллера объекташ
enclosing: Йолу меттиг
changesets:
title_html: Хаам %{link}
categories:
diary_entry:
- other_label: Кхиерг
+ other_label: Ð\9aÑ\85ийеÑ\80г
diary_comment:
- other_label: Кхиерг
+ other_label: Ð\9aÑ\85ийеÑ\80г
user:
- other_label: Кхиерг
+ other_label: Ð\9aÑ\85ийеÑ\80г
note:
- other_label: Кхиерг
+ other_label: Ð\9aÑ\85ийеÑ\80г
layouts:
logout: Болх дӀаберзор
log_in: ЧугӀо
export: Экспорт
issues: Проблемаш
data: Хаамаш
- export_data: Хаамаш экспортъян
+ export_data: Хаамаш экспортбан
gps_traces: GPS-трекаш
gps_traces_tooltip: Болхбе GPS-трекашца
user_diaries: Декъашхочун дневник
hidden_title: 'Къайлайаьккхина билгало #%{note_name}'
report: Хаамбе хӀокху билгалонах
hide: Къайлайаккха
- resolve: Кечъян
+ resolve: Кечйан
reactivate: Йуха йела
comment_and_resolve: Жопделла кечъе
comment: Жопдала
# Author: Bilykralik16
# Author: Chmee2
# Author: Cvanca
+# Author: Decamexd
# Author: DemonioCZ
# Author: DoubyCz
# Author: Dvorapa
prompt: Vyberte soubor
submit:
diary_comment:
- create: Odeslat
+ create: Okomentovat
diary_entry:
create: Publikovat
update: Aktualizovat
message:
create: Odeslat
client_application:
- create: Zaregistrovat
+ create: Registrovat
update: Aktualizovat
oauth2_application:
- create: Zaregistrovat
- update: Uložit
+ create: Registrovat
+ update: Aktualizovat
redaction:
create: Vytvořit redakci
update: Uložit redakci
activerecord:
errors:
messages:
- invalid_email_address: nevypadá jako platná e-mailová adresa
+ invalid_email_address: není platná e-mailová adresa
email_address_not_routable: není routovatelná
models:
acl: Seznam přístupových práv
user: Uživatel
title: Nadpis
body: Obsah
- latitude: Šířka
- longitude: Délka
+ latitude: Zeměpisná šířka
+ longitude: Zeměpisná délka
language_code: Jazyk
doorkeeper/application:
name: Název
visible: Viditelný
name: Název souboru
size: Velikost
- latitude: Šířka
- longitude: Délka
+ latitude: Zeměpisná šířka
+ longitude: Zeměpisná délka
public: Veřejná
description: Popis
gpx_file: Nahrát GPX soubor
auth_uid: Autentifikační UID
email: E-mail
email_confirmation: Potvrzení e-mailu
- new_email: nová emailová adresa
+ new_email: Nová emailová adresa
active: Aktivní
display_name: Zobrazované jméno
description: Popis profilu
reopened_at_by_html: Reaktivováno %{when} od %{user}
rss:
title: Poznámky OpenStreetMap
+ description_all: Seznam nahlášených, komentovaných nebo uzavřených poznámek
description_area: Seznam poznámek hlášených, komentovaných nebo uzavřených
ve vaší oblasti [(%{min_lat}|%{min_lon}) – (%{max_lat}|%{max_lon})]
description_item: RSS kanál k poznámce %{id}
home location: Poloha domova
no home location: Nezadali jste polohu svého bydliště.
update home location on click: Upravit pozici domova při kliknutí na mapu?
+ show: Zobrazit
+ delete: Smazat
+ undelete: Vrátit smazání
update:
success: Profil nastaven.
failure: Nepodařilo se nastavit profil.
support: podporu
shared:
markdown_help:
- heading_html: Analyzováno pomocí %{kramdown_link}
+ heading_html: Zpracovává se %{kramdown_link}
+ kramdown: kramdownem
headings: Nadpisy
heading: Nadpis
subheading: Podnadpis
contributors_at_austria: Rakousko
contributors_at_stadt_wien: města Vídně
contributors_at_cc_by: CC BY
+ contributors_at_cc_by_url: https://creativecommons.org/licenses/by/3.0/at/deed.cs
contributors_at_land_vorarlberg: země Vorarlbersko
contributors_at_cc_by_at_with_amendments: CC BY AT s dodatky
contributors_au_credit_html: '%{australia}: Zahrnuje nebo využívá Administrative
remove as friend: Odebrat z přátel
add as friend: Přidat do přátel
mapper since: 'Účastník projektu od:'
+ uid: 'ID uživatele:'
ct status: 'Podmínky pro přispěvatele:'
ct undecided: Nerozhodnuto
ct declined: Odmítnuty
time:
formats:
friendly: '%e %B %Y am %H:%M'
+ count:
+ at_least_pattern: '%{count}+'
helpers:
file:
prompt: Dewiswch ffeil
create: Cofrestru
update: Diweddaru
redaction:
- create: Creu golygiadau
- update: Cadw golygiadau
+ create: Creu gorchuddiad
+ update: Cadw gorchuddiad
trace:
create: Uwchlwytho
update: Cadw newidiadau
activerecord:
errors:
messages:
- invalid_email_address: nid yw'n ymddangos ei fod yn gyfeiriad ebost dilys
+ invalid_email_address: nid yw'n ymddangos ei fod yn gyfeiriad e-bost dilys
email_address_not_routable: nid yw'n gyrchadwy
models:
acl: Rhestr Rheoli Mynediad
diary_comment: Nodyn Dyddiadur
diary_entry: Cofnod Dyddiadur
friend: Ffrind
- issue: Mater
+ issue: Gwall
language: Iaith
message: Neges
node: Nod
relation_tag: Tag Perthynas
report: Adrodd
session: Sesiwn
- trace: Dargopïo
- tracepoint: Pwynt Dargopïo
- tracetag: Tag Dargopïo
+ trace: Arllwybr
+ tracepoint: Pwynt Arllwybr
+ tracetag: Tag Arllwybr
user: Defnyddiwr
user_preference: Dewis Defnyddiwr
user_token: Tocyn Defnyddiwr
allow_write_prefs: addasu eu dewisiadau defnyddiwr
allow_write_diary: creu cofnodion dyddiadur, sylwadau a gwneud ffrindiau
allow_write_api: golygu'r map
- allow_read_gpx: darllen eu dargopiadau GPS
- allow_write_gpx: uwchlwytho dargopiadau GPS
+ allow_read_gpx: darllen eu harllwybrau GPS
+ allow_write_gpx: uwchlwytho arllwybrau GPS
allow_write_notes: addasu nodiadau
diary_comment:
body: Corff
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_html: Wedi ailgychwyn %{when}
reopened_at_by_html: Wedi ailgychwyn %{when} gan %{user}
rss:
title: Nodiadau OpenStreetMap
show:
title: Dileu fy nghyfrif
delete_account: Dileu cyfrif
+ retain_edits: Bydd eich golygiadau i'r gronfa ddata mapiau, os ydynt yn bodoli,
+ yn cael eu cadw.
retain_changeset_discussions: Bydd eich trafodaethau grwpiau newid, os ydynt
yn bodoli, yn cael eu cadw.
confirm_delete: Ydych chi'n siŵr?
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}
+ edited_ago_by_html: Golygwyd %{time_ago} gan %{user}
version: Fersiwn
in_changeset: Grŵp newid
anonymous: dienw
nearby mapper: Mapiwr gerllaw
friend: Ffrind
show:
- title: Fy Nashfwrdd
+ title: Fy Nangosfwrdd
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 newid eich ffrindiau
- friends_diaries: cofnodion dyddiaduron cyfeillion
+ friends_diaries: cofnodion dyddiaduron ffrindiau
nearby_changesets: grwpiau newid defnyddwyr gerllaw
nearby_diaries: cofnodion dyddiaduron defnyddwyr gerllaw
diary_entries:
failed: Ymddiheuriadau, methwyd ychwanegu %{name} fel ffrind.
already_a_friend: Rydych chi eisoes yn ffrindiau gyda %{name}.
remove_friend:
- heading: Peidio bod yn ffrind i %{user}?
+ heading: Dad-ffrindio %{user}?
button: Dad-ffrindio
success: Tynnwyd %{name} o'ch ffrindiau.
not_a_friend: Nid yw %{name} yn un o'ch ffrindiau.
abandoned: Hen Briffordd
bridleway: Llwybr Ceffyl
bus_guideway: Lon Bysiau
- bus_stop: Stop Bysiau
+ bus_stop: Safle Bws
construction: Priffordd yn cael ei Adeiladu
corridor: Coridor
crossing: Croesfan
house: Tŷ
manor: Maenor
memorial: Cofeb
- mine: Mwynfa
- mine_shaft: Siafft y Mwynglawdd
- monument: Cofadail
+ mine: Mwynglawdd
+ mine_shaft: Siafft Mwynglawdd
+ monument: Cofeb
roman_road: Ffordd Rufeinig
ruins: Adfeilion
stone: Carreg
orchard: Berllan
quarry: Chwarel
railway: Rheilffordd
- recreation_ground: Maes Chwarae
+ recreation_ground: Ardal Chwarae
reservoir: Cronfa Ddŵr
reservoir_watershed: Gwahanfa Ddŵr
residential: Ardal Breswyl
vineyard: Gwinllan
"yes": Defnydd Tir
leisure:
- beach_resort: Ardal Wyliau
+ beach_resort: Cyrchfan Traeth
bird_hide: Cuddfan Adar
common: Tir Comin
dog_park: Parc Cwn
miniature_golf: Golff Pitw
nature_reserve: Gwarchodfa Natur
park: Parc
- pitch: Maes Chwarae
- playground: Lle Chwarae
- recreation_ground: Maes Hamdden
+ pitch: Cae Chwaraeon
+ playground: Ardal Chwarae
+ recreation_ground: Ardal Hamdden
resort: Cyrchfan Gwyliau
sauna: Sawna
slipway: Llithrffordd
surveillance: Gwyliadwraeth
telescope: Telesgop
tower: Tŵr
- wastewater_plant: Gwaith Dŵr Budr
+ wastewater_plant: Gwaith Dŵr Gwastraff
watermill: Melin Ddŵr
water_tower: Tŵr Dŵr
water_well: Ffynnon
coastline: Arfordir
crater: Crater
dune: Twyn
- fell: Rhostir
+ fell: Mynydd-dir
fjord: Ffiord
forest: Coedwig
geyser: Geiser
bed_and_breakfast: Gweldy a Brecwast
cabin: Caban Twristiaeth
camp_pitch: Gwersyll
- camp_site: Man Gwersylla
+ camp_site: Gwersyll
caravan_site: Parc Carafanau
- chalet: Chalet
+ chalet: Sialet
gallery: Galeri
guest_house: Llety
hostel: Hostel
more_results: Mwy o ganlyniadau
issues:
index:
- title: Materion
+ title: Gwallau
select_status: Dewis statws
select_type: Dewis math
not_updated: Heb ei Ddiweddaru
lost password link: Wedi anghofio eich cyfrinair?
login_button: Mewngofnodi
register now: Cofrestru nawr
+ with external: 'Fel arall, defnyddiwch drydydd parti i fewngofnodi:'
no account: Dim cyfrif gennych?
openid_logo_alt: Mewngofnodi gydag OpenID
auth_providers:
english_link: y Saesneg gwreiddiol
native:
title: Ynglŷn â'r dudalen hon
- native_link: Cymraeg
+ native_link: fersiwn Cymraeg
mapping_link: dechrau mapio
legal_babble:
title_html: Hawlfraint a Thrwydded
not_public: Nid ydych wedi gosod eich golygiadau i fod yn gyhoeddus.
user_page_link: tudalen defnyddiwr
anon_edits_link_text: Gweld pam.
+ id_not_configured: iD heb ei ffurfweddu
export:
title: Allforio
area_to_export: Ardal i'w Hallforio
other_concerns:
title: Gofidion eraill
copyright: tudalen hawlfraint
+ working_group: Gweithgor OSMF
help:
title: Cael Cymorth
welcome:
title: IRC
switch2osm:
title: switch2osm
+ welcomemat:
+ title: Ar gyfer Sefydliadau
wiki:
title: Wici OpenStreetMap
description: Archwiliwch y wici am ddogfennau manwl OpenStreetMap.
+ potlatch:
+ change_preferences: Newidiwch eich dewisiadau yma
any_questions:
title: Unrhyw gwestiynau?
sidebar:
secondary: Ffordd eilaidd
unclassified: Ffordd annosbarthedig
track: Trac
- bridleway: Llwybr ceffyl
- cycleway: Llwybr beicio
- cycleway_national: Llwybr beicio cenedlaethol
- cycleway_regional: Llwybr beicio rhanbarthol
- cycleway_local: Llwybr beicio lleol
- footway: Ffordd droed
+ bridleway: Llwybr ceffylau
+ cycleway: Llwybr beiciau
+ cycleway_national: Llwybr beiciau cenedlaethol
+ cycleway_regional: Llwybr beiciau rhanbarthol
+ cycleway_local: Llwybr beiciau lleol
+ footway: Troedffordd
rail: Rheilffordd
- subway: Trenau Tanddaearyddol
+ subway: Trenau tanddaear
tram:
- Rheilffordd ysgafn
- - tram
+ - dram
cable:
- - Car codi
- - Lifft cadair
+ - Car cebl
+ - lifft cadair
runway:
- - Llwybr glanio'r maes awyr
- - atredfa
+ - Llwybr glanio
+ - thacsiffordd maes awyr
apron:
- - Ffedog (y maes awyr)
- - terminws
+ - Llain
+ - therminws maes awyr
admin: Ffin gweinyddol
forest: Coedwig
- wood: Coed
- golf: Cwrs golff
+ wood: Coedlan
+ golf: Maes golff
park: Parc
resident: Ardal breswyl
common:
- Comin
- - dôl
+ - gwaun
- gardd
retail: Ardal adwerthu
- industrial: Ardal diwydiannol
- commercial: Ardal masnachol
- heathland: Rhostir
+ industrial: Ardal ddiwydiannol
+ commercial: Ardal fasnachol
+ heathland: Rhos
lake:
- Llyn
- - cronfa ddŵr
+ - chronfa ddŵr
farm: Fferm
+ brownfield: Safle tir llwyd
cemetery: Mynwent
allotments: Rhandiroedd
- pitch: Maes chwarae
+ pitch: Cae chwaraeon
centre: Canolfan chwaraeon
reserve: Gwarchodfa natur
- military: Ardal milwrol
+ military: Ardal filwrol
school:
- Ysgol
- - prifysgol
- building: Adeilad sylweddol
- station: Gorsaf drenau
+ - phrifysgol
+ building: Adeilad arwyddocâol
+ station: Gorsaf drên
summit:
- Copa
- - Crib
+ - chrib
+ tunnel: Border toredig = twnnel
+ bridge: Border du = pont
private: Mynediad preifat
destination: Mynediad cyrchfan
- construction: Ffyrdd wrthi'n cael eu hadeiladu
+ construction: Ffyrdd yn cael eu hadeiladu
bicycle_shop: Siop feiciau
bicycle_parking: Man parcio beiciau
toilets: Toiledau
title: Cymunedau
other_groups:
title: Grwpiau Eraill
+ communities_wiki: Tudalen wici cymunedau
traces:
new:
+ upload_trace: Uwchlwytho Arllwybr GPS
visibility_help: beth mae hyn yn golygu?
help: Cymorth
+ create:
+ upload_trace: Uwchlwytho Arllwybr GPS
edit:
cancel: Canslo
+ title: Wrthi'n golygu Arllwybr %{name}
+ heading: Wrthi'n golygu Arllwybr %{name}
visibility_help: beth mae hyn yn golygu?
+ update:
+ updated: Arllwybr wedi'i ddiweddaru
trace_optionals:
tags: Tagiau
show:
+ title: Wrthi'n gweld Arllwybr %{name}
+ heading: Wrthi'n gweld Arllwybr %{name}
pending: I DDOD
filename: 'Enw ffeil:'
download: lawrlwytho
uploaded: 'Uwchlwythwyd:'
points: 'Pwyntiau:'
start_coordinates: 'Cyfesuryn cychwynnol:'
+ coordinates_html: '%{latitude}; %{longitude}'
map: map
edit: golygu
owner: 'Perchennog:'
description: 'Disgrifiad:'
tags: 'Tagiau:'
none: Dim
+ edit_trace: Golygu'r arllwybr hwn
+ delete_trace: Dileu'r arllwybr hwn
+ trace_not_found: Heb ganfod arllwybr!
visibility: 'Gwelededd:'
+ confirm_delete: Dileu'r arllwybr hwn?
+ trace_paging_nav:
+ older: Arllwybrau Hŷn
+ newer: Arllwybrau Diweddarach
trace:
pending: I DDOD
count_points:
many: '%{count} pwynt'
other: '%{count} pwynt'
more: mwy
+ trace_details: Gweld Manylion Arllwybr
view_map: Gweld Map
edit_map: Golygu Map
public: CYHOEDDUS
by: gan
in: mewn
index:
+ public_traces: Arllwybrau GPS Cyhoeddus
+ my_gps_traces: Fy Arllwybrau GPS
+ public_traces_from: Arllwybrau GPS Cyhoeddus gan %{user}
+ description: Pori uwchlwythiadau arllwybrau GPS diweddar
tagged_with: tagiwyd gyda %{tags}
+ empty_title: Dim byd yma eto
+ upload_new: Uwchlwytho arllwybr newydd
wiki_page: tudalen wici
+ upload_trace: Uwchlwytho arllwybr
+ all_traces: Pob Arllwybr
+ my_traces: Fy Arllwybrau
+ traces_from: Arllwybrau Cyhoeddus gan %{user}
application:
settings_menu:
account_settings: Gosodiadau Cyfrif
oauth1_settings: Gosodiadau OAuth 1
oauth2_applications: Ceisiadau OAuth 2
+ oauth2_authorizations: Awdurdodiadau OAuth 2
oauth:
authorize:
+ title: Awdurdodi mynediad i'ch cyfrif
allow_to: 'Caniatáu''r rhaglen cleient i:'
allow_read_prefs: ddarllen eich gosodiadau defnyddiwr.
allow_write_prefs: addasu eich gosodiadau defnyddiwr.
delete: Dileu Cleient
confirm: Ydych chi'n siŵr?
index:
+ title: Fy Manylion OAuth
+ application: Enw'r Ap
+ issued_at: Dyddiad awdurdodi
+ revoke: Dirymu!
+ my_apps: Fy Apiau Cleient
oauth: OAuth
oauth2_applications:
index:
+ title: Fy Apiau Cleient
name: Enw
permissions: Caniatâd
application:
edit: Golygu
delete: Dileu
+ confirm_delete: Dileu'r ap hwn?
+ new:
+ title: Cofrestru ap newydd
+ edit:
+ title: Golygu eich ap
show:
edit: Golygu
delete: Dileu
+ confirm_delete: Dileu'r ap hwn?
client_id: ID Cleient
client_secret: Cyfrinach Cleient
permissions: Caniatadau
new:
authorize: Awdurdodi
deny: Gwrthod
+ oauth2_authorized_applications:
+ index:
+ application: Ap
+ permissions: Caniatadau
users:
new:
title: Cofrestru
header: Rhydd ac agored
display name description: Eich enw defnyddiwr cyhoeddus. Gallwch newid hyn yn
nes ymlaen yn eich dewisiadau.
+ use external auth: Fel arall, defnyddiwch drydydd parti i fewngofnodi
continue: Cofrestru
terms accepted: Diolch am dderbyn telerau newydd cyfranwyr!
privacy_policy: polisi preifatrwydd
heading: Telerau
heading_ct: Telerau Cyfranwyr
consider_pd_why: beth yw hwn?
+ readable_summary: crynodeb darllenadwy
informal_translations: cyfieithiadau anffurfiol
continue: Parhau
decline: Gwrthod
+ legale_select: 'Gwlad breswyl:'
legale_names:
france: Ffrainc
italy: Yr Eidal
unhide_user: Datguddio'r Defnyddiwr
delete_user: Dileu'r Defnyddiwr
confirm: Cadarnhau
+ report: Adrodd y defnyddiwr hwn
go_public:
flash success: Mae eich holl olygiadau nawr yn gyhoeddus a gallech nawr parhau
i olygu.
edit:
title: Wrthi'n golygu bloc ar %{name}
heading_html: Wrthi'n golygu bloc ar %{name}
+ revoke:
+ revoke: Dad-flocio!
helper:
time_future_html: Yn dod i ben mewn %{time}.
time_past_html: Wedi dod i ben %{time} yn ôl.
status: 'Statws:'
show: Dangos
edit: Golygu
+ revoke: Dad-flocio!
confirm: Ydych chi'n siŵr?
+ reason: 'Rheswm dros y bloc:'
+ back: Gweld pob bloc
+ revoker: 'Dad-flociwr:'
block:
show: Dangos
edit: Golygu
+ revoke: Dad-flocio!
blocks:
+ display_name: Defnyddwyr wedi'i blocio
creator_name: Crëwr
reason: Rheswm dros flocio
status: Statws
event_commented_by_anonymous_html: Sylw gan berson ddienw %{time_ago}
event_closed_by_html: Datryswyd gan %{user} %{time_ago}
event_closed_by_anonymous_html: Datryswyd gan berson ddienw %{time_ago}
+ event_reopened_by_html: Wedi'i ailysgogi gan %{user} %{time_ago}
+ event_reopened_by_anonymous_html: Wedi'i ailysgogi gan berson ddienw %{time_ago}
event_hidden_by_html: Cuddiwyd gan %{user} %{time_ago}
report: riportio'r nodyn hwn
anonymous_warning: Mae'r nodyn hwn yn cynnwys sylwadau gan ddefnyddwyr dienw
download: Lawrlwytho
short_url: URL Byr
include_marker: Cynnwys marciwr
+ embed:
+ report_problem: Adrodd am broblem
key:
title: Allwedd Map
tooltip: Allwedd Map
hot: Dyngarol
layers:
header: Haenau Mapiau
- notes: Sylwadau Map
+ notes: Nodiadau Map
data: Data Map
+ overlays: Galluogi troshaenau i ddatrys problemau map
title: Haenau
+ openstreetmap_contributors: Cyfranwyr OpenStreetMap
make_a_donation: Rhoi arian
website_and_api_terms: Telerau'r gwefan ac API
+ memomaps: MeMoMaps
+ hotosm_name: Tîm Humanitarian OpenStreetMap
site:
edit_tooltip: Golygu'r map
edit_disabled_tooltip: Chwyddwch mewn i olygu'r map
createnote_disabled_tooltip: Chwyddwch mewn i ychwanegu nodyn i'r map
map_notes_zoom_in_tooltip: Chwyddwch mewn i weld nodiadau'r map
map_data_zoom_in_tooltip: Chwyddwch mewn i weld data'r map
+ queryfeature_tooltip: Manylion nodweddion
changesets:
show:
comment: Sylw
offramp_right: Cymerwch y ramp ar y dde
offramp_right_with_exit: Cymerwch allanfa %{exit} ar y dde
offramp_right_with_exit_name: Cymerwch allanfa %{exit} ar y dde i %{name}
+ via_point_without_exit: (trwy bwynt)
+ follow_without_exit: Dilynwch %{name}
+ start_without_exit: Dechreuwch ar %{name}
+ destination_without_exit: Wedi cyrraedd cyrchfan
+ unnamed: ffordd heb enw
exit_counts:
first: 1af
second: 2il
relation: Perthynas
nothing_found: Ni ddarganfuwyd nodweddion
error: 'Gwall cysyltlu gyda %{server}: %{error}'
+ context:
+ directions_from: Cyfarwyddiadau oddi yma
+ directions_to: Cyfarwyddiadau i yma
+ add_note: Ychwanegu nodyn yma
+ show_address: Dangos cyfeiriad
+ query_features: Manylion nodweddion
+ centre_map: Canoli'r map yma
redactions:
+ edit:
+ heading: Golygu Gorchuddiad
+ title: Golygu Gorchuddiad
+ index:
+ empty: Dim gorchuddiadau i'w dangos.
+ heading: Rhestr Orchuddiadau
+ title: Rhestr Orchuddiadau
+ new:
+ title: Gorchuddiad Newydd
show:
description: 'Disgrifiad:'
+ heading: Gorchuddiad "%{title}"
+ title: Gorchuddiad
user: 'Crëwr:'
+ edit: Golygu'r gorchuddiad hwn
+ destroy: Dileu'r gorchuddiad hwn
confirm: Ydych chi'n siŵr?
+ create:
+ flash: Gorchuddiad wedi'i greu.
update:
flash: Newidiadau wedi'u cadw.
...
openid: OpenID
google: Google
facebook: Facebook
+ microsoft: Microsoft
github: GitHub
wikipedia: Wikipedia
api:
reopened_at_by_html: '%{when} von %{user} reaktiviert'
rss:
title: OpenStreetMap-Hinweise
+ description_all: Eine Liste der gemeldeten, kommentierten oder geschlossenen
+ Notizen
description_area: Übersicht der gemeldeten, kommentierten oder geschlossen
Hinweise im Bereich [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})].
description_item: Ein RSS-Feed für Hinweis %{id}
home location: Heimatstandort
no home location: Du hast noch keinen Standort angegeben.
update home location on click: Standort beim Klick auf die Karte aktualisieren
+ show: Anzeigen
+ delete: Löschen
+ undelete: Löschen rückgängig machen
update:
success: Profil aktualisiert.
failure: Profil konnte nicht aktualisiert werden.
fehlt, dich einzuarbeiten, wie man in OSM Daten editiert, so gib einfach
einen Hinweis/melde einen Fehler, dann kann sich ein anderer Mapper darum
kümmern.
+ the_map: die Karte
communities:
title: Gemeinschaften
lede_text: |-
about_text: Lokale Verbände sind Gruppen auf Landesebene oder Regionsebene,
die den formellen Schritt unternommen haben, einen gemeinnützigen Rechtskörper
zu gründen. Sie repräsentieren die Karte und Kartographen der Region, wenn
- Sie mit der örtlichen Regierung, Wirtschaft oder den Medien zu tun haben.
+ sie mit der örtlichen Regierung, Wirtschaft oder den Medien zu tun haben.
Sie haben auch eine Zusammengehörigkeit mit der OpenStreetMap Foundation
(OSMF) gebildet, was ihnen eine Verbindung zu der Rechts- und Urheberrechtsabteilung
gibt.
list_text: 'Folgende Gemeinschaften sind offiziell als lokale Verbände eingetragen:'
other_groups:
title: Andere Gruppen
+ communities_wiki: Community-Wiki-Seite
traces:
visibility:
private: Privat (werden nur als anonyme, unsortierte Punkte ohne Zeitangaben
empty_title: Noch nichts vorhanden
empty_upload_html: '%{upload_link} oder erfahren Sie mehr über GPS-Tracks auf
der %{wiki_link}.'
+ upload_new: Einen neuen Track hochladen
wiki_page: Wiki-Seite
upload_trace: Lade einen Track hoch
all_traces: Alle Tracks
remove as friend: Freund entfernen
add as friend: Freund hinzufügen
mapper since: 'Mapper seit:'
+ uid: 'Benutzer-ID:'
ct status: 'Bedingungen für Mitwirkende:'
ct undecided: Unentschlossen
ct declined: Abgelehnt
index:
title: Hinweise/Fehler erstellt oder kommentiert von %{user}
heading: Hinweise von %{user}
- subheading_html: Hinweise/Fehler erstellt oder kommentiert von %{user}
+ subheading_html: Hinweise/Fehler %{submitted} oder %{commented} von %{user}
+ subheading_submitted: eingereicht
+ subheading_commented: kommentiert
no_notes: Keine Hinweise
id: ID
creator: Ersteller
reopened_at_by_html: Επανενεργοποιήθηκε %{when} από τον %{user}
rss:
title: Σημειώσεις OpenStreetMap
+ description_all: Μια λίστα με αναφερόμενες, σχολιασμένες ή κλειστές σημειώσεις
description_area: Μια λίστα με σημειώσεις, που αναφέρθηκαν, σχολιάστηκαν ή
επιλύθηκαν στην περιοχή σας [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
description_item: Μια τροφοδοσία rss για τη σημείωση %{id}
delete_account: Διαγραφή λογαριασμού...
go_public:
heading: Δημόσια επεξεργασία
+ currently_not_public: Προς το παρόν, οι αλλαγές σας είναι ανώνυμες και οι άνθρωποι
+ δεν μπορούν να σας στείλουν μηνύματα ή να δουν την τοποθεσία σας. Για να δείξετε
+ τι επεξεργαστήκατε και να επιτρέψετε στους άλλους να επικοινωνήσουν μαζί σας
+ μέσω του ιστότοπου, κάντε κλικ στο παρακάτω κουμπί.
only_public_can_edit: Από την αλλαγή του API 0.6, μόνο οι δημόσιοι χρήστες μπορούν
να επεξεργάζονται τα δεδομένα χάρτη.
find_out_why: μάθετε γιατί
comment_link: Σχολιάστε την καταχώρηση
reply_link: Αποστολή μηνύματος στον συγγραφέα
comment_count:
- zero: Χωρίς σχόλια
one: '%{count} σχόλιο'
other: '%{count} σχόλια'
no_comments: Κανένα σχόλιο
show:
title: '%{status} Ζήτημα #%{issue_id}'
reports:
- zero: Καμία αναφορά
- one: 1 αναφορά
+ one: '%{count} αναφορά'
other: '%{count} αναφορές'
no_reports: Καμία αναφορά
report_created_at: Αναφέρθηκε για πρώτη φορά στις %{datetime}
layouts:
logo:
alt_text: Λογότυπο OpenStreetMap
- home: Î\9cεÏ\84άβαÏ\83η Ï\83Ï\84ο ΣÏ\80ίÏ\84ι
+ home: Î\94είξε Ï\84ο Ï\83Ï\80ίÏ\84ι μοÏ\85
logout: Αποσύνδεση
log_in: Σύνδεση
sign_up: Εγγραφή
delete image: Αφαίρεση της τρέχουσας εικόνας
replace image: Αντικατάσταση της τρέχουσας εικόνας
image size hint: (τετράγωνες εικόνες τουλάχιστον 100 x 100 λειτουργούν καλύτερα)
- home location: Τοποθεσία Σπιτιού
+ home location: Τοποθεσία σπιτιού
no home location: Δεν έχετε εισάγει την τοποθεσία του σπιτιού σας.
update home location on click: Ενημέρωση τοποθεσίας σπιτιού όταν κάνω κλικ στον
χάρτη;
χρησιμοποιούν αεροφωτογραφίες, συσκευές GPS και τοπικούς χάρτες χαμηλής τεχνολογίας
για να σιγουρευτούν πως το OSM είναι ακριβής και ενημερωμένο.
community_driven_title: Βασίζεται στην κοινότητα
+ community_driven_1_html: |-
+ Η κοινότητα του OpenStreetMap είναι ποικίλη, παθιασμένη και αυξάνεται καθημερινά.
+ Οι συνεισφέροντες μας, περιλαμβάνουν ενθουσιώδεις χαρτογράφους, επαγγελματίες GIS, μηχανικούς
+ που τρέχουν τους διακομιστές OSM, ανθρωπιστές που χαρτογραφούν περιοχές που έχουν πληγεί από καταστροφές,
+ και πολλά άλλα.
+ Για να μάθετε περισσότερα σχετικά με την κοινότητα, δείτε στον ιστότοπο %{osm_blog_link}, %{user_diaries_link}, %{community_blogs_link} και στο %{osm_foundation_link}.
community_driven_osm_blog: Ιστολόγιο OpenStreetMap
community_driven_user_diaries: ημερολόγια χρηστών
community_driven_community_blogs: ιστολόγια κοινότητας
community_driven_osm_foundation: Ίδρυμα OSM
open_data_title: Ανοικτά Δεδομένα
+ open_data_1_html: 'Το OpenStreetMap είναι %{open_data}: είστε ελεύθεροι να την
+ χρησιμοποιήστε για οποιονδήποτε σκοπό, εφόσον μνημονεύετε το OpenStreetMap
+ και τους συνεισφέροντές του. Εάν προσαρμόσετε ή αξιοποιήσετε αυτά τα δεδομένα
+ με συγκεκριμένους τρόπους, πρέπει να διανείμετε το αποτέλεσμα μόνο υπό την
+ ίδια άδεια χρήσης. Δείτε τη σελίδα %{copyright_license_link} για λεπτομέρειες.'
open_data_open_data: ανοιχτά δεδομένα
open_data_copyright_license: Σελίδα Πνευματικών Δικαιωμάτων και Άδειας Χρήσης
legal_title: Νομικό
diary: Ημερολόγιο
edits: Επεξεργασίες
traces: Ίχνη
- notes: Σημειώσεις Χάρτη
+ notes: Σημειώσεις χάρτη
remove as friend: Αφαίρεση Φίλου
add as friend: Προσθήκη Φίλου
mapper since: 'Χαρτογράφος από:'
index:
title: Σημειώσεις που υποβλήθηκαν ή σχολιάστηκαν από τον %{user}
heading: σημειώσεις του %{user}
- subheading_html: Σημειώσεις που υποβλήθηκαν ή σχολιάστηκαν από τον %{user}
+ subheading_html: Σημειώσεις που %{submitted} ή %{commented} από τον %{user}
no_notes: Χωρίς σημειώσεις
id: Αναγνωριστικό
creator: Δημιουργός
other_problems_resolve: Για όλα τα άλλα προβλήματα με τη σημείωση, επιλύστε
το μόνοι σας με ένα σχόλιο.
other_problems_resolved: Για όλα τα άλλα προβλήματα, αρκεί η επίλυση.
- disappear_date_html: Αυτή η επιλυμένη σημείωση θα εξαφανιστεί από τον χάρτη
- στις %{disappear_in}.
+ disappear_date_html: Αυτή η επιλυμένη σημείωση θα εξαφανιστεί από το χάρτη σε
+ %{disappear_in}.
new:
title: Νέα σημείωση
intro: Εντοπίσατε λάθος ή κάτι που λείπει; Πείτε το στους άλλους χαρτογράφους
in: Μεγέθυνση
out: Σμίκρυνση
locate:
- title: Προβολή της Τοποθεσίας μου
+ title: Προβολή της τοποθεσίας μου
metersPopup:
one: Είστε εντός %{count} μέτρου από το σημείο
other: Είστε εντός %{count} μέτρων από το σημείο
other: Είστε εντός %{count} ποδιών από το σημείο
base:
standard: Κανονικός
- cyclosm: CyclOSM
- cycle_map: ΧάÏ\81Ï\84ηÏ\82 ΠοδηλαÏ\83ίαÏ\82
- transport_map: ΣÏ\85γκοινÏ\89νιακÏ\8cÏ\82 ΧάÏ\81Ï\84ηÏ\82
+ cyclosm: CyclOSM ποδηλασία
+ cycle_map: ΠοδηλαÏ\83ία
+ transport_map: ΣÏ\85γκοινÏ\89νία
hot: Ανθρωπιστικός
- opnvkarte: ÖPNVKarte
+ opnvkarte: ÖPNVKarte συγκοινωνίες
layers:
- header: Στρώματα Χάρτη
- notes: Σημειώσεις Χάρτη
- data: Δεδομένα Χάρτη
+ header: Στρώματα
+ notes: Σημειώσεις χάρτη
+ data: Δεδομένα χάρτη
gps: Δημόσια ίχνη GPS
overlays: Ενεργοποίηση επικαλύψεων για την αντιμετώπιση προβλημάτων του χάρτη
- title: Στρώματα
+ title: Στρώματα χάρτη
openstreetmap_contributors: Συνεισφέροντες OpenStreetMap
make_a_donation: Κάντε μια δωρεά
website_and_api_terms: Όροι ιστότοπου και API
formats:
friendly: "%e %B %Y at %H:%M"
blog: "%e %B %Y"
+ count:
+ at_least_pattern: "%{count}+"
helpers:
file:
prompt: Choose file
cyclosm: CyclOSM
cycle_map: Cycle Map
transport_map: Transport Map
+ tracestracktop_topo: Tracestrack Topo
hot: Humanitarian
opnvkarte: ÖPNVKarte
layers:
andy_allan: Andy Allan
opnvkarte_credit: "Tiles courtesy of %{memomaps_link}"
memomaps: MeMoMaps
+ tracestrack_credit: "Tiles courtesy of %{tracestrack_link}"
+ tracestrack: Tracestrack
hotosm_credit: "Tiles style by %{hotosm_link} hosted by %{osm_france_link}"
hotosm_name: Humanitarian OpenStreetMap Team
site:
time:
formats:
friendly: '%e %B %Y je %H:%M'
+ count:
+ at_least_pattern: '%{count}+'
helpers:
file:
prompt: Elektu dosieron
cyclosm: CyclOSM
cycle_map: Biciklada mapo
transport_map: Transporta mapo
+ tracestracktop_topo: Topografia mapo
hot: Hom-helpa mapo
opnvkarte: ÖPNVKarte
layers:
andy_allan: Andy ALLAN
opnvkarte_credit: Kaheloj danke al %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Kaheloj danke al %{tracestrack_link}
+ tracestrack: Tracestrack
hotosm_credit: 'Stilo de kaheloj: %{hotosm_link}, retgastigo: %{osm_france_link}'
hotosm_name: HOTOSM
site:
time:
formats:
friendly: '%e de %B de %Y a las %H:%M'
+ count:
+ at_least_pattern: '%{count}+'
helpers:
file:
prompt: Seleccionar archivo
retain_changeset_discussions: Tus discusiones sobre conjuntos de cambios,
si las hay, se conservarán.
retain_email: Tu dirección de correo electrónico se conservará.
- confirm_delete: ¿Lo confirma?
+ confirm_delete: ¿Estás seguro?
cancel: Cancelar
accounts:
edit:
redacted:
redaction: Censura %{id}
message_html: La versión %{version} de este %{type} no se puede mostrar porque
- se ha censurado. Consúltese %{redaction_link} para obtener más detalles.
+ se ha censurado. Consulta %{redaction_link} para obtener más detalles.
type:
node: nodo
way: vía
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}.
+ resend_html: Si necesitas que te reenviemos el mensaje de confirmación, %{reconfirm_link}.
click_here: has clic aquí
confirm_resend:
failure: No se ha encontrado el usuario %{name}
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
- cosas siguientes:'
+ credit_1_html: 'Cuando utilices datos de OpenStreetMap, deberás hacer las
+ siguientes dos cosas:'
credit_2_1: Proporciona crédito a OpenStreetMap mostrando nuestro aviso de
derechos de autor.
credit_2_2: Especifica que los datos están disponibles bajo la Licencia de
grant_access: Otorgar acceso
authorize_success:
title: Solicitud de autorización permitida
- allowed_html: Has concedido acceso a tu cuenta a la aplicación %{app_name}.
+ allowed_html: Has otorgado 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
administrator: Este usuario es un administrador
moderator: Este usuario es un moderador
grant:
- administrator: Adjudicar acceso de administrador
+ administrator: Otorgar acceso de administrador
moderator: Adjudicar acceso de moderador
revoke:
administrator: Revocar acceso de administrador
not_revoke_admin_current_user: No se pudo revocar el rol de administrador del
usuario actual.
grant:
- title: Confirmar adjudicación de rol
+ title: Confirmar otorgamiento de rol
heading: Confirmar adjudicación de rol
are_you_sure: ¿Estás seguro de que deseas otorgar el rol `%{role}' al usuario
`%{name}'?
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ás 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
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?
+ confirm: ¿Estás seguro de que deseas revocar este bloqueo?
revoke: ¡Revocar!
flash: Este bloqueo ha sido revocado.
helper:
cyclosm: CyclOSM
cycle_map: Mapa ciclista
transport_map: Mapa de transporte
+ tracestracktop_topo: Tracestrack Topo
hot: Humanitario
opnvkarte: ÖPNVKarte
layers:
andy_allan: Andy Allan
opnvkarte_credit: Teselas cortesía de %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Teselas cortesía de %{tracestrack_link}
+ tracestrack: Tracestrack
hotosm_credit: Estilo de teselas por %{hotosm_link} alojados por %{osm_france_link}
hotosm_name: Equipo humanitario de OpenStreetMap
site:
formats:
friendly: '%e %B %Y à %-Hh%M'
blog: '%e %B %Y'
+ count:
+ at_least_pattern: '%{count}+'
helpers:
file:
prompt: Choisir un fichier
cyclosm: CyclOSM
cycle_map: Carte cyclable
transport_map: Carte de transport
+ tracestracktop_topo: Topo de Tracestack
hot: Humanitaire
opnvkarte: ÖPNVKarte
layers:
andy_allan: Andy Allan
opnvkarte_credit: Carreaux fournis aimablement par %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Carreaux fournis aimablement par %{tracestrack_link}
+ tracestrack: Tracestrack
hotosm_credit: Style de carreaux par %{hotosm_link} hébergé par %{osm_france_link}
hotosm_name: L’Équipe OpenStreetMap Humanitaire
site:
formats:
friendly: '%e de %B de %Y ás %H:%M'
blog: '%e de %B de %Y'
+ count:
+ at_least_pattern: máis de %{count}
helpers:
file:
prompt: Escoller un ficheiro
cyclosm: CyclOSM (Ciclista)
cycle_map: Ciclista
transport_map: Transporte
+ tracestracktop_topo: Tracestrack Topo
hot: Humanitario
opnvkarte: ÖPNVKarte (Transporte)
layers:
andy_allan: Andy Allan
opnvkarte_credit: Mosaicos cortesía de %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Mosaicos cortesía de %{tracestrack_link}
+ tracestrack: Tracestrack
hotosm_credit: Estilo de mosaicos do %{hotosm_link} aloxado por %{osm_france_link}
hotosm_name: equipo humanitario do OpenStreetMap
site:
time:
formats:
friendly: '%e de %B %Y a %H:%M'
+ count:
+ at_least_pattern: '%{count}+'
helpers:
file:
prompt: Selige file
cyclosm: CyclOSM
cycle_map: Carta cyclista
transport_map: Carta de transporto
+ tracestracktop_topo: Tracestrack Topo
hot: Humanitario
opnvkarte: ÖPNVKarte
layers:
andy_allan: Andy Allan
opnvkarte_credit: Tegulas fornite per %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Tegulas fornite per %{tracestrack_link}
+ tracestrack: Tracestrack
hotosm_credit: Stilo de tegulas per %{hotosm_link} albergate per %{osm_france_link}
hotosm_name: le Equipa Humanitari de OpenStreetMap
site:
reopened_at_by_html: Riaperta %{when} da %{user}
rss:
title: Note di OpenStreetMap
+ description_all: Un elenco di note segnalate, commentate o chiuse
description_area: Una lista di note inserite, commentate o chiuse nella tua
area [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
description_item: Feed rss per la nota %{id}
(informazioni pubbliche della Serbia), 2018.
contributors_rs_serbia: Serbia
contributors_rs_rgz: Autorità geodetica serba
+ contributors_rs_open_data_portal: Portale nazionale degli open data
contributors_si_credit_html: |-
%{slovenia}: Contiene i dati provenienti dall'%{gu_link} e dal %{mkgp_link}
(informazioni pubbliche della Slovenia).
andy_allan: Andy Allan
opnvkarte_credit: Tasselli per gentile concessione di %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Tasselli per gentile concessione di %{tracestrack_link}
hotosm_credit: Stile tasselli di %{hotosm_link} ospitato da %{osm_france_link}
hotosm_name: La squadra di OpenStreetMap Humanitarian
site:
nursing_home: 老人ホーム
parking: 駐車場
parking_entrance: 駐車場の入口
- parking_space: é§\90è»\8aå ´
+ parking_space: é§\90è»\8aå\8cºç\94»
payment_terminal: 決済端末
pharmacy: 薬局
place_of_worship: 宗教施設
the_map: マップ
communities:
title: コミュニティ
+ local_chapters:
+ title: 地域支部
other_groups:
title: その他のグループ
other_groups_html: |-
- 地方支部と同じように公式にグループを設立する必要はありません.
+ 地域支部と同じように公式にグループを設立する必要はありません。
実際に多くのグループが非公式な人々の集まりとして、または
- コミュニティグループとして非常にうまく存在しています.誰でもこれらを設定または参加できます。 %{communities_wiki_link} で詳細をお読みください。
+ コミュニティグループとして非常にうまく存在しています。誰でもこれらを設定または参加できます。 %{communities_wiki_link} で詳細をお読みください。
traces:
visibility:
private: 非公開 (匿名、点は順不同)
# Author: Cuu508
# Author: Danieldegroot2
# Author: Edgars2007
+# Author: Edgarsdna
# Author: GreenZeb
# Author: Jmg.cmdi
# Author: Karlis
datetime:
distance_in_words_ago:
half_a_minute: pirms pusminūtes
+ less_than_x_minutes:
+ zero: pirms mazāk nekā %{count} minūtēm
+ one: pirms mazāk nekā %{count} minūtes
+ other: pirms mazāk nekā %{count} minūtēm
editor:
default: Noklusējuma (pašlaik %{name})
id:
anonymous: anonīms
no_comment: (nav komentāru)
part_of: Daļa no
+ part_of_relations:
+ zero: '%{count} attiecības'
+ one: '%{count} attiecība'
+ other: '%{count} attiecības'
download_xml: Lejupielādēt XML
view_history: Skatīt vēsturi
view_details: Skatīt detaļas
nearby mapper: Kartētājs tuvējā apkārtnē
friend: Draugs
show:
+ title: Mans vadības panelis
+ no_home_location_html: '%{edit_profile_link} un iestatiet savu atrašanās vietu,
+ lai redzētu tuvumā esošos lietotājus.'
my friends: Mani draugi
no friends: Tu vēl neesi pievienojis draugus.
nearby users: Citi tuvumā esoši lietotāji
help: Palīdzība
about: Par
copyright: Autortiesības
+ communities: Kopienas
community: Kopiena
community_blogs: Kopienas emuāri
community_blogs_title: OpenStreetMap kopienas locekļu emuāri
site:
about:
next: Tālāk
+ heading_html: '%{copyright}OpenStreetMap %{br} datu sniedzēji'
used_by_html: '%{name} darbina kartes datus simtiem mājaslapu, mobilajās aplikācijās
un aparatūras ierīcēs'
lede_text: OpenStreetMap būvē kartētāju kopiena, kuri iegulda un uztur datus
where_am_i: Kur tas ir?
where_am_i_title: Aprakstiet pašreizējo atrašanās vietu izmantojot meklētāju
submit_text: OK
+ reverse_directions_text: Apgriezt virzienu
key:
table:
entry:
para_1: Ja tu vēlies labot ko mazu un nav laika lai piereģistrētos vai iemācītos
kā rediģēt, ir iespējams vienkārši atstāt piezīmi.
the_map: karte
+ communities:
+ title: Kopienas
+ lede_text: |-
+ OpenStreetMap veido vai izmanto cilvēki no visas pasaules.
+ Daudzi piedalās individuāli, bet citi ir izveidojuši kopienas.
+ Šīs grupas ir dažāda lieluma un pārstāv dažādas ģeogrāfiskās teritorijas - no mazām pilsētām līdz lieliem daudzvalstu reģioniem.
+ Tās var būt arī formālas vai neformālas.
+ local_chapters:
+ list_text: 'Šādas kopienas ir oficiāli izveidotas kā vietējās nodaļas:'
+ other_groups:
+ other_groups_html: |-
+ Nav nepieciešams formāli izveidot grupu tādā pašā apjomā kā vietējās nodaļas.
+ Patiešām, daudzas grupas ļoti veiksmīgi pastāv kā neformāla cilvēku pulcēšanās vai kā
+ kopienas grupa. Tās var izveidot vai pievienoties ikviens. Vairāk lasiet %{communities_wiki_link}.
traces:
visibility:
private: Privāts (kopīgots kā anonīms, nesakārtoti punkti)
my profile: Mans profils
my settings: Mani iestatījumi
my comments: Mani komentāri
+ my_preferences: Mani iestatījumi
+ my_dashboard: Mans vadības panelis
blocks on me: Bloki uz mani
blocks by me: Manis piešķirtie Bloki
send message: Nosūtīt ziņojumu
open_title: 'Neatrisināta piezīme: #%{note_name}'
closed_title: 'Atrisināta piezīme: #%{note_name}'
hidden_title: 'Paslēpta piezīme #%{note_name}'
+ event_opened_by_html: Izveidoja %{user} %{time_ago}
report: Ziņot par šo piezīmi
anonymous_warning: Šī piezīme ietver komentārus no anonīmiem lietotājiem, kurus
nepieciešams pārbaudīt neatkarīgi.
reactivate: Atkal aktivizēt
comment_and_resolve: Komentēt un atrisināt
comment: Komentēt
+ report_link_html: Ja šajā piezīmē ir konfidenciāla informācija, kas jādzēš,
+ varat %{link}.
+ other_problems_resolve: Visas pārējās problēmas, kas saistītas ar piezīmi, lūdzu,
+ atrisiniet paši, pievienojot komentāru.
new:
title: Jauna piezīme
intro: Piezīmes domātas, lai norādītu uz kartes kļūdām. Ja vēlies pamēģināt
precīzāk un detalizētāk visu izklāsti, kā arī marķieri novieto pēc iespējas
pareizākajā pozīcijā. (Lūdzu neizmantojiet personīgo informāciju vai arī informāciju
no citām ar autortiesībām aizsargātām kartēm.)
+ advice: Jūsu piezīme ir publiska, un to var izmantot kartes atjaunināšanai,
+ tāpēc neievadiet personisku informāciju vai informāciju no kartēm vai direktoriju
+ sarakstiem, uz kuriem attiecas autortiesības.
add: Pievienot piezīmi
javascripts:
close: Aizvērt
custom_dimensions: Uzstādīt pielāgotus izmērus
format: 'Formāts:'
scale: 'Mērogs:'
+ image_dimensions: Attēlā būs redzams standarta slānis %{width} x %{height}
download: Lejupielādēt
short_url: Īsais URL
include_marker: Iekļaut marķieri
data: Kartes dati
overlays: Iespējot pārklājumus, lai novērstu trūkumus kartei
title: Slāņi
+ make_a_donation: Veikt ziedojumu
+ website_and_api_terms: Tīmekļa vietnes un API noteikumi
site:
edit_tooltip: Rediģēt karti
edit_disabled_tooltip: Pietuvini, lai rediģētu karti
unhide_comment: parādīt
edit_help: Pārvieto karti un pietuvini vietai, kuru vēlies labot, tad spied šeit.
directions:
+ ascend: Kāpums
engines:
fossgis_osrm_car: Ar mašīnu (OSRM)
graphhopper_bicycle: Ar velosipēdu (GraphHopper)
graphhopper_foot: Ar kājām (GraphHopper)
+ descend: Kritums
directions: Norādes
distance: Attālums
errors:
end_oneway_without_exit: Vienvirziena ceļa beigas pie %{name}
roundabout_with_exit: Pēc apkārtceļa nogriezieties uz izejas %{exit} pie %{name}
unnamed: nenosaukts ceļš
- courtesy: Virzienos, pieklājīgi no %{link}
+ courtesy: Norādes no %{link}
exit_counts:
first: "1."
second: "2."
formats:
friendly: '%e %B %Y г. во %H:%M ч.'
blog: '%e %B %Y г.'
+ count:
+ at_least_pattern: '%{count}+'
helpers:
file:
prompt: Одберете податотека
cyclosm: CyclOSM
cycle_map: Велосипедска
transport_map: Сообраќајна
+ tracestracktop_topo: Tracestrack Топо
hot: Хуманитарна
opnvkarte: ÖPNVKarte
layers:
andy_allan: Енди Алан
opnvkarte_credit: Полињата се доставени од %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Полињата се доставени од %{tracestrack_link}
+ tracestrack: Tracestrack
hotosm_credit: Стилот на полињата е од %{hotosm_link} вдомен од %{osm_france_link}
hotosm_name: Екипа на Хуманитарната OpenStreetMap
site:
query:
title: Finn objekt
introduction: Klikk på kartet for å visa objekt i nærleiken.
- nearby: Nærliggjande funksjonar
+ nearby: Nærliggjande objekt
enclosing: Omgjevande objekt
changesets:
changeset_paging_nav:
# Author: Duke of Wikipädia
# Author: EVinente
# Author: Eduardoaddad
+# Author: Felipe L. Ewald
# Author: Fmca
# Author: FranciscoDS
# Author: Ftrebien
reopened_at_by_html: Reativado %{when} por %{user}
rss:
title: Notas do OpenStreetMap
+ description_all: Uma lista de notas relatadas, comentadas ou fechadas
description_area: Uma lista de notas relatadas, comentadas ou encerradas na
sua área [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
description_item: Um feed RSS para a nota %{id}
remove as friend: Desfazer amizade
add as friend: Adicionar como amigo
mapper since: 'Mapeador desde:'
+ uid: 'ID do usário:'
ct status: 'Termos do contribuidor:'
ct undecided: Não decidido
ct declined: Discordo
cyclosm: CyclOSM
cycle_map: Ciclístico
transport_map: Transporte Público
+ tracestracktop_topo: Tracestrack Topo
hot: Humanitário
opnvkarte: ÖPNVKarte
layers:
andy_allan: Andy Allan
opnvkarte_credit: Mosaico cortesia de %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Mosaico cortesia de %{tracestrack_link}
+ tracestrack: Tracestrack
hotosm_credit: Estilo de mosaico por %{hotosm_link} hospedado por %{osm_france_link}
hotosm_name: Humanitarian OpenStreetMap Team
site:
time:
formats:
friendly: '%e %B %Y la %H:%M'
+ count:
+ at_least_pattern: '%{count}+'
helpers:
file:
prompt: Selectează fișier
reopened_at_by_html: Reactivat %{when} de %{user}
rss:
title: Note OpenStreetMap
+ description_all: O listă de note raportate, comentate sau închise
description_area: O listă de note, raportate, comentate sau închise în zona
dvs. [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
description_item: Un feed RSS pentru nota %{id}
remove as friend: Scoate din lista de prieteni
add as friend: Adaugă Prieten
mapper since: 'Cartograf din:'
+ uid: 'ID-ul de utilizator:'
ct status: 'Termenii colaboratorului:'
ct undecided: Nedefinit
ct declined: Declinat
cyclosm: CyclOSM
cycle_map: Hartă de ciclism
transport_map: Hartă de transport
+ tracestracktop_topo: Tracestrack Topo
hot: Umanitară
opnvkarte: ÖPNVKarte
layers:
andy_allan: Andy Allan
opnvkarte_credit: Tile-uri prin amabilitatea lui %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Tile-uri prin amabilitatea lui %{tracestrack_link}
+ tracestrack: Tracetrack
hotosm_credit: Stilul tile-urilor creat de %{hotosm_link} găzduit de %{osm_france_link}
hotosm_name: Echipa Umanitară OpenStreetMap
site:
# Author: Putnik
# Author: Pvwww
# Author: Redredsonia
+# Author: Rich Flight22
# Author: Riliam
# Author: Rivka Silinsky
# Author: Ruila
ambulance_station: Станция скорой медицинской помощи
assembly_point: Место сбора
defibrillator: Дефибриллятор
+ fire_extinguisher: Огнетушитель
fire_water_pond: Пожарный водоём
landing_site: Место аварийной посадки
phone: Телефон экстренной связи
unclassified: Дорога местного значения
"yes": Дорога
historic:
+ aircraft: Историческое воздушное судно
archaeological_site: Раскопки
battlefield: Поле боя
boundary_stone: Пограничный камень
contributors_nl_netherlands: Нидерланды
contributors_nz_new_zealand: Новая Зеландия
contributors_nz_cc_by: CC BY 4.0
+ contributors_rs_serbia: Сербия
contributors_si_slovenia: Словения
contributors_es_spain: Испания
contributors_es_ign: IGN
formats:
friendly: '%e. %B %Y ob %H:%M'
blog: '%e %B %Y'
+ count:
+ at_least_pattern: '%{count}+'
helpers:
file:
prompt: Izberi datoteko
cyclosm: CyclOSM
cycle_map: Kolesarska karta
transport_map: Prometna karta
+ tracestracktop_topo: Tracestrack Topo
hot: Humanitarno
opnvkarte: ÖPNVKarte
layers:
andy_allan: Andy Allan
opnvkarte_credit: Ploščice z dovoljenjem %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Ploščice z dovoljenjem %{tracestrack_link}
+ tracestrack: Tracestrack
hotosm_credit: Slog ploščic %{hotosm_link}, gosti jih %{osm_france_link}
hotosm_name: Humanitarna ekipa OpenStreetMap
site:
-# Messages for Serbian (Latin script) (srpski (latinica))
+# Messages for srpski (latinica) (srpski (latinica))
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: Macofe
-# Messages for Serbian (Cyrillic script) (српски (ћирилица))
+# Messages for српски (ћирилица) (српски (ћирилица))
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: Acamicamacaraca
# Author: VickyC
# Author: Westis
# Author: WikiPhoenix
+# Author: Yupik
# Author: Zvenzzon
---
sv:
home location: Hemposition
no home location: Du har inte angivit någon hemposition.
update home location on click: Uppdatera hemposition när jag klickar på kartan?
+ show: Visa
update:
success: Profil uppdaterad.
failure: Kunde inte uppdatera profilen.
paragraph_2: Katkıda bulunmaya başlamak için kaydolun. Hesabınızı onaylamak
için bir e-posta göndereceğiz.
display name description: Herkes tarafından görünecek bir kullanıcı adı. Bu
- adı istediğin zaman 'tercihlerim' bölümünde değiştirebilirsin.
+ adı istediğiniz zaman ayarlar bölümünde değiştirebilirsiniz.
external auth: 'Üçüncü Taraf Kimlik Doğrulaması:'
use external auth: 'Alternatif olarak bir üçüncü parti uygulaması kullanarak
oturum aç:'
time:
formats:
friendly: '%e %B %Y о %H:%M'
+ count:
+ at_least_pattern: '%{count}+'
helpers:
file:
prompt: Обрати файл
cyclosm: ЦиклОСМ
cycle_map: ВелоМапа
transport_map: Мапа Транспорту
+ tracestracktop_topo: Tracestrack Топо
hot: Humanitarian
opnvkarte: ÖPNVKarte
layers:
andy_allan: Енді Аллан
opnvkarte_credit: Тайли %{memomaps_link}
memomaps: MeMoMaps
+ tracestrack_credit: Тайли надаються %{tracestrack_link}
+ tracestrack: Tracestrack
hotosm_credit: Тайли %{hotosm_link} з %{osm_france_link}
hotosm_name: Humanitarian OpenStreetMap Team
site:
# Author: LaoShuBaby
# Author: Lepus
# Author: Liangent
+# Author: LittlePaw365
# Author: Liuxinyu970226
# Author: Mmyangfl
# Author: Mywood
# Author: StarrySky
# Author: StephDC
# Author: TianyinLee
+# Author: Tntchn
# Author: TsuyaMarisa
# Author: Vikarna
# Author: VulpesVulpes825
formats:
friendly: '%Y年%B%e日 %H:%M'
blog: '%Y年%B%e日'
+ count:
+ at_least_pattern: '%{count}+'
helpers:
file:
prompt: 选择文件
reopened_at_by_html: '%{user}于%{when}重新激活'
rss:
title: OpenStreetMap 注记
+ description_all: 已报告、评论或关闭的注记列表
description_area: 在您的区域 [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
报告、评论或关闭的注记列表
description_item: 注记 %{id} 的简易信息聚合馈送
carpet: 地毯店
charity: 慈善商店
cheese: 奶酪店
- chemist: 化学品店
+ chemist: 药妆店
chocolate: 巧克力店
clothes: 服装店
coffee: 咖啡店
remove as friend: 删除朋友
add as friend: 添加朋友
mapper since: 绘图者注册于:
+ uid: 用户ID:
ct status: 贡献者条款:
ct undecided: 未决定
ct declined: 已拒绝
cyclosm: 自行车地图
cycle_map: 骑行运动地图
transport_map: 交通运输地图
+ tracestracktop_topo: 地形地貌地图
hot: 人道救援地图
opnvkarte: 公共交通地图
layers:
andy_allan: Andy Allan
opnvkarte_credit: '%{memomaps_link}提供的图块'
memomaps: MeMoMaps
+ tracestrack_credit: '%{tracestrack_link}提供的图块'
+ tracestrack: 踪迹地图
hotosm_credit: 由%{osm_france_link}托管的%{hotosm_link}图块风格
hotosm_name: 人道主义开放街图团队
site:
flash: 修订已销毁。
error: 销毁该修订时出错。
validations:
- leading_whitespace: 具有领先的空白
- trailing_whitespace: 具有尾随空白
+ leading_whitespace: 有前导空格
+ trailing_whitespace: 有尾随空格
invalid_characters: 包含无效字符
url_characters: 包含特殊URL字符 (%{characters})
...
# Author: StarrySky
# Author: StephDC
# Author: SupaplexTW
+# Author: Tntchn
# Author: TongcyDai
# Author: Wehwei
# Author: Winston Sung
diary_comment:
create: 評論
diary_entry:
- create: 發佈
+ create: 發布
update: 更新
issue_comment:
create: 添加評論
carpet: 地毯店
charity: 慈善商店
cheese: 起士店鋪
- chemist: 化學材料行
+ chemist: 藥妝店
chocolate: 巧克力店鋪
clothes: 服飾店
coffee: 咖啡店
send_message_to_html: 寄出新訊息給 %{name}
back_to_inbox: 回到收件匣
create:
- message_sent: 訊息已寄出
+ message_sent: 已傳送訊息
limit_exceeded: 您最近寄出了大量的訊息。在嘗試寄出其他訊息之前請稍候。
no_such_message:
title: 沒有這個訊息
儘管 OpenStreetMap 是開放資料,我們不對第三方提供免費的地圖 API。
請參閱我們的%{api_usage_policy_link}、%{tile_usage_policy_link}、和%{nominatim_usage_policy_link}。
more_2_1_api_usage_policy: API 使用方針
- more_2_1_tile_usage_policy: å½±å\83\8få¡\8a使用方針
+ more_2_1_tile_usage_policy: å\9c\96ç£\9a使用方針
more_2_1_nominatim_usage_policy: 提名使用方針
contributors_title_html: 我們的貢獻者
contributors_intro_html: 我們的貢獻者為成千上萬的人。我們也收納了從國家測繪機構及其他來源等取得的開放版權資料,其中包括:
cyclosm: CyclOSM
cycle_map: 自行車地圖
transport_map: 交通運輸地圖
+ tracestracktop_topo: 蹤跡地圖地形
hot: 人道救援
opnvkarte: 公共交通地圖
layers:
openstreetmap_contributors: OpenStreetMap 貢獻者
make_a_donation: 捐款
website_and_api_terms: 網站和 API 條款
- cyclosm_credit: ç\94± %{osm_france_link} 代管ç\9a\84 %{cyclosm_link} æ\89\80æ\8f\90ä¾\9bå½±å\83\8få¡\8a樣式
+ cyclosm_credit: ç\94± %{osm_france_link} 代管ç\9a\84 %{cyclosm_link} æ\89\80æ\8f\90ä¾\9bå\9c\96ç£\9a樣式
osm_france: OpenStreetMap 法國
- thunderforest_credit: '%{thunderforest_link} æ\8f\90ä¾\9bç\9a\84å½±å\83\8få¡\8a'
+ thunderforest_credit: '%{thunderforest_link} æ\8f\90ä¾\9bç\9a\84å\9c\96ç£\9a'
andy_allan: Andy Allan
- opnvkarte_credit: '%{memomaps_link} æ\8f\90ä¾\9bç\9a\84å½±å\83\8få¡\8a'
+ opnvkarte_credit: '%{memomaps_link} æ\8f\90ä¾\9bç\9a\84å\9c\96ç£\9a'
memomaps: MeMoMaps
- hotosm_credit: 由 %{osm_france_link} 代管的 %{hotosm_link} 所提供影像塊樣式
+ tracestrack_credit: '%{tracestrack_link} 提供的圖磚'
+ tracestrack: 蹤跡地圖
+ hotosm_credit: 由 %{osm_france_link} 代管的 %{hotosm_link} 所提供圖磚樣式
hotosm_name: OpenStreetMap 人道主義團隊
site:
edit_tooltip: 編輯地圖
default_note_query_limit: 100
# Maximum limit on the number of notes returned by the note search api method
max_note_query_limit: 10000
+# Maximum value of open issues counter for moderators, anything equal or greater to this value "n" is shown as "n+"
+max_issues_count: 99
# Zoom level to use for postcode results from the geocoder
postcode_zoom: 15
# Timeout for API calls in seconds
#wikipedia_auth_secret: ""
# Thunderforest authentication details
#thunderforest_key: ""
+# Tracestrack authentication details
+#tracestrack_key: ""
# Key for generating TOTP tokens
#totp_key: ""
# Enforce Content-Security-Policy
assert_equal Settings.api_version, js["version"]
assert_equal Settings.generator, js["generator"]
assert_equal changeset.id, js["changeset"]["id"]
- assert js["changeset"]["open"]
+ assert_operator js["changeset"], :[], "open"
assert_equal changeset.created_at.xmlschema, js["changeset"]["created_at"]
assert_nil js["changeset"]["closed_at"]
assert_nil js["changeset"]["tags"]
assert_equal Settings.api_version, js["version"]
assert_equal Settings.generator, js["generator"]
assert_equal changeset.id, js["changeset"]["id"]
- assert js["changeset"]["open"]
+ assert_operator js["changeset"], :[], "open"
assert_equal changeset.created_at.xmlschema, js["changeset"]["created_at"]
assert_nil js["changeset"]["closed_at"]
assert_nil js["changeset"]["tags"]
# check that the changeset bbox is within bounds
cs = Changeset.find(changeset_id)
- assert cs.min_lon >= -180 * GeoRecord::SCALE, "Minimum longitude (#{cs.min_lon / GeoRecord::SCALE}) should be >= -180 to be valid."
- assert cs.max_lon <= 180 * GeoRecord::SCALE, "Maximum longitude (#{cs.max_lon / GeoRecord::SCALE}) should be <= 180 to be valid."
- assert cs.min_lat >= -90 * GeoRecord::SCALE, "Minimum latitude (#{cs.min_lat / GeoRecord::SCALE}) should be >= -90 to be valid."
- assert cs.max_lat <= 90 * GeoRecord::SCALE, "Maximum latitude (#{cs.max_lat / GeoRecord::SCALE}) should be <= 90 to be valid."
+ assert_operator cs.min_lon, :>=, -180 * GeoRecord::SCALE, "Minimum longitude (#{cs.min_lon / GeoRecord::SCALE}) should be >= -180 to be valid."
+ assert_operator cs.max_lon, :<=, 180 * GeoRecord::SCALE, "Maximum longitude (#{cs.max_lon / GeoRecord::SCALE}) should be <= 180 to be valid."
+ assert_operator cs.min_lat, :>=, -90 * GeoRecord::SCALE, "Minimum latitude (#{cs.min_lat / GeoRecord::SCALE}) should be >= -90 to be valid."
+ assert_operator cs.max_lat, :<=, 90 * GeoRecord::SCALE, "Maximum latitude (#{cs.max_lat / GeoRecord::SCALE}) should be <= 90 to be valid."
end
##
# valid delete should return the new version number, which should
# be greater than the old version number
- assert @response.body.to_i > node.version,
- "delete request should return a new version number for node"
+ assert_operator @response.body.to_i, :>, node.version, "delete request should return a new version number for node"
# deleting the same node twice doesn't work
xml = xml_for_node(node)
# valid delete should return the new version number, which should
# be greater than the old version number
- assert @response.body.to_i > multi_tag_relation.version,
- "delete request should return a new version number for relation"
+ assert_operator @response.body.to_i, :>, multi_tag_relation.version, "delete request should return a new version number for relation"
# this won't work since the relation is already deleted
xml = update_changeset(xml_for_relation(deleted_relation), changeset.id)
def check_json_details(js, user, include_private, include_email)
assert_equal user.id, js["user"]["id"]
assert_equal user.description, js["user"]["description"]
- assert js["user"]["contributor_terms"]["agreed"]
+ assert_operator js["user"]["contributor_terms"], :[], "agreed"
if include_private
assert_not js["user"]["contributor_terms"]["pd"]
# check the returned value - should be the new version number
# valid delete should return the new version number, which should
# be greater than the old version number
- assert @response.body.to_i > way.version,
- "delete request should return a new version number for way"
+ assert_operator @response.body.to_i, :>, way.version, "delete request should return a new version number for way"
# this won't work since the way is already deleted
xml = xml_for_way(deleted_way)
##
# check the result of a feed
def check_feed_result(changesets)
- assert changesets.size <= 20
+ assert_operator changesets.size, :<=, 20
assert_select "feed", :count => [changesets.size, 1].min do
assert_select "> title", :count => 1, :text => /^Changesets/
assert_response :success
assert_template "revoke"
b = UserBlock.find(active_block.id)
- assert b.ends_at - Time.now.utc > 100
+ assert_operator b.ends_at - Time.now.utc, :>, 100
# Check that revoking a block works using POST
post revoke_user_block_path(:id => active_block, :confirm => true)
--- /dev/null
+require "test_helper"
+
+class IssuesHelperTest < ActionView::TestCase
+ attr_accessor :current_user
+
+ def test_issues_count
+ target_user = create(:user)
+ self.current_user = create(:moderator_user)
+
+ n = (Settings.max_issues_count - 1)
+ n.times do
+ create(:note_with_comments) do |note|
+ create(:issue, :reportable => note, :reported_user => target_user, :assigned_role => "moderator")
+ end
+ end
+ expected = <<~HTML.delete("\n")
+ <span class="badge count-number">#{n}</span>
+ HTML
+ assert_dom_equal expected, open_issues_count
+
+ n += 1
+ create(:note_with_comments) do |note|
+ create(:issue, :reportable => note, :reported_user => target_user, :assigned_role => "moderator")
+ end
+ expected = <<~HTML.delete("\n")
+ <span class="badge count-number">#{n}+</span>
+ HTML
+ assert_dom_equal expected, open_issues_count
+ end
+end
icon = role_icon(create(:moderator_user), "moderator")
expected = <<~HTML.delete("\n")
- <picture>
- <source srcset="/images/roles/moderator.svg" type="image/svg+xml">
<img srcset="/images/roles/moderator.svg" border="0" alt="This user is a moderator" title="This user is a moderator" src="/images/roles/moderator.png" width="20" height="20" />
- </picture>
HTML
assert_dom_equal expected, icon
end
icon = role_icon(user, "moderator")
expected = <<~HTML.delete("\n")
<a data-confirm="Are you sure you want to grant the role `moderator' to the user `#{user.display_name}'?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/moderator/grant">
- <picture>
- <source srcset="/images/roles/blank_moderator.svg" type="image/svg+xml">
<img srcset="/images/roles/blank_moderator.svg" border="0" alt="Grant moderator access" title="Grant moderator access" src="/images/roles/blank_moderator.png" width="20" height="20" />
- </picture>
</a>
HTML
assert_dom_equal expected, icon
icon = role_icon(moderator_user, "moderator")
expected = <<~HTML.delete("\n")
<a data-confirm="Are you sure you want to revoke the role `moderator' from the user `#{moderator_user.display_name}'?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(moderator_user.display_name)}/role/moderator/revoke">
- <picture>
- <source srcset="/images/roles/moderator.svg" type="image/svg+xml">
<img srcset="/images/roles/moderator.svg" border="0" alt="Revoke moderator access" title="Revoke moderator access" src="/images/roles/moderator.png" width="20" height="20" />
- </picture>
</a>
HTML
assert_dom_equal expected, icon
icons = role_icons(create(:moderator_user))
expected = <<~HTML.delete("\n")
- <picture>
- <source srcset="/images/roles/moderator.svg" type="image/svg+xml">
<img srcset="/images/roles/moderator.svg" border="0" alt="This user is a moderator" title="This user is a moderator" src="/images/roles/moderator.png" width="20" height="20" />
- </picture>
HTML
assert_dom_equal expected, icons
icons = role_icons(create(:super_user))
expected = <<~HTML.delete("\n")
- <picture>
- <source srcset="/images/roles/administrator.svg" type="image/svg+xml">
<img srcset="/images/roles/administrator.svg" border="0" alt="This user is an administrator" title="This user is an administrator" src="/images/roles/administrator.png" width="20" height="20" />
- </picture>
- <picture>
- <source srcset="/images/roles/moderator.svg" type="image/svg+xml">
<img srcset="/images/roles/moderator.svg" border="0" alt="This user is a moderator" title="This user is a moderator" src="/images/roles/moderator.png" width="20" height="20" />
- </picture>
HTML
assert_dom_equal expected, icons
end
icons = role_icons(user)
expected = <<~HTML.delete("\n")
<a data-confirm="Are you sure you want to grant the role `administrator' to the user `#{user.display_name}'?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/administrator/grant">
- <picture>
- <source srcset="/images/roles/blank_administrator.svg" type="image/svg+xml">
<img srcset="/images/roles/blank_administrator.svg" border="0" alt="Grant administrator access" title="Grant administrator access" src="/images/roles/blank_administrator.png" width="20" height="20" />
- </picture>
</a>
- <a data-confirm="Are you sure you want to grant the role `moderator' to the user `#{user.display_name}'?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/moderator/grant">
- <picture>
- <source srcset="/images/roles/blank_moderator.svg" type="image/svg+xml">
+ <a data-confirm="Are you sure you want to grant the role `moderator' to the user `#{user.display_name}'?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(user.display_name)}/role/moderator/grant">
<img srcset="/images/roles/blank_moderator.svg" border="0" alt="Grant moderator access" title="Grant moderator access" src="/images/roles/blank_moderator.png" width="20" height="20" />
- </picture>
</a>
HTML
assert_dom_equal expected, icons
icons = role_icons(moderator_user)
expected = <<~HTML.delete("\n")
<a data-confirm="Are you sure you want to grant the role `administrator' to the user `#{moderator_user.display_name}'?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(moderator_user.display_name)}/role/administrator/grant">
- <picture>
- <source srcset="/images/roles/blank_administrator.svg" type="image/svg+xml">
<img srcset="/images/roles/blank_administrator.svg" border="0" alt="Grant administrator access" title="Grant administrator access" src="/images/roles/blank_administrator.png" width="20" height="20" />
- </picture>
</a>
- <a data-confirm="Are you sure you want to revoke the role `moderator' from the user `#{moderator_user.display_name}'?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(moderator_user.display_name)}/role/moderator/revoke">
- <picture>
- <source srcset="/images/roles/moderator.svg" type="image/svg+xml">
+ <a data-confirm="Are you sure you want to revoke the role `moderator' from the user `#{moderator_user.display_name}'?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(moderator_user.display_name)}/role/moderator/revoke">
<img srcset="/images/roles/moderator.svg" border="0" alt="Revoke moderator access" title="Revoke moderator access" src="/images/roles/moderator.png" width="20" height="20" />
- </picture>
</a>
HTML
assert_dom_equal expected, icons
icons = role_icons(super_user)
expected = <<~HTML.delete("\n")
<a data-confirm="Are you sure you want to revoke the role `administrator' from the user `#{super_user.display_name}'?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(super_user.display_name)}/role/administrator/revoke">
- <picture>
- <source srcset="/images/roles/administrator.svg" type="image/svg+xml">
<img srcset="/images/roles/administrator.svg" border="0" alt="Revoke administrator access" title="Revoke administrator access" src="/images/roles/administrator.png" width="20" height="20" />
- </picture>
</a>
- <a data-confirm="Are you sure you want to revoke the role `moderator' from the user `#{super_user.display_name}'?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(super_user.display_name)}/role/moderator/revoke">
- <picture>
- <source srcset="/images/roles/moderator.svg" type="image/svg+xml">
+ <a data-confirm="Are you sure you want to revoke the role `moderator' from the user `#{super_user.display_name}'?" rel="nofollow" data-method="post" href="/user/#{ERB::Util.u(super_user.display_name)}/role/moderator/revoke">
<img srcset="/images/roles/moderator.svg" border="0" alt="Revoke moderator access" title="Revoke moderator access" src="/images/roles/moderator.png" width="20" height="20" />
- </picture>
</a>
HTML
assert_dom_equal expected, icons
end
def test_available
- assert Locale.available.count <= I18n.available_locales.count
+ assert_operator Locale.available.count, :<=, I18n.available_locales.count
end
def test_preferred
format = Argon2::HashFormat.new(hash)
assert_equal "argon2id", format.variant
- assert format.version <= 19
+ assert_operator format.version, :<=, 19
end
end
# smaller range.
distance = Math.sqrt(((lat - lat2)**2) + ((lon - lon2)**2))
max_distance = 360.0 / (1 << (zoom + 8)) * 0.5 * Math.sqrt(5)
- assert max_distance > distance, "Maximum expected error exceeded: #{max_distance} <= #{distance} for (#{lat}, #{lon}, #{zoom})."
+ assert_operator max_distance, :>, distance, "Maximum expected error exceeded: #{max_distance} <= #{distance} for (#{lat}, #{lon}, #{zoom})."
end
end
test "the status is deleted and the personal data removed" do
visit edit_account_path
- click_on "Delete Account..."
+ click_link "Delete Account..."
accept_confirm do
- click_on "Delete Account"
+ click_link "Delete Account"
end
assert_current_path root_path
test "the user is signed out after deletion" do
visit edit_account_path
- click_on "Delete Account..."
+ click_link "Delete Account..."
accept_confirm do
- click_on "Delete Account"
+ click_link "Delete Account"
end
assert_content "Log In"
test "the user is shown a confirmation flash message" do
visit edit_account_path
- click_on "Delete Account..."
+ click_link "Delete Account..."
accept_confirm do
- click_on "Delete Account"
+ click_link "Delete Account"
end
assert_content "Account Deleted"
sign_in_as(create(:user))
visit diary_entries_path
- click_on "Send a message to the author"
+ click_link "Send a message to the author"
assert_content "Send a new message"
assert_equal "Re: #{@diary_entry.title}", page.find_field("Subject").value
# No issues against the user
visit issues_path
fill_in "search_by_user", :with => good_user.display_name
- click_on "Search"
+ click_button "Search"
assert_no_content I18n.t("issues.index.user_not_found")
assert_content I18n.t("issues.index.issues_not_found")
# User doesn't exist
visit issues_path
fill_in "search_by_user", :with => "Nonexistent User"
- click_on "Search"
+ click_button "Search"
assert_content I18n.t("issues.index.user_not_found")
assert_content I18n.t("issues.index.issues_not_found")
# Find Issue against bad_user
visit issues_path
fill_in "search_by_user", :with => bad_user.display_name
- click_on "Search"
+ click_button "Search"
assert_no_content I18n.t("issues.index.user_not_found")
assert_no_content I18n.t("issues.index.issues_not_found")
end
visit issue_path(issue)
fill_in :issue_comment_body, :with => "test comment"
- click_on "Add Comment"
+ click_button "Add Comment"
assert_content I18n.t("issue_comments.create.comment_created")
assert_content "test comment"
fill_in :issue_comment_body, :with => "reassigning to moderators"
check :reassign
- click_on "Add Comment"
+ click_button "Add Comment"
assert_content "and the issue was reassigned"
assert_current_path issues_path(:status => "open")
fill_in :issue_comment_body, :with => "reassigning to moderators"
check :reassign
- click_on "Add Comment"
+ click_button "Add Comment"
assert_content "and the issue was reassigned"
assert_current_path issue_path(issue)
sign_in_as(create(:user))
visit edit_preferences_path
- click_on "Update Preferences"
+ click_button "Update Preferences"
assert_content "Preferences updated"
end
visit edit_preferences_path
fill_in "Preferred Languages", :with => "fr"
- click_on "Update Preferences"
+ click_button "Update Preferences"
assert_content "Préférences mises à jour"
end
visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
assert_content @diary_entry.title
- click_on I18n.t("diary_entries.diary_comment.report")
+ click_link I18n.t("diary_entries.diary_comment.report")
assert_content "Report"
assert_content I18n.t("reports.new.disclaimer.intro")
choose I18n.t("reports.new.categories.diary_comment.spam_label")
fill_in "report_details", :with => "This comment is spam"
assert_difference "Issue.count", 1 do
- click_on "Create Report"
+ click_button "Create Report"
end
assert_content "Your report has been registered successfully"
visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
assert_content @diary_entry.title
- click_on I18n.t("diary_entries.diary_entry.report")
+ click_link I18n.t("diary_entries.diary_entry.report")
assert_content "Report"
assert_content I18n.t("reports.new.disclaimer.intro")
choose I18n.t("reports.new.categories.diary_entry.spam_label")
fill_in "report_details", :with => "This is advertising"
assert_difference "Issue.count", 1 do
- click_on "Create Report"
+ click_button "Create Report"
end
assert_content "Your report has been registered successfully"
visit diary_entry_path(@diary_entry.user.display_name, @diary_entry)
assert_content @diary_entry.title
- click_on I18n.t("diary_entries.diary_entry.report")
+ click_link I18n.t("diary_entries.diary_entry.report")
assert_content "Report"
assert_content I18n.t("reports.new.disclaimer.intro")
choose I18n.t("reports.new.categories.diary_entry.spam_label")
fill_in "report_details", :with => "This is advertising"
assert_no_difference "Issue.count" do
- click_on "Create Report"
+ click_button "Create Report"
end
issue.reload
sign_in_as(create(:user))
visit note_path(note)
- click_on I18n.t("notes.show.report")
+ click_link I18n.t("notes.show.report")
assert_content "Report"
assert_content I18n.t("reports.new.disclaimer.intro")
choose I18n.t("reports.new.categories.note.spam_label")
fill_in "report_details", :with => "This is spam"
assert_difference "Issue.count", 1 do
- click_on "Create Report"
+ click_button "Create Report"
end
assert_content "Your report has been registered successfully"
sign_in_as(create(:user))
visit note_path(note)
- click_on I18n.t("notes.show.report")
+ click_link I18n.t("notes.show.report")
assert_content "Report"
assert_content I18n.t("reports.new.disclaimer.intro")
choose I18n.t("reports.new.categories.note.spam_label")
fill_in "report_details", :with => "This is spam"
assert_difference "Issue.count", 1 do
- click_on "Create Report"
+ click_button "Create Report"
end
assert_content "Your report has been registered successfully"
sign_in_as(create(:user))
visit user_path(user)
- click_on I18n.t("users.show.report")
+ click_link I18n.t("users.show.report")
assert_content "Report"
assert_content I18n.t("reports.new.disclaimer.intro")
choose I18n.t("reports.new.categories.user.vandal_label")
fill_in "report_details", :with => "This user is a vandal"
assert_difference "Issue.count", 1 do
- click_on "Create Report"
+ click_button "Create Report"
end
assert_content "Your report has been registered successfully"
sign_in_as(create(:user))
visit user_path(user)
- click_on I18n.t("users.show.report")
+ click_link I18n.t("users.show.report")
assert_content "Report"
assert_content I18n.t("reports.new.disclaimer.intro")
choose I18n.t("reports.new.categories.user.vandal_label")
fill_in "report_details", :with => "This user is a vandal"
assert_difference "Issue.count", 1 do
- click_on "Create Report"
+ click_button "Create Report"
end
assert_content "Your report has been registered successfully"
visit user_path(user)
- click_on I18n.t("users.show.report")
+ click_link I18n.t("users.show.report")
assert_content "Report"
assert_content I18n.t("reports.new.disclaimer.intro")
choose I18n.t("reports.new.categories.user.spam_label")
fill_in "report_details", :with => "This user is a spammer"
assert_no_difference "Issue.count" do
- click_on "Create Report"
+ click_button "Create Report"
end
assert_content "Your report has been registered successfully"
sign_in_as(user)
assert_no_content "Log In"
- click_on user.display_name
- click_on "Log Out"
+ click_button user.display_name
+ click_link "Log Out"
assert_content "Log In"
end
visit traces_path
assert_no_content "Log In"
- click_on user.display_name
- click_on "Log Out"
+ click_button user.display_name
+ click_link "Log Out"
assert_content "Log In"
assert_content "Public GPS Traces"
end
test "Sign up from login page" do
visit login_path
- click_on "Register now"
+ click_link "Register now"
assert_content "Confirm Password"
end
user = build(:user)
visit root_path
- click_on "Sign Up"
+ click_link "Sign Up"
fill_in "Email", :with => user.email
fill_in "Email Confirmation", :with => user.email
fill_in "Display Name", :with => user.display_name
click_button "Sign Up"
assert_content "Contributor terms"
- click_on "Cancel"
+ click_button "Cancel"
assert_current_path "https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined"
end
user = create(:user, :suspended)
visit user_path(user)
accept_confirm do
- click_on "Unsuspend"
+ click_link "Unsuspend"
end
assert_no_content "Unsuspend"
user = create(:user, :suspended)
visit user_path(user)
accept_confirm do
- click_on "Confirm"
+ click_link "Confirm"
end
assert_no_content "Unsuspend"
visit edit_preferences_path
fill_in "Preferred Languages", :with => "fr"
- click_on "Update Preferences"
+ click_button "Update Preferences"
visit "/communities"
assert_link "OpenStreetMap États-Unis", :href => "https://www.openstreetmap.us/"
visit login_path
fill_in "username", :with => user.email
fill_in "password", :with => "test"
- click_on "Login", :match => :first
+ click_button "Login", :match => :first
end
def session_for(user)
}
});
+L.OSM.TracestrackTopo = L.OSM.TileLayer.extend({
+ options: {
+ url: 'https://tile.tracestrack.com/topo__/{z}/{x}/{y}.png?key={apikey}',
+ maxZoom: 19,
+ attribution: '© <a href="https://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors. Tiles courtesy of <a href="https://www.tracestrack.com/" target="_blank">Tracestrack Maps</a>'
+ }
+});
+
L.OSM.GPS = L.OSM.TileLayer.extend({
options: {
url: 'https://gps.tile.openstreetmap.org/lines/{z}/{x}/{y}.png',
minimatch "^3.1.2"
strip-json-comments "^3.1.1"
-"@eslint/js@8.49.0":
- version "8.49.0"
- resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.49.0.tgz#86f79756004a97fa4df866835093f1df3d03c333"
- integrity sha512-1S8uAY/MTJqVx0SC4epBq+N2yhuwtNwLbJYNZyhL2pO1ZVKn5HFXav5T41Ryzy9K9V7ZId2JB2oy/W4aCd9/2w==
+"@eslint/js@8.50.0":
+ version "8.50.0"
+ resolved "https://registry.yarnpkg.com/@eslint/js/-/js-8.50.0.tgz#9e93b850f0f3fa35f5fa59adfd03adae8488e484"
+ integrity sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==
"@humanwhocodes/config-array@^0.11.11":
version "0.11.11"
integrity sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==
eslint@^8.0.0:
- version "8.49.0"
- resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.49.0.tgz#09d80a89bdb4edee2efcf6964623af1054bf6d42"
- integrity sha512-jw03ENfm6VJI0jA9U+8H5zfl5b+FvuU3YYvZRdZHOlU2ggJkxrlkJH4HcDrZpj6YwD8kuYqvQM8LyesoazrSOQ==
+ version "8.50.0"
+ resolved "https://registry.yarnpkg.com/eslint/-/eslint-8.50.0.tgz#2ae6015fee0240fcd3f83e1e25df0287f487d6b2"
+ integrity sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==
dependencies:
"@eslint-community/eslint-utils" "^4.2.0"
"@eslint-community/regexpp" "^4.6.1"
"@eslint/eslintrc" "^2.1.2"
- "@eslint/js" "8.49.0"
+ "@eslint/js" "8.50.0"
"@humanwhocodes/config-array" "^0.11.11"
"@humanwhocodes/module-importer" "^1.0.1"
"@nodelib/fs.walk" "^1.2.8"