source 'https://rubygems.org'
# Require rails
-gem 'rails', '4.1.7'
+gem 'rails', '4.2.0'
# Require things which have moved to gems in ruby 1.9
gem 'bigdecimal', "~> 1.1.0", :platforms => :ruby_19
gem 'pg'
# Use SCSS for stylesheets
-gem 'sass-rails', '~> 4.0.3'
+gem 'sass-rails', '~> 5.0'
# Use Uglifier as compressor for JavaScript assets
gem 'uglifier', '>= 1.3.0'
# Use CoffeeScript for .js.coffee assets and views
-gem 'coffee-rails', '~> 4.0.0'
+gem 'coffee-rails', '~> 4.1.0'
# Use jquery as the JavaScript library
gem 'jquery-rails'
# Build JSON APIs with ease. Read more: https://github.com/rails/jbuilder
-# gem 'jbuilder', '~> 1.2'
+# gem 'jbuilder', '~> 2.0'
gem 'jsonify-rails'
# Use R2 for RTL conversion
gem 'oauth-plugin', '>= 0.5.1'
gem 'open_id_authentication', '>= 1.1.0'
gem 'validates_email_format_of', '>= 1.5.1'
-gem 'composite_primary_keys', '~> 7.0.11'
+gem 'composite_primary_keys', '~> 8.0.0'
gem 'http_accept_language', '~> 2.0.0'
gem 'paperclip', '~> 4.0'
gem 'deadlock_retry', '>= 1.2.0'
remote: https://rubygems.org/
specs:
SystemTimer (1.2.3)
- actionmailer (4.1.7)
- actionpack (= 4.1.7)
- actionview (= 4.1.7)
+ actionmailer (4.2.0)
+ actionpack (= 4.2.0)
+ actionview (= 4.2.0)
+ activejob (= 4.2.0)
mail (~> 2.5, >= 2.5.4)
- actionpack (4.1.7)
- actionview (= 4.1.7)
- activesupport (= 4.1.7)
- rack (~> 1.5.2)
+ rails-dom-testing (~> 1.0, >= 1.0.5)
+ actionpack (4.2.0)
+ actionview (= 4.2.0)
+ activesupport (= 4.2.0)
+ rack (~> 1.6.0)
rack-test (~> 0.6.2)
+ rails-dom-testing (~> 1.0, >= 1.0.5)
+ rails-html-sanitizer (~> 1.0, >= 1.0.1)
actionpack-page_caching (1.0.2)
actionpack (>= 4.0.0, < 5)
- actionview (4.1.7)
- activesupport (= 4.1.7)
+ actionview (4.2.0)
+ activesupport (= 4.2.0)
builder (~> 3.1)
erubis (~> 2.7.0)
- activemodel (4.1.7)
- activesupport (= 4.1.7)
+ rails-dom-testing (~> 1.0, >= 1.0.5)
+ rails-html-sanitizer (~> 1.0, >= 1.0.1)
+ activejob (4.2.0)
+ activesupport (= 4.2.0)
+ globalid (>= 0.3.0)
+ activemodel (4.2.0)
+ activesupport (= 4.2.0)
builder (~> 3.1)
- activerecord (4.1.7)
- activemodel (= 4.1.7)
- activesupport (= 4.1.7)
- arel (~> 5.0.0)
- activesupport (4.1.7)
- i18n (~> 0.6, >= 0.6.9)
+ activerecord (4.2.0)
+ activemodel (= 4.2.0)
+ activesupport (= 4.2.0)
+ arel (~> 6.0)
+ activesupport (4.2.0)
+ i18n (~> 0.7)
json (~> 1.7, >= 1.7.7)
minitest (~> 5.1)
- thread_safe (~> 0.1)
+ thread_safe (~> 0.3, >= 0.3.4)
tzinfo (~> 1.1)
- arel (5.0.1.20140414130214)
- autoprefixer-rails (3.1.2.20141016)
+ arel (6.0.0)
+ autoprefixer-rails (4.0.2.2)
execjs
bigdecimal (1.1.0)
builder (3.2.2)
climate_control (0.0.3)
activesupport (>= 3.0)
cliver (0.3.2)
- cocaine (0.5.4)
+ cocaine (0.5.5)
climate_control (>= 0.0.3, < 1.0)
- coffee-rails (4.0.1)
+ coffee-rails (4.1.0)
coffee-script (>= 2.2.0)
railties (>= 4.0.0, < 5.0)
coffee-script (2.3.0)
coffee-script-source
execjs
coffee-script-source (1.8.0)
- colorize (0.7.3)
- composite_primary_keys (7.0.12)
- activerecord (~> 4.1.7)
- crass (0.2.1)
+ colorize (0.7.5)
+ composite_primary_keys (8.0.0)
+ activerecord (~> 4.2.0)
+ crass (1.0.1)
dalli (2.7.2)
deadlock_retry (1.2.0)
dynamic_form (1.1.4)
erubis (2.7.0)
execjs (2.2.2)
- faraday (0.9.0)
+ faraday (0.9.1)
multipart-post (>= 1.2, < 3)
+ globalid (0.3.0)
+ activesupport (>= 4.1.0)
hike (1.2.3)
- htmlentities (4.3.2)
+ htmlentities (4.3.3)
http_accept_language (2.0.2)
- httpclient (2.5.3.2)
- i18n (0.6.11)
+ httpclient (2.6.0.1)
+ i18n (0.7.0)
iconv (0.1)
- jquery-rails (3.1.2)
- railties (>= 3.0, < 5.0)
+ jquery-rails (4.0.3)
+ rails-dom-testing (~> 1.0)
+ railties (>= 4.2.0)
thor (>= 0.14, < 2.0)
- json (1.8.1)
+ json (1.8.2)
jsonify (0.3.1)
multi_json (~> 1.0)
jsonify-rails (0.3.2)
actionpack
jsonify (< 0.4.0)
- jwt (1.0.0)
+ jwt (1.2.0)
kgio (2.9.2)
konacha (3.3.0)
actionpack (>= 3.1, < 5)
colorize
railties (>= 3.1, < 5)
sprockets
- libxml-ruby (2.7.0)
+ libxml-ruby (2.8.0)
+ loofah (2.0.1)
+ nokogiri (>= 1.5.9)
mail (2.6.3)
mime-types (>= 1.16, < 3)
mime-types (2.4.3)
- mini_portile (0.6.1)
- minitest (5.4.2)
+ mini_portile (0.6.2)
+ minitest (5.5.1)
multi_json (1.10.1)
multi_xml (0.5.5)
multipart-post (2.0.0)
- nokogiri (1.6.4.1)
+ nokogiri (1.6.5)
mini_portile (~> 0.6.0)
- nokogumbo (1.1.12)
+ nokogumbo (1.2.0)
nokogiri
oauth (0.4.7)
oauth-plugin (0.5.1)
rack-openid (~> 1.3)
openstreetmap-i18n-js (3.0.0.rc5.3)
i18n
- paperclip (4.2.0)
+ paperclip (4.2.1)
activemodel (>= 3.0.0)
activesupport (>= 3.0.0)
cocaine (~> 0.5.3)
mime-types
- pg (0.17.1)
+ pg (0.18.1)
poltergeist (1.5.1)
capybara (~> 2.1)
cliver (~> 0.3.1)
multi_json (~> 1.0)
websocket-driver (>= 0.2.0)
- psych (2.0.6)
+ psych (2.0.9)
r2 (0.2.5)
- rack (1.5.2)
- rack-cors (0.2.9)
+ rack (1.6.0)
+ rack-cors (0.3.1)
rack-openid (1.4.2)
rack (>= 1.1.0)
ruby-openid (>= 2.1.8)
- rack-test (0.6.2)
+ rack-test (0.6.3)
rack (>= 1.0)
- rails (4.1.7)
- actionmailer (= 4.1.7)
- actionpack (= 4.1.7)
- actionview (= 4.1.7)
- activemodel (= 4.1.7)
- activerecord (= 4.1.7)
- activesupport (= 4.1.7)
+ rails (4.2.0)
+ actionmailer (= 4.2.0)
+ actionpack (= 4.2.0)
+ actionview (= 4.2.0)
+ activejob (= 4.2.0)
+ activemodel (= 4.2.0)
+ activerecord (= 4.2.0)
+ activesupport (= 4.2.0)
bundler (>= 1.3.0, < 2.0)
- railties (= 4.1.7)
- sprockets-rails (~> 2.0)
+ railties (= 4.2.0)
+ sprockets-rails
+ rails-deprecated_sanitizer (1.0.3)
+ activesupport (>= 4.2.0.alpha)
+ rails-dom-testing (1.0.5)
+ activesupport (>= 4.2.0.beta, < 5.0)
+ nokogiri (~> 1.6.0)
+ rails-deprecated_sanitizer (>= 1.0.1)
+ rails-html-sanitizer (1.0.1)
+ loofah (~> 2.0)
rails-i18n (4.0.3)
i18n (~> 0.6)
railties (~> 4.0)
- railties (4.1.7)
- actionpack (= 4.1.7)
- activesupport (= 4.1.7)
+ railties (4.2.0)
+ actionpack (= 4.2.0)
+ activesupport (= 4.2.0)
rake (>= 0.8.7)
thor (>= 0.18.1, < 2.0)
- rake (10.3.2)
- redcarpet (3.2.0)
+ rake (10.4.2)
+ redcarpet (3.2.2)
rinku (1.7.3)
ruby-openid (2.6.0)
- sanitize (3.0.3)
- crass (~> 0.2.0)
+ sanitize (3.1.0)
+ crass (~> 1.0.1)
nokogiri (>= 1.4.4)
- nokogumbo (= 1.1.12)
- sass (3.2.19)
- sass-rails (4.0.4)
+ nokogumbo (= 1.2.0)
+ sass (3.4.9)
+ sass-rails (5.0.1)
railties (>= 4.0.0, < 5.0)
- sass (~> 3.2.2)
- sprockets (~> 2.8, < 2.12)
- sprockets-rails (~> 2.0)
+ sass (~> 3.1)
+ sprockets (>= 2.8, < 4.0)
+ sprockets-rails (>= 2.0, < 4.0)
+ tilt (~> 1.1)
soap4r-ruby1.9 (2.0.5)
- sprockets (2.11.3)
+ sprockets (2.12.3)
hike (~> 1.2)
multi_json (~> 1.0)
rack (~> 1.0)
tilt (~> 1.1, != 1.3.0)
- sprockets-rails (2.2.0)
+ sprockets-rails (2.2.2)
actionpack (>= 3.0)
activesupport (>= 3.0)
sprockets (>= 2.8, < 4.0)
timecop (0.7.1)
tzinfo (1.2.2)
thread_safe (~> 0.1)
- uglifier (2.5.3)
+ uglifier (2.7.0)
execjs (>= 0.3.0)
json (>= 1.8.0)
validates_email_format_of (1.6.1)
i18n
vendorer (0.1.16)
- websocket-driver (0.4.0)
+ websocket-driver (0.5.1)
+ websocket-extensions (>= 0.1.0)
+ websocket-extensions (0.1.1)
xpath (2.0.0)
nokogiri (~> 1.3)
actionpack-page_caching
autoprefixer-rails
bigdecimal (~> 1.1.0)
- coffee-rails (~> 4.0.0)
- composite_primary_keys (~> 7.0.11)
+ coffee-rails (~> 4.1.0)
+ composite_primary_keys (~> 8.0.0)
dalli
deadlock_retry (>= 1.2.0)
dynamic_form
psych
r2
rack-cors
- rails (= 4.1.7)
+ rails (= 4.2.0)
rails-i18n (~> 4.0.0)
redcarpet
rinku (>= 1.2.2)
ruby-openid (>= 2.2.0)
sanitize
- sass-rails (~> 4.0.3)
+ sass-rails (~> 5.0)
soap4r-ruby1.9
timecop
uglifier (>= 1.3.0)
A fully-functional Rails Port installation depends on other services, including map tile
servers and geocoding services, that are provided by other software. The default installation
-uses publically-available services to help with development and testing.
+uses publicly-available services to help with development and testing.
# License
# for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
require File.expand_path('../config/application', __FILE__)
-require 'rake'
OpenStreetMap::Application.load_tasks
folder 'vendor/assets' do
folder 'jquery' do
- file 'jquery.cookie.js', 'https://raw.github.com/carhartl/jquery-cookie/master/jquery.cookie.js'
- file 'jquery.throttle-debounce.js', 'https://raw.github.com/cowboy/jquery-throttle-debounce/v1.1/jquery.ba-throttle-debounce.js'
- file 'jquery.simulate.js', 'https://raw.github.com/jquery/jquery-ui/master/tests/jquery.simulate.js'
+ file 'jquery.cookie.js', 'https://raw.githubusercontent.com/carhartl/jquery-cookie/master/src/jquery.cookie.js'
+ file 'jquery.throttle-debounce.js', 'https://raw.githubusercontent.com/cowboy/jquery-throttle-debounce/v1.1/jquery.ba-throttle-debounce.js'
+ file 'jquery.simulate.js', 'https://raw.githubusercontent.com/jquery/jquery-simulate/1.0.0/jquery.simulate.js'
end
folder 'bootstrap' do
- file 'bootstrap.tooltip.js', 'https://raw.github.com/twbs/bootstrap/v2.3.2/js/bootstrap-tooltip.js'
- file 'bootstrap.dropdown.js', 'https://raw.github.com/twbs/bootstrap/v2.3.2/js/bootstrap-dropdown.js'
+ file 'bootstrap.tooltip.js', 'https://raw.githubusercontent.com/twbs/bootstrap/v2.3.2/js/bootstrap-tooltip.js'
+ file 'bootstrap.dropdown.js', 'https://raw.githubusercontent.com/twbs/bootstrap/v2.3.2/js/bootstrap-dropdown.js'
end
folder 'leaflet' do
end
folder 'javascripts' do
- file 'html5shiv.js', 'https://raw.github.com/aFarkas/html5shiv/master/src/html5shiv.js'
+ file 'html5shiv.js', 'https://raw.githubusercontent.com/aFarkas/html5shiv/master/src/html5shiv.js'
end
end
};
page.load = function() {
+ var params = querystring.parse(location.search.substring(1));
+ if (params.query) {
+ $("#sidebar .search_form input[name=query]").value(params.query);
+ }
if (!("autofocus" in document.createElement("input"))) {
$("#sidebar .search_form input[name=query]").focus();
}
//= require_tree ./directions_engines
OSM.Directions = function (map) {
+ $(".directions_form a.directions_close").on("click", function(e) {
+ e.preventDefault();
+ var route_from = $(e.target).parent().parent().parent().find("input[name=route_from]").val();
+ if (route_from) {
+ OSM.router.route("/?query=" + encodeURIComponent(route_from) + OSM.formatHash(map));
+ } else {
+ OSM.router.route("/" + OSM.formatHash(map));
+ }
+ });
+
var awaitingGeocode; // true if the user has requested a route, but we're waiting on a geocode result
var awaitingRoute; // true if we've asked the engine for a route and are waiting to hear back
var dragging; // true if the user is dragging a start/end point
});
var endpoints = [
- Endpoint($("input[name='route_from']"), <%= asset_path('marker-green.png').to_json %>),
- Endpoint($("input[name='route_to']"), <%= asset_path('marker-red.png').to_json %>)
+ Endpoint($("#content input[name='route_from']"), <%= asset_path('marker-green.png').to_json %>),
+ Endpoint($("#content input[name='route_to']"), <%= asset_path('marker-red.png').to_json %>)
];
function Endpoint(input, iconUrl) {
});
input.on("change", function (e) {
+ endpoint.getGeocode();
+ });
+
+ endpoint.getGeocode = function() {
+ var value = input.val();
+
+ // if no one has entered a value yet, then we can't geocode, so don't
+ // even try.
+ if (!value) {
+ return;
+ }
+
endpoint.awaitingGeocode = true;
- $.getJSON('<%= NOMINATIM_URL %>search?q=' + encodeURIComponent(e.target.value) + '&format=json', function (json) {
+ $.getJSON('<%= NOMINATIM_URL %>search?q=' + encodeURIComponent(value) + '&format=json', function (json) {
endpoint.awaitingGeocode = false;
+ endpoint.hasGeocode = true;
if (json.length == 0) {
alert(I18n.t('javascripts.directions.errors.no_place'));
getRoute();
}
});
- });
+ }
endpoint.setLatLng = function (ll) {
var precision = OSM.zoomPrecision(map.getZoom());
input.val(ll.lat.toFixed(precision) + ", " + ll.lng.toFixed(precision));
+ endpoint.hasGeocode = true;
endpoint.latlng = ll;
endpoint.marker
.setLatLng(ll)
}
function getRoute() {
+ // go fetch geocodes for any endpoints which have not already
+ // been geocoded.
+ for (var ep_i = 0; ep_i < 2; ++ep_i) {
+ var endpoint = endpoints[ep_i];
+ if (!endpoint.hasGeocode && !endpoint.awaitingGeocode) {
+ endpoint.getGeocode();
+ awaitingGeocode = true;
+ }
+ }
if (endpoints[0].awaitingGeocode || endpoints[1].awaitingGeocode) {
awaitingGeocode = true;
return;
d.lat.toFixed(precision) + ',' + d.lng.toFixed(precision)
}));
- $(".directions_form .spinner").show();
+ // copy loading item to sidebar and display it. we copy it, rather than
+ // just using it in-place and replacing it in case it has to be used
+ // again.
+ $('#sidebar_content').html($('.directions_form .loader_copy').html());
awaitingRoute = true;
+ map.setSidebarOverlaid(false);
chosenEngine.getRoute([o, d], function (err, route) {
awaitingRoute = false;
- $(".directions_form .spinner").hide();
-
if (err) {
map.removeLayer(polyline);
.setLatLngs(route.line)
.addTo(map);
- map.setSidebarOverlaid(false);
-
if (!dragging) {
map.fitBounds(polyline.getBounds().pad(0.05));
}
$('#sidebar_content').append('<p id="routing_credit">' +
I18n.t('javascripts.directions.instructions.courtesy', {link: chosenEngine.creditline}) +
'</p>');
+
+ $('#sidebar_content a.geolink').on('click', function(e) {
+ e.preventDefault();
+ map.removeLayer(polyline);
+ $('#sidebar_content').html('');
+ map.setSidebarOverlaid(true);
+ // TODO: collapse width of sidebar back to previous
+ });
});
}
setEngine(params.engine);
}
+ if (params.from) {
+ $(".directions_form input[name='route_from']").val(params.from);
+ }
+
var o = route[0] && L.latLng(route[0].split(',')),
d = route[1] && L.latLng(route[1].split(','));
if (prefixes[key]) {
if (prefixes[key][value]) {
return prefixes[key][value];
- } else {
- var first = value.substr(0, 1).toUpperCase(),
- rest = value.substr(1).replace(/_/g, " ");
-
- return first + rest;
}
}
}
+
+ for (var key in tags) {
+ var value = tags[key];
+
+ if (prefixes[key]) {
+ var first = value.substr(0, 1).toUpperCase(),
+ rest = value.substr(1).replace(/_/g, " ");
+
+ return first + rest;
+ }
+ }
}
if (!prefix) {
}
});
+ $(".search_form a.button.switch_link").on("click", function(e) {
+ e.preventDefault();
+ var query = $(e.target).parent().parent().find("input[name=query]").val();
+ if (query) {
+ OSM.router.route("/directions?from=" + encodeURIComponent(query) + OSM.formatHash(map));
+ } else {
+ OSM.router.route("/directions" + OSM.formatHash(map));
+ }
+ });
+
$(".search_form").on("submit", function(e) {
e.preventDefault();
$("header").addClass("closed");
update();
function update() {
- var disabled = map.getZoom() < 12;
+ var disabled = OSM.STATUS === "database_offline" || map.getZoom() < 12;
link
.toggleClass('disabled', disabled)
.attr('data-original-title', I18n.t(disabled ?
piwikTracker = Piwik.getTracker(base + "piwik.php", OSM.PIWIK.site);
if (OSM.user) {
- piwikTracker.setUserId(OSM.user);
+ piwikTracker.setUserId(OSM.user.toString());
}
piwikTracker.trackPageView();
border-radius: 0 2px 2px 0;
}
+ select {
+ border-radius: $border-radius;
+ border: $border;
+ background-color: white;
+ /* this next line is to polyfill the vertical alignment of text within a select element,
+ * which is different between firefox and chrome. */
+ padding: 0.3em 0;
+ }
+
.query_options {
text-align: right;
font-size: 10px;
input[type="submit"],
input[type="button"],
input[type="reset"],
- .button {
+ .button,
+ .button_to {
box-sizing: border-box;
float: left;
border-radius: 0;
overflow: hidden;
}
input:first-child,
- .button:first-child {
+ .button:first-child,
+ .button_to:first-child {
border-radius:2px 0 0 2px;
}
input:last-child,
- .button:last-child {
+ .button:last-child,
+ .button_to:last-child {
border-radius:0 2px 2px 0;
border-right-width: 0;
}
input:only-child,
.button:only-child,
+ .button_to:only-child,
*[value="Hide"] + input:last-child,
- *[value="Hide"] + .button:last-child {
+ *[value="Hide"] + .button:last-child,
+ *[value="Hide"] + .button_to:last-child {
border-radius:2px;
border-right-width: 0;
}
/* if a 3-button set has a hidden middle button */
*[value="Hide"] + input:nth-child(3),
- *[value="Hide"] + .button:nth-child(3) {
+ *[value="Hide"] + .button:nth-child(3),
+ *[value="Hide"] + .button_to:nth-child(3) {
border-radius:0 2px 2px 0;
border-right-width: 0;
}
/* if a 3-button set starts with a hidden button */
*[value="Hide"] + input:nth-child(2):not(:last-child),
- *[value="Hide"] + .button:nth-child(2):not(:last-child) {
+ *[value="Hide"] + .button:nth-child(2):not(:last-child),
+ *[value="Hide"] + .button_to:nth-child(2):not(:last-child) {
border-radius:2px 0 0 2px;
border-right-width: 1px;
}
$keyline: 1px solid $lightgrey;
$border-radius: 3px;
$list-highlight: #FFFFE6;
+$border: 1px solid $grey;
def check_database_readable(need_api = false)
if STATUS == :database_offline or (need_api and STATUS == :api_offline)
- redirect_to :controller => 'site', :action => 'offline'
+ if request.xhr?
+ report_error "Database offline for maintenance", :service_unavailable
+ else
+ redirect_to :controller => 'site', :action => 'offline'
+ end
end
end
def check_database_writable(need_api = false)
if STATUS == :database_offline or STATUS == :database_readonly or
(need_api and (STATUS == :api_offline or STATUS == :api_readonly))
- redirect_to :controller => 'site', :action => 'offline'
+ if request.xhr?
+ report_error "Database offline for maintenance", :service_unavailable
+ else
+ redirect_to :controller => 'site', :action => 'offline'
+ end
end
end
before_filter :authorize_web
before_filter :set_locale
- before_filter { |c| c.check_database_readable(true) }
+ before_filter :except => [ :query ] { |c| c.check_database_readable(true) }
before_filter :require_oauth
around_filter :web_timeout
# Notify current subscribers of the new comment
changeset.subscribers.each do |user|
if @user != user
- Notifier.changeset_comment_notification(comment, user).deliver
+ Notifier.changeset_comment_notification(comment, user).deliver_now
end
end
# Add the commenter to the subscribers if necessary
- changeset.subscribers << @user unless changeset.subscribers.exists?(@user)
+ changeset.subscribers << @user unless changeset.subscribers.exists?(@user.id)
# Return a copy of the updated changeset
render :text => changeset.to_xml.to_s, :content_type => "text/xml"
# Find the changeset and check it is valid
changeset = Changeset.find(id)
raise OSM::APIChangesetNotYetClosedError.new(changeset) if changeset.is_open?
- raise OSM::APIChangesetAlreadySubscribedError.new(changeset) if changeset.subscribers.exists?(@user)
+ raise OSM::APIChangesetAlreadySubscribedError.new(changeset) if changeset.subscribers.exists?(@user.id)
# Add the subscriber
changeset.subscribers << @user
# Find the changeset and check it is valid
changeset = Changeset.find(id)
raise OSM::APIChangesetNotYetClosedError.new(changeset) if changeset.is_open?
- raise OSM::APIChangesetNotSubscribedError.new(changeset) unless changeset.subscribers.exists?(@user)
+ raise OSM::APIChangesetNotSubscribedError.new(changeset) unless changeset.subscribers.exists?(@user.id)
# Remove the subscriber
changeset.subscribers.delete(@user)
@diary_comment.user = @user
if @diary_comment.save
if @diary_comment.user != @entry.user
- Notifier.diary_comment_notification(@diary_comment).deliver
+ Notifier.diary_comment_notification(@diary_comment).deliver_now
end
redirect_to :controller => 'diary_entry', :action => 'view', :display_name => @entry.user.display_name, :id => @entry.id
if @message.save
flash[:notice] = t 'message.new.message_sent'
- Notifier.message_notification(@message).deliver
+ Notifier.message_notification(@message).deliver_now
redirect_to :controller => 'message', :action => 'inbox', :display_name => @user.display_name
end
end
- else
- @message = Message.new(:recipient => @this_user)
- @title = t 'message.new.title'
end
+
+ @message ||= Message.new(:recipient => @this_user)
+ @title = t 'message.new.title'
end
# Allow the user to reply to another message.
note.comments.map { |c| c.author }.uniq.each do |user|
if notify and user and user != @user
- Notifier.note_comment_notification(comment, user).deliver
+ Notifier.note_comment_notification(comment, user).deliver_now
end
end
end
before_filter :check_database_writable, :only => [:create, :update, :destroy]
def index
- @redactions_pages, @redactions = paginate(:redactions, :order => :id, :per_page => 10)
+ @redactions = Redaction.order(:id)
end
def new
successful_login(@user)
else
session[:token] = @user.tokens.create.token
- Notifier.signup_confirm(@user, @user.tokens.create(:referer => referer)).deliver
+ Notifier.signup_confirm(@user, @user.tokens.create(:referer => referer)).deliver_now
redirect_to :action => 'confirm', :display_name => @user.display_name
end
else
if user
token = user.tokens.create
- Notifier.lost_password(user, token).deliver
+ Notifier.lost_password(user, token).deliver_now
flash[:notice] = t 'user.lost_password.notice email on way'
redirect_to :action => 'login'
else
def confirm_resend
if user = User.find_by_display_name(params[:display_name])
- Notifier.signup_confirm(user, user.tokens.create).deliver
+ Notifier.signup_confirm(user, user.tokens.create).deliver_now
flash[:notice] = t 'user.confirm_resend.success', :email => user.email
else
flash[:notice] = t 'user.confirm_resend.failure', :name => params[:display_name]
unless @user.is_friends_with?(@new_friend)
if friend.save
flash[:notice] = t 'user.make_friend.success', :name => @new_friend.display_name
- Notifier.friend_notification(friend).deliver
+ Notifier.friend_notification(friend).deliver_now
else
friend.add_error(t('user.make_friend.failed', :name => @new_friend.display_name))
end
flash.now[:notice] = t 'user.account.flash update success confirm needed'
begin
- Notifier.email_confirm(user, user.tokens.create).deliver
+ Notifier.email_confirm(user, user.tokens.create).deliver_now
rescue
# Ignore errors sending email
end
@user.errors.set(:email, [])
end
- user.reset_email!
+ user.restore_email!
end
end
end
validates_presence_of :body
validates_associated :diary_entry
- after_initialize :set_defaults
after_save :spam_check
def body
private
- def set_defaults
- self.body_format = "markdown" unless self.attribute_present?(:body_format)
- end
-
def spam_check
user.spam_check
end
:greater_than_or_equal_to => -180, :less_than_or_equal_to => 180
validates_associated :language
- after_initialize :set_defaults
after_save :spam_check
def body
private
- def set_defaults
- self.body_format = "markdown" unless self.attribute_present?(:body_format)
- end
-
def spam_check
user.spam_check
end
validates_inclusion_of :message_read, :in => [ true, false ]
validates_as_utf8 :title
- after_initialize :set_defaults
-
def self.from_mail(mail, from, to)
if mail.multipart?
if mail.text_part
md5 << body
md5.hexdigest
end
-
-private
-
- def set_defaults
- self.body_format = "markdown" unless self.attribute_present?(:body_format)
- end
end
def save_with_dependencies!
save!
- #not sure whats going on here
- clear_aggregation_cache
- clear_association_cache
- #ok from here
- @attributes.update(OldNode.where(:node_id => self.node_id, :timestamp => self.timestamp, :version => self.version).first.instance_variable_get('@attributes'))
self.tags.each do |k,v|
tag = OldNodeTag.new
end
def save_with_dependencies!
-
- # see comment in old_way.rb ;-)
save!
- clear_aggregation_cache
- clear_association_cache
- @attributes.update(OldRelation.where(:relation_id => self.relation_id, :timestamp => self.timestamp).order("version DESC").first.instance_variable_get('@attributes'))
-
- # ok, you can touch from here on
self.tags.each do |k,v|
tag = OldRelationTag.new
end
def save_with_dependencies!
-
- # dont touch this unless you really have figured out why it's called
- # (Rails doesn't deal well with the old ways table (called 'ways') because
- # it doesn't have a unique key. It knows how to insert and auto_increment
- # id and get it back but we have that and we want to get the 'version' back
- # we could add another column but thats a lot of data. No, set_primary_key
- # doesn't work either.
save!
- clear_aggregation_cache
- clear_association_cache
- @attributes.update(OldWay.where(:way_id => self.way_id, :timestamp => self.timestamp).order("version DESC").first.instance_variable_get('@attributes'))
-
- # ok, you can touch from here on
self.tags.each do |k,v|
tag = OldWayTag.new
has_many :old_ways
has_many :old_relations
- after_initialize :set_defaults
-
# this method overrides the AR default to provide the rich
# text object for the description field.
def description
RichText.new(read_attribute(:description_format), read_attribute(:description))
end
-
- private
-
- # set the default format to be markdown, in the absence of
- # any other setting.
- def set_defaults
- self.description_format = "markdown" unless self.attribute_present?(:description_format)
- end
end
diary_comment_score = self.diary_comments.inject(0) { |s,c| s += c.body.spam_score }
score = self.description.spam_score / 4.0
+ score += self.diary_entries.where("created_at > ?", 1.day.ago).count * 10
score += diary_entry_score / self.diary_entries.length if self.diary_entries.length > 0
score += diary_comment_score / self.diary_comments.length if self.diary_comments.length > 0
score -= changeset_score
def set_defaults
self.creation_time = Time.now.getutc unless self.attribute_present?(:creation_time)
- self.description_format = "markdown" unless self.attribute_present?(:description_format)
end
def encrypt_password
belongs_to :user, :class_name => "User", :foreign_key => :user_id
belongs_to :creator, :class_name => "User", :foreign_key => :creator_id
belongs_to :revoker, :class_name => "User", :foreign_key => :revoker_id
-
- after_initialize :set_defaults
PERIODS = USER_BLOCK_PERIODS
private
- ##
- # set default values for new records.
- def set_defaults
- self.reason_format = "markdown" unless self.attribute_present?(:reason_format)
- end
-
##
# validate that only moderators are allowed to change the
# block. this should be caught and dealt with in the controller,
<div class="buttons clearfix subscribe-buttons">
<form action="#" class="hide_unless_logged_in">
- <% if @changeset.subscribers.exists?(@user) %>
+ <% if @user and @changeset.subscribers.exists?(@user.id) %>
<input class="action-button" type="submit" name="unsubscribe" value="<%= t('javascripts.changesets.show.unsubscribe') %>" data-method="POST" data-url="<%= changeset_unsubscribe_url(@changeset) %>" />
<% else %>
<input class="action-button" type="submit" name="subscribe" value="<%= t('javascripts.changesets.show.subscribe') %>" data-method="POST" data-url="<%= changeset_subscribe_url(@changeset) %>" />
</form>
<form method="GET" action="<%= directions_path %>" class="directions_form">
- <div width="100%" align="right" style="height:30px"><%= link_to tag('span', { :class => "icon close"}), root_path, { :title => t('site.search.close_directions_title') } %></div>
+ <div width="100%" align="right" style="height:30px"><%= link_to tag('span', { :class => "icon close"}), root_path, { :title => t('site.search.close_directions_title'), :class => "directions_close" } %></div>
<div class="line">
<%= image_tag "marker-green.png", :class => 'routing_marker', :id => 'marker_from', :draggable => 'true' %>
</div>
<select class='routing_engines' name='routing_engines'></select>
<div width="100%" align="right"><%= submit_tag t('site.search.submit_text') %></div>
- <%= image_tag "searching-small.gif", :class => 'spinner', :style => "vertical-align: middle; display: none;" %>
+ <div class="loader_copy" style="display:none;"><div class="loader"><%= image_tag "searching.gif", :style => "vertical-align: middle;" %></div></div>
</form>
</div>
# This file is used by Rack-based servers to start the application.
-require ::File.expand_path('../config/environment', __FILE__)
+require ::File.expand_path('../config/environment', __FILE__)
run Rails.application
# config.i18n.load_path += Dir[Rails.root.join('my', 'locales', '*.{rb,yml}').to_s]
# config.i18n.default_locale = :de
+ # Do not swallow errors in after_commit/after_rollback callbacks.
+ config.active_record.raise_in_transactional_callbacks = true
+
# Custom directories with classes and modules you want to be autoloadable.
config.autoload_paths += %W(#{config.root}/lib)
-# Set up gems listed in the Gemfile.
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../../Gemfile', __FILE__)
-require 'bundler/setup' if File.exist?(ENV['BUNDLE_GEMFILE'])
+require 'bundler/setup' # Set up gems listed in the Gemfile.
config.active_support.deprecation = :log
# Raise an error on page load if there are pending migrations.
- config.active_record.migration_error = :page_load
+ unless STATUS == :database_offline
+ config.active_record.migration_error = :page_load
+ end
# Debug mode disables concatenation and preprocessing of assets.
# This option may cause significant delays in view rendering with a large
# number of complex assets.
config.assets.debug = true
+ # Asset digests allow you to set far-future HTTP expiration dates on all assets,
+ # yet still be able to expire them through the digest params.
+ config.assets.digest = true
+
# Adds additional error checking when serving assets at runtime.
# Checks for improperly declared sprockets dependencies.
# Raises helpful error messages.
# Enable Rack::Cache to put a simple HTTP cache in front of your application
# Add `rack-cache` to your Gemfile before enabling this.
- # For large-scale production use, consider using a caching reverse proxy like nginx, varnish or squid.
+ # For large-scale production use, consider using a caching reverse proxy like
+ # NGINX, varnish or squid.
# config.action_dispatch.rack_cache = true
- # Disable Rails's static asset server (Apache or nginx will already do this).
- config.serve_static_assets = false
+ # Disable serving static files from the `/public` folder by default since
+ # Apache or NGINX already handles this.
+ config.serve_static_files = ENV['RAILS_SERVE_STATIC_FILES'].present?
# Compress JavaScripts and CSS.
config.assets.js_compressor = :uglifier
# Do not fallback to assets pipeline if a precompiled asset is missed.
config.assets.compile = false
- # Generate digests for assets URLs.
+ # Asset digests allow you to set far-future HTTP expiration dates on all assets,
+ # yet still be able to expire them through the digest params.
config.assets.digest = true
+ # `config.assets.precompile` and `config.assets.version` have moved to config/initializers/assets.rb
+
# Specifies the header that your server uses for sending files.
- # config.action_dispatch.x_sendfile_header = "X-Sendfile" # for apache
- # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for nginx
+ # config.action_dispatch.x_sendfile_header = 'X-Sendfile' # for Apache
+ # config.action_dispatch.x_sendfile_header = 'X-Accel-Redirect' # for NGINX
# Force all access to the app over SSL, use Strict-Transport-Security, and use secure cookies.
# config.force_ssl = true
- # Set to :debug to see everything in the log.
+ # Use the lowest log level to ensure availability of diagnostic information
+ # when problems arise.
config.log_level = :info
# Prepend all log lines with the following tags.
config.action_controller.page_cache_directory = Rails.public_path
# Enable serving of images, stylesheets, and JavaScripts from an asset server.
- # config.action_controller.asset_host = "http://assets.example.com"
-
- # `config.assets.precompile` has moved to config/initializers/assets.rb
+ # config.action_controller.asset_host = 'http://assets.example.com'
# Ignore bad email addresses and do not raise email delivery errors.
# Set this to true and configure the email server for immediate delivery to raise delivery errors.
# config.action_mailer.raise_delivery_errors = false
# Enable locale fallbacks for I18n (makes lookups for any locale fall back to
- # the I18n.default_locale when a translation can not be found).
+ # the I18n.default_locale when a translation cannot be found).
config.i18n.fallbacks = true
# Send deprecation notices to registered listeners.
config.active_support.deprecation = :notify
- # Disable automatic flushing of the log to improve performance.
- # config.autoflush_log = false
-
# Use default logging formatter so that PID and timestamp are not suppressed.
config.log_formatter = ::Logger::Formatter.new
# preloads Rails for running tests, you may have to set it to true.
config.eager_load = false
- # Configure static asset server for tests with Cache-Control for performance.
- config.serve_static_assets = true
+ # Configure static file server for tests with Cache-Control for performance.
+ config.serve_static_files = true
config.static_cache_control = 'public, max-age=3600'
# Show full error reports and disable caching.
# ActionMailer::Base.deliveries array.
config.action_mailer.delivery_method = :test
+ # Randomize the order test cases are executed.
+ config.active_support.test_order = :random
+
# Print deprecation notices to the stderr.
config.active_support.deprecation = :stderr
# Version of your assets, change this if you want to expire all your assets.
Rails.application.config.assets.version = '1.0'
+# Add additional assets to the asset load path
+# Rails.application.config.assets.paths << Emoji.images_path
+
# Precompile additional assets.
# application.js, application.css, and all non-JS/CSS in app/assets folder are already added.
Rails.application.config.assets.precompile += %w( index.js browse.js welcome.js fixthemap.js )
# Be sure to restart your server when you modify this file.
-Rails.application.config.action_dispatch.cookies_serializer = :json
\ No newline at end of file
+Rails.application.config.action_dispatch.cookies_serializer = :json
I18n.enforce_available_locales = false
-Rails.configuration.after_initialize do |app|
+Rails.configuration.after_initialize do
I18n.available_locales
end
# Add new mime types for use in respond_to blocks:
# Mime::Type.register "text/richtext", :rtf
-# Mime::Type.register_alias "text/html", :iphone
Mime::Type.register "application/x-amf", :amf
Mime::Type.register "application/gpx+xml", :gpx
+++ /dev/null
-if defined?(ActiveRecord::ConnectionAdapters::PostgreSQLAdapter)
- module ActiveRecord
- module ConnectionAdapters
- class PostgreSQLAdapter
- def initialize_type_map_with_enums(type_map)
- OID.alias_type "format_enum", "text"
- OID.alias_type "gpx_visibility_enum", "text"
- OID.alias_type "note_status_enum", "text"
- OID.alias_type "note_event_enum", "text"
- OID.alias_type "nwr_enum", "text"
- OID.alias_type "user_role_enum", "text"
- OID.alias_type "user_status_enum", "text"
-
- initialize_type_map_without_enums(type_map)
- end
-
- alias_method_chain :initialize_type_map, :enums
- end
-
- class PostgreSQLColumn
- def simplified_type_with_enum(field_type)
- case field_type
- when /_enum$/
- :string
- else
- simplified_type_without_enum(field_type)
- end
- end
-
- alias_method_chain :simplified_type, :enum
- end
- end
- end
-end
Sanitize::Config::OSM = Sanitize::Config::RELAXED.dup
+Sanitize::Config::OSM[:elements] -= [ 'div', 'style' ]
Sanitize::Config::OSM[:add_attributes] = { 'a' => { 'rel' => 'nofollow' } }
Sanitize::Config::OSM[:remove_contents] = [ 'script', 'style' ]
text: Fai un donativu
learn_more: Más información
more: Más
- sotm_header: State of the Map 2014
- sotm_line_1: 8ª Conferencia Añal
- sotm_line_2: 7-9 de payares de 2014
- sotm_line_3: Buenos Aires, Arxentina
license_page:
foreign:
title: Tocante a esta traducción
# Messages for Belarusian (беларуская)
# Exported from translatewiki.net
# Export driver: phpyaml
+# Author: Alex73
# Author: Jim-by
# Author: Unomano
# Author: Дзяніс Тутэйшы
way_paginated: Лініі (%{x}-%{y} з %{count})
relation: Сувязі (%{count})
relation_paginated: Сувязі (%{x}-%{y} з %{count})
+ comment: Каментары (%{count})
+ hidden_commented_by: Схаваны каментар ад %{user} <abbr title='%{exact_time}'>%{when}
+ таму</abbr>
+ commented_by: Каментар ад %{user} <abbr title='%{exact_time}'>%{when} таму</abbr>
changesetxml: Набор змен у XML
osmchangexml: osmChange XML
feed:
title: Набор змен %{id}
title_comment: Набор змен %{id} - %{comment}
+ join_discussion: Увайдзіце ў сістэму, каб далучыцца да абмеркавання
+ discussion: Абмеркаванне
node:
title: 'Вузел: %{name}'
history_title: 'Гісторыя вузла: %{name}'
wiki_link:
key: Вікі-старонка апісання тэгу %{key}
tag: Вікі-старонка апісання тэгу %{key}=%{value}
+ wikidata_link: Элемент %{page} у Вікідадзеных
wikipedia_link: Артыкул %{page} на Вікіпедыі
telephone_link: Патэлефанаваць %{phone_number}
note:
reopened_by_anonymous: Пераадкрыта ананімным карыстальнікам <abbr title='%{exact_time}'>%{when}
таму</abbr>
hidden_by: Схавана %{user} <abbr title='%{exact_time}'>%{when} таму</abbr>
+ query:
+ title: Запыт аб’ектаў
+ introduction: Пстрыкніце на карце, каб атрымаць звесткі пра аб'екты паблізу.
+ nearby: Аб’екты паблізу
+ enclosing: Навакольныя аб'екты
changeset:
changeset_paging_nav:
showing_page: Старонка %{page}
load_more: Загрузіць больш
timeout:
sorry: Прабачце, спіс набораў зменаў, які Вы запыталі, занадта вялікі для атрымання.
+ rss:
+ title_all: Абмеркаванне зменаў OpenStreetMap
+ title_particular: 'Абмеркаванне зменаў OpenStreetMap #%{changeset_id}'
+ comment: Новы каментар на набор зменаў %{changeset_id} ад %{author}
+ commented_at_html: Абноўлена %{when} таму
+ commented_at_by_html: Абноўлена %{when} таму %{user}
+ full: Поўнае абмеркаванне
diary_entry:
new:
title: Новы запіс дзённіку
sauna: Сауна
slipway: Стапель
sports_centre: Спартыўны цэнтр
- stadium: Стадыен
+ stadium: Стадыён
swimming_pool: Плавальны басейн
track: Бегавая дарожка
water_park: Аквапарк
tram: Трамвай
tram_stop: Трамвайны прыпынак
yard: Сартавальная станцыя
+ route:
+ bus: Аўтобусны маршрут
shop:
alcohol: Алкагольная крама
antiques: Антыкварыят
commented_note: '%{commenter} пераадчыніў заўвагу на карце, якую вы каментавалі.
Заўвага каля %{place}.'
details: Больш падрабязна пра ўвагу можна прачытаць на %{url}.
+ changeset_comment_notification:
+ greeting: Прывітанне,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} пракаментаваў адзін з вашых набораў
+ зменаў'
+ subject_other: '[OpenStreetMap] %{commenter} пракаментаваў цікавы вам набор
+ зменаў'
+ your_changeset: '%{commenter} пакінуў каментар на адзін з вашых набораў зменаў,
+ створаных %{time}'
+ commented_changeset: '%{commenter}% пакінуў каментар да набору зменаў, які
+ вы адсочваеце і што быў створаны %{changeset_author} %{time}'
+ partial_changeset_with_comment: з каментаром '%{changeset_comment}'
+ partial_changeset_without_comment: без каментароў
+ details: Дадатковыя звесткі аб наборы зьменаў можна знайсці ў %{url}.
message:
inbox:
title: Уваходныя
createnote_disabled_tooltip: Наблізце, каб дадаць заўвагу на карту
map_notes_zoom_in_tooltip: Наблізце, каб убачыць заўвагі на карце
map_data_zoom_in_tooltip: Павялічце, каб убачыць картаграфічныя дадзеныя
+ queryfeature_tooltip: Атрыманне аб’ектаў
+ queryfeature_disabled_tooltip: Наблізіцеся для атрымання аб'ектаў
+ changesets:
+ show:
+ comment: Каментаваць
+ subscribe: Падпісацца
+ unsubscribe: Адпісацца
+ hide_comment: схаваць
+ unhide_comment: паказаць
notes:
new:
intro: Заўважылі памылку або чагосьці не стае? Дайце іншым удзельнікам магчымасць
comment: Каментаваць
edit_help: Перамясціце карту і наблізце месца, якое вы хочаце рэдагаваць, затым
націсніце тут.
+ query:
+ node: Вузел
+ way: Крывая
+ relation: Сувязь
+ nothing_found: Аб’екты не знойдзены
+ error: 'Памылка сувязі %{server}: %{error}'
+ timeout: Тайм-аўт падключэння да %{server}
redaction:
edit:
description: Апісанне
way_paginated: Hentoù (%{x}-%{y} diwar %{count})
relation: Darempredoù (%{count})
relation_paginated: Darempredoù (%{x}-%{y} diwar %{count})
+ comment: Addisplegoù(%{count})
+ hidden_commented_by: Addispleg kuzhet gant %{user} <abbr title='%{exact_time}'>%{when}
+ zo</abbr>
+ commented_by: Addispleg gant %{user} <abbr title='%{exact_time}'>%{when}zo</abbr>
changesetxml: Strollad kemmoù XML
osmchangexml: osmChange XML
feed:
title: Strollad kemmoù %{id}
title_comment: Strollad kemmoù %{id} - %{comment}
+ join_discussion: Kevreañ evit kaozeal
+ discussion: Kaozeadenn
node:
title: 'Skoulm : %{name}'
history_title: 'Istor ar skoulm : %{name}'
reopened_by_anonymous: Adweredekaet gant un den dianv <abbr title='%{exact_time}'>%{when}
zo</abbr>
hidden_by: Kuzhet gant %{user} <abbr title='%{exact_time}'>%{when} zo</abbr>
+ query:
+ title: Arc'hweladurioù enklask
+ introduction: Klikit war ar gartenn evit kavout arc'hweladurioù e-kichen.
+ nearby: Arc'hweladurioù e-kichen
+ enclosing: Arc'hweladurioù stag
changeset:
changeset_paging_nav:
showing_page: Pajenn %{page}
load_more: Kargañ muioc'h
timeout:
sorry: Ho tigarez, re hir eo adtapout ar roll cheñchamantoù hoc'h eus goulennet.
+ rss:
+ title_all: Kaozeal diwar-benn an holl gemmoù degaset en OpenStreetMap
+ title_particular: 'Kaoz diwar-benn an holl gemmoù #%{changeset_id}degaset en
+ OpenStreetMap'
+ comment: 'Addispleg nevez eus ar strollad kemmoù #%{changeset_id} dre %{author}'
+ commented_at_html: Hizivaet %{when} zo
+ commented_at_by_html: Hizivaet %{when} zo gant %{user}
+ full: Kaoz klok
diary_entry:
new:
title: Enmoned nevez en deizlevr
comment_link: Addisplegañ an enmoned-mañ
reply_link: Respont d'an enmoned-mañ
comment_count:
- one: Un evezhiadenn
- zero: Evezhiadenn ebet
- other: '%{count} evezhiadenn'
+ one: Un addipleg
+ zero: Addispleg ebet
+ other: '%{count} addipleg'
edit_link: Aozañ an enmoned-mañ
hide_link: Kuzhat an elfenn-mañ
confirm: Kadarnaat
diary_comment:
comment_from: Addispleg gant %{link_user} d'an %{comment_created_at}
- hide_link: Kuzhat an evezhiadenn-mañ
+ hide_link: Kuzhat an addispleg-mañ
confirm: Kadarnaat
location:
location: 'Lec''hiadur :'
pennadoù deizlevr-mañ
post: Postañ
when: Peur
- comment: Evezhiadenn
+ comment: Addipleg
ago: '%{ago} zo'
- newer_comments: Evezhiadennoù nevesañ
+ newer_comments: Evezhiadennoù nevesoo'h
older_comments: Evezhiadennoù koshañ
export:
title: Ezporzhiañ
too_large:
advice: 'Ma c''hwit an ezporzhiadur amañ a-us, implijit unan eus an elfennoù
amañ dindan :'
- body: Re vras eo an takad-mañ evit bezañ ezporzhiet evel roadennoù XML OpenStreetMap.
- Zoumit, mar plij, pe diuzit un takad bihanoc'h.
+ body: 'Re vras eo an takad-mañ evit bezañ ezporzhiet evel roadennoù XML OpenStreetMap.
+ Zoumit, mar plij, pe diuzit un takad bihanoc''h pe immplijit unan eus an
+ tarzhioù-mañ evit pellgargañ roadennoù a-yoc''h :'
planet:
title: Planedenn OSM
description: Eilennoù hizivaet ingal eus diaz roadennoù klok OpenStreetMap
description: Eztennadennoù evit brasañ kêrioù ar bed hag o ardemezioù
other:
title: Tarzhioù all
- description: Mamennoù all a gaver o roll er wiki OpenStreetMap
+ description: Mammennoù all a gaver o roll er wiki OpenStreetMap
options: Dibarzhioù
format: Furmad
scale: Skeuliad
apron: ↓Parklec'h nijerezioù
gate: Dor
helipad: biñsporzh
- runway: Pistenn
+ runway: Leurenn
taxiway: Roudenn evit an taksioù
terminal: Termenva
amenity:
tram: Tramgarr
tram_stop: Arsav tramgarr
yard: Gar-dibab
+ route:
+ bus: Pennad-hent ar bus
shop:
alcohol: Gwezher alkool
antiques: Hendraezoù
text: Ober un donezon
learn_more: Gouzout hiroc'h
more: Muioc'h
- sotm_header: Stad kartenn 2014
- sotm_line_1: 8vet Prezegenn vloaziek
- sotm_line_2: 7-9 a viz Du 2014
- sotm_line_3: Buenos Aires, Arc'hantina
license_page:
foreign:
title: Diwar-benn an droidigezh-mañ
commented_note: '%{commenter} en deus adweredekaet un notenn war ur gartenn
hoc''h eus addispleget. Emañ an notenn tost da %{place}.'
details: Munudoù ouzhpenn diwar-benn an notenn a c'hall bezañ kavet e %{url}.
+ changeset_comment_notification:
+ greeting: Demat,
+ commented:
+ subject_other: '[OpenStreetMap] %{commenter} en deus addispleget unan eus
+ ho notennoù a sell ouzhoc''h'
+ partial_changeset_with_comment: gant an addispleg '%{changeset_comment}'
+ partial_changeset_without_comment: Hep evezhiadenn
message:
inbox:
title: Boest resev
createnote_disabled_tooltip: Zoumañ da ouzhpennañ un notenn d'ar gartenn
map_notes_zoom_in_tooltip: Zoumiñ evit gwelet notennoù ar gartenn
map_data_zoom_in_tooltip: Zoumiñ evit gwelet roadennoù ar gartenn
+ queryfeature_tooltip: Arc'hweladurioù enklask
+ queryfeature_disabled_tooltip: Zoumañ evit an arc'hweladurioù enklask
+ changesets:
+ show:
+ comment: Evezhiadenn
+ subscribe: Koumanantiñ
+ unsubscribe: Digoumanantiñ
+ hide_comment: kuzhat
+ unhide_comment: diskouez
notes:
new:
intro: Gwelet ho peus ur fazi pe un dra a vank ? Roit an dra-se da c'houzout
comment: Evezhiadenn
edit_help: Dilec'hiit ar gartenn ha zoumit war ul lec'h a fell deoc'h aozañ, ha
neuze klikit amañ.
+ query:
+ node: Skoulm
+ way: Hent
+ relation: Darempred
+ nothing_found: Arc'hweladur ebet kavet
redaction:
edit:
description: Deskrivadur
new_note: Nova bilješka
changeset:
changeset_paging_nav:
- showing_page: Prikaz stranice %{page}
+ showing_page: Stranica %{page}
next: Sljedeća »
previous: « Prethodna
changeset:
Data Commons Open Database License dozvolom</a> (ODbL).
too_large:
body: Ovo područje je preveliko da bi se izvezlo kao OpenStreetMap XML podaci.
- Molimo povećajte (zoom) ili odaberite manje područje.
+ Molimo povećajte (zoom) ili odaberite manje područje ili koristite jedan
+ od izvora navedenih ispod za masovno preuzimanje podataka.
other:
title: Drugi izvori
description: Dodatni izvori ponuđeni na OpenStreetMap wiki
primary_link: Državna cesta
proposed: Predložena cesta
raceway: Trkalište
- residential: Ulica
+ residential: Stambena ulica
rest_area: Područje za odmor
road: Cesta
secondary: Sekundarna cesta
layouts:
logo:
alt_text: OpenStreetMap logotip
- home: Početna
+ home: Idi na početnu lokaciju
logout: Odjava
log_in: Prijava
log_in_tooltip: Prijavite se sa postojećim korisničkim računom
confirm: 'Prije nego uradimo bilo šta drugo, moramo potvrditi da je ovaj zahtjev
došao od Vas, ako je to istina, molimo Vas da kliknete poveznicu ispod da
potvrdite Vaš račun:'
- welcome: Želimo Vam dobrodošlicu i takođe želimo Vam dati neke dodatne informacije
+ welcome: Nakon što potvrdite svoj račun, mi ćemo vam dati neke dodatne informacije
kako bi ste počeli.
email_confirm:
subject: '[OpenStreetMap] Potvrdite Vašu e-mail adresu'
upload_trace: Poslati GPS trasu
see_all_traces: Pogledati sve trase
see_your_traces: Pogledati vlastite trase
- traces_waiting: Imate %{count} trasu/e/a na čekanju za slanje. Uzmite ovo u
- obzir, i pričekajte da se završe prije slanja novih trasa, da ne blokirate
- ostale korisnike.
+ traces_waiting:
+ one: Imate %{count} trasu koja čeka za slanje. Uzmite ovo u obzir i pričekajte
+ da se završi prije nego pošaljete novu trasu, da ne biste blokirali druge
+ korisnike.
+ other: Imate %{count} trase/a na čekanju za slanje. Uzmite ovo u obzir i pričekajte
+ da se završe prije slanja novih trasa, da ne blokirate ostale korisnike.
trace_optionals:
tags: Oznake
view:
trace_not_found: Trasa nije pronađena!
visibility: 'Vidljivost:'
trace_paging_nav:
- showing_page: Prikaz stranice %{page}
+ showing_page: Stranica %{page}
older: Starije trase
newer: Novije trase
trace:
url: 'URL za zahtjev značke:'
access_url: 'URL pristupa znački:'
authorize_url: 'URL ovlaštenja:'
- support_notice: Podržavamo HMAC-SHA1 (preporučeno) kao i obični tekst u ssl
- modu.
+ support_notice: Podržavamo HMAC-SHA1 (preporučeno) i potpise RSA-SHA1.
edit: Urediti detalje
delete: Izbrisati klijenta
confirm: Da li ste sigurni?
flash changed: Vaša lozinka je promjenjena.
flash token bad: Niste pronašli tz značku, možda da provjerite URL?
new:
- title: Napravite račun
+ title: Otvorite račun
no_auto_account_create: Nažalost nismo u mogućnosti automatski otvarati korisničke
račune.
contact_webmaster: Molimo da kontaktirate s <a href="mailto:webmaster@openstreetmap.org">webmasterom</a>
Ukoliko već imate račun, možete se prijaviti na Vaš račun korištenjem Vašeg korisničkog imena i lozinke i onda uvezati račun sa Vašim OtvorenimID u Vašim korisničkim podešavanjima.
</li>
</ul>
- continue: Nastaviti
+ continue: Otvorite račun
terms accepted: Hvala za prihvatanje novih uslova za doprinosioce!
terms declined: Žao nam je da ste odlučili ne prihvatiti nove Uslove za doprinosioce.
Za više informacije, molimo pogledajte <a href="%{url}">ovu wiki stranicu</a>.
edits: uređivanja
traces: trase
remove as friend: ukloniti kao prijatelja
- add as friend: dodati kao prijatelja
+ add as friend: dodati prijatelja
mapper since: 'Maper od:'
ago: (%{time_in_words_ago} prije)
ct status: 'Uslovi za doprinosioce:'
spam score: 'Spam ocjena:'
description: Opis
user location: Lokacija boravišta korisnika
- if set location: Ako namjestite Vašu lokaciju, zgodna karta i stvari će se pojaviti
- ovdje. Možete namjestiti lokaciju Vašeg boravišta na %{settings_link} stranici.
+ if set location: Namjestite Vašu početnu lokaciju na %{settings_link} stranici,
+ kako biste vidjeli korisnike u okolini.
settings_link_text: postavke
your friends: Vaši prijatelji
no friends: Niste dodali nijednog prijatelja.
unhide_user: otkriti ovog korisnika
delete_user: izbrisati ovog korisnika
confirm: Potvrditi
- friends_changesets: Pretražiti sve setove promjena prijatelja
- friends_diaries: Pretražiti sve unose u dnevnik od prijatelja
- nearby_changesets: Pretražiti sve setove promjena obližnjih korisnika
- nearby_diaries: Pretražiti sve unnose u dnevnik od obližnjih korisnika
+ friends_changesets: promjena spiska prijatelja
+ friends_diaries: unosi u dnevnik prijatelja
+ nearby_changesets: promjene spiska obližnjih korisnika
+ nearby_diaries: unosi u dnevnik obližnjih korisnika
popup:
your location: Vaša lokacija
nearby mapper: Obližnji maper
Provjerite e-mail za porukom za potvrdu nove e-mail adrese.
flash update success: Korisničke informacije su uspješno osvježene.
confirm:
- heading: Potvrditi korisnički račun
+ heading: Provjerite vaš email!
press confirm button: Pritisnuti potvrditi da bi aktivirali Vaš korisnički račun.
button: Potvrditi
already active: Ovaj račun je već potvrđen.
- unknown token: Izgleda da ta značka ne postoji.
+ unknown token: Taj kod za potvrdu je istekao ili ne postoji.
confirm_resend:
success: Poslali smo novu potvrdu na e-mail %{email} a čim potvrdite svoj račun,
moći ćete početi mapirati.<br /><br />Ako koristite antispam sistem koji šalje
make_friend:
heading: Dodati %{user} kao prijatelja?
button: Dodati kao prijatelja
- success: '%{name} je sada Vaš prijatelj.'
+ success: '%{name} je sada Vaš prijatelj!'
failed: Žao mi je, nije uspjelo dodavanje %{name} kao prijatelja.
already_a_friend: Već ste prijatelj sa %{name}.
remove_friend:
- heading: Ukloniti %{user} kao prijatelja?
- button: Ukloniti kao prijatelja
+ heading: Ukloniti %{user} iz prijatelja?
+ button: Ukloniti prijatelja
success: '%{name} je uklonjen iz prijatelja.'
not_a_friend: '%{name} nije jedan od Vaših prijatelja.'
filter:
title: Korisnici
heading: Korisnici
showing:
- one: Prikaz stranice %{page} (%{first_item} od %{items})
- other: Prikaz stranice %{page} (%{first_item}-%{last_item} od %{items})
+ one: Stranica %{page} (%{first_item} od %{items})
+ other: Stranice %{page} (%{first_item}-%{last_item} od %{items})
summary: '%{name} napravljeno sa %{ip_address} dana %{date}'
summary_no_ip: '%{name} napravljeno %{date}'
confirm: Potvrditi odabrane korisnike
status: Stanje
revoker_name: Opozvano od strane
not_revoked: (nije opozvano)
- showing_page: Prikaz stranice %{page}
+ showing_page: Stranica %{page}
next: Sljedeća »
previous: « Prethodna
helper:
way_paginated: Vies (%{x}-%{y} de %{count})
relation: Relacions (%{count})
relation_paginated: Relacions (%{x}-%{y} de %{count})
+ comment: (%{count}) comentaris
+ hidden_commented_by: Comentari ocult de l'usuari %{user} <abbr title='%{exact_time}'>%{when}
+ ago</abbr>
+ commented_by: Comentari de %{user} <abbr title='%{exact_time}'>%{when} ago</abbr>
changesetxml: XML del conjunt de canvis
osmchangexml: XML en format osmChange
feed:
title: Conjunt de canvis %{id}
title_comment: Conjunt de canvis %{id} - %{comment}
+ join_discussion: Inicieu sessió per unir-vos a la discussió
+ discussion: Discussió
node:
title: 'Node: %{name}'
history_title: 'Historial del node: %{name}'
reopened_by: Reactivat per %{user} fa <abbr title='%{exact_time}'>%{when}</abbr>
reopened_by_anonymous: Reactivat per un anònim fa <abbr title='%{exact_time}'>%{when}</abbr>
hidden_by: Ocultat per %{user} fa <abbr title='%{exact_time}'>%{when}</abbr>
+ query:
+ title: Consultar característiques
+ introduction: Cliqueu al mapa per trobar característques properes.
+ nearby: Característiques properes
+ enclosing: Característiques adjuntes
changeset:
changeset_paging_nav:
showing_page: Pàgina %{page}
timeout:
sorry: La llista de conjunt de canvis que heu sol·licitat ha trigat massa a
recuperar-se.
+ rss:
+ title_all: Discussió del conjunt de canvis d'OpenStreetMap
+ title_particular: 'Discussió del conjunt de canvis #%{changeset_id} d''OpenStreetMap'
+ comment: 'Nou comentari de %{author} al conjunt de canvis #%{changeset_id}'
+ commented_at_html: Actualitzat fa %{when}
+ commented_at_by_html: Actualitzat fa %{when} per %{user}
+ full: Discussió sencera
diary_entry:
new:
title: Nova Entrada de Diari
primary_link: Carretera principal
proposed: Carretera proposada
raceway: Vial Ràpid
- residential: Residencial
+ residential: Carrer Residencial
rest_area: Àrea de descans
road: Carretera
secondary: Carretera secundària
country: País
county: Comtat
farm: Granja
- hamlet: Aldea
+ hamlet: Llogaret
house: Casa
houses: Cases
island: Illa
tram: Tramvia
tram_stop: Parada de tramvia
yard: Pati de ferrocarril
+ route:
+ bus: Ruta d'autobús
shop:
alcohol: De llicència
antiques: Antiquari
water_point: Punt d'aigua
weir: Weir
admin_levels:
- level2: Frontera
+ level2: Frontera internacional
level4: Límit d'estat
level5: Límit de regió
level6: Frontera
level8: Límit de municipi
- level9: Límit de poble
- level10: Límit de suburbi
+ level9: Límit de districte
+ level10: Límit de barri
description:
title:
osm_nominatim: Localització des de <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
text: Feu una donació
learn_more: Aprèn-ne més
more: Més
- sotm_line_1: 8a Conferència Annual
- sotm_line_2: 7-9 de novembre de 2014
- sotm_line_3: Buenos Aires, Argentina
license_page:
foreign:
title: Quant a la traducció
commented_note: '%{commenter} ha reactivat una nota de mapa en la qual hi
heu comentat. La nota és a prop de %{place}.'
details: Podeu trobar més detalls de la nota a %{url}.
+ changeset_comment_notification:
+ greeting: Hola,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} ha comentat en un dels vostres
+ conjunts de canvis'
+ subject_other: '[OpenStreetMap] %{commenter} ha comentat en un conjunt de
+ canvis el qual hi esteu interessat'
+ your_changeset: '%{commenter} ha fet un comentari en un dels vostres conjunts
+ de canvis creats a %{time}'
+ commented_changeset: '%{commenter} ha fet un comentari en un conjunt de canvis
+ de %{changeset_author} a %{time} i que esteu seguint'
+ partial_changeset_with_comment: amb comentari '%{changeset_comment}'
+ partial_changeset_without_comment: sense comentari
+ details: Més detalls del conjunt de canvis es poden trobar a %{url}
message:
inbox:
title: Safata d'entrada
tooltip_disabled: La llegenda només està disponible per a la capa estàndard
map:
zoom:
- in: Apropar-se
- out: Allunyar-se
+ in: Amplia
+ out: Allunya
locate:
title: Mostra la meva ubicació
popup: Esteu a {distance} {unit} d'aquest punt
createnote_disabled_tooltip: Fes zoom per afegir una nota al mapa
map_notes_zoom_in_tooltip: Feu zoom per veure les notes del mapa
map_data_zoom_in_tooltip: Feu zoom per veure les dades del mapa
+ queryfeature_tooltip: Consulta característiques
+ queryfeature_disabled_tooltip: Apropeu-vos per consultar característiques
+ changesets:
+ show:
+ comment: Comentari
+ subscribe: Subscriure's
+ unsubscribe: Donar-se de baixa
+ hide_comment: ocultar
+ unhide_comment: mostrar
notes:
new:
intro: Heu trobat un error o bé hi falta res? Informeu-ne a d'altres col·laboradors
comment: Comenta
edit_help: Moveu el mapa i feu zoom sobre una ubicació que vulgueu editar, i a
continuació, feu clic aquí.
+ query:
+ node: Node
+ way: Via
+ relation: Relació
+ nothing_found: No s'han trobat característiques
+ error: 'Error en contactar amb %{server}: %{error}'
+ timeout: Temps de contacte amb %{server} excedit
redaction:
edit:
description: Descripció
# Author: Masox
# Author: Matěj Grabovský
# Author: Michaelbrabec
+# Author: Mkyral
# Author: Mormegil
# Author: Mr. Richard Bolla
# Author: Nemo bis
way_paginated: Cesty (%{x}–%{y} z %{count})
relation: Relace (%{count})
relation_paginated: Relace (%{x}–%{y} z %{count})
+ comment: Komentáře (%{count})
+ hidden_commented_by: Skrytý komentář od %{user} <abbr title='%{exact_time}'>Před
+ %{when}</abbr>
+ commented_by: <abbr title='%{exact_time}'>Před %{when}</abbr> okomentoval %{user}
changesetxml: Soubor změn XML
osmchangexml: osmChange XML
feed:
title: Sada změn %{id}
title_comment: 'Sada změn: %{id} - %{comment}'
+ join_discussion: Pokud chcete diskutovat, přihlaste se
+ discussion: Diskuse
node:
title: 'Uzel: %{name}'
history_title: 'Historie uzlu: %{name}'
reopened_by_anonymous: Reaktivoval <abbr title='%{exact_time}'>před %{when}</abbr>
anonym
hidden_by: Skryl <abbr title='%{exact_time}'>před %{when}</abbr> %{user}
+ query:
+ title: Průzkum prvků
+ introduction: Pro nalezení okolních prvků klikněte do mapy.
+ nearby: Okolní prvky
+ enclosing: Umístění prvku
changeset:
changeset_paging_nav:
showing_page: Stránka %{page}
load_more: Načíst další
timeout:
sorry: Omlouváme se, ale vámi požadovaný seznam sad změn se načítal příliš dlouho.
+ rss:
+ title_all: Diskuse k sadě změn na OpenStreetMap
+ title_particular: 'Diskuse k sadě změn #%{changeset_id} na OpenStreetMap'
+ comment: '%{author} napsal nový komentář k sadě změn #%{changeset_id}'
+ commented_at_html: Aktualizováno před %{when}
+ commented_at_by_html: Aktualizováno před %{when} uživatelem %{user}
+ full: Celá diskuse
diary_entry:
new:
title: Nový záznam do deníčku
tram: Tramvajová trať
tram_stop: Tramvajová zastávka
yard: Přednádraží
+ route:
+ bus: Autobusová linka
shop:
alcohol: Prodej alkoholu
antiques: Starožitnosti
text: Pošlete příspěvek
learn_more: Více informací
more: Další
- sotm_header: State of the Map 2014
- sotm_line_1: 8. výroční konference
- sotm_line_2: 7.–9. listopadu 2014
- sotm_line_3: Buenos Aires, Argentina
license_page:
foreign:
title: O tomto překladu
commented_note: '%{commenter} reaktivoval poznámku k mapě, kterou jste komentovali.
Poznámka je umístěna poblíž %{place}.'
details: Podrobnosti k poznámce můžete najít na %{url}.
+ changeset_comment_notification:
+ greeting: Ahoj,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} okomentoval jednu z vašich sad
+ změn'
+ subject_other: '[OpenStreetMap] %{commenter} okomentoval jednu ze sad změn,
+ která vás zajímá'
+ your_changeset: '%{commenter} zanechal komentář na jedné z vašich sad změn,
+ vytvořené %{time}.'
+ commented_changeset: '%{commenter} zanechal komentář na sadě změn, kterou
+ %{time} vytvořil %{changeset_author} a kterou sledujete.'
+ partial_changeset_with_comment: s komentářem „%{changeset_comment}“
+ partial_changeset_without_comment: bez komentáře
+ details: Více informací o této sadě změn lze nalézt na %{url}.
message:
inbox:
title: Doručená pošta
createnote_disabled_tooltip: Pro přidání poznámky přejděte na větší měřítko
map_notes_zoom_in_tooltip: Pro zobrazení poznámek k mapě přejděte na větší měřítko.
map_data_zoom_in_tooltip: Pro zobrazení mapových dat přejděte na větší měřítko.
+ queryfeature_tooltip: Průzkum prvků
+ queryfeature_disabled_tooltip: Pro průzkum prvků přejděte na větší měřítko
+ changesets:
+ show:
+ comment: Okomentovat
+ subscribe: Odebírat
+ unsubscribe: Zrušit odebírání
+ hide_comment: skrýt
+ unhide_comment: odkrýt
notes:
new:
intro: Zahlédli jste chybu nebo prázdné místo? Dejte vědět ostatním uživatelům,
comment: Okomentovat
edit_help: Posuňte si mapu a zvětšete si místo, které chcete editovat, a klikněte
zde.
+ query:
+ node: Uzel
+ way: Cesta
+ relation: Relace
+ nothing_found: Žádné nalezené objekty
+ error: 'Chyba při připojování k %{server}: %{error}'
+ timeout: Vypršel čas při připojování k %{server}
redaction:
edit:
description: Popis
--- /dev/null
+# Messages for Welsh (Cymraeg)
+# Exported from translatewiki.net
+# Export driver: phpyaml
+# Author: Cymrodor
+# Author: Robin Owain
+---
+cy:
+ time:
+ formats:
+ friendly: '%e %B %Y am %H:%M'
+ activerecord:
+ models:
+ acl: Rhestr Rheoli Mynediad
+ country: Gwlad
+ diary_comment: Nodyn Dyddiadur
+ diary_entry: Cofnod Dyddiadur
+ friend: Ffrind
+ language: Iaith
+ message: Neges
+ notifier: Hysbysydd
+ old_relation: Hen Berthynas
+ old_relation_member: Aelod o Hen Berthynas
+ old_relation_tag: Tag Hen Berthynas
+ old_way: Hen Lwybr
+ relation: Perthynas
+ session: Sesiwn
+ trace: Dargopïo
+ tracepoint: Pwynt Dargopïo
+ tracetag: Tag Dargopïo
+ user: Defnyddiwr
+ user_preference: Dewis Defnyddiwr
+ user_token: Tocyn Defnyddiwr
+ way: Llwybr
+ way_node: Cwgn Llwybr
+ way_tag: Tag Llwybr
+ attributes:
+ diary_comment:
+ body: Corff
+ diary_entry:
+ user: Defnyddiwr
+ title: Pwnc
+ latitude: Lledred
+ longitude: Hydred
+ language: Iaith
+ friend:
+ user: Defnyddiwr
+ friend: Ffrind
+ trace:
+ user: Defnyddiwr
+ visible: Gweladwy
+ name: Enw
+ size: Maint
+ latitude: Lledred
+ longitude: Hydred
+ public: Cyhoeddus
+ description: Disgrifiad
+ message:
+ sender: Danfonwr
+ title: Pwnc
+ body: Corff
+ recipient: Derbyniwr
+ user:
+ email: Ebost
+ active: Gweithredol
+ display_name: Dangos Enw
+ description: Disgrifiad
+ languages: Ieithoedd
+ pass_crypt: Cyfrinair
+ editor:
+ default: (currently %{name}) diofyn
+ id:
+ name: iD
+ description: iD (golygydd y porwr)
+ browse:
+ created: Crewyd
+ closed: Wedi cau
+ created_html: Crewyd <abbr title='%{title}'>%{time} yn ôl</abbr>
+ closed_html: Wedi cau <abbr title='%{title}'>%{time} yn ôl</abbr>
+ created_by_html: Crewyd <abbr title='%{title}'>%{time} yn ôl</abbr> gan %{user}
+ deleted_by_html: Dilewyd <abbr title='%{title}'>%{time} yn ôl</abbr> gan %{user}
+ edited_by_html: Golygwyd <abbr title='%{title}'>%{time} yn ôl</abbr> gan %{user}
+ closed_by_html: Caewyd <abbr title='%{title}'>%{time} yn ôl</abbr> gan %{user}
+ version: Fersiwn
+ anonymous: dienw
+ no_comment: (dim sylw)
+ part_of: Rhan o
+ download_xml: Lawrlwytho XML
+ view_history: Gweld yr Hanes
+ view_details: Gweld Manylion
+ location: Lleoliadː
+ changeset:
+ title: '%{id}'
+ belongs_to: Awdur
+ node: Cygnau (%{count})
+ node_paginated: Cygnau (%{x}-%{y} o %{count})
+ way: Llwybrau %{count}
+ way_paginated: Llwybrau (%{x}-%{y} o %{count})
+ comment: Sylwadau (%{count})
+ hidden_commented_by: Sylw cudd gan %{user} <abbr title='%{exact_time}'>%{when}
+ yn ôl</abbr>
+ commented_by: Sylw gan %{user} <abbr title='%{exact_time}'>%{when} yn ôl</abbr>
+ join_discussion: Mewngofnodwch i ymuno yn y sgwrs
+ discussion: Sgwrs
+ way:
+ title: 'Llwybr: %{name}'
+ history_title: 'Hanes Llwybr: %{name}'
+ relation:
+ title: 'Perthynas: %{name}'
+ members: Aelodau
+ relation_member:
+ type:
+ way: Llwybr
+ relation: Perthynas
+ containing_relation:
+ entry: Perthynas %{relation_name}
+ entry_role: Perthynas %{relation_name} (fel %{relation_role})
+ not_found:
+ sorry: 'Ymddiheurwn, ni ellir canfod %{type} #%{id}.'
+ type:
+ way: llwybr
+ timeout:
+ type:
+ way: llwybr
+ relation: perthynas
+ redacted:
+ type:
+ way: llwybr
+ relation: perthynas
+ start_rjs:
+ load_data: Llwytho Data
+ loading: Yn llwytho...
+ tag_details:
+ tags: Tagiau
+ wiki_link:
+ key: Tudalen disgrifiad wici ar gyfer y tag %{key}
+ tag: Tudalen disgrifiad wici ar gyfer y tag %{key}=%{value}
+ wikidata_link: Eitem %{page} ar Wikidata
+ wikipedia_link: Erthygl %{page} ar Wicipedia
+ telephone_link: Galw %{phone_number}
+ note:
+ title: 'Nodyn: %{id}'
+ new_note: Nodyn Newydd
+ description: Disgrifiad
+ hidden_title: Nodyn cudd %{note_name}
+ open_by: Crëwyd gan %{user} <abbr title='%{exact_time}'>%{when} yn ôl</abbr>
+ open_by_anonymous: Crëwyd yn ddienw <abbr title='%{exact_time}'>%{when} yn ôl</abbr>
+ commented_by: Sylw gan %{user} <abbr title='%{exact_time}'>%{when} yn ôl</abbr>
+ commented_by_anonymous: Sylw yn ddienw <abbr title='%{exact_time}'>%{when} yn
+ ôl</abbr>
+ hidden_by: Cuddwyd gan %{user} <abbr title='%{exact_time}'>%{when} yn ôl</abbr>
+ query:
+ title: Nodweddion Ymholiad
+ introduction: Cliciwch ar y map i ddarganfod nodweddion gerllaw.
+ nearby: Nodweddion gerllaw
+ enclosing: Nodweddion amgáu
+ changeset:
+ changeset_paging_nav:
+ showing_page: Tudalen %{page}
+ next: Nesaf »
+ previous: « Blaenorol
+ changeset:
+ anonymous: Dienw
+ no_edits: (dim newid)
+ changesets:
+ id: ID
+ saved_at: Cadwyd
+ user: Defnyddiwr
+ comment: Sylw
+ area: Maes
+ list:
+ load_more: Llwytho mwy
+ rss:
+ commented_at_html: Diweddarwyd %{when} yn ôl
+ commented_at_by_html: Diweddarwyd %{when} yn ôl gan %{user}
+ full: Sgwrs llawn
+ diary_entry:
+ new:
+ title: Cofnod Dyddiadur Newydd
+ list:
+ title: Dyddiaduron defnyddwyr
+ title_friends: Dyddiaduron ffrindiau
+ title_nearby: Dyddiaduron defnyddwyr gerllaw
+ user_title: Dyddiadur %{user}
+ in_language_title: Cofnodion Dyddiadur yn %{language}
+ new: Cofnod Dyddiadur Newydd
+ new_title: Ysgrifennu cofnod newydd yn eich dyddiadur defnyddiwr
+ no_entries: Dim cofnodion dyddiadur
+ recent_entries: Cofnodion dyddiadur diweddar
+ older_entries: Cofnodion Hŷn
+ newer_entries: Confodion Mwy Diweddar
+ edit:
+ title: Golygu cofnod dyddiadur
+ subject: 'Pwnc:'
+ body: 'Corff:'
+ language: 'Iaith:'
+ location: 'Lleoliad:'
+ latitude: Hydred
+ longitude: Lledred
+ use_map_link: defnyddiwch y map
+ save_button: Arbed
+ marker_text: Lleoliad cofnod y dyddiadur
+ view:
+ title: yddiadur %{user} | %{title}
+ user_title: dyddiadur %{user}
+ leave_a_comment: Gadael sylw
+ login_to_leave_a_comment: '%{login_link} i adael sylw'
+ login: Mewngofnodi
+ save_button: Cadw
+ no_such_entry:
+ title: Dim cofnod o'r fath yn y dyddiadur
+ heading: 'Dim cofnod efo''r id: %{id}'
+ body: Ymddiheurwn, ond nid oes cofnod o sylw gyda'r id %{id}. Gwirwch eich sillafu,
+ neu a ydych wedi clicio dolen anghywir?
+ diary_entry:
+ posted_by: Postiwyd gan %{link_user} ar %{created} mewn %{language_link}
+ comment_link: Sylw ar y cofnod hwn
+ reply_link: Ymateb i'r cofnod hwn
+ comment_count:
+ zero: Dim sylwadau
+ one: '%{count} sylw'
+ other: '%{count} sylw'
+ edit_link: Golygu'r cofnod hwn
+ hide_link: Cuddio'r cofnod hwn
+ confirm: Cadarnhau
+ diary_comment:
+ comment_from: Sylwadau gan %{link_user} ar %{comment_created_at}
+ hide_link: Cuddio'r sylw hwn
+ confirm: Cadarnhau
+ location:
+ location: 'Lleoliad:'
+ view: Dangos
+ edit: Golygu
+ feed:
+ user:
+ title: Cofnodion OpenStreetMap ar gyfer %{user}
+ description: Cofnodion dyddiadur diweddar OpenStreetMap gan %{user}
+ language:
+ title: Cofnodion dyddiadur OpenStreetMap mewn %{language_name}
+ description: Cofnodion dyddiadur diweddar gan ddefnyddwyr OpenStreetMap in
+ %{language_name} mewn %{language_name}
+ all:
+ title: Cofnodion dyddiadur OpenStreetMap
+ description: Cofnodion dyddiadur diweddar gan ddefnyddwyr OpenStreetMap
+ comments:
+ has_commented_on: Mae %{display_name} wedi rhoi sylw ar y cofnodion dyddiadurol
+ canlynol
+ post: Post
+ when: Pa bryd
+ comment: Sylw
+ ago: '%{ago} yn ôl'
+ newer_comments: Sylwadau mwy diweddar
+ older_comments: Hen Sylwadau
+ export:
+ title: Allforio
+ start:
+ area_to_export: Ardal i'w Hallforio
+ manually_select: Dewisiwch ardal wahanol
+ format_to_export: Fformatiwch i'w Hallforio
+ osm_xml_data: Data XML OpenStreetMap
+ map_image: Delwedd y Map (dangoser yr haen safonol)
+ licence: Trwydded
+ export_details: Trwyddedir OpenStreetMap ar drwydded <a href="http://opendatacommons.org/licenses/odbl/1.0/">Comin
+ Data Agored (Open Data Commons Open Database License)</a> (ODbL).
+ too_large:
+ other:
+ title: Ffynonellau eraill
+ description: Ffynonellau ychwanegol a nodir ar wici OpenStreetMap
+ options: Dewisiadau
+ format: Fformat
+ scale: Graddfa
+ max: uchafswm
+ image_size: Maint y ddelwedd
+ zoom: Chwyddo
+ add_marker: Ychwanegwch bin ar y map
+ latitude: 'Lledred:'
+ longitude: 'Hydred:'
+ output: Allbwn
+ export_button: Allforio
+ geocoder:
+ search:
+ title:
+ latlon: Canlyniadau o <a href="http://openstreetmap.org/">Internal</a>
+ us_postcode: Canlyniadau o <a href="http://geocoder.us/">Geocoder.us</a>
+ uk_postcode: Canlyniadau o <a href="http://www.npemap.org.uk/">NPEMap / FreeThe
+ Postcode</a>
+ ca_postcode: Canlyniadau o <a href="http://geocoder.ca/">Geocoder.CA</a>
+ osm_nominatim: Canlyniadau o <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+ Nominatim</a>
+ geonames: Canlyniadau o <a href="http://www.geonames.org/">GeoNames</a>
+ osm_nominatim_reverse: Canlyniadau o <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
+ Nominatim</a>
+ geonames_reverse: Canlyniadau o <a href="http://www.geonames.org/">GeoNames</a>
+ search_osm_nominatim:
+ prefix:
+ aerialway:
+ chair_lift: Cadair godi
+ drag_lift: Cadair lusg
+ aeroway:
+ aerodrome: Maesawyr
+ apron: Ffedog
+ gate: Giat
+ helipad: Pad Hofrennydd
+ amenity:
+ airport: Maes Awyr
+ arts_centre: Canolfan Grefftau
+ atm: Peiriant Codi Arian
+ auditorium: Awditoriwm
+ bank: Banc
+ bar: Bar
+ bbq: Barbeciw
+ bench: Mainc
+ bicycle_parking: Man Cadw Beic
+ bicycle_rental: Man Llogi Beic
+ biergarten: Gardd Gwrw
+ brothel: Puteindy
+ bureau_de_change: Bureau de Change
+ bus_station: Gorsaf Fysiau
+ cafe: Caffi
+ car_rental: Man Llogi Cerbyd
+ car_sharing: Man Rhannu Cerbyd
+ car_wash: Golchwr Cerbyd
+ casino: Casino
+ charging_station: Gorsaf Gwefru
+ cinema: Sinema
+ clinic: Clinic
+ club: Clwb
+ college: Coleg
+ community_centre: Canolfan Cymunedol
+ courthouse: Llys
+ crematorium: Amlosgfa
+ dentist: Deintydd
+ doctors: Meddygfa
+ drinking_water: Dŵr Yfed
+ driving_school: Ysgol Yrru
+ embassy: Llysgenhadaeth
+ emergency_phone: Ffôn Argyfwng
+ fast_food: Bwyd Parod
+ fire_station: Gorsaf Dân
+ food_court: Cwrt Fwydydd
+ fountain: Ffynnon
+ fuel: Tanwydd
+ grave_yard: Mynwent
+ gym: Canolfan Ffitrwydd / Campfa
+ hall: Neuadd
+ health_centre: Canolfan Iechyd
+ hospital: Ysbyty
+ hotel: Gwesty
+ ice_cream: Hufen Iâ
+ kindergarten: Meithrinfa
+ library: Llyfrgell
+ market: Marchnad
+ marketplace: Marchnad
+ mountain_rescue: Achub bywyd mynydd
+ nightclub: Clwb Nôs
+ nursery: Meithrinfa
+ nursing_home: Cartref Nyrsio
+ office: Swyddfa
+ park: Parc
+ parking: Parcio
+ pharmacy: Fferyllfa
+ place_of_worship: Man addoli
+ police: Heddlu
+ post_box: Blwch Llythyrau
+ post_office: Swyddfa Bost
+ preschool: Meithrinfa
+ prison: Carchar
+ pub: Tafarn
+ public_building: Adeilad Cyhoeddus
+ public_market: Marchnad Cyhoeddus
+ reception_area: Derbyniad
+ recycling: Pwynt Ailgylchu
+ restaurant: Bwyty
+ retirement_home: Cartref Ymddeol
+ sauna: Sawna
+ school: Ysgol
+ shelter: Cysgod
+ shop: Siop
+ shopping: Siopa
+ shower: Cawod
+ social_centre: Canolfan Cymdeithasol
+ social_club: Clwb Cymdeithasol
+ social_facility: Cyfleuster cymedithasol
+ studio: Stiwdio
+ supermarket: Archfarchnad
+ swimming_pool: Pwll Nofio
+ taxi: Tacsi
+ telephone: Ffôn Cyhoeddus
+ theatre: Theatr
+ toilets: Tai bach
+ townhall: Neuadd Dref
+ university: Prifysgol
+ veterinary: Milfeddygfa
+ village_hall: Neuadd Bentref
+ waste_basket: Bin sbwriel
+ wifi: Mynediad WiFi
+ WLAN: Mynediad WiFi
+ youth_centre: Canolfan Ieuenctid
+ boundary:
+ census: Ffin Cyfrifiad
+ national_park: Parc Cenedlaethol
+ protected_area: Ardal Warchodol
+ bridge:
+ aqueduct: Dyfrbont
+ suspension: Pont Grog
+ viaduct: Pont Trenau
+ "yes": Pont
+ building:
+ "yes": Adeilad
+ emergency:
+ phone: Ffôn Argyfwng
+ highway:
+ bridleway: Llwybr Ceffyl
+ bus_stop: Stop Bysiau
+ construction: Priffordd yn cael ei Adeiladu
+ cycleway: Llwybr Beicio
+ emergency_access_point: Pwynt Mynediad Argyfwng
+ footway: Llwybr Cerdded
+ ford: Rhyd
+ milestone: Carreg Filltir
+ minor: Ffordd Gefn
+ motorway: Traffordd
+ motorway_junction: Cyffordd Traffordd
+ motorway_link: Ffordd Traffordd
+ path: Llwybr
+ pedestrian: Llwybr Cerddwyr
+ platform: Platfform
+ primary: Priffordd
+ primary_link: Priffordd
+ proposed: Ffordd Arfaethedig
+ rest_area: Man Gorffwys
+ road: Ffordd
+ secondary: Ffordd Eilaidd
+ secondary_link: Ffordd Eilaidd
+ services: Gwasanaethau Traffordd
+ speed_camera: Camera Cyflymder
+ steps: Grisiau
+ street_lamp: Golau Stryd
+ stile: Camfa
+ tertiary: Ffordd Trydyddol
+ tertiary_link: Ffordd Trydyddol
+ track: Trac
+ trail: Llwybr
+ trunk: Cefnffordd
+ trunk_link: Cefnffordd
+ unclassified: Ffordd Diddosbarth
+ unsurfaced: Ffordd Heb Wyneb
+ historic:
+ archaeological_site: Safle Archaeolegol
+ battlefield: Maes Brwydr
+ boundary_stone: Maen Terfyn
+ building: Adeilad
+ castle: Castell
+ church: Eglwys
+ citywalls: Waliau Ddinas
+ fort: Caer
+ house: Tŷ
+ icon: Eicon
+ manor: Maenor
+ memorial: Cofeb
+ mine: Mwynfa
+ monument: Cofadail
+ museum: Amgueddfa
+ ruins: Adfeilion
+ tomb: Beddrod
+ tower: Tŵr
+ wayside_cross: Croes Min Ffordd
+ wayside_shrine: Cysegrfa Min Ffordd
+ wreck: Llongddrylliad
+ landuse:
+ allotments: Rhandiroedd
+ basin: Basn
+ brownfield: Browndir
+ cemetery: Mynwent
+ commercial: Ardal Fasnachol
+ conservation: Cadwraeth
+ construction: Adeiladwaith
+ farm: Fferm
+ farmland: Tir Ffermio
+ farmyard: Buarth Fferm
+ forest: Coedwig
+ garages: Garejis
+ grass: Glaswellt
+ greenfield: Glastir
+ industrial: Ardal Ddiwydiannol
+ landfill: Safle Tirlenwi
+ meadow: Dôl
+ military: Ardal Milwrol
+ mine: Mwynglawdd
+ orchard: Berllan
+ nature_reserve: Gwarchodfa Natur
+ park: Parc
+ piste: Piste
+ quarry: Chwarel
+ railway: Rheilffordd
+ recreation_ground: Maes Chwarae
+ reservoir: Cronfa Ddŵr
+ retail: Adwerthu
+ village_green: Llain Pentref
+ vineyard: Gwinllan
+ wetland: Gwlypdir
+ wood: Coed
+ leisure:
+ beach_resort: Ardal Wyliau
+ common: Tir Comin
+ fishing: Man Pysgota
+ garden: Gardd
+ golf_course: Cwrs Golff
+ ice_rink: Llawr Sglefrio
+ marina: Marina
+ miniature_golf: Golff Pitw
+ nature_reserve: Gwarchodfa Natur
+ park: Parc
+ pitch: Maes Chwarae
+ playground: Lle Chwarae
+ recreation_ground: Maes Hamdden
+ sauna: Sawna
+ slipway: Llithrffordd
+ sports_centre: Canolfan Chwaraeon
+ stadium: Stadiwm
+ swimming_pool: Pwll Nofio
+ track: Trac Rhedeg
+ water_park: Parc Dŵr
+ military:
+ airfield: Maes Awyr Milwrol
+ barracks: Barics
+ bunker: Byncer
+ mountain_pass:
+ "yes": Bwlch Mynydd
+ natural:
+ bay: Bae
+ beach: Traeth
+ cape: Penrhyn
+ cave_entrance: Mynediad Ogof
+ channel: Culfor
+ cliff: Clogwyn
+ crater: Crater
+ dune: Twyn
+ feature: Nodwedd
+ fjord: Ffiord
+ forest: Coedwig
+ geyser: Geiser
+ glacier: Rhewlif
+ heath: Rhos
+ hill: Bryn
+ island: Ynys
+ land: Tir
+ marsh: Cors
+ moor: Gwaun
+ mud: Mwd
+ peak: Copa
+ point: Pwynt
+ reef: Riff
+ ridge: Cefn
+ river: Afon
+ rock: Craig
+ scree: Sgri
+ shoal: Haig
+ spring: Ffynnon
+ stone: Carreg
+ strait: Culfor
+ tree: Coeden
+ valley: Dyffryn
+ volcano: Llosgfynydd
+ water: Dŵr
+ wetland: Gwlypdir
+ wetlands: Gwlypdiroedd
+ wood: Coed
+ office:
+ accountant: Cyfrifydd
+ architect: Pensaer
+ company: Cwmni
+ employment_agency: Asiantaeth Cyflogi
+ estate_agent: Gwerthwr Tai
+ government: Swyddfa Llywodraeth
+ insurance: Swyddfa Yswiriant
+ lawyer: Cyfreithiwr
+ telecommunication: Swyddfa Telegyfathrebu
+ travel_agent: Asiantaeth Deithio
+ "yes": Swyddfa
+ place:
+ airport: Maes Awyr
+ city: Dinas
+ country: Gwlad
+ county: Sir
+ farm: Fferm
+ hamlet: Pentrefan
+ house: Tŷ
+ houses: Tai
+ island: Ynys
+ islet: Ynysig
+ isolated_dwelling: Annedd Unig
+ locality: Ardal
+ moor: Gwaun
+ municipality: Bwrdeistref
+ neighbourhood: Cymdogaeth
+ postcode: Cod Post
+ region: Rhanbarth
+ sea: Môr
+ state: Talaith
+ subdivision: Is-adran
+ suburb: Maestref
+ town: Tref
+ village: Pentref
+ railway:
+ abandoned: Hen Reilffordd
+ construction: Rheilffordd yn cael ei Osod
+ disused: Rheilffordd Segur
+ disused_station: Gorsaf Drenau Segur
+ funicular: Rheilffordd fynydd
+ halt: Stop Trenau
+ historic_station: Hen Orsaf Trenau
+ junction: Cyffordd Rheilffyrdd
+ level_crossing: Croesfan Wastad
+ miniature: Lein Fach
+ narrow_gauge: Lein Fach Gul
+ platform: Platfform Drenau
+ preserved: Rheilffordd ar Gadw
+ proposed: Rheilfford Arfaethedig
+ spur: Cainc Rheilffordd
+ station: Gorsaf Drenau
+ subway: Gorsaf Drenau Tanddaearol
+ subway_entrance: Mynedfa at Drenau Tanddaearol
+ tram: Tramffordd
+ tram_stop: Stop Tramiau
+ yard: Buarth Drenau
+ route:
+ bus: Taith Bws
+ shop:
+ alcohol: Siop Drwyddedig
+ antiques: Hynafolion
+ art: Siop Gelf
+ bakery: Becws
+ beauty: Siop Harddwch
+ beverages: Siop Ddiodau
+ bicycle: Siop Feiciau
+ books: Siop Lyfrau
+ boutique: Boutique
+ butcher: Cigydd
+ car: Siop Geir
+ car_parts: Rhannau Ceir
+ car_repair: Trwsio Ceir
+ carpet: Siop Garpedi
+ charity: Siop Elusen
+ chemist: Fferyllfa
+ clothes: Siop Ddillad
+ computer: Siop Gyfrifiaduron
+ confectionery: Siop Felysion
+ convenience: Siop Bob-peth
+ copyshop: Siop Argraffu
+ cosmetics: Siop Golur
+ deli: Deli
+ department_store: Siop Adrannol
+ discount: Siop Ddisgownt
+ doityourself: DIY
+ dry_cleaning: Sychlanhau
+ electronics: Siop Electroneg
+ estate_agent: Gwerthwr Tai
+ farm: Siop Fferm
+ fashion: Siop Ffasiwn
+ fish: Siop Bysgod
+ florist: Siop Flodau
+ food: Siop Fwyd
+ funeral_directors: Trefnwyr Angladdau
+ furniture: Dodrefn
+ gallery: Galeri
+ garden_centre: Canolfan Gardd
+ general: Siop Gyffredinol
+ gift: Siop Anrhegion
+ greengrocer: Siop Lysiau
+ grocery: Siop y Groser
+ hairdresser: Siop Drin Gwallt
+ hardware: Siop Nwyddau Metel
+ hifi: Sain
+ insurance: Yswiriant
+ jewelry: Siop Gemwaith
+ kiosk: Siop Fechan
+ laundry: Golchdy
+ mall: Canolfan Siopa
+ market: Marchnad
+ mobile_phone: Siop Ffonau Symudol
+ motorcycle: Siop Beiciau Modur
+ music: Siop Gerddoriaeth
+ newsagent: Siop Bapurau
+ optician: Optegydd
+ organic: Siop Fwyd Organig
+ outdoor: Siop Awyr Agored
+ pet: Siop Anifeiliaid Anwes
+ pharmacy: Fferyllfa
+ photo: Siop Luniau
+ salon: Salon Trin Gwallt
+ second_hand: Siol Ail-law
+ shoes: Siop Esgidiau
+ shopping_centre: Canolfan Siopa
+ sports: Siop Chwaraeon
+ stationery: Siop Offer Swyddfa
+ supermarket: Archfarchnad
+ tailor: Teiliwr
+ toys: Siop Degannau
+ travel_agency: Asiantaeth Deithio
+ video: Siop Fideos
+ wine: Siop Drwyddedig
+ "yes": Siop
+ tourism:
+ alpine_hut: Cwt Mynydd
+ artwork: Gwaith Celf
+ attraction: Atyniad
+ bed_and_breakfast: Gweldy a Brecwast
+ cabin: Caban
+ camp_site: Man Gwersylla
+ caravan_site: Parc Carafanau
+ chalet: Chalet
+ guest_house: Llety
+ hostel: Hostel
+ hotel: Gwesty
+ information: Gwybodaeth
+ motel: Motél
+ museum: Amgueddfa
+ picnic_site: Safle Picnic
+ theme_park: Parc Thema
+ valley: Dyffryn
+ viewpoint: Gwylfa
+ zoo: Sw
+ tunnel:
+ culvert: Twnel Ddŵr
+ "yes": Twnel
+ waterway:
+ canal: Camlas
+ dam: Argae
+ derelict_canal: Camlas Diffaith
+ ditch: Ffos
+ dock: Porthladd
+ drain: Draen
+ lock: Loc
+ lock_gate: Llifddor
+ mineral_spring: Ffynnon Dŵr Mwynol
+ mooring: Angori
+ rapids: Dŵr Tyrfol
+ river: Afon
+ riverbank: Glan Afon
+ stream: Nant
+ wadi: Sychnant
+ waterfall: Rheadr
+ water_point: Pwynt Dŵr
+ weir: Cored
+ admin_levels:
+ level2: Ffin Gwledydd
+ level4: Ffin Taleithiau
+ level5: Ffin Rhanbarth
+ level6: Ffin Sir
+ level8: Ffin Dinas
+ level9: Ffin Pentref
+ level10: Ffin Maesdref
+ description:
+ types:
+ cities: Dinasoedd
+ towns: Trefi
+ places: Lleoedd
+ results:
+ no_results: Dim canlyniadau
+ more_results: Mwy o ganlyniadau
+ direction:
+ south_west: de-orllewin
+ south: de
+ south_east: de-ddwyrain
+ east: dwyrain
+ north_east: gogledd-ddwyrain
+ north: gogledd
+ north_west: gogledd-orllewin
+ west: gorllewin
+ layouts:
+ logo:
+ alt_text: Logo OpenStreetMap
+ home: Ewch Adref
+ logout: Allgofnodi
+ log_in: Mewngofnodi
+ log_in_tooltip: Mewngofnodi gyda chyfrif sy'n bodoli
+ sign_up: Cofrestru
+ start_mapping: Dechrau Mapio
+ sign_up_tooltip: Creu cyfrif er mwyn golygu
+ edit: Golygu
+ history: Hanes
+ export: Allforio
+ data: Data
+ export_data: Allforio Data
+ gps_traces: Dargopiadau GPS
+ user_diaries: Dyddiaduron Defnyddwyr
+ user_diaries_tooltip: Gweld dyddiaduron defnyddwyr
+ edit_with: Golygu gyda %{editor}
+ tag_line: Y Map Wici Rhydd o'r Byd
+ intro_header: Croeso i OpenStreetMap!
+ intro_text: Mae OpenStreetMap yn fap o'r byd, wedi'i greu gan bobl fel chi ac
+ sydd ar gael i'w ddefnyddio am ddim a dan drwydded rydd.
+ intro_2_create_account: Creu cyfrif defnyddiwr
+ partners_ic: Imperial College London
+ partners_bytemark: Bytemark Hosting
+ partners_partners: Partneriaid
+ osm_offline: Mae cronfa ddata OpenStreetMap all-lein ar hyn o bryd er mwyn gwaith
+ cynnal a chadw hanfodol.
+ osm_read_only: Nid yw'n bosib golygu cronfa ddata OpenStreetMap ar hyn o bryd
+ tra bod gwaith cynnal a chadw hanfodol yn digwydd.
+ donate: Cefnogwch OpenStreetMap gan %{link} i'r Gronfa Uwchraddio Caledwedd.
+ help: Cymorth
+ about: Ynghylch
+ copyright: Hawlfraint
+ community: Cymuned
+ community_blogs: Blogiau'r Gymuned
+ community_blogs_title: Blogiau gan aelodau cymuned OpenStreetMap
+ foundation: Sefydliad
+ foundation_title: Yr OpenStreetMap Foundation
+ make_a_donation:
+ title: Cefnogwch OpenStreetMap gyda rhodd ariannol
+ text: Gwneud Cyfraniad
+ learn_more: Dysgu Mwy
+ more: Mwy
+ license_page:
+ foreign:
+ title: Ynghylch y cyfieithiad hwn
+ text: Os oes gwrthgyferbyniad rhwng y cyfieithiad hwn a %{english_original_link},
+ bydd y dudalen Saesneg yn cael blaenoriaeth.
+ english_link: y Saesneg gwreiddiol
+ native:
+ title: Ynghylch y dudalen hon
+ mapping_link: dechrau mapio
+ legal_babble:
+ title_html: Hawlfraint a Thrwydded
+ intro_1_html: |-
+ Mae OpenStreetMap yn <i>data agored</i>, dan drwydded <a
+ href="http://opendatacommons.org/licenses/odbl/">Open Data
+ Commons Open Database License</a> (ODbL).
+ credit_title_html: Sut i gydnabod OpenStreetMap
+ attribution_example:
+ title: Enghraifft o gydnabyddiaeth
+ more_title_html: Darganfod rhagor
+ contributors_title_html: Ein cyfrannwyr
+ contributors_gb_html: "<strong>Y Deyrnas Gyfunol</strong>: Cynhwysir data a
+ thestun gan yr Arolwg Ordnans; hawlfraint y Goron a hawl cronfa ddata \n2010-12."
+ infringement_title_html: Torrwyd yr hawlfraint
+ welcome_page:
+ title: Croeso!
+ whats_on_the_map:
+ title: Beth sydd ar y Map
+ basic_terms:
+ title: Termau syml mapio
+ questions:
+ title: Unrhyw gwestiwn?
+ start_mapping: Dechrau Mapio
+ add_a_note:
+ title: Dim amser i olygu? Ychwanegwch nodyn!
+ fixthemap:
+ how_to_help:
+ title: Sut i Helpu
+ join_the_community:
+ title: Ymunwch â'r gymuned
+ other_concerns:
+ title: Gofidion eraill
+ help_page:
+ title: Cael Cymorth
+ welcome:
+ url: /croeso
+ title: Croeso i OSM
+ about_page:
+ next: Nesaf
+ copyright_html: <span>©</span>cyfrannwyr<br>OpenStreetMap
+ local_knowledge_title: Gwybodaeth Leol
+ open_data_title: Data Agored
+ partners_title: Partneriaid
+ notifier:
+ gpx_notification:
+ greeting: Pa hwyl?
+ with_description: gyda'r disgrifiad
+ and_the_tags: 'a''r tagiau canlynol:'
+ and_no_tags: a dim tagiau.
+ failure:
+ subject: Methwyd mewnforio GPX [OpenStreetMap]
+ failed_to_import: 'methwyd a mewnforio. Dyma''r gwall:'
+ signup_confirm:
+ greeting: Pa hwyl!
+ created: Mae rhywun (chi gobeithio!) newydd greu cyfrif yn %{site_url}.
+ email_confirm_plain:
+ greeting: Pa hwyl,
+ note_comment_notification:
+ anonymous: Defnyddiwr anhysbys
+ greeting: Pa hwyl?
+ message:
+ inbox:
+ title: Mewnflwch
+ my_inbox: Fy Mewnflwch
+ outbox: allflwch
+ messages: Mae gennych %{new_messages} a %{old_messages}
+ from: Gan
+ subject: Pwnc
+ date: Dyddiad
+ people_mapping_nearby: person yn mapio gerllaw
+ message_summary:
+ unread_button: Nodi fel heb ei ddarllen
+ read_button: Nodi fel wedi'i ddarllen
+ reply_button: Ateb
+ delete_button: Dileu
+ new:
+ title: Anfon neges
+ send_message_to: Anfon negese newydd at %{name}
+ subject: Pwnc
+ body: Corff
+ send_button: Anfon
+ back_to_inbox: Nôl i'r mewnflwch
+ message_sent: Anfonwyd y neges
+ limit_exceeded: Rydych wedi anfon nifer o negeseuon yn ddiweddar. Arhoswch ychydig
+ cyn ceisio anfon mwy.
+ no_such_message:
+ title: Dim neges o'r fath
+ heading: Dim neges o'r fath
+ body: Ymddiheuriad, nid oes neges gyda'r id yno.
+ outbox:
+ title: Allanflwch
+ my_inbox: Fy %{inbox_link}
+ inbox: mewnflwch
+ outbox: allanflwch
+ messages:
+ one: Mae gennych %{count} neges wedi ei anfon
+ other: Mae gennych %{count} neges wedi eu hanfon
+ to: I
+ subject: Pwnc
+ date: Dyddiad
+ read:
+ title: Darllen neges
+ from: Gan
+ subject: Pwnc
+ date: Dyddiad
+ reply_button: Ateb
+ unread_button: Nodi nad yw wedi ei ddarllen
+ back: Yn ôl
+ to: At
+ sent_message_summary:
+ delete_button: Dileu
+ mark:
+ as_read: Nodwyd fod y neges wedi ei ddarllen
+ as_unread: Nodwyd nad yw'r neges wedi ei ddarllen
+ delete:
+ deleted: Dileuwyd y neges
+ site:
+ index:
+ shortlink: Dolen Fyr
+ createnote: Ychwanegu nodyn
+ license:
+ copyright: Hawlfraint OpenStreetMap a chyfranwyr, dan drwydded agored
+ edit:
+ not_public: Nid ydych wedi gosod eich golygiadau i fod yn gyhoeddus.
+ user_page_link: tudalen defnyddiwr
+ anon_edits_link_text: Darganfyddwch achos hyn.
+ sidebar:
+ search_results: Canlyniadau Chwilio
+ close: Cau
+ search:
+ search: Chwilio
+ where_am_i: Ble ydw i?
+ where_am_i_title: Disgrifiwch eich lleoliad presennol gan ddefnyddio peiriant
+ chwilio.
+ submit_text: Mynd
+ key:
+ table:
+ entry:
+ motorway: Traffordd
+ trunk: Cefnffordd
+ primary: Priffordd
+ secondary: Ffordd eilaidd
+ unclassified: Ffordd annosbarthedig
+ unsurfaced: Ffordd heb arwyneb
+ track: Trac
+ footway: Ffordd droed
+ rail: Rheilffordd
+ subway: Trenau Tanddaearyddol
+ tram:
+ 1: tram
+ cable:
+ - Car codi
+ forest: Coedwig
+ wood: Coed
+ golf: Cwrs golff
+ park: Parc
+ tourist: Atyniad twristiaid
+ common:
+ - Comin
+ - dôl
+ retail: Ardal adwerthu
+ industrial: Ardal diwydiannol
+ commercial: Ardal masnachol
+ heathland: Rhostir
+ lake:
+ - Llyn
+ - cronfa ddŵr
+ farm: Fferm
+ cemetery: Mynwent
+ allotments: Rhandiroedd
+ pitch: Maes chwarae
+ centre: Canolfan chwaraeon
+ reserve: Gwarchodfa natur
+ military: Ardal milwrol
+ school:
+ - Ysgol
+ - prifysgol
+ building: Adeilad sylweddol
+ station: Gorsaf drenau
+ summit:
+ - Copa
+ - Crib
+ private: Mynediad preifat
+ permissive: Mynediad gyda chaniatâd
+ destination: Mynediad cyrchfan
+ richtext_area:
+ edit: Golygu
+ preview: Rhagolwg
+ markdown_help:
+ headings: Penawdau
+ heading: Pennawd
+ subheading: Is-bennawd
+ unordered: Rhestr heb drefn
+ ordered: Rhestr mewn trefn
+ first: Eitem gyntaf
+ second: Ail eitem
+ link: Dolen
+ text: Testun
+ image: Delwedd
+ alt: Testun Amgen
+ url: URL
+ trace:
+ edit:
+ filename: 'Enw ffeil:'
+ download: lawrlwytho
+ uploaded_at: 'Uwchlwythwyd:'
+ points: 'Pwyntiau:'
+ start_coord: 'Cyfesuryn dechrau:'
+ map: map
+ edit: golygu
+ owner: 'Perchennog:'
+ description: 'Disgrifiad:'
+ tags: 'Tagiau:'
+ save_button: Cadw Newidiadau
+ visibility: 'Gwelededd:'
+ visibility_help: beth mae hyn yn golygu?
+ trace_form:
+ upload_gpx: 'Uwchlwytho Ffeil GPX:'
+ description: 'Disgrifiad:'
+ tags: 'Tagiau:'
+ visibility: 'Gwelededd:'
+ visibility_help: beth mae hyn yn golygu?
+ upload_button: Uwchlwytho
+ help: Cymorth
+ trace_optionals:
+ tags: Tagiau
+ view:
+ filename: 'Enw ffeil:'
+ download: lawrlwytho
+ uploaded: 'Uwchlwythwyd:'
+ points: 'Pwyntiau:'
+ start_coordinates: 'Cyfesuryn dechrau:'
+ map: map
+ edit: golygu
+ owner: 'Perchennog:'
+ description: 'Disgrifiad:'
+ tags: 'Tagiau:'
+ none: Dim
+ visibility: 'Gwelededd:'
+ trace_paging_nav:
+ showing_page: Tudalen %{page}
+ trace:
+ count_points: '%{count} pwynt'
+ ago: '%{time_in_words_ago} yn ôl'
+ more: mwy
+ view_map: Gweld Map
+ edit: golygu
+ edit_map: Golygu'r Map
+ public: CYHOEDDUS
+ identifiable: CANFYDDADWY
+ private: PREIFAT
+ trackable: OLRHAINADWY
+ by: gan
+ in: mewn
+ map: map
+ list:
+ tagged_with: tagiwyd gyda %{tags}
+ oauth:
+ oauthorize:
+ allow_to: 'Caniatáu''r rhaglen cleient i:'
+ allow_read_prefs: ddarllen eich gosodiadau defnyddiwr.
+ allow_write_prefs: addasu eich gosodiadau defnyddiwr.
+ allow_write_diary: creu cofnodion dyddiadur, sylwadau a gwneud ffrindiau.
+ allow_write_api: addasu'r map.
+ allow_read_gpx: ddarllen eich dargopiadau GPS.
+ allow_write_gpx: uwchlwytho dargopiadau GPS.
+ allow_write_notes: addasu nodiadau.
+ oauthorize_success:
+ title: Caniatawyd y cais awdurdodiad.
+ allowed: Rydych wedi caniatáu mynediad i'ch cyfrif gan y rhaglen %{app_name}.
+ verification: Y cod dilysiad yw %{code}
+ oauthorize_failure:
+ title: Methwyd y cais awdurdodiad.
+ denied: Rydych wedi gwrthod mynediad i'ch cyfrif gan y rhaglen %{app_name}.
+ invalid: Nid yw'r tocyn awdurdodiad yn ddilys.
+ revoke:
+ flash: Rydych wedi diddymu'r tocyn ar gyfer %{application}.
+ oauth_clients:
+ new:
+ title: Cofrestru rhaglen newydd
+ submit: Cofrestru
+ edit:
+ title: Golygu'ch rhaglen
+ submit: Golygu
+ show:
+ url: 'URL Cais Tocyn:'
+ access_url: URL Tocyn Mynediad
+ authorize_url: 'URL Awdurdodi:'
+ edit: Golygu Manylion
+ delete: Dileu Cleient
+ confirm: Ydych yn siŵr?
+ allow_read_prefs: darllen eu gosodiadau defnyddwyr.
+ allow_write_prefs: addasu eu gosodiadau defnyddwyr.
+ allow_write_diary: creu cofnodion dyddiadur, sylwadau a gwneud ffrindiau.
+ allow_write_api: addasu'r map.
+ allow_read_gpx: ddarllen eu dargopiadau GPS preifat.
+ allow_write_gpx: uwchlwytho dargopiadau GPS.
+ allow_write_notes: addasu nodiadau.
+ form:
+ name: Enw
+ required: Angenrheidiol
+ url: Prif URL y Rhaglen
+ allow_read_prefs: darllen eu gosodiadau defnyddwyr.
+ allow_write_prefs: addasu eu gosodiadau defnyddwyr.
+ allow_write_diary: creu cofnodion dyddiadur, sylwadau a gwneud ffrindiau.
+ allow_write_api: addasu'r map.
+ allow_read_gpx: ddarllen eu dargopiadau GPS preifat.
+ allow_write_gpx: uwchlwytho dargopiadau GPS.
+ allow_write_notes: addasu nodiadau.
+ user:
+ login:
+ title: Mewngofnodi
+ heading: Mewngofnodi
+ email or username: 'Cyfeiriad Ebost neu Enw Defnyddiwr:'
+ password: 'Cyfrinair:'
+ openid: '%{logo} OpenID:'
+ remember: Fy nghofio i
+ lost password link: Wedi anghofio'ch cyfrinair?
+ login_button: Mewngofnodi
+ register now: Cofrestru nawr
+ with username: Eisoes gyda chyfrif OpenStreetMap? Mewngofnodwch gyda'ch enw
+ defnyddiwr a'ch cyfrinair.
+ with openid: 'Neu, mewngofnodwch gydag OpenID:'
+ new to osm: Yn newydd i OpenStreetMap?
+ to make changes: I wneud newidiadau i ddata OpenStreetMap, mae'n rhaid cael
+ cyfrif.
+ create account minute: Crewch cyfrif. Dim ond munud mae'n cymryd.
+ no account: Dim cyfrif gennych?
+ openid_logo_alt: Mewngofnodi gydag OpenID
+ openid_providers:
+ openid:
+ title: Mewngofnodi gydag OpenID
+ alt: Mewngofodi gydag URL OpenID
+ google:
+ title: Mewngofnodi gyda Google
+ alt: Mewngofnodi gydag OpenID Google
+ yahoo:
+ title: Mewngofnodi gydag Yahoo
+ alt: Mewngofnodi gydag OpenID Yahoo
+ wordpress:
+ title: Mewngofnodig gyda WordPress
+ alt: Mewngofnodi gydag OpenID WordPress
+ aol:
+ title: Mewngofnodi gydag AOL
+ alt: Mewngofnodi gydag OpenID AOL
+ logout:
+ title: Allgofnodi
+ heading: Allgofnodi o OpenStreetMap
+ logout_button: Allgofnodi
+ lost_password:
+ title: Ailosod cyfrinair
+ heading: Wedi anghofio'ch cyfrinair?
+ email address: 'Cyfeiriad Ebost:'
+ new password button: Ailosod cyfrinair
+ notice email cannot find: Methwyd dod o hyd i'r cyfeiriad ebost yno.
+ reset_password:
+ title: Ailosod cyfrinair
+ heading: Ailosod Cyfinair ar gyfer %{user}
+ password: 'Cyfrinair:'
+ confirm password: 'Cadarnhau''r Cyfrinair:'
+ reset: Ailosod Cyfrinair
+ flash changed: Mae'ch cyfrinair wedi'i newid.
+ new:
+ title: Cofrestru
+ email address: 'Cyfeiriad Ebost:'
+ confirm email address: 'Cadarnhau''r Cyfeiriad Ebost:'
+ password: 'Cyfrinair:'
+ confirm password: 'Cadarnhau''r Cyfrinair:'
+ use openid: Neu, mewngofnodwch gydag %{logo} OpenID
+ continue: Cofrestru
+ terms accepted: Diolch am dderbyn telerau newydd cyfranwyr!
+ terms:
+ title: Telerau cyfranwyr
+ heading: Telerau cyfranwyr
+ consider_pd_why: beth yw hwn?
+ agree: Cytuno
+ decline: Gwrthod
+ legale_names:
+ france: Ffrainc
+ italy: Yr Eidal
+ rest_of_world: Gweddill y byd
+ no_such_user:
+ title: Dim defnyddiwr o'r fath
+ heading: Nid yw'r defnyddiwr %{user} yn bodoli.
+ view:
+ my diary: Fy Nyddiadur
+ new diary entry: cofnod dyddiadur newydd
+ my edits: Fy Ngolygiadau
+ my traces: Fy Nargopiadau
+ my notes: Fy Nodiadau
+ my messages: Fy Negeseuon
+ my profile: Fy Mhroffil
+ my settings: Fy Ngosodiadau
+ my comments: Fy Sylwadau
+ oauth settings: gosodiadau oauth
+ blocks on me: Rhwystrau arnaf i
+ blocks by me: Rhwystrau gennyf i
+ send message: Anfon Neges
+ diary: Dyddiadur
+ edits: Golygiadau
+ traces: Dargopiadau
+ notes: Nodiadau Map
+ remove as friend: Peidio bod yn ffrind
+ add as friend: Ychwanegu Cyfaill
+ mapper since: 'Yn fapiwr ers:'
+ ago: (%{time_in_words_ago} yn ôl)
+ ct status: 'Telerau cyfrannwr:'
+ ct undecided: Heb Benderfynu
+ ct declined: Wedi Gwrthod
+ ct accepted: Derbynwyd %{ago} yn ôl%
+ email address: 'Cyfeiriad ebost:'
+ created from: 'Creuwyd o:'
+ status: 'Statws:'
+ description: Disgrifiad
+ user location: Lleoliad defnyddiwr
+ settings_link_text: gosodiadau
+ your friends: Eich cyfeillion
+ no friends: Nid ydych wedi ychwanegu cyfaill eto.
+ km away: '%{count}km i ffwrdd'
+ m away: '%{count}m i ffwrdd'
+ nearby users: Defnyddwyr eraill gerllaw
+ no nearby users: Nid oes defnyddwyr gerllaw sy'n datgelu eu bod yn mapio eto.
+ role:
+ administrator: Mae'r defnyddiwr hwn yn weinyddwr.
+ moderator: Mae'r defnyddiwr hwn yn gymedrolwr.
+ comments: Sylwadau
+ create_block: rhwystro'r defnyddiwr hwn
+ activate_user: actifadu'r defnyddiwr hwn
+ confirm_user: cadarnhau'r defnyddiwr
+ hide_user: cuddio'r defnyddiwr
+ unhide_user: datguddio'r defnyddiwr
+ delete_user: dileu'r defnyddiwr
+ confirm: Cadarnhau
+ friends_diaries: cofnodion dyddiaduron cyfeillion
+ nearby_diaries: cofnodion dyddiaduron defnyddwyr gerllaw
+ popup:
+ your location: Eich lleoliad
+ nearby mapper: Mapiwr gerllaw
+ friend: Cyfaill
+ account:
+ title: Golygu'r cyfrif
+ my settings: Fy ngosodiadau
+ current email address: 'Cyfeiriad Ebost Presenol:'
+ new email address: 'Cyfeiriad Ebost Newydd:'
+ email never displayed publicly: (byth ei ddangos yn gyhoeddus)
+ openid:
+ openid: 'OpenID:'
+ link text: beth yw hwn?
+ public editing:
+ heading: 'Golygu cyhoeddus:'
+ enabled: Galluogwyd. Ddim yn anhysbys ac yn gallu golygu data.
+ enabled link text: beth yw hwn?
+ disabled link text: pam na allaf olygu?
+ public editing note:
+ heading: Golygu cyhoeddus
+ contributor terms:
+ heading: 'Telerau Cyfranwyr:'
+ agreed: Rydych wedi derbyn y telerau cyfranwyr newydd.
+ not yet agreed: Nid ydych eto wedi cytuno i'r telerau cyfranwyr newydd.
+ review link text: Dilynwch y ddolen hon i adolygu a derbyn y telerau cyfranwyr
+ newydd.
+ link text: beth yw hwn?
+ profile description: 'Disgrifad Proffil:'
+ preferred languages: 'Ieithoedd Dewisedig:'
+ preferred editor: 'Golygydd Dewisedig:'
+ image: 'Delwedd:'
+ gravatar:
+ link text: beth yw hwn?
+ new image: Ychwanegu delwedd
+ keep image: Cadw'r ddelwedd bresennol
+ delete image: Tynnu'r ddelwedd bresennol
+ replace image: Newid y ddelwedd bresennol
+ image size hint: (delweddau sgwâr o leiaf 100x100 yw'r gorau)
+ home location: 'Lleoliad Cartref:'
+ no home location: Nid ydych wedi gosod eich lleoliad cartref.
+ latitude: 'Lledred:'
+ longitude: 'Hydred:'
+ save changes button: Cadw'r Newidiadau
+ make edits public button: Gwneud fy holl olygiadau yn gyhoeddus
+ return to profile: Dychwelyd i'r proffil
+ confirm_email:
+ button: Cadarnhau
+ success: Wedi cadarnhau eich cyfeiriad ebost! Diolch am gofrestru.
+ failure: Mae cyfeiriad ebost eisoes wedi ei gadarnhau gyda'r tocyn hwn.
+ set_home:
+ flash success: Wedi cadw'r lleoliad cartref
+ go_public:
+ flash success: Mae eich holl olygiadau nawr yn gyhoeddus a gallech nawr parhau
+ i olygu.
+ make_friend:
+ heading: Ychwanegu %{user} fel cyfaill?
+ button: Ychwanegu fel cyfaill
+ success: Mae %{name} nawr yn gyfaill i chi!
+ failed: Ymddiheuriadau, methwyd ychwanegu %{name} fel cyfaill.
+ already_a_friend: Rydych eisoes yn gyfaill i %{name}
+ remove_friend:
+ heading: Peidio bod yn gyfaill i %{user}?
+ button: Peidio bod yn gyfaill
+ success: Tynnwyd %{name} o'ch cyfeillion.
+ not_a_friend: Nid yw %{name} yn un o'ch cyfeillion.
+ list:
+ title: Defnyddwyr
+ heading: Defnyddwyr
+ user_role:
+ grant:
+ confirm: Cadarnhau
+ revoke:
+ confirm: Cadarnhau
+ user_block:
+ partial:
+ show: Dangos
+ edit: Golygu
+ confirm: Ydych yn sicr?
+ status: Statws
+ showing_page: Tudalen %{page}
+ next: Nesaf »
+ previous: « Blaenorol
+ helper:
+ time_future: Yn dod i ben mewn %{time}.
+ time_past: Wedi dod i ben %{time} yn ôl.
+ show:
+ status: Statws
+ show: Dangos
+ edit: Golygu
+ confirm: Ydych yn sicr?
+ note:
+ description:
+ commented_at_html: Diweddarwyd %{when} yn ôl
+ commented_at_by_html: Diweddarwyd %{when} yn ôl gan %{user}
+ rss:
+ title: Nodiadau OpenStreetMap
+ entry:
+ comment: Sylw
+ full: Nodyn llawn
+ mine:
+ id: Id
+ javascripts:
+ close: Cau
+ share:
+ title: Rhannu
+ cancel: Diddymu
+ image: Delwedd
+ link: Dolen neu HTML
+ long_link: Dolen
+ short_link: Dolen Fer
+ embed: HTML
+ format: 'Fformat:'
+ scale: 'Graddfa:'
+ download: Lawrlwytho
+ short_url: URL Byr
+ key:
+ title: Allwedd Map
+ tooltip: Allwedd Map
+ map:
+ zoom:
+ in: Chwyddo Mewn
+ out: Chwyddo Allan
+ locate:
+ title: Dangos Fy Lleoliad
+ popup: Rydych o fewn {distance} {unit} o'r pwynt hwn.
+ base:
+ standard: Safonol
+ cycle_map: Map Beicio
+ transport_map: Map Trafnidiaeth
+ hot: Dyngarol
+ layers:
+ header: Haenau Mapiau
+ notes: Nodiadau Map
+ data: Data Map
+ title: Haenau
+ copyright: © <a href='%{copyright_url}'>cyfranwyr OpenStreetMap</a>
+ donate_link_text: <a class='donate-attr' href='%{donate_url}'>Rhoi Cyfraniad</a>
+ site:
+ edit_tooltip: Golygu'r map
+ edit_disabled_tooltip: Chwyddwch mewn i olygu'r map
+ createnote_tooltip: Ychwanegu nodyn i'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
+ changesets:
+ show:
+ comment: Sylw
+ subscribe: Tanysgrifio
+ unsubscribe: Dad-danysgrifio
+ hide_comment: cuddio
+ unhide_comment: datguddio
+ notes:
+ new:
+ add: Ychwanegu Nodyn
+ show:
+ hide: Cuddio
+ resolve: Datrys
+ reactivate: Ail roi ar waith
+ comment_and_resolve: Sylw a Datrys
+ comment: Sylw
+ query:
+ way: Llwybr
+ nothing_found: Ni ddarganfuwyd nodweddion
+ error: 'Gwall cysyltlu gyda %{server}: %{error}'
+ redaction:
+ edit:
+ description: Disgrifiad
+ new:
+ description: Disgrifiad
+ show:
+ description: 'Disgrifiad:'
+ confirm: Ydych yn sicr?
+...
way_paginated: Veje (%{x}-%{y} af %{count})
relation: Relationer (%{count})
relation_paginated: Relationer (%{x}-%{y} af %{count})
+ comment: Kommentarer (%{count})
+ hidden_commented_by: Skjult kommentar fra %{user} <abbr title='%{exact_time}'>%{when}
+ siden</abbr>
+ commented_by: Kommentar fra %{user} for <abbr title='%{exact_time}'>%{when}
+ siden</abbr>
changesetxml: XML for ændringssæt
osmchangexml: XML for osmChange
feed:
title: Ændringssæt %{id}
title_comment: Ændringssæt %{id} - %{comment}
+ join_discussion: Log på for at deltage i diskussionen
+ discussion: Diskussion
node:
title: 'Punkt: %{name}'
history_title: 'Punkthistorik: %{name}'
reopened_by_anonymous: Genaktiveret af en anonym for <abbr title='%{exact_time}'>%{when}
siden</abbr>
hidden_by: Skjult af %{user} for <abbr title='%{exact_time}'>%{when} siden</abbr>
+ query:
+ title: Forespørgselsfunktioner
+ introduction: Klik på kortet for at finde funktioner i nærheden.
+ nearby: Funktioner i nærheden
changeset:
changeset_paging_nav:
showing_page: Side %{page}
timeout:
sorry: Desværre tog det for lang tid for at hente den liste af ændringssæt du
har bedt om.
+ rss:
+ title_all: OpenStreetMap diskussion om ændringssæt
+ title_particular: OpenStreetMap diskussion om ændringssæt nummer %{changeset_id}
+ comment: Ny kommentar om ændringssæt nummer %{changeset_id} af %{author}
+ commented_at_html: Opdateret for %{when} siden
+ commented_at_by_html: Opdateret for %{when} siden af %{user}
+ full: Fuldstændig diskussion
diary_entry:
new:
title: Nyt blogindlæg
tram: Sporvej
tram_stop: Sporvognsstoppested
yard: Jernbaneterræn
+ route:
+ bus: Busrute
shop:
alcohol: Spiritusforretning
antiques: Antikviteter
text: Donér
learn_more: Lær mere
more: Mere
- sotm_header: State of the Map 2014
- sotm_line_1: 8. årlige konference
- sotm_line_2: 7. til 9. november 2014
- sotm_line_3: Buenos Aires, Argentina
license_page:
foreign:
title: Om denne oversættelse
commented_note: '%{commenter} har genaktiveret en kortbemærkning du har kommenteret.
Bemærkningen er i nærheden af %{place}.'
details: Flere oplysninger om bemærkningen kan findes på %{url}.
+ changeset_comment_notification:
+ greeting: Hej,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} har kommenteret på et af dine ændringssæt'
+ subject_other: '[OpenStreetMap] %{commenter} har kommenteret på et ændringssæt,
+ du er interesseret i'
+ your_changeset: '%{commenter} har efterladt en kommentar på et af dine ændringssæt,
+ oprettet %{time}'
+ commented_changeset: '%{commenter} har efterladt en kommenter på et kort ændringssæt
+ som du overvåger, oprettet %{time} af %{changeset_author}'
+ partial_changeset_with_comment: med kommentaren '%{changeset_comment}'
+ partial_changeset_without_comment: uden kommentar
+ details: Flere oplysninger om ændringssættet kan findes på %{url}.
message:
inbox:
title: Indbakke
createnote_disabled_tooltip: Zoom ind for at tilføje en bemærkning til kortet
map_notes_zoom_in_tooltip: Zoom ind for at se kort kommentarer
map_data_zoom_in_tooltip: Zoom ind for at se kortdata
+ queryfeature_tooltip: Forespørgselsfunktioner
+ queryfeature_disabled_tooltip: Zoom ind for at få forespørgselsfunktioner
+ changesets:
+ show:
+ comment: Kommentar
+ subscribe: Abonnér
+ unsubscribe: Afmeld
+ hide_comment: skjul
+ unhide_comment: fjern skjul
notes:
new:
intro: Opdaget en fejl eller noget der mangler? Lad andre kortlæggere vide
comment_and_resolve: Kommentere på og løse
comment: Kommenter
edit_help: Flyt kortet og zoom ind på et sted, du vil redigere, og klik så her.
+ query:
+ node: Punkt
+ way: Vej
+ relation: Relation
+ nothing_found: Ingen funktioner fundet
+ error: 'Fejl med at kontakte %{server}: %{error}'
+ timeout: Timeout for kontakt til %{server}
redaction:
edit:
description: Beskrivelse
# Author: The Evil IP address
# Author: Thomas Bohn
# Author: Umherirrender
+# Author: Woodpeck
---
de:
time:
way_paginated: Wege (%{x}–%{y} von %{count})
relation: Relationen (%{count})
relation_paginated: Relationen (%{x}–%{y} von %{count})
+ comment: Kommentare (%{count})
+ hidden_commented_by: Versteckter Kommentar von %{user} <abbr title='%{exact_time}'>vor
+ %{when}</abbr>
+ commented_by: Kommentar von %{user} <abbr title='%{exact_time}'>vor %{when}</abbr>
changesetxml: Änderungssatz-XML
osmchangexml: osmChange XML
feed:
title: 'Änderungssatz: %{id}'
title_comment: Änderungssatz %{id} - %{comment}
+ join_discussion: Melde dich an, um der Diskussion beizutreten
+ discussion: Diskussion
node:
title: 'Knoten: %{name}'
history_title: 'Knotenchronik: %{name}'
reopened_by_anonymous: Reaktiviert von anonym <abbr title='%{exact_time}'>vor
%{when}</abbr>
hidden_by: Versteckt von %{user} <abbr title='%{exact_time}'>vor %{when}</abbr>
+ query:
+ title: Objektabfrage
+ introduction: Klicke auf die Karte, um benachbarte Objekte zu finden.
+ nearby: Objekte in der Nähe
+ enclosing: Einschließende Objekte
changeset:
changeset_paging_nav:
showing_page: Seite %{page}
timeout:
sorry: Es hat leider zu lange gedauert, die von dir angeforderten Änderungssätze
abzurufen.
+ rss:
+ title_all: Diskussion zum OpenStreetMap-Änderungssatz
+ title_particular: Diskussion zum OpenStreetMap-Änderungssatz Nr. %{changeset_id}
+ comment: Neuer Kommentar zum Änderungssatz Nr. %{changeset_id} von %{author}
+ commented_at_html: vor %{when} aktualisiert
+ commented_at_by_html: vor %{when} durch %{user} aktualisiert
+ full: Vollständige Diskussion
diary_entry:
new:
title: Selbst Bloggen
primary_link: Bundesstraße-Auffahrt
proposed: Geplante Straße
raceway: Rennstrecke
- residential: Straße
+ residential: Wohnstraße
rest_area: Rastplatz
road: Straße
secondary: Landesstraße
tram: Straßenbahn
tram_stop: Haltestelle
yard: Rangierbahnhof
+ route:
+ bus: Buslinie
shop:
alcohol: Spirituosenladen
antiques: Antiquitätengeschäft
text: Spenden
learn_more: Mehr erfahren
more: Mehr
- sotm_header: State of the Map 2014
- sotm_line_1: 8. Jahreskonferenz
- sotm_line_2: 7. bis 9. November 2014
- sotm_line_3: Buenos Aires, Argentinien
license_page:
foreign:
title: Über diese Übersetzung
commented_note: '%{commenter} hat einen Hinweis in der Nähe von %{place},
den du kommentiert hattest, reaktivert.'
details: Weitere Details über den Hinweis findest du unter %{url}.
+ changeset_comment_notification:
+ greeting: Hallo,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} hat zu einem deiner Änderungssätze
+ kommentiert'
+ subject_other: '[OpenStreetMap] %{commenter} hat zu einem Änderungssatz kommentiert,
+ an dem du interessiert bist'
+ your_changeset: '%{commenter} hinterließ einen Kommentar zu einem deiner Änderungssätze,
+ erstellt am %{time}'
+ commented_changeset: '%{commenter} hinterließ einen Kommentar zu einem Kartenänderungssatz,
+ den du beobachtest, erstellt von %{changeset_author} am %{time}'
+ partial_changeset_with_comment: mit dem Kommentar „%{changeset_comment}“
+ partial_changeset_without_comment: ohne Kommentar
+ details: Weitere Einzelheiten über den Änderungssatz können gefunden werden
+ unter %{url}.
message:
inbox:
title: Posteingang
gewählt werden
map_notes_zoom_in_tooltip: Vergrößere die Karte, um die Fehler zu sehen.
map_data_zoom_in_tooltip: Vergrößere die Karte, um die Daten zu sehen.
+ queryfeature_tooltip: Objektabfrage
+ queryfeature_disabled_tooltip: Für Objektabfrage vergrößern
+ changesets:
+ show:
+ comment: Kommentar
+ subscribe: Abonnieren
+ unsubscribe: Abbestellen
+ hide_comment: verstecken
+ unhide_comment: einblenden
notes:
new:
intro: Fehlt etwas oder hast du einen Fehler gefunden? Bitte verschiebe den
end_oneway: "Ende der Einbahnstrasse "
unnamed: "(unbekannt)"
courtesy: "Fahranweisungen stammen von %{link}"
+ query:
+ node: Knoten
+ way: Weg
+ relation: Relation
+ nothing_found: Keine Funktionen gefunden
+ error: 'Fehler beim Kontaktieren von %{server}: %{error}'
+ timeout: Zeitüberschreitung beim Kontaktieren von %{server}
redaction:
edit:
description: Beschreibung
id: ID
saved_at: Deme qeydi
user: Karber
- comment: Vatış
+ comment: Mışewre
area: Erz
list:
title: Seta vurnayışan
comments:
post: Bırışe
when: Key
- comment: Vatış
+ comment: Mışewre
ago: Verdê %{ago}
- newer_comments: Vatışê Tewr Newey
+ newer_comments: Mışewreyê Tewr Neweyi
older_comments: Vatışo Tewr Kehan
export:
start:
second: Çiyo Bahdoyên
link: Gıre
text: Metın
- image: Resim
+ image: Resım
url: GRE
trace:
edit:
login:
title: Cıkewtış
heading: Cıkewtış
- email or username: 'Adresê e-posta yana namey karberi:'
+ email or username: 'Adresa e-posteyi ya zi nameyê karberi:'
password: 'Parola:'
openid: '%{logo} OpenID:'
remember: Mı biya xo viri
my edits: pêştenê mı
my traces: GPS rêçê mı
my settings: Eyarê Mı
- my comments: vatışê mı
+ my comments: Mışewreyê mı
oauth settings: sazê OAuthi
blocks on me: bloqeyê mı
blocks by me: Bloqe kerdışê mı
link text: no çıko?
preferred languages: 'Zıwanê ke tercih kerê:'
preferred editor: 'Editorê ke tercih kerê:'
- image: 'Resim:'
+ image: 'Resım:'
new image: Yew resım cı ke
home location: 'Herun:'
latitude: 'Verıniye:'
way_paginated: Διαδρομές (%{x}-%{y} από %{count})
relation: Σχέσεις (%{count})
relation_paginated: Σχέσεις (%{x}-%{y} από %{count})
+ comment: Σχόλια (%{count})
changesetxml: Ομάδας αλλαγών XML
osmchangexml: osmChange XML
feed:
title: Ομάδα αλλαγών %{id}
title_comment: Ομάδα αλλαγών %{id} - %{comment}
+ join_discussion: Συνδεθείτε για να μπείτε στη συζήτηση
+ discussion: Συζήτηση
node:
title: 'Κόμβος: %{name}'
history_title: 'Ιστορικό Κόμβου: %{name}'
tag: Η σελίδα περιγραφής για το χαρακτηριστικό %{key}=%{value}
wikidata_link: Το αντικείμενο %{page} στο Wikidata
wikipedia_link: Το άρθρο %{page} στη Βικιπαίδεια
+ telephone_link: Καλέστε %{phone_number}
note:
title: 'Σημείωση: %{id}'
new_note: Νέα Σημείωση
timeout:
sorry: Λυπάμαι, ο κατάλογος των ομάδων αλλαγών που ζήτησες χρειάστηκε πολύ χρόνο
για να ανακτηθεί.
+ rss:
+ full: Πλήρης συζήτηση
diary_entry:
new:
title: Νέα Καταχώρηση Ημερολογίου
primary_link: Κύρια Οδός
proposed: Προτεινόμενος Δρόμος
raceway: Αυτοκινητοδρόμιο
- residential: Î\9fικιÏ\83Ï\84ική Î\9fδÏ\8cÏ\82
+ residential: Î\94Ï\81Ï\8cμοÏ\82 Ï\83ε καÏ\84οικημÎνη Ï\80εÏ\81ιοÏ\87ή
rest_area: Περιοχή Ανάπαυσης
road: Δρόμος
secondary: Δευτερεύουσα Οδός
<a href="http://data.wien.gv.at/">Stadt Wien</a> (υπό <a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>),
<a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> και
Land Tirol (υπό <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT με τροποποιήσεις</a>).
+ contributors_fi_html: "<strong>Φινλανδία</strong>: Περιέχει δεδομένα από το
+ National Land Survey of Finland's Topographic Database\nκαι άλλα datasets,
+ υπό την \n<a href=\"http://www.maanmittauslaitos.fi/en/NLS_open_data_licence_version1_20120501\">NLSFI
+ Άδεια</a>."
contributors_fr_html: '<strong>Γαλλία</strong>: Περιέχει δεδομένα που προέρχονται
από το Direction Générale des Impôts.'
contributors_nl_html: '<strong>Ολλανδία</strong>: Περιέχει δεδομένα που προέρχονται
Η σημείωση είναι κοντά σε %{place}.
details: Περισσότερες λεπτομέρειες σχετικά με τη σημείωση μπορούν να βρεθούν
στο %{url}.
+ changeset_comment_notification:
+ greeting: Γεια,
+ commented:
+ partial_changeset_without_comment: χωρίς σχόλιο
message:
inbox:
title: Εισερχόμενα
map_notes_zoom_in_tooltip: Μεγεθύνετε τον χάρτη για να δείτε σημειώσεις
map_data_zoom_in_tooltip: Μεγεθύνετε τον χάρτη για να δείτε τα δεδομένα του
χάρτη
+ changesets:
+ show:
+ comment: Σχόλιο
+ subscribe: Εγγραφείτε ως συνδρομητής
+ unsubscribe: Κατάργηση εγγραφής
+ hide_comment: απόκρυψη
+ unhide_comment: επανεμφάνιση
notes:
new:
intro: Εντοπίσατε λάθος ή κάτι που λείπει; Πείτε το στους άλλους χαρτογράφους
comment: Σχολιάστε
edit_help: Μετακινήστε το χάρτη και να κάνετε ζουμ σε μια τοποθεσία που θέλετε
να επεξεργαστείτε, στη συνέχεια, κάντε κλικ εδώ.
+ query:
+ node: Κόμβος
+ way: Διαδρομή
+ relation: Σχέση
+ nothing_found: Δεν βρέθηκαν χαρακτηριστικά
redaction:
edit:
description: Περιγραφή
way_paginated: Vías (%{x}-%{y} de %{count})
relation: Relaciones (%{count})
relation_paginated: Relaciones (%{x}-%{y} de %{count})
+ comment: Comentarios (%{count})
+ hidden_commented_by: Comentario oculto de %{user} <abbr title='%{exact_time}'>hace
+ %{when}</abbr>
+ commented_by: Comentario de %{user} <abbr title='%{exact_time}'>hace %{when}</abbr>
changesetxml: XML del conjunto de cambios
osmchangexml: XML en formato osmChange
feed:
title: Conjunto de cambios %{id}
title_comment: Conjunto de cambios %{id} - %{comment}
+ join_discussion: Inicie sesión para unirse a la discusión
+ discussion: Discusión
node:
title: 'Nodo: %{name}'
history_title: 'Historial de nodo: %{name}'
reopened_by_anonymous: Reactivado por anónimo <abbr title='%{exact_time}'>hace
%{when}</abbr>
hidden_by: Oculto por %{user} <abbr title='%{exact_time}'>hace %{when}</abbr>
+ query:
+ title: Características de la consulta
+ introduction: Haga clic en el mapa para encontrar características cercanas.
+ nearby: Características cercanas
+ enclosing: Características envolventes
changeset:
changeset_paging_nav:
showing_page: Página %{page}
timeout:
sorry: Lo sentimos, la lista de conjuntos de cambios que has solicitado ha tardado
mucho tiempo en obtenerse.
+ rss:
+ title_all: Discusión del conjunto de cambios de OpenStreetMap
+ title_particular: 'Discusión del conjunto de cambios #%{changeset_id} de OpenStreetMap'
+ comment: 'Comentario nuevo sobre el conjunto de cambios #%{changeset_id} de
+ %{author}'
+ commented_at_html: Actualizado hace %{when}
+ commented_at_by_html: Actualizado hace %{when} por %{user}
+ full: Discusión completa
diary_entry:
new:
title: Nueva entrada en el diario
hotel: Hotel
hunting_stand: Apostadero de caza
ice_cream: Heladería
- kindergarten: Jardín de niños
+ kindergarten: Escuela infantil/guardería
library: Biblioteca
market: Mercado
marketplace: Mercado
archaeological_site: Yacimiento arqueológico
battlefield: Campo de batalla
boundary_stone: Mojón
- building: Edificio
+ building: Edificio histórico
castle: Castillo
church: Iglesia
citywalls: Murallas de la ciudad
fort: Fuerte
- house: Casa
+ house: Casa histórica
icon: Icono
manor: Casa señorial
memorial: Memorial
tram: Ruta de tranvía
tram_stop: Parada de tranvía
yard: Estación de clasificación
+ route:
+ bus: Ruta de autobús
shop:
alcohol: Licorería
- antiques: Antigüedades
+ antiques: Anticuario
art: Tienda de artículos de arte
bakery: Panadería
beauty: Tienda de productos de belleza
boutique: Boutique
butcher: Carnicería
car: Concesionario
- car_parts: Repuestos automotrices
+ car_parts: Repuestos de automóvil
car_repair: Taller mecánico
carpet: Tienda de alfombras
charity: Tienda benéfica
chemist: Droguería
clothes: Tienda de ropa
computer: Tienda de informática
- confectionery: Dulcería
+ confectionery: Confitería
convenience: Pequeño supermercado
copyshop: Copistería
cosmetics: Tienda de cosmética
- deli: Deli
+ deli: Delicatessen
department_store: Grandes almacenes
discount: Tienda de descuento
doityourself: Tienda de bricolaje
estate_agent: Inmobiliaria
farm: Tienda de productos agrícolas
fashion: Tienda de moda
- fish: Tienda de artículos de pesca
+ fish: Pescadería
florist: Floristería
food: Tienda de alimentación
funeral_directors: Funeraria
- furniture: Mueblería
+ furniture: Tienda de muebles
gallery: Galería
garden_centre: Vivero
general: Tienda de artículos generales
mobile_phone: Tienda de telefonía
motorcycle: Tienda de motocicletas
music: Tienda de música
- newsagent: Quiosco de periódicos
+ newsagent: Quiosco de prensa
optician: Óptica
organic: Tienda de alimentos orgánicos
outdoor: Tienda de deportes de aventura
pet: Tienda de mascotas
pharmacy: Farmacia
- photo: Tienda fotográfica
+ photo: Tienda de fotografía
salon: Salón de belleza
second_hand: Tienda de segunda mano
shoes: Zapatería
shopping_centre: Centro comercial
- sports: Tienda de artículos deportivos
+ sports: Tienda de deportes
stationery: Papelería
supermarket: Supermercado
tailor: Sastre
toys: Juguetería
travel_agency: Agencia de viajes
- video: Videotienda
- wine: Licorería
+ video: Videoclub
+ wine: Vinoteca
"yes": Tienda
tourism:
alpine_hut: Cabaña alpina
artwork: Obra de arte
- attraction: Atracción
- bed_and_breakfast: Cama y desayuno (B&B)
+ attraction: Atracción turística
+ bed_and_breakfast: Alojamiento y desayuno (B&B)
cabin: Cabaña
- camp_site: Campamento
+ camp_site: Campamento/camping
caravan_site: Camping para caravanas
chalet: Chalet
- guest_house: Albergue
+ guest_house: Pensión
hostel: Hostal
hotel: Hotel
- information: Información
+ information: Información turística
lean_to: Refugio
motel: Motel
museum: Museo
text: Hacer una donación
learn_more: Más información
more: Más
- sotm_header: Estado del mapa 2014
- sotm_line_1: 8.ª Conferencia Anual
- sotm_line_2: 7-9 de noviembre de 2014
- sotm_line_3: Buenos Aires, Argentina
license_page:
foreign:
title: Acerca de esta traducción
wiki:
url: http://wiki.openstreetmap.org/wiki/ES:Main_Page
title: wiki.openstreetmap.org
- description: Buscar la wiki para la documentación de OSM en profundidad.
+ description: Consulta la wiki para la documentación de OSM en profundidad.
about_page:
next: Siguiente
copyright_html: <span>©</span>Colaboradores de<br>OpenStreetMap
Para aprender más acerca de la comunidad, consulte los <a href='%{diary_path}'>diarios de los usuarios</a>, <a href='http://blogs.openstreetmap.org/'>blogs de la comunidad</a> y el sitio web de la <a href='http://www.osmfoundation.org/'>Fundación OSM</a>.
open_data_title: Datos abiertos
open_data_html: 'OpenStreetMap es <i>datos abiertos</i>: puedes usarlo libremente
- para cualquier propósito, siempre y cuando dé crédito a OpenStreetMap y a sus
- colaboradores. Si altera o construye los datos en casos determinados debers
+ para cualquier propósito, siempre y cuando des crédito a OpenStreetMap y a sus
+ colaboradores. Si alteras o te basas en los datos en casos determinados, deberás
distribuir el resultado únicamente bajo la misma licencia. Consulta la <a href=''%{copyright_path}''>
página sobre Derechos de autor y Licencia</a> para obtener más detalles.'
partners_title: Socios
commented_note: '%{commenter} ha reactivado un nota del mapa en la que usted
ha comentado. La nota está cerca de %{place}.'
details: Más detalles acerca de la nota pueden encontrarse en %{url}.
+ changeset_comment_notification:
+ greeting: Hola,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} ha comentado en uno de tus conjuntos
+ de cambios'
+ subject_other: '[OpenStreetMap] %{commenter} ha comentado en un conjunto de
+ cambios en el que usted está interesado'
+ your_changeset: '%{commenter} ha dejado un comentario en uno de sus conjuntos
+ de cambios creado el %{time}'
+ commented_changeset: '%{commenter} ha dejado un comentario en un conjunto
+ de cambios de mapa que está siguiendo, creado por %{changeset_author} el
+ %{time}'
+ partial_changeset_with_comment: con el comentario '%{changeset_comment}'
+ partial_changeset_without_comment: sin comentarios
+ details: Más detalles acerca del conjunto de cambios pueden encontrarse en %{url}.
message:
inbox:
title: Buzón de entrada
search:
search: Buscar
where_am_i: ¿Dónde estoy?
- where_am_i_title: Describe la ubicación actual por medio del motor de búsqueda
+ where_am_i_title: Define la ubicación actual por medio del motor de búsqueda
submit_text: Ir
key:
table:
openid: '%{logo} OpenID:'
password: 'Contraseña:'
confirm password: 'Confirmar contraseña:'
- use openid: Como alternativa, use %{logo} OpenID para iniciar sesión
+ use openid: Como alternativa, utiliza %{logo} OpenID para iniciar sesión
openid no password: Con OpenID no se requiere una contraseña, pero algunas herramientas
extras o servidor pueden seguir necesitándola.
openid association: |-
createnote_disabled_tooltip: Acercar para añadir una nota al mapa
map_notes_zoom_in_tooltip: Acercar para ver notas del mapa
map_data_zoom_in_tooltip: Acercar para ver datos del mapa
+ queryfeature_tooltip: Consultar características
+ queryfeature_disabled_tooltip: Acercar para consultar características
+ changesets:
+ show:
+ comment: Comentar
+ subscribe: Suscribirse
+ unsubscribe: Desuscribir
+ hide_comment: ocultar
+ unhide_comment: mostrar
notes:
new:
intro: ¿Has detectado un error o falta algo? Hazlo saber a otros cartógrafos
comment: Comentar
edit_help: Mueva el mapa el mapa y acerca a una ubicación que desees editar, luego
haga clic aquí.
+ query:
+ node: Nodo
+ way: Vía
+ relation: Relación
+ nothing_found: No se encontraron características
+ error: 'Error al contactar a %{server}: %{error}'
+ timeout: Tiempo de espera agotado al contactar a %{server}
redaction:
edit:
description: Descripción
way_paginated: Jooned (%{x}-%{y}/%{count})
relation: Relatsioonid (%{count})
relation_paginated: Relatsioonid (%{x}-%{y}/%{count})
+ comment: Kommentaare (%{count})
+ hidden_commented_by: Peidetud kommentaar kasutajalt %{user} <abbr title='%{exact_time}'>%{when}
+ tagasi</abbr>
+ commented_by: Kommentaar kasutajalt %{user} <abbr title='%{exact_time}'>%{when}
+ tagasi</abbr>
changesetxml: Muutuskogumi XML
osmchangexml: osmChange XML
feed:
title: Muutuskogum %{id}
title_comment: Muutuskogum %{id} - %{comment}
+ join_discussion: Logi sisse, kui soovid arutelus osaleda
+ discussion: Arutelu
node:
title: 'Sõlm: %{name}'
history_title: 'Sõlme ajalugu: %{name}'
wiki_link:
key: Sildi %{key} kirjelduse leht vikis
tag: Sildi %{key}=%{value} kirjelduse leht vikis
+ wikidata_link: '%{page} Wikidatas'
wikipedia_link: Artikkel %{page} Vikipeedias
+ telephone_link: Helista %{phone_number}
note:
title: 'Märkus: %{id}'
new_note: Uus märkus
load_more: Laadi veel
timeout:
sorry: Kahjuks võttis taotletud muutuskogumite laadimine liiga kaua aega.
+ rss:
+ title_all: OpenStreetMap muutuskogumi arutelu
+ title_particular: 'OpenStreetMap muutuskogumi #%{changeset_id} arutelu'
+ comment: 'Uus kommentaar muutuskogumis #%{changeset_id} kasutajalt %{author}'
+ commented_at_html: Uuendatud %{when} tagasi
+ commented_at_by_html: Uuendatud %{when} tagasi kasutaja %{user} poolt
+ full: Kogu arutelu
diary_entry:
new:
title: Uus päeviku sissekanne
preschool: Lasteaed
prison: Vangla
pub: Pubi
+ public_building: Ühiskondlik hoone
+ public_market: Turg
reception_area: Vastuvõtt
recycling: Jäätmekäitluspunkt
restaurant: Restoran
tram_stop: Trammipeatus
shop:
antiques: Antikvariaat
+ bakery: Pagariäri
bicycle: Rattapood
books: Raamatupood
boutique: Butiik
optician: Prillipood
pet: Lemmikloomapood
pharmacy: Apteek
+ photo: Fotopood
salon: Ilusalong
shoes: Kingapood
shopping_centre: Kaubanduskeskus
tailor: Rätsep
toys: Mänguasjapood
travel_agency: Reisiagentuur
+ wine: Alkoholipood
"yes": Pood
tourism:
alpine_hut: Alpimaja
tunnel:
"yes": Tunnel
waterway:
+ boatyard: Verf
canal: Kanal
dam: Tamm
ditch: Kraav
river: Jõgi
riverbank: Jõekallas
stream: Oja
+ wadi: Vadi
waterfall: Kosk
+ water_point: Veevõtukoht
weir: Pais
admin_levels:
level2: Riigipiir
ct accepted: Vastu võetud %{ago} tagasi
latest edit: 'Viimane muudatus %{ago}:'
email address: 'E-posti aadress:'
+ created from: 'Loodud:'
status: 'Staatus:'
spam score: 'Rämpsposti tulemus:'
description: Kirjeldus
createnote_disabled_tooltip: Suurenda, et lisada kaardile märkus
map_notes_zoom_in_tooltip: Suumi sisse, et näha kaardil märkuseid
map_data_zoom_in_tooltip: Suumi sisse, et näha kaardi andmeid
+ changesets:
+ show:
+ comment: Kommentaar
+ subscribe: Telli
+ unsubscribe: Lõpeta tellimus
+ hide_comment: peida
+ unhide_comment: nähtavale
notes:
new:
intro: Märkasid viga või või midagi, mis vajab täiendamist? Anna sellest teada
teistele kaardistajatele, et me võiksime seda parandada. Lohista marker
õigele kohale ja kirjuta märkus, et probleemi selgitada. (Palun ära kirjuta
- siia isiklikku informatsiooni.)
+ siia isiklikku informatsiooni või infot autoriõigustega kaitstud kaartidelt
+ või kataloogide nimekirjast.)
add: Lisa märkus
show:
anonymous_warning: Käesolev märkus sisaldab kommentaare anonüümsetelt kasutajatelt,
comment: Kommenteeri
edit_help: Nihuta kaarti ja suumi sisse asukohta mida soovid redigeerida ja seejärel
kliki siia.
+ query:
+ node: Sõlm
+ way: Joon
+ relation: Relatsioon
+ error: 'Viga ühendumisel serveriga %{server}: %{error}'
+ timeout: Ühendumine aegus serveriga %{server}
redaction:
edit:
description: Kirjeldus
title: 'Oharra: %{id}'
changeset:
changeset_paging_nav:
+ showing_page: '%{page}. orrialdea'
next: Hurrengoa »
previous: « Aurrekoa
changeset:
anonymous: Anonimoa
+ no_edits: (aldaketarik gabe)
changesets:
id: ID
saved_at: Noiz gordeta
user: Erabiltzailea
+ comment: Iruzkina
+ list:
+ load_more: Gehiago kargatu
diary_entry:
+ list:
+ older_entries: Sarrera zaharragoak
+ newer_entries: Sarrera berriagoak
edit:
subject: 'Gaia:'
body: 'Testua:'
location: 'Kokapena:'
view: Ikusi
edit: Aldatu
+ comments:
+ newer_comments: Iruzkin berriagoak
+ older_comments: Iruzkin zaharragoak
export:
start:
format_to_export: Esportatzeko formatua
amenity:
airport: Aireportu
arts_centre: Arte Zentroa
+ artwork: Artelana
atm: Kutxazain automatikoa
auditorium: Entzunareto
bank: Banku
retirement_home: Nagusien etxea
sauna: Sauna
school: Ikastetxe
+ shelter: Aterpea
shop: Denda
shopping: Erosketak
+ shower: Dutxa
studio: Estudio
supermarket: Supermerkatu
swimming_pool: Igerilekua
primary: Lehen mailako errepide
primary_link: Errepide nagusi
residential: Bizileku
+ rest_area: Atsedenlekua
road: Errepide
secondary: Bigarren mailako errepide
secondary_link: Bigarren mailako errepide
insurance: Aseguruetako bulegoa
lawyer: Abokatua
ngo: GKE bulegoa
+ travel_agent: Bidaia-agentzia
"yes": Bulegoa
place:
airport: Aireportu
shop:
art: Arte-denda
bakery: Okindegi
+ bicycle: Bizikleta-denda
books: Liburudenda
+ boutique: Boutique
butcher: Harategi
+ car: Auto-denda
chemist: Farmazia
clothes: Arropa denda
computer: Ordenagailu-denda
supermarket: Supermerkatu
toys: Jostailu Denda
travel_agency: Bidaia-agentzia
+ "yes": Denda
tourism:
alpine_hut: Aterpe alpinoa
+ artwork: Artelana
attraction: Atrakzio
bed_and_breakfast: Ohe eta gosari (B&B)
cabin: Kabina
valley: Haran
viewpoint: Behatoki
zoo: Zoologiko
+ tunnel:
+ "yes": Tunela
waterway:
canal: Kanal
dam: Urtegia
logo:
alt_text: OpenStreetMap logoa
home: hasiera
- logout: saioa itxi
+ logout: Saioa itxi
log_in: Saioa hasi
sign_up: izena eman
edit: Aldatu
history: Historia
export: Esportatu
+ data: Datuak
+ export_data: Esportatu datuak
help: Laguntza
about: Honi buruz
+ community: Komunitatea
+ community_blogs: Komunitateko blogak
+ community_blogs_title: OpenStreetMap komunitateko kideen blogak
+ foundation: Fundazioa
+ foundation_title: OpenStreetMap Fundazioa
make_a_donation:
text: Dohaintza egin
learn_more: Gehiago ikasi
native:
title: Orrialde honi buruz
native_link: Euskara version
+ legal_babble:
+ title_html: Egile-eskubideak eta lizentzia
+ contributors_at_html: |-
+ <strong>Austria</strong>: Honako iturrietatik ateratako datuak ditu:
+ <a href="http://data.wien.gv.at/">Stadt Wien</a> (<a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a> lizentziapean),
+ <a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">Land Vorarlberg</a> eta
+ Land Tirol (<a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC BY AT zuzenketekin</a> lizentziapean).
+ contributors_fr_html: '<strong>Frantzia</strong>: Direction Générale des Impôts-etik
+ ateratako datuak ditu.'
welcome_page:
title: Ongi etorri!
+ questions:
+ title: Galderarik?
+ fixthemap:
+ how_to_help:
+ title: Nola lagundu
+ help_page:
+ welcome:
+ url: /welcome
+ title: Ongi etorri OSM-ra
+ help:
+ url: https://help.openstreetmap.org/
+ title: help.openstreetmap.org
+ about_page:
+ next: Hurrengoa
notifier:
diary_comment_notification:
hi: Kaixo %{to_user},
lost_password_html:
greeting: Kaixo,
note_comment_notification:
+ anonymous: Erabiltzale anonimoa
greeting: Kaixo,
message:
inbox:
lost password link: Pasahitza ahaztu duzu?
login_button: Saioa hasi
register now: Erregistratu orain
+ create account minute: Sortu kontu bat. Minutu bat besterik ez duzu behar.
+ no account: Ez al duzu konturik?
logout:
title: Saio-itxiera
heading: OpenStreetMap-etik saioa itxi
display name: 'Erakusteko izena:'
password: 'Pasahitza:'
confirm password: 'Pasahitza berretsi:'
- continue: Jarraitu
+ continue: Eman izena
terms:
consider_pd_why: zer da hau?
agree: Ados
view:
my diary: nire egunerokoa
my edits: nire aldaketak
+ my notes: Nire oharrak
+ my messages: Nire mezuak
+ my profile: Nire profila
my settings: Nire Hobespenak
my comments: Nire Iruzkinak
send message: Mezua bidali
preferred languages: 'Hobetsitako hizkuntzak:'
preferred editor: 'Lehenetsitako Editorea:'
image: 'Irudia:'
+ gravatar:
+ link text: zer da hau?
new image: Irudi bat gehitu
latitude: 'Latitude:'
longitude: 'Longitude:'
partial:
show: Erakutsi
edit: Aldatu
+ confirm: Ziur zaude?
creator_name: Egilea
status: Egoera
next: Hurrengoa »
mine:
creator: Sortzailea
description: Deskribapena
+ javascripts:
+ close: Itxi
+ share:
+ title: Partekatu
+ cancel: Utzi
+ changesets:
+ show:
+ subscribe: Harpidetu
+ unsubscribe: Harpidetza kendu
+ hide_comment: ezkutatu
+ unhide_comment: erakutsi
+ notes:
+ new:
+ add: Gehitu oharra
+ show:
+ hide: Ezkutatu
redaction:
show:
description: 'Deskribapena:'
user: 'Sortzailea:'
+ confirm: Ziur zaude?
...
way_paginated: راه ها (%{x}-%{y} از %{count})
relation: روابط (%{count})
relation_paginated: روابط (%{x}-%{y} از %{count})
+ comment: نظرها (%{count})
changesetxml: تغییرات انجام شده XML
osmchangexml: osmChange XML
feed:
title: تغییرات انجام شده %{id}
title_comment: تغییرات انجام شده %{id} - %{comment}
+ discussion: بحث
node:
title: 'گره: %{name}'
history_title: 'تاریخچه گره: %{name}'
reopened_by_anonymous: دوباره فعال شده توسط ناشناس <abbr title='%{exact_time}'>%{when}
قبل</abbr>
hidden_by: مخفی شد توسط %{user} <abbr title='%{exact_time}'>%{when} قبل</abbr>
+ query:
+ title: کوئری ویژگیها
+ nearby: ویژگیهای نزدیک
+ enclosing: ویژگیهای نزدیک
changeset:
changeset_paging_nav:
showing_page: صفحهٔ %{page}
confirm: تأیید
diary_comment:
comment_from: نظر از %{link_user} در %{comment_created_at}
- hide_link: پنهانکردن این نظر
+ hide_link: پنهان کردن این نظر
confirm: تأیید
location:
location: 'مکان:'
primary_link: جادهٔ اصلی
proposed: راه پیشنهادی
raceway: مسیر مسابقه
- residential: مسکونی
+ residential: راه مسکونی
rest_area: استراحتگاه
road: جاده
secondary: جاده دوم
tram: واگن برقی
tram_stop: ایستگاه واگن برقی
yard: محوطه راه آهن
+ route:
+ bus: مسیر اتوبوس
shop:
alcohol: مجوز غیر فعال
antiques: عتیقه جات
text: کمک مالی
learn_more: اطلاعات بیشتر
more: بیشتر
- sotm_header: وضعیت نقشهٔ ۲۰۱۴
- sotm_line_1: هشتمین کنفرانس سالانه
- sotm_line_2: ۷ تا ۹ نوامبر ۲۰۱۴
- sotm_line_3: بوینسآیرس، آرژانتین
license_page:
foreign:
title: درباره این ترجمهها
commented_note: '%{commenter} یکی از یادداشت های نقشه که شما در آن نظر گذاشته
اید را دوباره فعال کرد. یادداشت نزدیک %{place} است.'
details: اطلاعات بیشتر درباره ی یادداشت در %{url} یافت میشود.
+ changeset_comment_notification:
+ greeting: سلام ،
+ commented:
+ partial_changeset_without_comment: بدون نظر
message:
inbox:
title: صندوق دریافت
summary: '%{name} ایجاد شده از %{ip_address} در %{date}'
summary_no_ip: ' %{name}در %{date} ایجاد شد'
confirm: تأیید کاربران انتخابشده
- hide: پنهانکردن کاربران انتخاب شده
+ hide: پنهان کردن کاربران انتخاب شده
empty: هیچ کاربر مشابهی یافت نشد
suspended:
title: حساب کاربری معلق شده
createnote_disabled_tooltip: بزرگنمایی برای افزودن یک یادداشت به نقشه
map_notes_zoom_in_tooltip: بزرگنمایی برای دیدن یادداشت های نقشه
map_data_zoom_in_tooltip: بزرگنمایی برای دیدن داده های نقشه
+ queryfeature_tooltip: کوئری ویژگیها
+ queryfeature_disabled_tooltip: بزرگنمایی کوئری ویژگیها
+ changesets:
+ show:
+ comment: نظر
+ subscribe: اشتراک
+ unsubscribe: لغو اشتراک
+ hide_comment: نهفتن
+ unhide_comment: نمایش
notes:
new:
intro: چیزی مشکل دارد؟ به نقشهکشهای دیگر اصلاع دهید تا آن را اصلاح کنند.
comment: نظر
edit_help: نقشه را جابجا کنید و روی مکانی که میخواهید ویرایش کنید بزرگنمایی کنید،
سپس اینجا کلیک کنید.
+ query:
+ node: گره
+ way: راه
+ relation: ارتباط
+ nothing_found: ویژگیای یافت نشد
+ error: 'خطار در ارتباط %{server}: %{error}'
+ timeout: اتمام زمان %{server}
redaction:
edit:
description: شرح
changeset:
title: 'Muutoskokoelma: %{id}'
belongs_to: Lähettäjä
- node: Pisteet(%{count})
- node_paginated: Pisteet(%{x}-%{y} / %{count})
+ node: Pisteet (%{count})
+ node_paginated: Pisteet (%{x}-%{y} / %{count})
way: Reitit (%{count})
way_paginated: Reitit (%{x}-%{y} of %{count})
relation: Relaatiot (%{count})
relation_paginated: Relaatiot (%{x}-%{y} / %{count})
+ comment: Kommentit (%{count})
+ hidden_commented_by: Käyttäjän %{user} piilotettu kommentti <abbr title='%{exact_time}'>%{when}
+ sitten</abbr>
+ commented_by: Kommentti käyttäjältä %{user} <abbr title='%{exact_time}'>%{when}
+ sitten</abbr>
changesetxml: Muutoskokoelman XML
osmchangexml: osmChange XML
feed:
title: Muutoskokoelma %{id}
title_comment: Muutoskokoelma %{id} - %{comment}
+ join_discussion: Kirjaudu sisään, jos haluat osallistua keskusteluun
+ discussion: Keskustelu
node:
title: 'Piste: %{name}'
history_title: Pisteen %{name} historia
entry: Relaatio %{relation_name}
entry_role: Relaatio %{relation_name} (rooli %{relation_role})
not_found:
- sorry: '%{type} %{id} ei ole olemassa.'
+ sorry: 'Pahoittelemme, %{type} #%{id} ei ole olemassa.'
type:
node: Pistettä
way: Polkua
sitten</abbr>
hidden_by: Piilottanut käyttäjä %{user} <abbr title='%{exact_time}'>%{when}
sitten</abbr>
+ query:
+ title: Ominaisuuskysely
+ introduction: Näytä luettelo lähistön karttakohteista napsauttamalla karttaa.
+ nearby: Lähistön karttakohteet
+ enclosing: Ympäröivät karttakohteet
changeset:
changeset_paging_nav:
showing_page: Sivu %{page}
timeout:
sorry: Valitettavasti pyytämäsi muutoskokoelmien listan hakeminen kesti liian
kauan.
+ rss:
+ commented_at_html: Päivitetty %{when} sitten
+ commented_at_by_html: '%{user} päivittänyt %{when} sitten'
+ full: Koko keskustelu
diary_entry:
new:
title: Uusi päiväkirjamerkintä
tram: Raitiotie
tram_stop: Raitiovaunupysäkki
yard: Ratapiha
+ route:
+ bus: Bussireitti
shop:
alcohol: Alkoholikauppa
antiques: Antiikkia
text: Lahjoita
learn_more: Lisätietoja
more: Lisää
- sotm_header: State of the Map 2014
- sotm_line_1: 8. vuosikokous
- sotm_line_2: 7.-9.11.2014
- sotm_line_3: Buenos Aires, Argentiina
license_page:
foreign:
title: Tietoja tästä käännöksestä
viesti lähetetään siksi, että olet kommentoinut tätä karttailmoitusta, joka
on lähellä paikkaa %{place}.'
details: Lisää tietoja merkinnästä löytyy osoitteesta %{url}.
+ changeset_comment_notification:
+ greeting: Hei,
+ commented:
+ partial_changeset_without_comment: ei kommenttia
message:
inbox:
title: Saapuneet
email address: 'Sähköpostiosoite:'
created from: 'Tekijä:'
status: 'Tila:'
+ spam score: 'Spam-pisteet:'
description: Kuvaus
user location: Käyttäjän sijainti
if set location: Määrittelet sijaintisi sivulla %{settings_link} nähdäksesi
createnote_disabled_tooltip: Lähennä karttaa ennen karttavirheestä ilmoittamista.
map_notes_zoom_in_tooltip: Näytä karttailmoitukset lähentämällä karttaa
map_data_zoom_in_tooltip: Näytä kartta-aineisto lähentämällä karttaa
+ queryfeature_tooltip: Karttakohdeluettelo
+ queryfeature_disabled_tooltip: Näytä ominaisuusluettelo suurentamalla karttaa
+ changesets:
+ show:
+ comment: Kommentti
+ subscribe: Tilaa
+ unsubscribe: Lopeta tilaus
+ hide_comment: piilota
+ unhide_comment: näytä
notes:
new:
- intro: Auta parantamaan karttatietokantaa ilmoittamalla virheistä. Muut kartoittajat
- näkevät tämän ilmoituksen ja voivat korjata ongelman, joten valitse sijainti
- ja kirjoita virheen kuvaus mahdollisimman huolellisesti.
+ intro: Huomasitko virheen tai puuttuvan kohteen? Ilmoita siitä muille kartoittajille,
+ jolloin voimme korjata asian. Siirrä merkkipiste oikeaan kohtaan ja kirjoita
+ selite ongelmasta. (Älä kirjoita yksityistietojasi tai tietoa tekijänoikeudella
+ suojatuista kartoista tai kansiolistoista.)
add: Lähetä ilmoitus
show:
anonymous_warning: Tässä karttailmoituksessa on kommentteja tunnistautumattomilta
comment_and_resolve: Kommentoi + ratkaise
comment: Kommentoi
edit_help: Siirrä ja lähennä kartta muokattavaan paikkaan ja napsauta sitten tästä.
+ query:
+ node: Piste
+ way: Viiva
+ relation: Relaatio
+ nothing_found: Karttakohteita ei löytynyt
+ error: 'Yhteysvirhe palvelimeen %{server}: %{error}'
+ timeout: Yhteyden aikakatkaisu palvelimeen %{server}
redaction:
edit:
description: Kuvaus
# Messages for French (français)
# Exported from translatewiki.net
# Export driver: phpyaml
+# Author: 0x010C
# Author: Alno
# Author: Boniface
# Author: Cquoi
tracepoint: Point de la trace
tracetag: Attribut de la trace
user: Utilisateur
- user_preference: Préférence de l’utilisateur
+ user_preference: Préférences de l’utilisateur
user_token: Jeton de l’utilisateur
way: Chemin
way_node: Nœud du chemin
browse:
created: Créé
closed: Fermé
- created_html: Créé <abbr title='%{title}'>il y a %{time}</abbr>
- closed_html: Fermé <abbr title='%{title}'>il y a %{time}</abbr>
+ created_html: Créé il y a <abbr title='%{title}'>%{time}</abbr>
+ closed_html: Fermé il y a <abbr title='%{title}'>%{time}</abbr>
created_by_html: Créé <abbr title='%{title}'>il y a %{time}</abbr> par %{user}
- deleted_by_html: Supprimé <abbr title='%{title}'>il y a %{time}</abbr> par %{user}
- edited_by_html: Modifié <abbr title='%{title}'>il y a %{time}</abbr> par %{user}
- closed_by_html: Fermé <abbr title='%{title}'>il y a %{time}</abbr> par %{user}
+ deleted_by_html: Supprimé il y a <abbr title='%{title}'>%{time}</abbr> par %{user}
+ edited_by_html: Modifié il y a <abbr title='%{title}'>%{time}</abbr> par %{user}
+ closed_by_html: Fermé il y a <abbr title='%{title}'>%{time}</abbr> par %{user}
version: Version
in_changeset: Groupe de modifications
anonymous: anonyme
no_comment: (aucun commentaire)
part_of: Partie de
download_xml: Télécharger le XML
- view_history: Voir l’historique
+ view_history: Afficher l’historique
view_details: Afficher les détails
location: 'Emplacement :'
changeset:
way_paginated: Chemins (%{x} à %{y} sur %{count})
relation: Relations (%{count})
relation_paginated: Relations (%{x} à %{y} sur %{count})
+ comment: Commentaires (%{count})
+ hidden_commented_by: Commentaire masqué de %{user} <abbr title='%{exact_time}'>il
+ y a %{when}</abbr>
+ commented_by: Commentaire de %{user} <abbr title='%{exact_time}'>%il y a %{when}</abbr>
changesetxml: XML du groupe de modifications
osmchangexml: XML osmChange
feed:
title: Groupe de modifications %{id}
title_comment: Groupe de modifications %{id} – %{comment}
+ join_discussion: Se connecter pour rejoindre la discussion
+ discussion: Discussion
node:
title: 'Nœud : %{name}'
history_title: 'Historique du nœud : %{name}'
way: chemin
relation: relation
start_rjs:
- feature_warning: Le chargement de %{num_features} caractéristiques pourrait
- rendre votre navigateur lent ou il pourrait ne plus répondre. Êtes-vous sûr
- de vouloir afficher ces données ?
+ feature_warning: Le chargement de %{num_features} objets pourrait rendre votre
+ navigateur lent ou le bloquer. Êtes-vous sûr de vouloir afficher ces données
+ ?
load_data: Charger les données
loading: Chargement...
tag_details:
commented_by: Commenté par %{user} <abbr title='%{exact_time}'>il y a %{when}</abbr>
commented_by_anonymous: Commenté par un utilisateur anonyme <abbr title='%{exact_time}'>il
y a %{when}</abbr>
- closed_by: Résolu par %{user} <abbr title='%{exact_time}'>il y a %{when}</abbr>
- closed_by_anonymous: Résolu par un utilisateur anonyme <abbr title='%{exact_time}'>il
- y a %{when}</abbr>
- reopened_by: Réactivé par %{user} <abbr title='%{exact_time}'>il y a %{when}</abbr>
- reopened_by_anonymous: Réactivé par un utilisateur anonyme <abbr title='%{exact_time}'>il
- y a %{when}</abbr>
- hidden_by: Masqué par %{user} <abbr title='%{exact_time}'>il y a %{when}</abbr>
+ closed_by: Résolu par %{user} il y a <abbr title='%{exact_time}'>%{when}</abbr>
+ closed_by_anonymous: Résolu par un utilisateur anonyme il y a <abbr title='%{exact_time}'>%{when}</abbr>
+ reopened_by: Réactivé par %{user} il y a <abbr title='%{exact_time}'>%{when}</abbr>
+ reopened_by_anonymous: Réactivé par un utilisateur anonyme il y a <abbr title='%{exact_time}'>%{when}</abbr>
+ hidden_by: Masqué par %{user} il y a <abbr title='%{exact_time}'>%{when}</abbr>
+ query:
+ title: Requête sur les objets
+ introduction: Cliquer sur la carte pour trouver les objets à proximité.
+ nearby: Objets à proximité
+ enclosing: Objets englobants
changeset:
changeset_paging_nav:
showing_page: Page %{page}
load_more: Charger plus
timeout:
sorry: Désolé, la liste des groupes de modifications que vous avez demandée
- met trop de temps pour être récupérée.
+ met trop de temps pour être chargée.
+ rss:
+ title_all: Discussion sur le groupe de modifications OpenStreetMap
+ title_particular: Discussion sur le groupe de modifications OpenStreetMap nº
+ %{changeset_id}
+ comment: Nouveau commentaire sur le groupe de modifications nº %{changeset_id}
+ par %{author}
+ commented_at_html: Mis à jour il y a %{when}
+ commented_at_by_html: Mis à jour il y a %{when} par %{user}
+ full: Discussion complète
diary_entry:
new:
title: Nouvelle entrée du journal
in_language_title: Entrées du journal en %{language}
new: Nouvelle entrée du journal
new_title: Écrire une nouvelle entrée dans votre journal
- no_entries: Aucune entrée de journal
- recent_entries: 'Entrées récentes du journal:'
+ no_entries: Aucun article de journal
+ recent_entries: Articles récents du journal
older_entries: Entrées plus anciennes
newer_entries: Entrées plus récentes
edit:
diary_entry:
posted_by: Posté par %{link_user} à %{created} en %{language_link}
comment_link: Commenter cette entrée
- reply_link: Répondre a cette entrée
+ reply_link: Répondre à cet article
comment_count:
zero: Aucun commentaire
one: '%{count} commentaire'
edit: Modifier
feed:
user:
- title: Entrées du journal d’OpenStreetMap pour %{user}
- description: Entrées récentes du journal d’OpenStreetMap pour %{user}
+ title: Articles du journal OpenStreetMap de %{user}
+ description: Articles récents du journal OpenStreetMap de %{user}
language:
- title: Entrées du journal d’OpenStreetMap en %{language_name}
- description: Entrées récentes du journal des utilisateurs d’OpenStreetMap
+ title: Articles de journaux OpenStreetMap en %{language_name}
+ description: Articles récents des journaux d’utilisateurs d’OpenStreetMap
en %{language_name}
all:
- title: Entrées du journal d’OpenStreetMap
- description: Entrées récentes du journal des utilisateurs d’OpenStreetMap
+ title: Articles des journaux OpenStreetMap
+ description: Articles récents des journaux d’utilisateurs OpenStreetMap
comments:
has_commented_on: '%{display_name} a commenté les entrées de journal suivantes'
post: Envoyer
start:
area_to_export: Zone à exporter
manually_select: Sélectionner manuellement une autre zone
- format_to_export: Format à exporter
- osm_xml_data: Données XML d’OpenStreetMap
- map_image: Image de carte (affiche un calque normal)
+ format_to_export: Format d’export
+ osm_xml_data: Données XML OpenStreetMap
+ map_image: Image de la carte (affiche le calque standard)
embeddable_html: HTML incorporable.
licence: Licence
export_details: Les données d’OpenStreetMap sont publiées sous la <a href="http://opendatacommons.org/licenses/odbl/1.0/">licence
- Open Data Commons – Base de données Ouverte</a> (ODbL).
+ Open Data Commons Open Database</a> (ODbL).
too_large:
advice: 'Si l’export ci-dessus échoue, veuillez envisager l’utilisation d’une
- des sources listées ci-dessous :'
- body: 'Cette zone est trop vaste pour être exportée comme données XML OpenStreetMap.
- Veuillez zoomer ou sélectionner une zone plus petite, ou utiliser une des
- sources suivantes pour le téléchargement de données massives :'
+ des sources listées ci-dessous :'
+ body: Cette zone est trop vaste pour être exportée au format OpenStreetMap
+ XML. Veuillez zoomer ou sélectionner une zone plus petite, ou utiliser une
+ des sources suivantes pour le téléchargement de données massives.
planet:
title: Planète OSM
description: Copies régulièrement mises à jour de la base de données complète
de OpenStreetMap
overpass:
- title: API passerelle
+ title: API Overpass
description: Télécharger ce cadre englobant depuis un miroir de la base
- de données de OpenStreetMap
+ de données d’OpenStreetMap
geofabrik:
title: Téléchargements de Geofabrik
- description: Extractions régulièrement mises à jour de continents, pays
+ description: Extractions régulièrement mises à jour des continents, pays
et villes sélectionnées
metro:
title: Extractions de Metro
max: max
image_size: Taille de l’image
zoom: Zoom
- add_marker: Ajouter un marqueur à la carte
+ add_marker: Ajouter un marqueur sur la carte
latitude: 'Lat :'
longitude: 'Lon :'
output: Sortie
station: Gare de télécabine
aeroway:
aerodrome: Aérodrome
- apron: Tablier
+ apron: Aire de stationnement
gate: Porte
helipad: Héliport
runway: Piste
- taxiway: Voie de manœuvre
+ taxiway: Voie de circulation (Taxiway)
terminal: Terminal
amenity:
airport: Aéroport
hospital: Hôpital
hotel: Hôtel
hunting_stand: Stand de tir
- ice_cream: Crème glacée
+ ice_cream: Glacier
kindergarten: Jardin d’enfant
library: Bibliothèque
market: Marché
mountain_rescue: Secours en montagne
nightclub: Boîte de nuit
nursery: Nurserie
- nursing_home: Soins infirmiers
+ nursing_home: Maison de retraite médicalisée
office: Bureau
park: Parc
parking: Parking
post_office: Bureau de poste
preschool: Préscolaire
prison: Prison
- pub: Bar
+ pub: Pub
public_building: Bâtiment public
public_market: Marché public
reception_area: Zone de livraison
retirement_home: Maison de retraite
sauna: Sauna
school: École
- shelter: Refuge
+ shelter: Abri
shop: Boutique
shopping: Commerce
shower: Douche
stile: Échalier
tertiary: Route tertiaire
tertiary_link: Route tertiaire
- track: Piste
+ track: Chemin
trail: Sentier
trunk: Voie express
trunk_link: Voie express
sports_centre: Centre sportif
stadium: Stade
swimming_pool: Piscine
- track: Piste
+ track: Piste de course
water_park: Parc aquatique
military:
airfield: Terrain d’aviation militaire
company: Entreprise
employment_agency: Agence pour l’emploi
estate_agent: Agent immobilier
- government: Agence gouvernementale
+ government: Administration publique
insurance: Agence d’assurance
lawyer: Avocat
ngo: Agence d’une ONG
island: Île
islet: Îlot
isolated_dwelling: Habitation isolée
- locality: Localité
+ locality: Lieu-dit
moor: Maure
municipality: Municipalité
neighbourhood: Quartier
abandoned: Voie ferrée abandonnée
construction: Voie ferrée en construction
disused: Voie ferrée désaffectée
- disused_station: Gare désaffectée
- funicular: Voie de funiculaire
+ disused_station: Gare ferroviaire désaffectée
+ funicular: Funiculaire
halt: Arrêt de train
- historic_station: Arrêt de train historique
+ historic_station: Gare ferroviaire historique
junction: Jonction ferroviaire
level_crossing: Passage à niveau
light_rail: Voie ferrée légère
tram: Tramway
tram_stop: Arrêt de tram
yard: Voie de triage
+ route:
+ bus: Trajet du bus
shop:
alcohol: Vendeur d’alcool à emporter / caviste
antiques: Antiquaire
mobile_phone: Boutique de téléphones mobiles
motorcycle: Magasin de motos
music: Boutique de musique / disquaire
- newsagent: Marchand de journaux / maison de la presse
+ newsagent: Marchand de journaux
optician: Opticien
organic: Magasin d’alimentation bio
outdoor: Magasin d’articles pour activité en plein air
bed_and_breakfast: Gîte
cabin: Hutte
camp_site: Camping
- caravan_site: Site de caravane
+ caravan_site: Site pour caravanes
chalet: Chalet
guest_house: Maison d'hôte
hostel: Auberge
viewpoint: Point de vue
zoo: Zoo
tunnel:
- culvert: Ponceau
+ culvert: Buse
"yes": Tunnel
waterway:
artificial: Cours d’eau artificiel
boatyard: Chantier naval
canal: Canal
connector: Canal de connexion
- dam: Digue
- derelict_canal: Canal de délaissement
+ dam: Barrage
+ derelict_canal: Canal de décharge
ditch: Fossé
dock: Dock
drain: Drain
water_point: Point d’eau
weir: Barrage
admin_levels:
- level2: Frontière du pays
- level4: Frontière d’État / de province
+ level2: Frontière de pays
+ level4: Limite d’État, province ou région
level5: Frontière de région
- level6: Frontière de comté
- level8: Frontière de ville
- level9: Frontière de village
- level10: Frontière de quartier
+ level6: Limite de département
+ level8: Limite communale
+ level9: Limite de village ou arrondissement municipal
+ level10: Limite de quartier
description:
title:
osm_nominatim: Localisation depuis <a href="http://nominatim.openstreetmap.org/">OpenStreetMap
export_data: Exporter les données
gps_traces: Traces GPS
gps_traces_tooltip: Gérer les traces GPS
- user_diaries: Journaux
+ user_diaries: Journaux des utilisateurs
user_diaries_tooltip: Voir les journaux d’utilisateurs
edit_with: Modifier avec %{editor}
tag_line: La carte wiki libre du monde
intro_header: Bienvenue dans OpenStreetMap !
intro_text: OpenStreetMap est une carte du monde, créée par des gens comme vous
et libre d’utilisation sous licence libre.
- intro_2_create_account: Créez un compte d'utilisateur
- partners_html: L'hébergement est pris en charge par %{ucl}, %{ic} et %{bytemark},
- et d'autres %{partners}.
+ intro_2_create_account: Créez un compte d’utilisateur
+ partners_html: L’hébergement est pris en charge par %{ucl}, %{ic}, %{bytemark}
+ et d’autres %{partners}.
partners_ucl: le Centre VR de l’UCL
partners_ic: le Collège impérial de Londres
partners_bytemark: Hébergement Bytemark
text: Faire un don
learn_more: En savoir plus
more: Plus
- sotm_header: État de la carte 2014
- sotm_line_1: 8e Conférence Annuelle
- sotm_line_2: 7-9 novembre 2014
- sotm_line_3: Buenos Aires, Argentine
license_page:
foreign:
title: À propos de cette traduction
OpenStreetMap est un ensemble de <i>données ouvertes</i>, disponibles sous la licence <a
href="http://opendatacommons.org/licenses/odbl/">Open Data Commons Open Database License</a> (ODbL).
intro_2_html: Vous êtes libre de copier, distribuer, transmettre et adapter
- nos données, à condition que vous créditiez OpenStreetMap et ses contributeurs.
+ nos données, à condition que vous créditiez, OpenStreetMap et ses contributeurs.
Si vous modifiez ou utilisez nos données dans d’autres œuvres dérivées, vous
ne pouvez distribuer celles-ci que sous la même licence. Le <a href="http://opendatacommons.org/licenses/odbl/1.0/">texte
légal</a> complet détaille vos droits et responsabilités.
credit_1_html: Nous demandons que votre crédit comporte la mention « © les contributeurs
d’OpenStreetMap ».
credit_2_html: |-
- Vous devez également préciser clairement que les données sont disponibles sous la licence
- ODbL, et si vous utilisez les tuiles de notre carte, que la carte est sous
- la licence CC-BY-SA. Vous pouvez mentionner ceci avec un lien hypertexte vers
- <a href="http://www.openstreetmap.org/copyright">cette page de mentions légales</a>.
- Alternativement, et obligatoirement si vous distribuez OpenStreetMap sous
- forme de données brutes, vous pouvez directement nommer et fournir un lien vers la ou les licences.
- Sur les supports où les liens hypertexte sont impossibles (par exemple sur un support papier), nous vous suggérons
- de rediriger vos lecteurs vers le site openstreetmap.org (éventuellement en développant
- « OpenStreetMap » en l'adresse openstreetmap.org), vers opendatacommons.org, et,
- si c'est pertinent, vers creativecommons.org.
+ Vous devez également préciser clairement que les données sont disponibles sous la licence ODbL et, si vous utilisez les tuiles de notre carte, que la carte est sous la licence CC-BY-SA. Vous pouvez mentionner ceci avec un lien hypertexte vers
+ <a href="http://www.openstreetmap.org/copyright">cette page de mentions légales</a>.
+ Alternativement, et obligatoirement si vous distribuez OpenStreetMap sous forme de données brutes, vous pouvez directement nommer et fournir un lien vers la ou les licences. Sur les supports où les liens hypertexte sont impossibles (par exemple sur un support papier), nous vous suggérons de rediriger vos lecteurs vers le site openstreetmap.org (éventuellement en développant « OpenStreetMap » en l’adresse openstreetmap.org), vers opendatacommons.org et, si c’est pertinent, vers creativecommons.org.
credit_3_html: |-
Pour une carte électronique navigable, le crédit devrait apparaître dans le coin de la carte.
- Par exemple:
+ Par exemple :
attribution_example:
- alt: Exemple d'attribution OpenStreetMap sur une page internet
- title: Exemple d'attribution
+ alt: Exemple d’attribution d’OpenStreetMap sur une page internet
+ title: Exemple d’attribution
more_title_html: Pour trouver plus d’informations
- more_1_html: |-
- Si vous voulez obtenir plus d’informations sur comment réutiliser nos données et nous créditer, lisez la <a
- href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">FAQ
- légale</a>.
+ more_1_html: Pour obtenir plus d’informations sur la façon de réutiliser nos
+ données et de nous créditer, veuillez lire la <a href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">FAQ
+ légale</a>.
more_2_html: |-
- Bien qu'OpenStreetMap soit un ensemble de données libres et ouverte, nous ne pouvons pas fournir une API gratuite en libre accès pour les développeurs tiers.
- Veuillez vous référer à notre <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">politique d'utilisation de l'API</a>, à notre <a href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">politique d'utilisation des tuiles</a>, et à la <a href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">politique d'utilisation de Nominatim</a>.
+ Bien qu’OpenStreetMap soit un jeu de données libres et ouvertes, nous ne pouvons pas nous même fournir une API gratuite et en libre accès pour les développeurs tiers.
+ Veuillez vous référer à notre <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">politique d’utilisation de l’API</a>, à notre <a href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">politique d’utilisation des tuiles</a>, et à la <a href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">politique d’utilisation de Nominatim</a>.
contributors_title_html: Nos contributeurs
- contributors_intro_html: "Nos collaborateurs sont des milliers de personnes.
- Nous incluons également \n ouvertement-données sous licence des agences nationales
- de cartographie \n et d'autres sources, parmi eux :"
- contributors_at_html: |-
- <strong>Autriche</strong>: Contient des données sur
- <a href="http://data.wien.gv.at/">la ville de Vienne</a> (sous licence
- <a href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY 3.0 Autriche</a>),
- <a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">la région du Vorarlberg.</a> et la région du Tyrol (sous licence <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC-BY AT avec amendements</a>).
- contributors_ca_html: |-
- <strong>Canada</strong> : contient des données de
- <em>GeoBase</em>®, <em>GeoGratis</em> (© Département des Ressources
- naturelles du Canada), <em>CanVec</em> (© Département des Ressources
- naturelles du Canada) et <em>StatCan</em> (Division Géographie,
- Statistiques du Canada).
- contributors_fi_html: "<strong>Finlande</strong> : Contient des données de la
+ contributors_intro_html: 'Nos contributeurs sont des milliers de personnes.
+ Nous incluons également des données publiées sous licence ouverte par des
+ agences nationales de cartographie et par d’autres sources, notamment :'
+ contributors_at_html: '<strong>Autriche</strong> : contient des données sur
+ la <a href="http://data.wien.gv.at/">ville de Vienne</a> (sous licence <a
+ href="http://creativecommons.org/licenses/by/3.0/at/deed.de">CC BY</a>), la
+ <a href="http://www.vorarlberg.at/vorarlberg/bauen_wohnen/bauen/vermessung_geoinformation/weitereinformationen/services/wmsdienste.htm">région
+ du Vorarlberg</a> et la région du Tyrol (sous licence <a href="http://www.tirol.gv.at/applikationen/e-government/data/nutzungsbedingungen/">CC
+ BY AT avec amendements</a>).'
+ contributors_ca_html: '<strong>Canada</strong> : contient des données de <em>GeoBase</em>®,
+ <em>GeoGratis</em> (© Département des Ressources naturelles du Canada), <em>CanVec</em>
+ (© Département des Ressources naturelles du Canada) et <em>StatCan</em> (Division
+ Géographie, Statistiques du Canada).'
+ contributors_fi_html: '<strong>Finlande</strong> : contient des données de la
Base de données topographique de l’Inspection nationale du territoire de Finlande
- et d’autres ensembles de données, sous \n<a href=\"http://www.maanmittauslaitos.fi/en/NLS_open_data_licence_version1_20120501\">licence
- NLSFI</a>."
- contributors_fr_html: |-
- <strong>France</strong> : contient des données de la
- <em>Direction générale des impôts</em>.
- contributors_nl_html: |-
- <strong>Pays-Bas</strong>: Contient des données © AND, 2007
- (<a href="http://www.and.com">www.and.com</a>)
- contributors_nz_html: |-
- <strong>Nouvelle-Zélande</strong> : contient des données provenant du
- <em>Land Information New Zealand</em>. © Copyright de la Couronne réservé.
+ et d’autres ensembles de données, sous <a href="http://www.maanmittauslaitos.fi/en/NLS_open_data_licence_version1_20120501">licence
+ NLSFI</a>.'
+ contributors_fr_html: '<strong>France</strong> : contient des données de la
+ <em>Direction générale des finances publiques</em> (anciennement la <em>Direction
+ générale des impôts</em>).'
+ contributors_nl_html: '<strong>Pays-Bas</strong> : contient des données © <abbr
+ title="Automotive Navigation Data">AND</abbr>, 2007 (<a href="http://www.and.com">www.and.com</a>).'
+ contributors_nz_html: '<strong>Nouvelle-Zélande</strong> : contient des données
+ provenant du <em>Land Information New Zealand</em>. Copyright de la Couronne
+ réservé.'
contributors_za_html: |-
- <strong>Afrique du Sud</strong>: Contient des données issues de
- <a href="http://www.ngi.gov.za/">Direction principale:
- Information Géospatiale Nationale</a>, tous droits de l'État réservés.
- contributors_gb_html: '<strong>Royaume Uni</strong>: Contient des données de
- l''Institut Géographique National © Droits de la couronne et de la base
- de données 2010-12.'
- contributors_footer_1_html: |-
- Pour plus de détails sur ceux-ci, et les autres sources utilisées pour aider à améliorer OpenStreetMap, voyez la <a
- href="http://wiki.openstreetmap.org/wiki/Contributors">page des Contributeurs</a> sur le wiki de OpenStreetMap.
- contributors_footer_2_html: |-
- L’inclusion de données dans OpenStreetMap n’implique pas que les
- fournisseurs d’origine du contenu approuvent OpenStreetMap, ni ne fournissent, ne garantissent ou
- n’acceptent quelque responsabilité que ce soit.
- infringement_title_html: Violation des droits d'auteur
- infringement_1_html: |-
- Nous rappelons aux contributeurs d’OSM qu’ils ne doivent jamais ajouter de données provenant de
- sources protégées par le droit d’auteur (copyright) ou des droits voisins (par ex. Google Maps ou des cartes imprimées) sans
- autorisation explicite de la part des détenteurs des droits d’auteur.
+ <strong>Afrique du Sud</strong> : contient des données issues de la <a href="http://www.ngi.gov.za/">Direction principale des
+ Informations Géospatiales Nationales</a>, copyright de l’État réservé.
+ contributors_gb_html: '<strong>Royaume-Uni</strong> : contient des données issues
+ de l’<em>Ordnance Survey</em> © 2010-2012 Droits d’auteurs et de la base de
+ données de la Couronne.'
+ contributors_footer_1_html: Pour plus de détails sur celles-ci et sur les autres
+ sources utilisées pour aider à améliorer OpenStreetMap, consultez la page
+ des <a href="http://wiki.openstreetmap.org/wiki/Contributors">contributeurs</a>
+ sur le wiki d’OpenStreetMap.
+ contributors_footer_2_html: L’inclusion de données dans OpenStreetMap n’implique
+ pas que les fournisseurs d’origine du contenu approuvent OpenStreetMap, ni
+ qu’ils garantissent ou acceptent quelque responsabilité que ce soit.
+ infringement_title_html: Violation des droits d’auteur
+ infringement_1_html: Nous rappelons aux contributeurs d’OSM qu’ils ne doivent
+ jamais ajouter de données provenant de sources protégées par le droit d’auteur
+ (copyright) ou des droits voisins (par ex. <em>Google Maps</em> ou des cartes
+ imprimées) sans autorisation explicite de la part des détenteurs de ces droits.
infringement_2_html: Si vous pensez que des données ont été ajoutées à la base
- de données OpenStreetMap ou à ce site en violation des droits d'auteur, veuillez
+ de données OpenStreetMap ou à ce site en violation des droits d’auteur, veuillez
vous référer à notre <a href="http://www.osmfoundation.org/wiki/License/Takedown_procedure">procédure
- de retrait de données</a> ou notifiez nous directement à travers notre <a
+ de retrait de données</a> ou notifiez-nous directement à travers notre <a
href="http://dmca.openstreetmap.org/">formulaire en ligne</a>.
welcome_page:
- title: Bienvenue !
- introduction_html: |-
- Bienvenue à OpenStreetMap, la carte du monde libre et éditable. Maintenant que vous
- êtes enregistré, vous avez tout ce qu'il faut pour commencer à cartographier. Ce qui
- suit est un petit guide des choses les plus importantes à savoir.
+ title: Bienvenue !
+ introduction_html: Bienvenue à OpenStreetMap, la carte du monde libre et éditable.
+ Maintenant que vous êtes enregistré, vous avez tout ce qu’il faut pour commencer
+ Ã cartographier. Ce qui suit est un petit guide des choses les plus importantes
+ à savoir.
whats_on_the_map:
- title: Ce qu'il y a sur la carte
- on_html: |-
- OpenStreetMap sert à cartographier des choses à la fois <em>réelles et actuelles</em>
- - il inclut des millions de bâtiments, de routes, et d'autres détails de lieux. Vous
- pouvez cartographier n'importe quel élément du monde réel qui vous intéresse.
- off_html: |-
- Ce qui est par contre <em>exclu</em> sont les données subjectives comme les cotes de
- popularité, les éléments historiques ou hypothétiques, et les données venant de source
- copyrightée. À moins d'avoir une permission spéciale, ne copiez pas à partir d'une
+ title: Ce qu’il y a sur la carte
+ on_html: OpenStreetMap sert à cartographier des objets qui sont à la fois <em>réels
+ et actuels</em> — il contient des millions de bâtiments, de routes et d’autres
+ détails sur des lieux. Vous pouvez cartographier n’importe quel élément du
+ monde réel qui vous intéresse.
+ off_html: Ce qui est par contre <em>exclu</em> sont les données subjectives
+ comme les cotes de popularité, les éléments historiques ou hypothétiques,
+ et les données venant de source protégées par le droit d’auteur ou des droits
+ voisins. À moins d’avoir une permission spéciale, ne copiez rien depuis une
carte papier ou en ligne.
basic_terms:
- title: Vocabulaire de base de cartographie
- paragraph_1_html: OpenStreetMap a son propre jargon. Voici quelques mots clefs
+ title: Terminologie de base pour la cartographie
+ paragraph_1_html: OpenStreetMap a son propre jargon. Voici quelques mots-clefs
qui vous seront utiles.
editor_html: Un <strong>éditeur</strong> est un programme ou site web qui vous
- permet d'éditer la carte.
- node_html: Un <strong>nœud</strong> est un point sur la carte, comme un restaurant
- ou un arbre individuel.
- way_html: |-
- Un <strong>chemin</strong est une ligne ou une surface, comme par exemple une rue, un
- ruisseau, un lac, ou un bâtiment.
- tag_html: |-
- Un <strong>tag</strong> est une information à propos d'un nœud ou d'un chemin, comme
- le nom d'un restaurant ou la vitesse limite d'une rue.
+ permet de modifier la carte.
+ node_html: Un <strong>nœud</strong> est un point sur la carte, tel qu’un seul
+ restaurant ou un arbre isolé.
+ way_html: Un <strong>chemin</strong est une ligne ou une surface, comme par
+ exemple une rue, un ruisseau, un lac ou un bâtiment.
+ tag_html: Un <strong>attribut</strong> (ou <em>tag</em>) est une information
+ à propos d’un nœud ou d’un chemin, comme le nom d’un restaurant ou la limite
+ de vitesse d’une route.
questions:
- title: Des questions ?
+ title: Des questions ?
paragraph_1_html: |-
- OpenStreetMap a plusieurs ressources pour apprendre le projet, pour poser et répondre à des questions, et pour discuter en collaboration avec d’autres et documenter les sujets de cartographie.
+ OpenStreetMap propose plusieurs ressources pour apprendre à travailler dans le projet, pour poser des questions et y répondre, et pour discuter et documenter les sujets de cartographie en collaboration avec d’autres utilisateurs.
<a href='%{help_url}'>Trouvez de l’aide ici</a>.
start_mapping: Commencer à cartographier
add_a_note:
- title: Pas le temps d'éditer ? Ajoutez une note !
+ title: Pas le temps d’effectuer les modifications ? Ajoutez une note !
paragraph_1_html: |-
- Si vous voulez juste faire une petite correction et n'avez pas le temps de vous
- enregistrer et d'apprendre à éditer, il est facile d'ajouter une note.
+ Si vous voulez juste une petite correction et n’avez pas le temps de vous
+ enregistrer sur le projet et d’apprendre à effectuer les modifications, il est facile d’ajouter une note.
paragraph_2_html: |-
- Allez simplement sur <a href='%{map_url}'>la carte</a> et cliquez sur l'icône note:
- <span class='icon note'></span>. Cela ajoutera un marqueur sur la carte, que vous
- pouvez déplacer en faisant glisser la carte. Ajoutez votre message puis cliquez sur
- "ajouter une note", et d'autres contributeurs iront regarder.
+ Allez simplement sur <a href='%{map_url}'>la carte</a> et cliquez sur l’icône note :
+ <span class='icon note'></span>. Cela ajoutera un marqueur sur la carte, que vous pouvez déplacer en faisant glisser la carte. Ajoutez votre message puis cliquez sur Enregistrer, et d’autres contributeurs iront regarder.
fixthemap:
title: Signaler un problème / Corriger la carte
how_to_help:
title: Comment aider
join_the_community:
title: Rejoindre la communauté
- explanation_html: |-
- Si vous avez remarqué un problème avec nos données de carte, par exemple une route manquante ou votre adresse, le meilleur moyen de
- faire est de rejoindre la communauté OpenStreetMap et d’ajouter ou réparer les données vous-même.
+ explanation_html: Si vous avez remarqué un problème avec nos données de carte,
+ par exemple s’il manque une route ou votre adresse, le meilleur moyen de
+ faire est de rejoindre la communauté OpenStreetMap et d’ajouter ou réparer
+ les données vous-même.
add_a_note:
instructions_html: |-
Cliquez simplement sur <a class='icon note'></a> ou cette même icône sur l’affichage de la carte.
- Cela ajoutera un marqueur à la carte, que vous pourrez déplacer en le tirant. Ajoutez votre message, puis cliquez sur enregistrer, et d’autres cartographes l’investigueront.
+ Cela placera un marqueur sur la carte, que vous pourrez déplacer en le glissant. Ajoutez votre message, puis cliquez sur Enregistrer, et d’autres cartographes l’étudieront.
other_concerns:
title: Autres préoccupations
- explanation_html: "Si vous êtes préoccupé par la manière dont nos données sont
- utilisées ou sur leur contenu, veuillez consulter notre\n<a href='/copyright'>page
- d e droit d’auteur</a> pour des informations plus légales, ou contacter le
- \n<a href='http://wiki.osmfoundation.org/wiki/Working_Groups'>groupe de travail
- OSMF</a> approprié."
+ explanation_html: Si vous êtes préoccupé par la manière dont nos données sont
+ utilisées ou sur leur contenu, veuillez consulter notre <a href='/copyright'>page
+ des droits d’auteur</a> pour des informations légales ou contacter le <a href='http://wiki.osmfoundation.org/wiki/Working_Groups'>groupe
+ de travail OSMF</a> approprié.
help_page:
title: Obtenir de l’aide
- introduction: OpenStreetMap a plusieurs ressources pour apprendre le projet, pour
- poser et répondre à des questions, et pour discuter en collaboration avec d’autres
- et documenter les sujets de cartographie.
+ introduction: OpenStreetMap propose plusieurs ressources pour apprendre à travailler
+ dans le projet, pour poser des questions et y répondre, et pour discuter et
+ documenter les sujets de cartographie en collaboration avec d’autres utilisateurs.
welcome:
url: /welcome
title: Bienvenue à OSM
- description: Commencer avec ce guide rapide couvrant les bases de OpenStreetMap.
+ description: Commencer avec ce guide rapide couvrant les bases d’OpenStreetMap.
help:
url: https://help.openstreetmap.org/
title: help.openstreetmap.org
- description: Poser une question ou chercher des réponses sur le site questions-et-réponses
- de OSM.
+ description: Poser une question ou chercher des réponses sur le site de questions-et-réponses
+ d’OSM.
wiki:
url: http://wiki.openstreetmap.org/
title: wiki.openstreetmap.org
partners_title: Partenaires
notifier:
diary_comment_notification:
- subject: '[OpenStreetMap] %{user} a ajouté un commentaire sur votre entrée du
+ subject: '[OpenStreetMap] %{user} a posté un commentaire sur un article de votre
journal'
hi: Bonjour %{to_user},
- header: '%{from_user} a ajouté un commentaire sur un de vos entrées récentes
- du journal d''OpenStreetMap avec le sujet %{subject} :'
- footer: Vous pouvez également lire le commentaire sur %{readurl}, commenter
+ header: '%{from_user} a posté un commentaire sur un article récent de votre
+ journal OpenStreetMap avec le sujet %{subject} :'
+ footer: Vous pouvez également lire le commentaire sur %{readurl}, le commenter
sur %{commenturl} ou répondre sur %{replyurl}
message_notification:
hi: Bonjour %{to_user},
header: '%{from_user} vous a envoyé un message depuis OpenStreetMap avec le
- sujet %{subject} :'
+ sujet %{subject} :'
footer_html: Vous pouvez aussi lire le message à %{readurl} et vous pouvez y
répondre à %{replyurl}
friend_notification:
subject: '[OpenStreetMap] %{user} vous a ajouté comme ami'
had_added_you: '%{user} vous a ajouté comme ami dans OpenStreetMap.'
- see_their_profile: 'Vous pouvez voir son profil ici : %{userurl}.'
- befriend_them: 'Vous pouvez également l''ajouter comme ami ici : %{befriendurl}.'
+ see_their_profile: 'Vous pouvez voir son profil ici : %{userurl}.'
+ befriend_them: 'Vous pouvez également l''ajouter comme ami ici : %{befriendurl}.'
gpx_notification:
greeting: Bonjour,
your_gpx_file: Il semble que votre fichier GPX
- with_description: avec les description
- and_the_tags: 'et les mots-clés suivants :'
+ with_description: avec la description
+ and_the_tags: 'et les mots-clés suivants :'
and_no_tags: et sans mot-clé.
failure:
- subject: '[OpenStreetMap] Erreur lors de l''import GPX'
- failed_to_import: 'n''a pas pu être importé. Voici l''erreur :'
- more_info_1: Plus d'informations sur les erreurs lors de l'import GPX et comment
- les éviter
- more_info_2: 'peuvent être trouvés sur :'
+ subject: '[OpenStreetMap] Échec de l’import GPX'
+ failed_to_import: 'n’a pas pu être importé. Voici l’erreur :'
+ more_info_1: Plus d’informations sur les échecs d’import GPX et comment les
+ éviter
+ more_info_2: 'peuvent être trouvés sur :'
success:
subject: '[OpenStreetMap] Import GPX réussi'
- loaded_successfully: s'est chargé correctement avec %{trace_points} points
- sur %{possible_points}.
+ loaded_successfully: s’est chargé correctement avec %{trace_points} des %{possible_points}
+ points possibles.
signup_confirm:
subject: '[OpenStreetMap] Bienvenue dans OpenStreetMap'
- greeting: Bonjour!
- created: Quelqu'un (vous, avec un peu de chance) vient juste de créer un compte
- sur %{site_url}.
- confirm: 'Avant que nous fassions quoi que ce soit d''autre, nous avons besoin
- d''une confirmation que cette demande provient bien de vous; si c''est bien
- le cas, veuillez donc cliquer sur le lien ci-dessous ^pour confirmer votre
- compte:'
- welcome: Une fois que vous aurez confirmé votre compte, nous vous fournirons
- des informations supplémentaires pour démarrer.
+ greeting: Bonjour !
+ created: Quelqu’un (vous, espérons-le) vient juste de créer un compte sur %{site_url}.
+ confirm: 'Avant que nous fassions quoi que ce soit d’autre, nous avons besoin
+ d’une confirmation que cette demande provient bien de vous ; si c’est le cas,
+ veuillez cliquer le lien ci-dessous pour confirmer votre compte :'
+ welcome: Une fois votre compte confirmé, nous vous fournirons des informations
+ supplémentaires pour bien démarrer.
email_confirm:
subject: '[OpenStreetMap] Confirmation de votre adresse de courriel'
email_confirm_plain:
greeting: Bonjour,
- hopefully_you: Quelqu’un (vous avec un peu de chance) aimerait modifier son
- adresse de courriel sur %{server_url} en %{new_address}.
- click_the_link: Si vous êtes à l'origine de cette requête, cliquez sur le lien
- ci-dessous pour confirmer cette modification.
+ hopefully_you: Quelqu’un (vous, espérons-le) aimerait modifier son adresse de
+ courriel sur %{server_url} en %{new_address}.
+ click_the_link: Si vous êtes à l’origine de cette demande, cliquez le lien ci-dessous
+ pour confirmer cette modification.
email_confirm_html:
greeting: Bonjour,
- hopefully_you: Quelqu'un (probablement vous) aimerait changer son adresse de
- courriel de %{server_url} à %{new_address}.
- click_the_link: Si c'est vous, veuillez cliquer sur le lien ci-dessous pour
- confirmer la modification.
+ hopefully_you: Quelqu’un (vous, espérons-le) aimerait changer son adresse de
+ courriel de %{server_url} en %{new_address}.
+ click_the_link: Si vous êtes à l’origine de cette demande, cliquez le lien ci-dessous
+ pour confirmer cette modification.
lost_password:
subject: '[OpenStreetMap] Demande de réinitialisation du mot de passe'
lost_password_plain:
greeting: Bonjour,
- hopefully_you: Quelqu’un (peut-être vous) a demandé la réinitialisation du mot
- de passe du compte openstreetmap.org de cette adresse de courriel.
- click_the_link: Si vous êtes à l'origine de cette requête, cliquez sur le lien
- ci-dessous pour réinitialiser votre mot de passe.
+ hopefully_you: Quelqu’un (vous, espérons-le) a demandé la réinitialisation du
+ mot de passe du compte openstreetmap.org associé à cette adresse de courriel.
+ click_the_link: Si vous êtes à l’origine de cette demande, cliquez le lien ci-dessous
+ pour réinitialiser votre mot de passe.
lost_password_html:
greeting: Bonjour,
- hopefully_you: Quelqu'un (probablement vous) a demandé que le mot de passe du
- compte openstreetmap.org avec cette adresse de courriel soit réinitialisé.
- click_the_link: Si c'est vous, veuillez cliquer sur le lien ci-dessous pour
- réinitialiser votre mot de passe.
+ hopefully_you: Quelqu’un (vous, espérons-le) a demandé la réinitialisation du
+ mot de passe du compte openstreetmap.org associé à cette adresse de courriel.
+ click_the_link: Si vous êtes à l’origine de cette demande, cliquez le lien ci-dessous
+ pour réinitialiser votre mot de passe.
note_comment_notification:
anonymous: Un utilisateur anonyme
greeting: Bonjour,
commented_note: '%{commenter} a réactivé une note de carte que vous avez commentée.
La note se trouve près de %{place}.'
details: Plus de détail sur la note peut être obtenu à %{url}.
+ changeset_comment_notification:
+ greeting: Bonjour,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} a commenté un de vos ensembles
+ de changements'
+ subject_other: '[OpenStreetMap] %{commenter} a commenté un ensemble de changements
+ auquel vous vous intéressez'
+ your_changeset: '%{commenter} a laissé un commentaire sur un de vos ensembles
+ de changement créé le %{time}'
+ commented_changeset: '%{commenter} a laissé un commentaire sur un ensemble
+ de changements de carte que vous surveillez créé par %{changeset_author}
+ le %{time}'
+ partial_changeset_with_comment: avec le commentaire '%{changeset_comment}'
+ partial_changeset_without_comment: sans commentaire
+ details: Plus de détails sur l’ensemble de modifications à %{url}.
message:
inbox:
title: Boîte de réception
trace:
visibility:
private: Privé (partagé anonymement, points non ordonnés)
- public: Public (affiché dans la liste des traces et anonyme, points non ordonnés)
+ public: Public (affiché dans la liste des traces et anonymisé, points non ordonnés)
trackable: Pistable (partagé uniquement de façon anonyme, points ordonnés avec
les dates)
identifiable: Identifiable (affiché dans la liste des traces et identifiable,
delete:
scheduled_for_deletion: Piste prévue pour la suppression
make_public:
- made_public: Piste rendue publique
+ made_public: Trace GPS rendue publique
offline_warning:
message: Le système d'envoi GPX est actuellement indisponible
offline:
createnote_disabled_tooltip: Zoomer pour ajouter une note sur la carte
map_notes_zoom_in_tooltip: Zoomez pour lire les notes sur la carte
map_data_zoom_in_tooltip: Zoomez pour lire voir les données sur la carte
+ queryfeature_tooltip: Requête sur les objets
+ queryfeature_disabled_tooltip: Zoomer plus pour rechercher des objets
+ changesets:
+ show:
+ comment: Commentaire
+ subscribe: S’inscrire
+ unsubscribe: De désinscrire
+ hide_comment: masquer
+ unhide_comment: démasquer
notes:
new:
intro: Vous avez repéré une erreur ou un manque ? Faites le savoir à d’autres
comment: Commentaire
edit_help: Déplacez la carte et zoomer sur un emplacement que vous voulez modifier,
puis cliquez là.
+ query:
+ node: Nœud
+ way: Chemin
+ relation: Relation
+ nothing_found: Pas d'objets trouvés
+ error: 'Erreur en contactant %{server} : %{error}'
+ timeout: Délai dépassé en contactant %{server}
redaction:
edit:
description: Description
way_paginated: Viis (%{x}-%{y} su %{count})
relation: Relazions (%{count})
relation_paginated: Relazions (%{x}-%{y} su %{count})
+ comment: Coments (%{count})
+ hidden_commented_by: Coment platât di %{user} <abbr title='%{exact_time}'>%{when}
+ indaûr</abbr>
+ commented_by: Coment di %{user} <abbr title='%{exact_time}'>%{when} indaûr</abbr>
changesetxml: Grup di cambiaments XML
osmchangexml: XML in formât osmChange
feed:
title: Grup di cambiaments %{id}
title_comment: Grup di cambiaments %{id} - %{comment}
+ join_discussion: Jentre par partecipâ ae discussion
+ discussion: Discussion
node:
title: 'Grop: %{name}'
history_title: 'Storic dal grop: %{name}'
wiki_link:
key: La pagjine de vichi cu la descrizion de etichete %{key}.
tag: La pagjine de vichi cu la descrizion de etichete %{key}=%{value}
+ wikidata_link: L'element %{page} su Wikidata
wikipedia_link: La vôs su %{page} te Vichipedie
+ telephone_link: Clame %{phone_number}
note:
title: 'Note: %{id}'
new_note: Gnove note
reopened_by_anonymous: Tornade a ativâ di un anonim <abbr title='%{exact_time}'>%{when}
indaûr</abbr>
hidden_by: Platade di %{user} <abbr title='%{exact_time}'>%{when} indaûr</abbr>
+ query:
+ introduction: Frache su la mape par cjatâ lis robis dongje.
+ nearby: Elements dongje
+ enclosing: Elements includûts
changeset:
changeset_paging_nav:
showing_page: Pagjine %{page}
empty: Nissun grup di cambiaments cjatât.
empty_area: Nissun grup di cambiaments in cheste zone.
empty_user: Nissun grup di cambiaments par chest utent.
+ no_more: Nissun altri grup di cambiaments cjatât.
+ no_more_area: Nissun altri grup di cambiaments in cheste zone cjatât.
+ no_more_user: Nissun altri grup di cambiaments par chest utent.
load_more: Cjame di plui
timeout:
sorry: Nus displâs, la liste dai grups di cambiaments che tu âs domandât e je
stade masse timp a cjamâsi.
+ rss:
+ title_all: Discussion sul grup di cambiaments di OpenStreetMap
+ title_particular: 'Discussion sul grup di cambiaments #%{changeset_id} di OpenStreetMap'
+ comment: 'Gnûf coment sul grup di cambiaments #%{changeset_id} di %{author}'
+ commented_at_html: Inzornât %{when} indaûr
+ commented_at_by_html: Inzornât %{when} indaûr di %{user}
+ full: Dute la discussion
diary_entry:
new:
title: Gnove vôs dal diari
body: Cheste aree e je masse grande par espuartâle come dâts XML di OpenStreetMap.
Par plasê incrès il zoom, sielç une aree plui piçule o dopre une des sorzints
ca sot par discjamâ un grum di dâts.
+ overpass:
+ title: API Overpass
other:
title: Altris sorzints
description: Altris sorzints elencadis su la wiki di OpenStreetMap
cinema: Cine
clinic: Cliniche
community_centre: Centri civic
+ crematorium: Crematori
dentist: Dentist
doctors: Dotôrs
dormitory: Dormitori
kindergarten: Scuelute
library: Biblioteche
market: Marcjât
+ nightclub: Club noturni
office: Ufizi
park: Parc
parking: Parcament
bicycle: Buteghe di bicicletis
books: Librerie
butcher: Becjarie
+ car: Vendite di machinis
car_parts: Tocs par machinis
car_repair: Riparazion di machinis
carpet: Buteghe di tapêts
clothes: Buteghe di vistîts
+ copyshop: Copisterie
electronics: Buteghe di eletroniche
gallery: Galarie di art
hairdresser: Piruchîr o barbîr
pharmacy: Farmacie
photo: Buteghe di fotografie
shoes: Buteghe di scarpis
+ sports: Buteghe di articui sportîfs
supermarket: Supermarcjât
toys: Negozi di zugatui
travel_agency: Agjenzie di viaçs
"yes": Buteghe
tourism:
+ attraction: Atrazion
hostel: Ostel
hotel: Hotel
information: Informazions
allow_write_prefs: modificâ lis tôs preferencis dal utent.
allow_write_diary: creâ vôs dal diari, comentâ e zontâ amîs.
allow_write_api: modificâ la mape.
+ allow_read_gpx: lei i tiei percors GPS privâts.
+ allow_write_gpx: cjamâ percors GPS.
allow_write_notes: cambiâ lis notis.
oauthorize_success:
verification: Il codiç di verifiche al è %{code}.
createnote_disabled_tooltip: Aumente il zoom par zontâ une note ae mape
map_notes_zoom_in_tooltip: Aumente il zoom par viodi lis notis su la mape
map_data_zoom_in_tooltip: Aumente il zoom par viodi i dâts de mape
+ changesets:
+ show:
+ comment: Coment
+ subscribe: Notiti
+ unsubscribe: Disnotiti
+ hide_comment: plate
+ unhide_comment: mostre
notes:
new:
intro: Âstu cjatât un erôr o alc ch'al mancje? Informe i altris mapadôrs cussì
che al podedi jessi corezût. Sposte il segnalut te posizion juste e inserìs
- une note par spiegâ il probleme. (Par plasê no stâ zontâ informazions personâls).
+ une note par spiegâ il probleme. (Par plasê no stâ zontâ informazions personâls
+ ni informazions che a vegnin di mapis cuviertis pal copyright o di elencs).
add: Zonte une note
show:
anonymous_warning: Cheste note e inclût coments di utents anonims che a varessin
comment: Coment
edit_help: Môf la mape e aumente il zoom tal lûc che tu vuelis cambiâ, po frache
culì
+ query:
+ node: Grop
+ way: Vie
+ relation: Relazion
+ nothing_found: Nissune carataristiche cjatade
+ error: 'Erôr contatant %{server}: %{error}'
+ timeout: Timp scjadût contatant %{server}
redaction:
edit:
description: Descrizion
way_paginated: Camiños (%{x}-%{y} de %{count})
relation: Relacións (%{count})
relation_paginated: Relacións (%{x}-%{y} de %{count})
+ comment: Comentarios (%{count})
+ hidden_commented_by: Comentario oculto de %{user} <abbr title='%{exact_time}'>
+ fai %{when}</abbr>
+ commented_by: Comentario de %{user} <abbr title='%{exact_time}'> fai %{when}</abbr>
changesetxml: Conxunto de cambios XML
osmchangexml: osmChange XML
feed:
title: Conxunto de cambios %{id}
title_comment: Conxunto de cambios %{id} - %{comment}
+ join_discussion: Inicie sesión para unirse á discusión
+ discussion: Conversa
node:
title: 'Nodo: %{name}'
history_title: 'Historial do nodo: %{name}'
reopened_by_anonymous: Reactivado por un anónimo <abbr title='%{exact_time}'>hai
%{when}</abbr>
hidden_by: Agochado por %{user} <abbr title='%{exact_time}'>hai %{when}</abbr>
+ query:
+ title: Características da consulta
+ introduction: Prema no mapa para atopar características preto de aquí.
+ nearby: Características preto de aquí
+ enclosing: Características envolventes
changeset:
changeset_paging_nav:
showing_page: Páxina %{page}
timeout:
sorry: Sentímolo, a lista do conxunto de cambios solicitada tardou demasiado
tempo en ser recuperada.
+ rss:
+ title_all: Discusión do conxunto de cambios de OpenStreetMap
+ title_particular: 'Conversa do conxunto de cambios #%{changeset_id} de OpenStreetMap'
+ comment: 'Comentario novo sobre o conxunto de cambios #%{changeset_id} de %{author}'
+ commented_at_html: Actualizado fai %{when}
+ commented_at_by_html: Actualizado hai %{when} por %{user}
+ full: Conversa completa
diary_entry:
new:
title: Nova entrada no diario
primary_link: Estrada principal
proposed: Proxecto de estrada
raceway: Circuíto
- residential: Residencial
+ residential: Estrada residencial
rest_area: Área de lecer
road: Estrada
secondary: Estrada secundaria
tram: Vía de tranvías
tram_stop: Parada de tranvías
yard: Estación de clasificación
+ route:
+ bus: Ruta de autobús
shop:
alcohol: Tenda de licores
antiques: Tenda de antigüidades
commented_note: '%{commenter} reactivou unha das súas notas de mapa nas que
vostede comentou. A nota está preto de %{place}.'
details: Pode atopar máis detalles da nota en %{url}.
+ changeset_comment_notification:
+ greeting: Ola,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} comentou nun dos teus conxuntos
+ de cambios'
+ subject_other: '[OpenStreetMap] %{commenter} comentou nun conxunto de cambios
+ no que vostede está interesado'
+ your_changeset: '%{commenter} deixou un comentario nun dos seus conxuntos
+ de cambios creado o %{time}'
+ commented_changeset: '%{commenter} deixou un comentario nun conxunto de cambios
+ de mapa que está seguindo, creado por %{changeset_author} o %{time}'
+ partial_changeset_with_comment: co comentario '%{changeset_comment}'
+ partial_changeset_without_comment: sen comentarios
+ details: Máis detalles sobre o conxunto de cambios poden atoparse en %{url}.
message:
inbox:
title: Caixa de entrada
createnote_disabled_tooltip: Achegar o mapa para engadirlle unha nota
map_notes_zoom_in_tooltip: Achegar para ver as notas do mapa
map_data_zoom_in_tooltip: Achegar para ver os datos do mapa
+ queryfeature_tooltip: Características da consulta
+ queryfeature_disabled_tooltip: Acercar para consultar características
+ changesets:
+ show:
+ comment: Comentario
+ subscribe: Subscribirse
+ unsubscribe: Cancelar a subscrición
+ hide_comment: agochar
+ unhide_comment: mostrar
notes:
new:
intro: Atopou un erro ou descubriu que falta algún dato? Informe aos outros
comment: Comentar
edit_help: Desplace o mapa e amplíeo na localización que queira editar; logo,
prema aquí.
+ query:
+ node: Nodo
+ way: Camiño
+ relation: Relación
+ nothing_found: Non se atoparon características
+ error: 'Error ó contactar a %{server}: %{error}'
+ timeout: Tempo de espera esgotado ó contactar a %{server}
redaction:
edit:
description: Descrición
way_paginated: דרכים (%{x}–%{y} מתוך %{count})
relation: יחסים (%{count})
relation_paginated: יחסים (%{x}–%{y} מתוך %{count})
+ comment: הערות (%{count})
+ hidden_commented_by: הערה מוסתרת ממשתמש %{user} <abbr title='%{exact_time}'>לפני
+ %{when}</abbr>
+ commented_by: הערה ממשתמש %{user} <abbr title='%{exact_time}'>לפני %{when}</abbr>
changesetxml: XML של ערכת שינויים
osmchangexml: osmChange XML
feed:
title: ערכת שינויים %{id}
title_comment: ערכת שינויים %{id} – %{comment}
+ join_discussion: נא להיכנס לחשבון כדי להצטרף לדיון
+ discussion: דיון
node:
title: 'צומת: %{name}'
history_title: 'היסטוריית הצומת: %{name}'
way: דרך
relation: יחס
start_rjs:
- feature_warning: תת×\91צע ×\98×¢×\99× ×ª %{num_features} ת×\9b×\95× ות, וזה עלול לגרום לדפדפן להיות
+ feature_warning: תת×\91צע ×\98×¢×\99× ×ª %{num_features} ×\99ש×\95×\99ות, וזה עלול לגרום לדפדפן להיות
תקוע. האם ברצונך באמת להציג את הנתונים האלה?
load_data: טעינת נתונים
loading: בטעינה...
reopened_by_anonymous: הופעל מחדש על־ידי אלמוני <abbr title='%{exact_time}'>לפני
%{when}</abbr>
hidden_by: הוסתר על־ידי %{user} <abbr title='%{exact_time}'>לפני %{when}</abbr>
+ query:
+ title: שאילתת ישויות
+ introduction: יש ללחוץ עלהמפה כדי למצוא ישויות בסביבה.
+ nearby: ישויות בסביבה
+ enclosing: ישויות סובבות
changeset:
changeset_paging_nav:
showing_page: הדף %{page}
load_more: לטעון עוד
timeout:
sorry: סליחה, לוקח יותר מדי זמן לאחזר על רשימת ערכות השינויים שביקשת.
+ rss:
+ title_all: דיון בערכת שינויים של OpenStreetMap
+ title_particular: דיון בערכת שינויים מס' %{changeset_id} של OpenStreetMap
+ comment: הערה חדשה על בערכת שינויים מס' %{changeset_id} מאת %{author}
+ commented_at_html: עודכן לפני %{when}
+ commented_at_by_html: עודכן לפני %{when} על־ידי %{user}
+ full: דיון מלא
diary_entry:
new:
title: רשומת יומן חדשה
primary_link: דרך ראשית
proposed: דרך מוצעת
raceway: מסלול מרוצים
- residential: מגורים
+ residential: ×\93ר×\9a ×\91×\90×\96×\95ר ×\9e×\92×\95ר×\99×\9d
rest_area: אזור מנוחה
road: דרך
secondary: דרך משנית
cliff: מצוק
crater: מכתש
dune: חולית
- feature: ת×\9b×\95× ×\94
+ feature: ×\99ש×\95ת
fell: תל
fjord: פיורד
forest: יער
tram: חשמלית
tram_stop: תחנת חשמלית
yard: מוסך רכבות
+ route:
+ bus: נתיב אוטובוסים
shop:
alcohol: חנות אלכוהול
antiques: עתיקות
text: תרומה
learn_more: מידע נוסף
more: עוד
- sotm_header: State of the Map 2014
- sotm_line_1: הכנס השמיני השנתי
- sotm_line_2: 7–9 בנובמבר 2014
- sotm_line_3: בואנוס איירס, ארגנטינה
license_page:
foreign:
title: אודות תרגום זה
whats_on_the_map:
title: מה על המפה
on_html: OpenStreetMap הוא מקום למיפוי דברים אמתיים ונוכחיים – הוא מכיל מיליוני
- ×\9e×\91× ×\99×\9d, ×\93ר×\9b×\99×\9d ×\95פר×\98×\99×\9d ×\90×\97ר×\99×\9d ×¢×\9c ×\9eק×\95×\9e×\95ת. ×\90פשר ×\9c×\9eפ×\95ת ×\9b×\9c ×\93×\91ר ×\9e×\94×¢×\95×\9c×\9d ×\9eהאמתי שמעניין
+ ×\9e×\91× ×\99×\9d, ×\93ר×\9b×\99×\9d ×\95פר×\98×\99×\9d ×\90×\97ר×\99×\9d ×¢×\9c ×\9eק×\95×\9e×\95ת. ×\90פשר ×\9c×\9eפ×\95ת ×\9b×\9c ×\99ש×\95ת ×\9e×\94×¢×\95×\9c×\9d האמתי שמעניין
אותך.
off_html: מה שאין פה זה מידע דעתני כמו דירוגים, מקומות היסטוריים או היפותטיים
ונתונים ומקורות שמוגבלים בזכויות יוצרים. אנו דורשים ממך לא להוסיף מידע ממפות
commented_note: הערה במפה שהגבת עליה הופעלה מחדש על־ידי %{commenter}. ההערה
היא ליד %{place}.
details: אפשר למצוא פרטים נוספים על ההערה בכתובת %{url}
+ changeset_comment_notification:
+ greeting: שלום,
+ commented:
+ subject_own: '[OpenStreetMap] המשתמש %{commenter} העיר על אחד מערכות השינויים
+ שלך'
+ subject_other: '[OpenStreetMap] המשתמש %{commenter} העיר על אחד מערכות השינויים
+ שהתעניית בהן'
+ your_changeset: המשתמש %{commenter} העיר על אחד מערכות השינויים שלך שיצרת
+ ב־%{time}
+ commented_changeset: המשתמש %{commenter} העיר על אחד מערכות השינויים במפה
+ שעקבת אחריה שנוצרה על־ידי %{changeset_author} ב־%{time}
+ partial_changeset_with_comment: עם ההערה '%{changeset_comment}'
+ partial_changeset_without_comment: ללא הערה
+ details: פרטים נוספים על ערכת השינויים אפשר למצוא בכתובת %{url}
message:
inbox:
title: תיבת דואר נכנס
createnote_disabled_tooltip: נא להתקרב כדי להוסיף הערה למפה
map_notes_zoom_in_tooltip: התקרבות כדי לראות הערות על המפה
map_data_zoom_in_tooltip: יש לקרב את המפה כדי לראות נתוני מפה
+ queryfeature_tooltip: שאילתת ישויות
+ queryfeature_disabled_tooltip: תקריב לשאילתת ישויות
+ changesets:
+ show:
+ comment: הערה
+ subscribe: מינוי
+ unsubscribe: ביטול מינוי
+ hide_comment: הסתרה
+ unhide_comment: ביטול הסתרה
notes:
new:
intro: יש פה טעות או שחסר משהו? אנו מבקשים ממך לספר את זה לממפים אחרים. לשם
comment_and_resolve: להגיב ולפתור
comment: להגיב
edit_help: יש להזיז את המפה ולהתמקד על מיקום שברצונך לערוך ואז ללחוץ כאן.
+ query:
+ node: צומת
+ way: דרך
+ relation: יחס
+ nothing_found: לא נמצאו ישויות
+ error: 'שגיאה תקשורת עם %{server}, מידע נוסף: %{error}'
+ timeout: פג זמן ההתקשרות על %{server}
redaction:
edit:
description: תיאור
feed:
title: Sadźba změnow %{id}
title_comment: Sadźba změnow %{id} - %{comment}
+ discussion: Diskusija
node:
title: 'Suk: %{name}'
history_title: 'Sukata historija: %{name}'
reopened_by_anonymous: Reaktiwizowany wot anonymneho <abbr title='%{exact_time}'>před
%{when}</abbr>
hidden_by: Schowany wot %{user} <abbr title='%{exact_time}'>před %{when}</abbr>
+ query:
+ introduction: Klikń na kartu, zo by susodne objekty namakał(a).
+ nearby: Objekty w bliskosći
changeset:
changeset_paging_nav:
showing_page: Strona %{page}
load_more: Wjace začitać
timeout:
sorry: Bohužel je předołho trało, skupiny změny, kotrež sy požadał, wotwołać.
+ rss:
+ commented_at_by_html: Před %{when} wot %{user} nahraty
+ full: Dospołna diskusija
diary_entry:
new:
title: Nowy dźenikowy zapisk
tram: Tramwajka
tram_stop: Tramwajkowe zastanišćo
yard: Ranžěrowanske dwórnišćo
+ route:
+ bus: Busowa linija
shop:
alcohol: Wobchod za spirituozy
antiques: Wobchod starožitnosćow
commented_note: '%{commenter} je kartowu pokazku reaktiwizował, kotruž sy
komentował. Pokazka je blisko %{place}.'
details: Dalše podrobnosće wo pokazce móžeš pod %{url} namakać.
+ changeset_comment_notification:
+ greeting: Witaj,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} je jednu z twojich změnow komentował(a)'
+ partial_changeset_with_comment: z komentarom „%{changeset_comment}“
+ partial_changeset_without_comment: bjez komentara
message:
inbox:
title: Póstowy kašćik
createnote_disabled_tooltip: Powjetš kartu, zo by pokazku přidał
map_notes_zoom_in_tooltip: Powjetš kartu, zo by pokazki widźał
map_data_zoom_in_tooltip: Powjetš kartu, zo by daty widźał
+ changesets:
+ show:
+ comment: Komentar
+ subscribe: Abonować
+ unsubscribe: Wotskazać
+ hide_comment: schować
+ unhide_comment: pokazać
notes:
new:
intro: Sy zmylk widźał abo zo něšto faluje? Informuj druhich kartografow,
comment: Komentar
edit_help: Přesuń kartu do městna, kotrež chceš wobdźěłać, powjetš tam a klikń
potom tu.
+ query:
+ node: Suk
+ way: Puć
+ relation: Relacija
+ nothing_found: Žane funkcije namakane
redaction:
edit:
description: Wopisanje
text: Adományozz
learn_more: További info
more: Több
- sotm_line_1: 8. éves konferencia
- sotm_line_2: 2014. november 7-9.
- sotm_line_3: Buenos Aires, Argentína
license_page:
foreign:
title: Erről a fordításról
wiki_link:
key: Le pagina wiki que describe le etiquetta %{key}
tag: Le pagina wiki que describe le etiquetta %{key}=%{value}
+ wikidata_link: Le elemento %{page} in Wikidatos
wikipedia_link: Le articulo %{page} in Wikipedia
telephone_link: Telephonar %{phone_number}
note:
contribue e mantene datos sur stratas, sentieros, cafés, stationes ferroviari
e multo plus, in tote le mundo.
local_knowledge_title: Cognoscentia local
+ local_knowledge_html: |-
+ OpenStreetMap mitte le emphase sur le cognoscentia local. Contributores usa
+ imageria aeree, apparatos GPS e cartas ordinari de terreno pro verificar que OSM
+ es accurate e actual.
+ community_driven_title: Dirigite per le communitate
notifier:
diary_comment_notification:
subject: '[OpenStreetMap] %{user} commentava un entrata de tu diario'
# Author: Irwangatot
# Author: Iwan Novirion
# Author: Relly Komaruzaman
+# Author: Rizkiahmadz
# Author: Vasanthi
# Author: Wulankhairunisa
# Author: 아라
way_paginated: Jalan (%{x}-%{y} dari %{count})
relation: Hubungan (%{count})
relation_paginated: Hubungan (%{x}-%{y} dari %{count})
+ comment: Komentar %{count}
changesetxml: Set Perubahan XML
osmchangexml: osmChange XML
feed:
title: Set Perubahan %{id}
title_comment: Set Perubahan %{id} - %{comment}
+ join_discussion: Masuk untuk bergabung diskusi
+ discussion: Diskusi
node:
title: 'Simpul: %{name}'
history_title: 'Riwayat Simpul: %{name}'
timeout:
sorry: Maaf, daftar kumpulan set perubahan yang Anda minta terlalu lama untuk
diambil.
+ rss:
+ full: Diskusi penuh
diary_entry:
new:
title: Entri Baru Catatan Harian
tram: Jalur Trem
tram_stop: Perhentian Trem
yard: Emplasemen
+ route:
+ bus: Rute Bus
shop:
alcohol: Pub (di Inggris)
antiques: Toko Benda Antik
commented_note: '%{commenter} telah meninggalkan komentar pada catatan peta
yang Anda komentari. Catatan ini dekat %{place}.'
details: Rincian lebih lanjut mengenai catatan dapat ditemukan di %{url}.
+ changeset_comment_notification:
+ greeting: Halo,
+ commented:
+ partial_changeset_without_comment: tanpa komentar
message:
inbox:
title: Kotak Masuk
createnote_disabled_tooltip: Perbesar untuk menambahkan catatan pada peta
map_notes_zoom_in_tooltip: Perbesar untuk melihat catatan peta
map_data_zoom_in_tooltip: Perbesar untuk melihat data peta
+ changesets:
+ show:
+ comment: Komentar
+ subscribe: Berlangganan
+ unsubscribe: Berhenti berlangganan
+ hide_comment: sembunyikan
+ unhide_comment: Jangan sembunyikan
notes:
new:
intro: Melihat kesalahan atau sesuatu yang hilang? Biarkan pembuat peta lainnya
comment: Komentar
edit_help: Memindahkan peta dan memperbesar lokasi yang ingin Anda sunting, kemudian
klik di sini.
+ query:
+ node: Node/Titik
+ relation: Relasi
+ nothing_found: Tidak ada fasilitas yang ditemukan
+ error: 'Kelasahan menghubungi %{server}: %{error}'
+ timeout: Waktu habis menghubungi %{server}
redaction:
edit:
description: Deskripsi
# Author: Karika
# Author: Lollo
# Author: LucioGE
+# Author: Macofe
# Author: Massimo itaca
# Author: McDutchie
# Author: Nemo bis
way_paginated: Ways (%{x}-%{y} di %{count})
relation: Relazioni (%{count})
relation_paginated: Relazioni (%{x}-%{y} di %{count})
+ comment: Commenti (%{count})
+ commented_by: Commento da %{user} <abbr title='%{exact_time}'>%{when} fa</abbr>
changesetxml: Gruppo di modifiche XML
osmchangexml: modificheOsm XML
feed:
title: Gruppo di modifiche %{id}
title_comment: Gruppo di modifiche %{id} - %{comment}
+ join_discussion: Fai login per unirti alla discussione
+ discussion: Discussione
node:
title: 'Nodo: %{name}'
history_title: 'Cronologia nodo: %{name}'
reopened_by_anonymous: Riattivata da anonimo <abbr title='%{exact_time}'>%{when}
fa</abbr>
hidden_by: Nascosta da %{user} <abbr title='%{exact_time}'>%{when} fa</abbr>
+ query:
+ title: Funzionalità di query
+ introduction: Clicca sulla cartina per disponibilità nei pressi.
+ nearby: Disponibilità nei pressi
changeset:
changeset_paging_nav:
showing_page: Pagina %{page}
timeout:
sorry: Siamo spiacenti, l'elenco delle modifiche che hai richiesto necessitava
di troppo tempo per poter essere recuperato.
+ rss:
+ commented_at_html: Aggiornato %{when} fa
+ commented_at_by_html: Aggiornato %{when} fa da %{user}
+ full: Discussione completa
diary_entry:
new:
title: Nuova voce del diario
primary_link: Strada primaria
proposed: Strada proposta
raceway: Pista
- residential: Residenziale
+ residential: Strada residenziale
rest_area: Area di Sosta
road: Strada generica
secondary: Strada secondaria
tram: Tramvia
tram_stop: Fermata del tram
yard: Zona di manovra ferroviaria
+ route:
+ bus: Percorso bus
shop:
alcohol: Alcolici
antiques: Antiquario
text: Fai una donazione
learn_more: Ulteriori informazioni
more: Altro
- sotm_header: Stato della mappa 2014
- sotm_line_1: 8ª conferenza annuale
- sotm_line_2: 7-9 novembre 2014
- sotm_line_3: Buenos Aires, Argentina
license_page:
foreign:
title: A proposito di questa traduzione
commented_note: '%{commenter} ha riattivato una nota che avevi commentato.
La nota si trova vicino a %{place}.'
details: Ulteriori dettagli sulla nota possono essere trovati su %{url}.
+ changeset_comment_notification:
+ greeting: Ciao,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} ha commentato uno dei tuoi changeset'
+ subject_other: '[OpenStreetMap] %{commenter} ha commentato su uno dei changeset
+ cui sei interessato'
+ your_changeset: '%{commenter} ha lasciato un commento su uno dei tuoi changeset
+ creato il %{time}'
+ partial_changeset_without_comment: senza commento
message:
inbox:
title: Posta in arrivo
createnote_disabled_tooltip: Ingrandisci la mappa per aggiungere una nota
map_notes_zoom_in_tooltip: Zooma per vedere le note della mappa
map_data_zoom_in_tooltip: Zooma per vedere i dati della mappa
+ changesets:
+ show:
+ comment: Commento
+ subscribe: Iscriviti
+ unsubscribe: Cancella iscrizione
+ hide_comment: nascondi
notes:
new:
intro: Ti sei accorto di un errore o di qualcosa che manca? Fallo sapere agli
comment: Commenta
edit_help: Sposta la mappa e usa lo zoom sulla posizione che vuoi modificare,
quindi clicca qui.
+ query:
+ relation: Relazione
redaction:
edit:
description: Descrizione
way_paginated: ウェイ (%{x}-%{y} / %{count})
relation: リレーション (%{count})
relation_paginated: リレーション (%{x}-%{y} / %{count})
+ comment: コメント (%{count}件)
+ hidden_commented_by: '%{user}さんからの<abbr title=''%{exact_time}''>%{when}前</abbr>の非表示のコメント'
+ commented_by: '%{user}さんからの<abbr title=''%{exact_time}''>%{when}前</abbr>のコメント'
changesetxml: 変更セット XML
osmchangexml: OSM 差分 XML
feed:
title: 変更セット %{id}
title_comment: 変更セット %{id} - %{comment}
+ join_discussion: 議論に参加するにはログインしてください
+ discussion: 議論
node:
title: 'ノード: %{name}'
history_title: 'ノードの履歴: %{name}'
reopened_by: '%{user}さんが<abbr title=''%{exact_time}''>%{when}前</abbr>に再開'
reopened_by_anonymous: 誰かが<abbr title='%{exact_time}'>%{when}前</abbr>に再開
hidden_by: '%{user}さんが<abbr title=''%{exact_time}''>%{when}前</abbr>に非表示化'
+ query:
+ introduction: 地図上をクリックすると、近くの地物を探します。
+ nearby: 近くの地物
changeset:
changeset_paging_nav:
showing_page: ページ %{page}
primary_link: 主要地方道
proposed: 計画中の道路
raceway: 競技コース
- residential: 住宅
+ residential: 住宅地内道路
rest_area: 休憩所
road: 道路
secondary: 一般県道
tram: 路面軌道
tram_stop: トラム停留所
yard: 車両基地
+ route:
+ bus: バス路線
shop:
alcohol: 酒屋
antiques: 骨董品
text: 寄付
learn_more: 詳細
more: その他
- sotm_line_2: 2014年11月7日-9日
- sotm_line_3: アルゼンチン ブエノスアイレス
license_page:
foreign:
title: この翻訳について
your_note: '%{commenter}さんが%{place}付近にあるあなたの地図メモの1つを再開しました。'
commented_note: '%{commenter}さんが、%{place}付近にあるあなたがコメントした地図メモを再開しました。'
details: メモについての詳細は %{url} を参照。
+ changeset_comment_notification:
+ greeting: こんにちは、
message:
inbox:
title: 受信箱
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: David1010
+# Author: MIKHEIL
# Author: Temuri rajavi
---
ka:
platform: ბაქანი
primary: მთავარი გზა
primary_link: მთავარი გზა
- residential: საცხოვრებელი
+ residential: საცხოვრებელი ქუჩა
rest_area: მოსასვენებელი ტერიტორია
road: გზა
secondary: მეორადი გზა
# Author: B891202
# Author: Freebiekr
# Author: Hym411
+# Author: IRTC1015
# Author: Kwj2772
# Author: Priviet
# Author: Revi
in_changeset: 바뀜집합
anonymous: 익명
no_comment: (덧글 없음)
- part_of: '다음의 부분:'
+ part_of: '다음의 일부:'
download_xml: XML 다운로드
view_history: 역사 보기
view_details: 자세한 내용 보기
way_paginated: 길 (%{count} 중 %{x}-%{y})
relation: 관계 (%{count})
relation_paginated: 관계 (%{count} 중 %{x}-%{y})
+ comment: 의견 (%{count})
+ hidden_commented_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에
+ 남긴 숨겨진 덧글'
+ commented_by: '%{user} 사용자가 <abbr title=''%{exact_time}''>%{when} 전</abbr>에
+ 덧글을 남김'
changesetxml: 바뀜집합 XML
- osmchangexml: osm바뀜 XML
+ osmchangexml: osmChange XML
feed:
title: 바뀜집합 %{id}
title_comment: 바뀜집합 %{id} - %{comment}
+ join_discussion: 토론에 참여하려면 로그인
+ discussion: 토론
node:
title: '노드: %{name}'
history_title: '노드 역사: %{name}'
history_title: '길 역사: %{name}'
nodes: 노드
also_part_of:
- one: '%{related_ways} 길의 부분'
- other: '%{related_ways} 길의 부분'
+ one: '%{related_ways} 길의 일부'
+ other: '%{related_ways} 길의 일부'
relation:
title: '관계: %{name}'
history_title: '관계 역사: %{name}'
format: 형식
scale: 축척
max: 최대
- image_size: 이미지 크기
+ image_size: 그림 크기
zoom: 확대
add_marker: 지도에 표시 추가
latitude: '위도:'
primary_link: 주요 도로
proposed: 제안 도로
raceway: 경마장
- residential: 주택
+ residential: 주거 도로
rest_area: 휴게소
road: 도로
secondary: 보조 도로
tram: 전차
tram_stop: 전차 정거장
yard: 철도 기지
+ route:
+ bus: 버스 노선
shop:
alcohol: 주점
antiques: 골동품 상점
text: 기부하기
learn_more: 더 알아보기
more: 더 보기
- sotm_header: 지도의 나라 2014
- sotm_line_1: 8차 연례 회의
- sotm_line_2: 2014년 11월 7일~9일
- sotm_line_3: 아르헨티나, 부에노스 아이레스
license_page:
foreign:
title: 이 번역에 대한 정보
commented_note: '%{commenter} 사용자가 당신이 덧글을 남긴 지도 참고를 다시 활성했습니다. 참고는 %{place}
근처에 있습니다.'
details: 참고에 대한 자세한 사항은 %{url} 에서 찾을 수 있습니다.
+ changeset_comment_notification:
+ greeting: 안녕하세요,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} 사용자가 당신의 바뀜집합에 덧글을 남겼습니다'
+ subject_other: '[OpenStreetMap] %{commenter} 사용자가 당신이 관심 있는 바뀜집합에 덧글을 남겼습니다'
+ your_changeset: '%{commenter} 사용자가 당신이 %{time}에 만든 바뀜집합에 덧글을 달았습니다'
+ commented_changeset: '%{commenter} 사용자가 %{changeset_author}이 %{time}에 만든,
+ 주시 중인 지도 바뀜집합에 덧글을 달았습니다'
+ details: 바뀜집합에 대한 자세한 사항은 %{url} 에서 찾을 수 있습니다.
message:
inbox:
title: 받은 쪽지함
createnote_disabled_tooltip: 지도에 참고를 추가하려면 확대
map_notes_zoom_in_tooltip: 지도 참고를 보려면 확대
map_data_zoom_in_tooltip: 지도 데이터를 보려면 확대
+ changesets:
+ show:
+ comment: 덧글
+ subscribe: 구독
+ unsubscribe: 구독 해지
+ hide_comment: 숨기기
notes:
new:
intro: 실수했거나 없는 무언가를 발견했나요? 다른 매퍼에게 알려주어 고칠 수 있게 해주세요. 마커를 올바른 위치로 옮기고, 참고를
comment_and_resolve: 덧글 & 해결
comment: 덧글
edit_help: 편집하려는 위치에 지도를 이동하고 확대한 다음, 여기를 클릭하세요.
+ query:
+ node: 노드
+ way: 길
+ relation: 관계
redaction:
edit:
description: 설명
account:
preferred languages: 'De vörjetroke Schprooche::'
confirm_resend:
- failure: 'Dä Metmaacher „%{user} “ ham_mer nit jefonge.'
+ failure: 'Dä Metmaacher „%{name} “ ham_mer nit jefonge.'
confirm_email:
heading: 'Donn en neue Adräß för de <i lang="en">e-mail</i> beschtäätejje'
user_block:
way_paginated: Weeër (%{x}–%{y} vu(n) %{count})
relation: Relatiounen (%{count})
relation_paginated: Relatiounen (%{x}-%{y} vu(n) %{count})
+ comment: Bemierkungen (%{count})
changesetxml: XML mam Set vun Ännerungen
osmchangexml: osmChange XML
feed:
title: 'Set vun Ännerungen: %{id}'
title_comment: Set vun Ännerungen %{id} - %{comment}
+ discussion: Diskussioun
node:
title: 'Knuet: %{name}'
way:
new_note: Nei Notiz
description: Beschreiwung
hidden_title: Verstoppt Notiz N° %{note_name}
+ open_by: Ugeluecht vum %{user} <abbr title='%{exact_time}'>viru(n) %{when}</abbr>
+ open_by_anonymous: Ugeluecht vun engem Anonymen <abbr title='%{exact_time}'>
+ viru(n) %{when}</abbr>
commented_by: Bemierkung vum %{user} <abbr title='%{exact_time}'> viru(n) %{when}</abbr>
commented_by_anonymous: Bemierkung vun engem Anonymen <abbr title='%{exact_time}'>
viru(n) %{when}</abbr>
+ closed_by: Geléist vum %{user} <abbr title='%{exact_time}'>viru(n) %{when}</abbr>
+ closed_by_anonymous: Geléist vun engem Anonymen <abbr title='%{exact_time}'>
+ viru(n) %{when}</abbr>
reopened_by: Reaktivéiert vum %{user} <abbr title='%{exact_time}'>viru(n) %{when}</abbr>
+ reopened_by_anonymous: Reaktivéiert vun engem Anonymen <abbr title='%{exact_time}'>
+ viru(n) %{when}</abbr>
hidden_by: Verstoppt vum %{user} <abbr title='%{exact_time}'>viru(n) %{when}</abbr>
changeset:
changeset_paging_nav:
no_more_area: Keng weider Sette vun Ännerungen an dëser Géigend.
no_more_user: Keng weider Sette vun Ännerunge vun dësem Benotzer.
load_more: Méi lueden
+ rss:
+ commented_at_html: Viru(n) %{when} aktualiséiert
+ commented_at_by_html: Viru(n) %{when} vum %{user} aktualiséiert
+ full: Komplett Diskussioun
diary_entry:
list:
title: Blogge vun de Benotzer
preschool: Spillschoul
prison: Prisong
pub: Bistro
+ public_market: Ëffentleche Maart
reception_area: Rezeptiounsberäich
recycling: Recycling-Center
restaurant: Restaurant
vending_machine: Verkaafsautomat
veterinary: Déiereklinik
waste_basket: Drecksback
+ boundary:
+ national_park: Nationalpark
bridge:
suspension: Hänkbréck
viaduct: Viadukt
airfield: Militärfluchhafen
barracks: Kasär
bunker: Bunker
+ mountain_pass:
+ "yes": Pass an de Bierger
natural:
+ bay: Bucht
beach: Plage
cape: Kap
channel: Kanal
abandoned: Fréier Eisebunn
construction: Eisebunn (am Bau)
disused: Fréier Eisebunn
+ historic_station: Historesch Eisebunnsstatioun
miniature: Miniatur-Eisebunn
proposed: Proposéiert Eisebunnslinn
station: Gare (Eisebunn)
motel: Motel
museum: Musée
picnic_site: Piknikplaz
+ theme_park: Fräizäitpark
valley: Dall
viewpoint: Aussiichtspunkt
zoo: Zoo
export_data: Donnéeën exportéieren
user_diaries: Benotzer Bloggen
edit_with: Ännere mat %{editor}
+ intro_header: Wëllkomm bei OpenStreetMap!
intro_2_create_account: E Benotzerkont uleeën
partners_partners: Partner
osm_offline: D'OpenStreetMap Datebank ass elo net disponibel well dru geschafft
anonymous: En anonyme Benotzer
greeting: Salut,
details: Méi Detailer iwwer d'Notiz fannt Dir op %{url}.
+ changeset_comment_notification:
+ greeting: Salut,
message:
inbox:
messages: Dir hutt %{new_messages} a(n) %{old_messages}
- Spëtzt
richtext_area:
edit: Änneren
+ preview: Kucken ouni ofzespäicheren
markdown_help:
headings: Iwwerschrëften
heading: Iwwerschrëft
description_without_count: GPX-Fichier vum %{user}
oauth:
oauthorize:
+ allow_read_prefs: Är Benotzerastellunge liesen.
+ allow_write_prefs: Är Benotzerastellungen änneren.
allow_write_api: d'Kaart änneren.
allow_write_notes: Notizen änneren.
oauth_clients:
login_button: Umellen
register now: Elo aschreiwen
new to osm: Nei bei OpenStreetMap?
+ create account minute: Maacht e Benotzerkont. Et dauert nëmmen eng Minutt.
+ no account: Hutt Dir kee Benotzerkont?
+ openid_logo_alt: Alogge mat enger OpenID
openid_providers:
openid:
title: Alogge mat OpenID
+ alt: Alogge mat enger OpenID URL
google:
title: Alogge mat Google
+ alt: Alogge mat enger Google OpenID
yahoo:
title: Alogge mat Yahoo
+ alt: Alogge mat enger Yahoo OpenID
+ wordpress:
+ title: Alogge mat Wordpress
+ alt: Alogge mat enger Wordpress OpenID
aol:
title: Alogge mat AOL
+ alt: Alogge mat enger AOL OpenID
logout:
title: Ofmellen
heading: Vun OpenStreetMap ofmellen
remove as friend: Frënd ewechhuelen
add as friend: Frënd derbäisetzen
ago: (viru(n) %{time_in_words_ago})
+ ct accepted: Viru(n) %{ago} akzeptéert
+ latest edit: 'Lescht Ännerung %{ago}:'
email address: 'E-Mail-Adress:'
status: 'Status:'
description: Beschreiwung
new email address: 'Nei E-Mail-Adress:'
email never displayed publicly: (ni ëffentlech gewisen)
openid:
+ link: http://wiki.openstreetmap.org/wiki/OpenID
link text: wat ass dat?
public editing:
enabled link text: wat ass dëst?
title: Weise wou ech sinn
popup: Dir sidd {distance} {unit} vun dësem Punkt ewech
base:
+ standard: Standard
cycle_map: Vëloskaart
hot: Humanitär
donate_link_text: <a class='donate-attr' href='%{donate_url}'>Maacht een Don</a>
site:
edit_tooltip: Kaart änneren
edit_disabled_tooltip: Erazoomen fir d'Kaart z'änneren
+ changesets:
+ show:
+ comment: Bemierkung
+ hide_comment: verstoppen
+ unhide_comment: nees weisen
notes:
new:
add: Notiz derbäisetzen
resolve: Léisen
reactivate: Reaktivéieren
comment: Bemierkung
+ query:
+ way: Wee
+ relation: Relatioun
redaction:
edit:
description: Beschreiwung
way_paginated: Ceļi (%{x}-%{y} no %{count})
relation: Relācijas (%{count})
relation_paginated: Relācijas (%{x}-%{y} no %{count})
+ comment: Komentāri (%{count})
changesetxml: Izmaiņu kopas XML
osmchangexml: osmChange XML
feed:
title: Izmaiņu kopa %{id}
title_comment: Izmaiņu kopa %{id} - %{comment}
+ discussion: Diskusija
node:
title: 'Punkts: %{name}'
history_title: 'Punkta vēsture: %{name}'
timeout:
sorry: Atvainojiet, jūsu pieprasīto izmaiņu kopu ielāde prasīja pārāk daudz
laika.
+ rss:
+ full: Pilna diskusija
diary_entry:
new:
title: Jauns dienasgrāmatas ieraksts
primary_link: Galvenais valsts ceļš
proposed: Ieplānots Ceļš
raceway: Sacensību trase
- residential: Dzīvojamā
+ residential: Dzīvojamā zona
rest_area: Atpūtas zona
road: Ceļš
secondary: Sekundāras nozīmes ceļš
tram: Tramvajs
tram_stop: Tramvaja pietura
yard: Dzelzceļa Pagalms
+ route:
+ bus: Autobusa maršruts
shop:
alcohol: Alkohola Veikals
antiques: Senlietas
text: Ziedot attīstībai
learn_more: Uzzināt Vairāk
more: Vairāk
- sotm_header: State of the Map 2014
- sotm_line_1: 8. ikgadējā konference
- sotm_line_2: 2014. gada 7.-9. novembris
- sotm_line_3: Buenosairesa, Argentīna
license_page:
foreign:
title: Par šo tulkojumu
createnote_disabled_tooltip: Pietuvini karti, lai pievienotu piezīmi
map_notes_zoom_in_tooltip: Pietuvināt, lai redzētu piezīmes
map_data_zoom_in_tooltip: Pietuvināt, lai redzētu kartes datus
+ changesets:
+ show:
+ hide_comment: paslēpt
notes:
new:
intro: Piezīmes domātas, lai norādītu uz kartes kļūdām. Ja vēlies pamēģināt
way_paginated: Патишта (%{x}-%{y} од вкупно %{count})
relation: Односи (%{count})
relation_paginated: Односи (%{x}-%{y} од вкупно %{count})
+ comment: Коментари (%{count})
+ hidden_commented_by: Скриен коментар на %{user} <abbr title='%{exact_time}'>пред
+ %{when}</abbr>
+ commented_by: Коментар на %{user} <abbr title='%{exact_time}'>пред %{when}</abbr>
changesetxml: XML за измените
osmchangexml: osmChange XML
feed:
title: Измени %{id}
title_comment: Измени %{id} - %{comment}
+ join_discussion: Најавете се за да се приклучите во разговорот
+ discussion: Разговор
node:
title: 'Јазол: %{name}'
history_title: 'Историја на јазолот: %{name}'
reopened_by_anonymous: Преактивирано од анонимен <abbr title='%{exact_time}'>пред
%{when}</abbr>
hidden_by: Скриено од %{user} <abbr title='%{exact_time}'>пред %{when}</abbr>
+ query:
+ title: Пребарување на особености
+ introduction: Стиснете на картата за да ги најдете особеностите во близина.
+ nearby: Особености во близина
+ enclosing: Обиколни особености
changeset:
changeset_paging_nav:
showing_page: Страница %{page}
timeout:
sorry: За жал, на списокот на измени што го побаравте му требаше предолго за
да се преземе.
+ rss:
+ title_all: Разговор за промена на OpenStreetMap
+ title_particular: 'Разговор за промената #%{changeset_id} на OpenStreetMap'
+ comment: 'Нов коментар за промената #%{changeset_id} на %{author}'
+ commented_at_html: Подновено пред %{when}
+ commented_at_by_html: Подновено пред %{when} од %{user}
+ full: Целосен разговор
diary_entry:
new:
title: Нова дневничка ставка
title: Планетата на OSM
description: Редовно подновувани примероци на целата база на OpenStreetMap
overpass:
- title: Ð\9fÑ\80илог „Надвозник“
+ title: Ð\98звÑ\80Ñ\88ник „Надвозник“
description: Преземете ја оваа рамка од огледална база на базата на OpenStreetMap
geofabrik:
title: Geofabrik
primary_link: Главен пат
proposed: Предложен пат
raceway: Тркачка патека
- residential: Станбен
+ residential: Станбена улица
rest_area: Одмориште
road: Пат
secondary: Спореден пат
tram: Трамвајска линија
tram_stop: Трамвајска постојка
yard: Железничко депо
+ route:
+ bus: Автобуска линија
shop:
alcohol: Алкохол на црно
antiques: Старинарница
text: Дарувајте
learn_more: Дознајте повеќе
more: Повеќе
- sotm_header: Состојба на картата 2014 г.
- sotm_line_1: XVIII Годишна конференција
- sotm_line_2: 7-9 ноември 2014 г.
- sotm_line_3: Буенос Аирес, Аргентина
license_page:
foreign:
title: За овој превод
href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">Правни ЧПП</a>.
more_2_html: |-
Иако OpenStreetMap работи со отворени податоци, ние не можеме да понудиме
- беÑ\81плаÑ\82ни пÑ\80огÑ\80амÑ\81ки пÑ\80илози (API) за карти на трети програмери.
- Ð\9fогледаÑ\98Ñ\82е ги <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">пÑ\80авилаÑ\82а за Ñ\83поÑ\82Ñ\80еба на пÑ\80илогот</a>,
+ беÑ\81плаÑ\82ни извÑ\80Ñ\88ниÑ\86и (API) за карти на трети програмери.
+ Ð\9fогледаÑ\98Ñ\82е ги <a href="http://wiki.openstreetmap.org/wiki/API_usage_policy">пÑ\80авилаÑ\82а за Ñ\83поÑ\82Ñ\80еба на извÑ\80Ñ\88никот</a>,
<a href="http://wiki.openstreetmap.org/wiki/Tile_usage_policy">правилата за употреба на полињата</a>
и <a href="http://wiki.openstreetmap.org/wiki/Nominatim#Usage_Policy">Nominatim</a>.
contributors_title_html: Нашите учесници
next: Следно
copyright_html: <span>©</span>Учесници на<br>OpenStreetMap
used_by: '%{name} обезбедува картографски податоци на стотици мрежни места, мобилни
- пÑ\80илози и сметачки уреди'
+ извÑ\80Ñ\88ниÑ\86и и сметачки уреди'
lede_text: |-
OpenStreetMap ја гради заедница од учесници што придонесуваат со свои содржини и ги одржуваат податоците
за патишта, патеки, кафеани, железнички станици и многу друго ширум светот.
commented_note: '%{commenter} реши картографска белешка на која имате коментирано.
Белешката се наоѓа близу %{place}.'
details: Поподробно за белешката на %{url}.
+ changeset_comment_notification:
+ greeting: Здраво,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} искоментира на една од вашите промени'
+ subject_other: '[OpenStreetMap] %{commenter} искоментира на промена што ве
+ интересира'
+ your_changeset: '%{commenter} даде коментар на една од вашите промени направени
+ во %{time}'
+ commented_changeset: '%{commenter} даде коментар на променa што ја набљудувате
+ направена од %{changeset_author} во %{time}'
+ partial_changeset_with_comment: со коментарот „%{changeset_comment}“
+ partial_changeset_without_comment: без коментар
+ details: Поподробно за промената на %{url}.
message:
inbox:
title: Примени
description: 'Опис:'
tags: 'Ознаки:'
tags_help: одделено со запирка
- save_button: Сочувај промени
+ save_button: Ð\97ачувај промени
visibility: 'Видливост:'
visibility_help: што значи ова?
visibility_help_url: http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces?uselang=mk
setup_user_auth:
blocked: Пристапот кон API ви е блокиран. Најавете се на посредникот за да дознаете
повеќе.
- need_to_see_terms: Ð\92аÑ\88иоÑ\82 пÑ\80иÑ\81Ñ\82ап до пÑ\80иложниоÑ\82 пÑ\80огÑ\80ам (API) е привремено запрен.
+ need_to_see_terms: Ð\92аÑ\88иоÑ\82 пÑ\80иÑ\81Ñ\82ап до извÑ\80Ñ\88ниÑ\87киоÑ\82 пÑ\80огÑ\80ам е привремено запрен.
Најавете се на мрежниот посредник за да ги погледате Условите за учесниците.
Нема потреба да се согласувате со услоците, но мора да ги прочитате.
oauth:
oauthorize:
title: Овластете пристап до вашата сметка
- request_access: Ð\9fÑ\80огÑ\80амÑ\81киоÑ\82 пÑ\80илог %{app_name} баÑ\80а пÑ\80иÑ\81Ñ\82ап до ваÑ\88аÑ\82а Ñ\81меÑ\82ка,
- %{user}. Видете дали би сакале прилогот да ги има следните можности. Можете
- да одбеÑ\80еÑ\82е колкÑ\83 Ñ\88Ñ\82о Ñ\81акаÑ\82е.
+ request_access: Ð\98звÑ\80Ñ\88никоÑ\82 %{app_name} баÑ\80а пÑ\80иÑ\81Ñ\82ап до ваÑ\88аÑ\82а Ñ\81меÑ\82ка, %{user}.
+ Видете дали би сакале извршникот да ги има следните можности. Можете да одберете
+ колку што сакате.
allow_to: 'Дозволи му на клиентскиот програм да:'
allow_read_prefs: ви ги чита корисничките прилагодувања.
allow_write_prefs: ги менува вашите кориснички прилагодувања.
allow_write_notes: измена на белешки.
oauthorize_success:
title: Барањето за овластување е дозволено
- allowed: Ð\9dа пÑ\80илогот %{app_name} му дадовте пристап до вашата сметка.
+ allowed: Ð\9dа извÑ\80Ñ\88никот %{app_name} му дадовте пристап до вашата сметка.
verification: Потврдниот код гласи %{code}.
oauthorize_failure:
title: Барањето за овластување не успеа
- denied: Ð\9dа пÑ\80илогот %{app_name} му го одбивте пристапот до вашата сметка.
+ denied: Ð\9dа извÑ\80Ñ\88никот %{app_name} му го одбивте пристапот до вашата сметка.
invalid: Шифрата за овластување е неважечка.
revoke:
flash: Ja поништивте шифрата за %{application}
createnote_disabled_tooltip: Приближете за да додадете белешка
map_notes_zoom_in_tooltip: Приближете за да ги видите белешките
map_data_zoom_in_tooltip: Приближете за да ги видите податоците
+ queryfeature_tooltip: Пребарување на особености
+ queryfeature_disabled_tooltip: Зголеми на пребарувањето на особеностите
+ changesets:
+ show:
+ comment: Коментар
+ subscribe: Претплати се
+ unsubscribe: Откажи претплата
+ hide_comment: скриј
+ unhide_comment: откриј
notes:
new:
intro: Забележавте некоја грешка или нешто недостасува? Дајте им на знаење
comment: Коментирај
edit_help: Поместете ја картата и приближете во местото што сакате да го уредите,
па стиснете тука.
+ query:
+ node: Јазол
+ way: Пат
+ relation: Однос
+ nothing_found: Не пронајдов ниедна особеност
+ error: 'Грешка при поврзувањето со %{server}: %{error}'
+ timeout: Истече времето за поврзување со %{server}
redaction:
edit:
description: Опис
closed_title: 'निराकरण झालेली टीप #%{note_name}'
hidden_title: 'लपविलेली टीप #%{note_name}'
open_by: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr>%{user} ने तयार केले
- open_by_anonymous: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr>%{user}अनामिकाने
+ open_by_anonymous: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr> अनामिकाने
तयार केले
commented_by: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr>%{user} ची टिप्पणी
- commented_by_anonymous: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr>%{user}
- à¤\85नामिà¤\95ाà¤\9aà¥\80 à¤\9fिपà¥\8dपणà¥\80
+ commented_by_anonymous: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr> अनामिकाची
+ टिप्पणी
closed_by: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr>%{user} ने वियोजित
केले
- closed_by_anonymous: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr>%{user}अनामिकाने
+ closed_by_anonymous: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr> अनामिकाने
वियोजित केले
reopened_by: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr>%{user} ने सक्रिय
केले
- reopened_by_anonymous: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr>%{user}अनामिकाने
+ reopened_by_anonymous: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr> अनामिकाने
सक्रिय केले
hidden_by: <abbr title='%{exact_time}'>%{when} पूर्वी</abbr>%{user} ने लपविले
changeset:
primary_link: Jalan Utama
proposed: Jalan Raya yang Dicadangkan
raceway: Jalan Lumba
- residential: Perumahan
+ residential: Jalan Perumahan
rest_area: Kawasan Rehat
road: Jalan Raya
secondary: Jalan Sekunder
text: Derma
learn_more: Ketahui Lebih Lanjut
more: Selebihnya
- sotm_header: State of the Map 2014
- sotm_line_2: 7-9 November 2014
- sotm_line_3: Buenos Aires, Argentina
license_page:
foreign:
title: Perihal terjemahan ini
# Author: Gustavf
# Author: Haakon K
# Author: Hansfn
+# Author: Janhoy
# Author: Laaknor
# Author: Nemo bis
# Author: Nghtwlkr
primary_link: Primær vei
proposed: Foreslått vei
raceway: Racerbane
- residential: Bolig
+ residential: Bolig-vei
rest_area: Rasteplass
road: Vei
secondary: Sekundær vei
way_paginated: Wegen (%{x}-%{y} van %{count})
relation: Relaties (%{count})
relation_paginated: Relaties (%{x}-%{y} van %{count})
+ comment: Reacties (%{count})
+ hidden_commented_by: Verborgen reactie van %{user} <abbr title='%{exact_time}'>%{when}
+ geleden</abbr>
+ commented_by: Reactie van %{user} <abbr title='%{exact_time}'>%{when} geleden</abbr>
changesetxml: Changeset-XML
osmchangexml: osmChange-XML
feed:
title: Set wijzigingen %{id}
title_comment: Set wijzigingen %{id} - %{comment}
+ join_discussion: Meld u aan om mee te praten
+ discussion: Overleg
node:
title: 'Node: %{name}'
history_title: 'Nodegeschiedenis: %{name}'
wiki_link:
key: De wikipagina die het label %{key} beschrijft
tag: De wikipagina die het label %{key}=%{value} beschrijft
- wikidata_link: Het %{page}-item op Wikidata
+ wikidata_link: Het item %{page} op Wikidata
wikipedia_link: De pagina %{page} op Wikipedia
- telephone_link: Bel %{phone_number}
+ telephone_link: '%{phone_number} bellen'
note:
title: 'Opmerking: %{id}'
new_note: Nieuwe opmerking
reopened_by_anonymous: <abbr title='%{exact_time}'>%{when} geleden</abbr> opnieuw
geactiveerd door anoniem
hidden_by: <abbr title='%{exact_time}'>%{when} ago</abbr> verborgen door %{user}
+ query:
+ title: Nabije objecten opvragen
+ introduction: Klik op de kaart om nabije eigenschappen te ontdekken.
+ nearby: Nabije eigenschappen
+ enclosing: Omsluitende eigenschappen
changeset:
changeset_paging_nav:
showing_page: Pagina %{page}
timeout:
sorry: Het duurde te lang om de lijst met wijzigingensets die u hebt opgevraagd
op te halen.
+ rss:
+ title_all: Overleg over een wijzigingenset van OpenStreetMap
+ title_particular: 'Overleg over een wijzigingenset van OpenStreetMap #%{changeset_id}'
+ comment: 'Nieuwe reactie bij wijzigingenset #%{changeset_id} door %{author}'
+ commented_at_html: '%{when} geleden bijgewerkt'
+ commented_at_by_html: '%{when} geleden bijgewerkt door %{user}'
+ full: Volledig overleg
diary_entry:
new:
title: Nieuw dagboekbericht
geofabrik:
title: Geofabrik downloads
description: Regelmatig bijgewerkt extracten van continenten, landen en
- geselecteerde steden
+ een selectie van steden
metro:
- title: Metro extracten
+ title: Metro-extracten
description: Extracten voor grote wereldsteden en hun omliggende gebieden
other:
title: Andere bronnen
apron: Platform
gate: Gate
helipad: Helikopterplatform
- runway: Start-en landingsbaan
+ runway: Start- en landingsbaan
taxiway: Taxibaan
terminal: Terminal
amenity:
tram: Tramrails
tram_stop: Tramhalte
yard: Rangeerterrein
+ route:
+ bus: Busroute
shop:
alcohol: Slijterij
antiques: Antiek
text: Doneren
learn_more: Meer lezen
more: Meer
- sotm_header: Staat van de kaart 2014
- sotm_line_1: 8e jaarlijkse conferentie
- sotm_line_2: 7-9 november 2014
- sotm_line_3: Buenos Aires, Argentinië
license_page:
foreign:
title: Over deze vertaling
more_title_html: Meer informatie
more_1_html: |-
U kunt meer lezen over het gebruik van onze gegevens en hoe naamsvermelding toe te passen in de <a
- href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">Veel gestelde juridische
+ href="http://wiki.openstreetmap.org/wiki/Legal_FAQ">Veelgestelde juridische
vragen</a>.
more_2_html: |-
Hoewel OpenStreetMap open data is, kunnen we geen gratis
commented_note: '%{commenter} heeft een kaartopmerking waarop u hebt gereageerd
opnieuw geactiveerd. De opmerking is gemaakt bij %{place}.'
details: Meer details over de opmerking zijn te vinden op %{url}.
+ changeset_comment_notification:
+ greeting: Hallo,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} heeft gereageerd op een van uw
+ wijzigingensets'
+ subject_other: '[OpenStreetMap] %{commenter} heeft gereageerd op een wijzigingenset
+ waar u interesse in hebt'
+ your_changeset: '%{commenter} heeft gereageerd op een van uw wijzigingenset
+ gemaakt op %{time}'
+ commented_changeset: '%{commenter} heeft gereageerd op een wijzigingenset
+ die u volgt die gemaakt is door %{changeset_author} op %{time}'
+ partial_changeset_with_comment: met reactie "%{changeset_comment}"
+ partial_changeset_without_comment: zonder reactie
+ details: Meer details over de wijzigingenset kunt u vinden op %{url}.
message:
inbox:
title: Postvak IN
index:
js_1: U gebruikt een browser die JavaScript niet ondersteunt, of u hebt JavaScript
uitgeschakeld.
- js_2: OpenStreetMap gebruikt JavaScript voor de slippy-kaart.
+ js_2: OpenStreetMap gebruikt JavaScript voor de slippykaart.
permalink: Permanente koppeling
shortlink: Korte koppeling
createnote: Opmerking toevoegen
potlatch_unsaved_changes: U hebt wijzigingen gemaakt die nog niet zijn opgeslagen.
Om op te slaan in Potlach, deselecteert u de huidige weg of het huidige punt
als u in livemodus bewerkt, of klikt u op de knop Opslaan.
- potlatch2_not_configured: Potlatch 2 is niet ingesteld - zi http://wiki.openstreetmap.org/wiki/The_Rails_Port
+ potlatch2_not_configured: Potlatch 2 is niet ingesteld - zie http://wiki.openstreetmap.org/wiki/The_Rails_Port
+ voor meer informatie
potlatch2_unsaved_changes: U hebt wijzigingen die nog niet zijn opgeslagen.
Om op te slaan in Potlatch 2 moet u op "Opslaan" klikken.
id_not_configured: iD is niet ingesteld
url: URL
trace:
visibility:
- private: Privé (alleen gedeeld als anoniem; ongeordende punten)
+ private: Persoonlijk (alleen gedeeld als anoniem; ongeordende punten)
public: Publiek (weergegeven in tracklijst en als anonieme, ongeordende punten)
trackable: Traceerbaar (alleen gedeeld als anoniem; geordende punten met tijdstempels)
identifiable: Identificeerbaar (weergegeven in tracklijst en als identificeerbare,
edit_map: Kaart bewerken
public: OPENBAAR
identifiable: IDENTIFICEERBAAR
- private: PRIVÉ
+ private: PERSOONLIJK
trackable: TRACEERBAAR
by: door
in: in
allow_write_prefs: uw gebruikersvoorkeuren wijzigen
allow_write_diary: dagboekberichten schrijven, reacties geven en vrienden maken
allow_write_api: de kaart wijzigen
- allow_read_gpx: uw privé-GPS-tracks lezen
+ allow_read_gpx: uw persoonlijke GPS-tracks lezen
allow_write_gpx: GPS-tracks uploaden
allow_write_notes: opmerkingen wijzigen.
oauthorize_success:
register_new: Uw toepassing registreren
form:
name: Naam
- required: verplicht
+ required: Vereist
url: Toepassings-URL
callback_url: Callback-URL
support_url: Ondersteunings-URL
allow_write_prefs: gebruikersinstellingen wijzigen
allow_write_diary: dagboekberichten schrijven, reacties en vrienden toevoegen
allow_write_api: de kaart wijzigen
- allow_read_gpx: privé-GPS-tracks lezen
+ allow_read_gpx: Persoonlijke GPS-tracks lezen
allow_write_gpx: GPS-tracks uploaden
allow_write_notes: opmerkingen wijzigen.
not_found:
- sorry: Sorry, die %{type} kan niet gevonden worden.
+ sorry: Die %{type} kan helaas niet gevonden worden.
create:
flash: De informatie is geregistreerd
update:
lost password link: Wachtwoord vergeten?
login_button: Aanmelden
register now: Nu inschrijven
- with username: 'Hebt u al een account bij OpenStreetMap? Meld aan met uw gebruikersnaam
+ with username: 'Hebt u al een gebruiker bij OpenStreetMap? Meld aan met uw gebruikersnaam
en wachtwoord:'
with openid: 'U kunt ook aanmelden met uw OpenID:'
new to osm: Is OpenStreetMap nieuw voor u?
to make changes: Om wijzigingen in OpenStreetMap te maken, moet u een gebruiker
hebben.
create account minute: Maak een gebruiker aan. Dat is snel gebeurd.
- no account: Hebt u geen account?
+ no account: Hebt u geen gebruiker?
account not active: Uw gebruiker is helaas nog niet actief.<br />Klik op de
koppeling in de bevestiging om deze te activeren of <a href="%{reconfirm}">vraag
een nieuwe bevestiging per e-mail aan</a>.
account is suspended: Uw gebruiker is automatisch opgeschort vanwege verdachte
activiteit.<br />Neem contact op met de <a href="%{webmaster}">webmaster</a>
als u deze handeling wilt bespreken.
- auth failure: Sorry, met deze gegevens kunt u niet aanmelden.
- openid missing provider: Sorry, we konden geen contact maken met uw OpenID-provider
- openid invalid: Sorry, uw OpenID lijkt misvormd te zijn
+ auth failure: Met deze gegevens kunt u helaas niet aanmelden.
+ openid missing provider: We konden helaas geen contact maken met uw OpenID-provider
+ openid invalid: Uw OpenID lijkt helaas misvormd te zijn
openid_logo_alt: Aanmelden met een OpenID
openid_providers:
openid:
in te stellen.
notice email on way: Spijtig om te horen dat u het vergeten bent, maar er is
een e-mail onderweg zodat u uw wachtwoord opnieuw kunt instellen.
- notice email cannot find: Kon dat e-mailadres niet vinden, sorry.
+ notice email cannot find: Dat e-mailadres kon helaas niet gevonden worden.
reset_password:
- title: reset wachtwoord
+ title: Wachtwoord opnieuw instellen
heading: Wachtwoord voor %{user} opnieuw instellen
password: 'Wachtwoord:'
confirm password: 'Wachtwoord bevestigen:'
openid no password: Met OpenID is een wachtwoord niet verplicht, maar sommige
extra hulpmiddelen of servers kunnen het nog steeds nodig hebben.
openid association: |-
- <p>Uw OpenID is nog niet gekoppeld aan een OpenStreetMap-account.</p>
+ <p>Uw OpenID is nog niet gekoppeld aan een OpenStreetMapgebruiker.</p>
<ul>
- <li>Als u nieuw bent bij OpenStreetMap, maak dan een account aan met behulp van het onderstaande formulier.</li>
+ <li>Als u nieuw bent bij OpenStreetMap, maak dan een gebruiker aan met behulp van het onderstaande formulier.</li>
<li>
- Als u al een account heeft, kunt u zich aanmelden met uw gebruikersnaam en wachtwoord
- en daarna uw account koppelen aan uw OpenID in uw gebruikersinstellingen.
+ Als u al een gebruiker heeft, kunt u zich aanmelden met uw gebruikersnaam en wachtwoord
+ en daarna uw gebruiker koppelen aan uw OpenID in uw gebruikersinstellingen.
</li>
</ul>
continue: Registreren
no_such_user:
title: Deze gebruiker bestaat niet
heading: De gebruiker %{user} bestaat niet
- body: Sorry, er is geen gebruiker met de naam %{user}. Controleer de spelling,
- of misschien is de koppeling waarop u hebt geklikt onjuist.
+ body: Er is geen gebruiker met de naam %{user}. Controleer de spelling, of misschien
+ is de koppeling waarop u hebt geklikt onjuist.
view:
my diary: Dagboek
new diary entry: nieuw dagboekbericht
user location: Gebruikerslocatie
if set location: Stel uw thuislocatie in via de pagina %{settings_link} om gebruikers
in uw buurt te zien.
- settings_link_text: voorkeuren
+ settings_link_text: instellingen
your friends: Uw vrienden
no friends: U hebt nog geen vrienden toegevoegd.
km away: '%{count} km verwijderd'
heading: '%{user} als vriend toevoegen?'
button: Als vriend toevoegen
success: '%{name} is nu uw vriend.'
- failed: Sorry, het toevoegen van %{name} als vriend is mislukt.
+ failed: Het toevoegen van %{name} als vriend is helaas mislukt.
already_a_friend: U bent al bevriend met %{name}.
remove_friend:
heading: '%{user} als vriend verwijderen?'
heading: Blokkade aanmaken voor %{name}
reason: De reden waarom %{name} is geblokkeerd. Blijf kalm en redelijk en geef
zoveel mogelijk details over de situatie. Dit bericht is voor iedereen zichtbaar.
- Bedank u dat niet alle gebruikers het gemeenschapsjargon begrijpen, dus formuleer
+ Bedenk u dat niet alle gebruikers het gemeenschapsjargon begrijpen, dus formuleer
begrijpelijk.
period: Hoe lang, per nu, moet de gebruiker worden uitgesloten van het gebruik
van de API?
createnote_disabled_tooltip: Zoom in om een opmerking bij de kaart te maken
map_notes_zoom_in_tooltip: Inzoomen om de kaartnotities te bekijken
map_data_zoom_in_tooltip: Inzommen om de kaartgegeven te bekijken
+ queryfeature_tooltip: Nabije objecten opvragen
+ queryfeature_disabled_tooltip: Zoom in om objectinformatie op te vragen
+ changesets:
+ show:
+ comment: Reactie
+ subscribe: Abonneren
+ unsubscribe: Uitschrijven
+ hide_comment: verbergen
+ unhide_comment: zichtbaar maken
notes:
new:
- intro: Een fout gezien of mist er iets? Laat het andere kaartmakers weten
+ intro: Een fout gezien of ontbreekt er iets? Laat het andere kaartmakers weten
zodat wij het kunnen oplossen. Verplaats de markering naar de correcte positie
- en beschrijf het probleem. (Vul hier alstublieft geen persoonlijke informatie
+ en beschrijf het probleem. Vul hier alstublieft geen persoonlijke informatie
of informatie van auteursrechtelijk beschermde kaarten of mappenlijsten
- in.)
+ in.
add: Opmerking toevoegen
show:
anonymous_warning: In deze opmerking staan reacties van anonieme gebruikers
comment: Reageren
edit_help: Verplaats de kaar en zoom in op een plaats die u wilt bewerken. Klik
er daarna op.
+ query:
+ node: Node
+ way: Weg
+ relation: Relatie
+ nothing_found: Geen eigenschappen gevonden
+ error: 'Fout bij het verbinding maken met %{server}: %{error}'
+ timeout: Timeout bij het verbinding maken met %{server}
redaction:
edit:
description: Beschrijving
text: ਦਾਨ ਦਿਉ
learn_more: ਹੋਰ ਜਾਣੋ
more: ਹੋਰ
- sotm_line_1: ੮ਵਾਂ ਸਲਾਨਾ ਸੰਮੇਲਨ
- sotm_line_2: ੭-੯ ਨਵੰਬਰ ੨੦੧੪
- sotm_line_3: ਬੁਏਨਸ ਆਇਰਸ, ਅਰਜਨਟੀਨਾ
license_page:
foreign:
title: ਇਸ ਤਰਜਮੇ ਬਾਰੇ
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: Ajank
+# Author: Alan ffm
# Author: Andrzej aa
# Author: BdgwksxD
# Author: BeginaFelicysym
# Author: Chrumps
# Author: Cysioland
# Author: Dalis
+# Author: Darellur
# Author: Debeet
# Author: Deejay1
# Author: Ireun
message: Wiadomość
node: Węzeł
node_tag: Znacznik węzła
- notifier: Notifier
+ notifier: Zgłaszający
old_node: Wcześniejszy węzeł
old_node_tag: Tag wcześniejszego węzła
old_relation: Stara relacja
- old_relation_member: Członek wcześniejszej relacji
+ old_relation_member: Członek starej relacji
old_relation_tag: Tag wcześniejszej relacji
old_way: Wcześniejsza droga
- old_way_node: Węzeł wcześniejszej linii
- old_way_tag: Tag wcześniejszej linii
+ old_way_node: Węzeł starej linii
+ old_way_tag: Tag starej linii
relation: Relacja
relation_member: Członek relacji
- relation_tag: Znacznik relacji
+ relation_tag: Tag relacji
session: Sesja
trace: Ślad
tracepoint: Punkt śladu
- tracetag: Znacznik śladu
+ tracetag: Tag śladu
user: Użytkownik
user_preference: Preferencje użytkownika
user_token: Token użytkownika
user:
email: E-mail
active: Aktywny
- display_name: Publiczna nazwa
+ display_name: Wyświetlana nazwa
description: Opis
languages: Języki
pass_crypt: Hasło
description: Potlatch 2 (w przeglądarce)
remote:
name: Zdalne sterowanie
- description: JOSM lub Markaartor
+ description: Zdalne sterowanie (JOSM lub Merkaartor)
browse:
- created: Utworzenie
+ created: Utworzone
closed: Zamknięte
created_html: Utworzone <abbr title='%{title}'>%{time} temu</abbr>
closed_html: Zamknięte <abbr title='%{title}'>%{time} temu</abbr>
way_paginated: Linie (%{x}-%{y} z %{count})
relation: Relacje (%{count})
relation_paginated: Relacje (%{x}-%{y} z %{count})
+ comment: Komentarze (%{count})
+ hidden_commented_by: Ukryty komentarz od użytkownika %{user} <abbr title='%{exact_time}'>%{when}
+ temu</abbr>
+ commented_by: Komentarz od %{user} <abbr title='%{exact_time}'>%{when} temu</abbr>
changesetxml: XML w formacie zestawu zmian
osmchangexml: XML w formacie osmChange
feed:
title: Zestaw zmian %{id}
title_comment: Zestaw zmian %{id} - %{comment}
+ join_discussion: Zaloguj się, aby dołączyć do dyskusji
+ discussion: Dyskusja
node:
title: 'Węzeł: %{name}'
history_title: 'Historia węzła: %{name}'
reopened_by_anonymous: Reaktywowana anonimowo <abbr title='%{exact_time}'>%{when}
temu</abbr>
hidden_by: Ukryte przez %{user} <abbr title='%{exact_time}'>%{when} temu</abbr>
+ query:
+ title: Dane obiektu
+ introduction: Kliknij na mapie, by sprawdzić obiekty w pobliżu
+ nearby: Obiekty w pobliżu
+ enclosing: Większe, zakrywające obiekty
changeset:
changeset_paging_nav:
showing_page: Strona %{page}
timeout:
sorry: Niestety, pobieranie listy zestawów zmian, którą chciałeś zobaczyć, trwało
zbyt długo.
+ rss:
+ title_all: Dyskusja na temat zestawu zmian
+ title_particular: 'Dyskusja na temat zestawu zmian #%{changeset_id}'
+ comment: 'Nowy komentarz do zestawu zmian #%{changeset_id}% autorstwa %{author}'
+ commented_at_html: Zaktualizowano %{when} temu
+ commented_at_by_html: Zaktualizowano %{when} temu przez %{user}
+ full: Pełna dyskusja
diary_entry:
new:
title: Nowy wpis do dziennika
primary_link: Droga pierwszorzędna – dojazd
proposed: Droga planowana
raceway: Tor wyścigowy
- residential: Droga osiedlowa
+ residential: Droga lokalna
rest_area: Miejsce obsługi podróżnych
road: Droga
secondary: Droga drugorzędna
tram: Linia tramwajowa
tram_stop: Przystanek tramwajowy
yard: Stacja postojowa, lokomotywownia
+ route:
+ bus: Linia autobusowa
shop:
alcohol: Sklep monopolowy
antiques: Antyki
weir: Jaz
admin_levels:
level2: Granica kraju
- level4: Granica stanu
+ level4: 'Granica:'
level5: Granica regionu
- level6: Granica hrabstwa
- level8: Granica miasta
+ level6: 'Granica:'
+ level8: Granica miejscowości
level9: Granica wsi
level10: Granica przedmieścia
description:
text: Przekaż darowiznę
learn_more: Dowiedz się więcej
more: Więcej
- sotm_line_3: Buenos Aires, Argentyna
license_page:
foreign:
title: Informacje o tłumaczeniu
commented_note: '%{commenter} ponownie aktywował uwagę, którą skomentowałeś.
Znajduje się ona w lokalizacji: %{place}.'
details: 'Więcej informacji na temat uwagi można znaleźć pod adresem: %{url}.'
+ changeset_comment_notification:
+ greeting: Cześć,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} skomentował jeden z twoich zestawów
+ zmian'
+ subject_other: '[OpenStreetMap] %{commenter} skomentował zestaw zmian'
+ your_changeset: '%{commenter} zostawił komentarz do jednego z twoich zestawów
+ zmian, utworzonego %{time}'
+ commented_changeset: '%{commenter} zostawił komentarz do zestawu zmian, który
+ śledzisz, utworzonego %{time} przez %{changeset_author}'
+ partial_changeset_with_comment: z komentarzem '%{changeset_comment}'
+ partial_changeset_without_comment: bez komentarza
+ details: 'Więcej informacji na temat zestawu zmian można znaleźć pod adresem:
+ %{url}.'
message:
inbox:
title: Wiadomości odebrane
apron:
- Płyta lotniska
- terminal
- admin: Granica administracyjna
+ admin: 'Granica:'
forest: Las
wood: Puszcza
golf: Pole golfowe
description_without_count: Plik GPX od %{user}
application:
require_cookies:
- cookies_needed: Wydaje się, że masz wyłączoną obsługę ciasteczek (cookies) w
+ cookies_needed: Wydaje się, że masz wyłączoną obsługę cookies (ciasteczek) w
swojej przeglądarce internetowej – włącz ją, zanim przejdziesz dalej.
require_moderator:
not_a_moderator: Musisz być moderatorem, aby wykonać tą akcję.
reason: Powód blokady
status: Status
revoker_name: Odwołana przez
- not_revoked: (nie odwołana)
+ not_revoked: (nieodwołana)
showing_page: Strona %{page}
next: Następna »
previous: « Poprzednia
createnote_disabled_tooltip: Przybliż mapę, by dodać uwagę
map_notes_zoom_in_tooltip: Powiększ, aby zobaczyć uwagi
map_data_zoom_in_tooltip: Powiększ, aby zobaczyć dane mapy
+ queryfeature_tooltip: Obejrzyj dane obiektu
+ queryfeature_disabled_tooltip: Użyj powiększenia, aby obejrzeć dane obiektu
+ changesets:
+ show:
+ comment: Komentarz
+ subscribe: Obserwuj
+ unsubscribe: Nie obserwuj
+ hide_comment: ukryj
+ unhide_comment: pokaż
notes:
new:
intro: Zauważyłeś błąd lub brak czegoś? Daj znać innym maperom, aby mogli
comment: Dodaj komentarz
edit_help: Przesuń mapę i powiększ miejsce, które chcesz edytować, a następnie
kliknij tutaj.
+ query:
+ node: Węzeł
+ way: Linia
+ relation: Relacja
+ nothing_found: Nie znaleziono obiektów
+ error: 'Błąd komunikacji z %{server}: %{error}'
+ timeout: Przekroczono czas oczekiwania z:%{server}
redaction:
edit:
description: Opis
# Export driver: phpyaml
# Author: Amgauna
# Author: BraulioBezerra
+# Author: Brunomelnic
# Author: Dianakc
# Author: Diego Queiroz
# Author: Fmca
# Author: Rodrigo Avila
# Author: Tuliouel
# Author: Vgeorge
+# Author: Wille
# Author: 555
---
pt-BR:
user:
email: E-mail
active: Ativo
- display_name: Nome para Exibição
+ display_name: Nome para exibição
description: Descrição
languages: Idiomas
pass_crypt: Senha
way_paginated: Linhas (%{x}-%{y} de %{count})
relation: Relações (%{count})
relation_paginated: Relações (%{x}-%{y} of %{count})
+ comment: Comentários (%{count})
+ hidden_commented_by: Comentário oculto de %{user} <abbr title='%{exact_time}'>%{when}
+ atrás</abbr>
+ commented_by: Comentado por %{user} há <abbr title='%{exact_time}'>%{when} atrás</abbr>
changesetxml: XML do conjunto de alterações
osmchangexml: osmChange XML
feed:
title: Conjunto de alterações %{id}
title_comment: Conjunto de alterações %{id} - %{comment}
+ join_discussion: Entre para participar da discussão
+ discussion: Discussão
node:
title: 'Ponto: %{name}'
history_title: 'Histórico do nó: %{name}'
way: caminho
relation: relação
start_rjs:
- feature_warning: Carregando %{num_features} feições, o que pode deixar seu navegador
- lento ou sem resposta. Tem certeza que quer exibir estes dados?
+ feature_warning: Carregando %{num_features} elementos, o que pode deixar seu
+ navegador lento ou sem resposta. Tem certeza que quer exibir estes dados?
load_data: Carregar dados
loading: Carregando...
tag_details:
reopened_by_anonymous: Reaberto por um usuário anônimo há <abbr title='%{exact_time}'>%{when}
atrás</abbr>
hidden_by: Ocultado por %{user} há <abbr title='%{exact_time}'>%{when} atrás</abbr>
+ query:
+ title: Características da consulta
+ introduction: Clique no mapa para encontrar características ao redor
+ nearby: Características próximas
+ enclosing: Características envolventes
changeset:
changeset_paging_nav:
showing_page: Página %{page}
timeout:
sorry: Desculpe. A lista de conjuntos de alterações que você solicitou está
demorando muito tempo para ser recuperada.
+ rss:
+ title_all: Discussão de conjunto de alterações do OpenStreetMap
+ title_particular: 'Discussão do conjunto de alteração #%{changeset_id} do OpenStreetMap'
+ comment: 'Comentário novo no conjunto de alterações #%{changeset_id} por %{author}'
+ commented_at_html: Atualizando %{when} atrás
+ commented_at_by_html: Atualizado há %{when} por %{user}
+ full: Discussão completa
diary_entry:
new:
title: Nova Entrada de Diário
primary_link: Via Primária
proposed: Via em planejamento
raceway: Pista de corrida
- residential: Residencial
+ residential: Via Residencial
rest_area: Área de Descanso
road: Estrada
secondary: Via Secundária
tram: Rota de bonde
tram_stop: Parada de bonde
yard: Estação de classificação
+ route:
+ bus: Rota de Ônibus
shop:
alcohol: Loja de bebidas alcoolicas
antiques: Antiguidades
text: Faça uma doação
learn_more: Saiba mais
more: Mais
- sotm_header: Estado do Mapa 2014
- sotm_line_1: 8ª Conferência anual
- sotm_line_2: De 7 a 9 de novembro de 2014
- sotm_line_3: Buenos Aires, Argentina
license_page:
foreign:
title: Sobre esta tradução
por grandes desastres, e muitos mais.
Para saber mais sobre a nossa comunidade, veja os <a href='%{diary_path}'>diários dos editores</a>,
<a href='http://blogs.openstreetmap.org/'>blogues da comunidade</a>, e o site da <a href='http://www.osmfoundation.org/'>OSM Foundation</a>.
- open_data_title: Data de Abertura
+ open_data_title: Dados Abertos
open_data_html: |-
O OpenStreetMap é constituído por <i>dados abertos</i>: qualquer
pessoa tem a liberdade de usar os dados para qualquer fim desde
commented_note: '%{commenter} reativou uma nota de um mapa que você comentou.
A nota está próxima a %{place}.'
details: Mais detalhes sobre a nota podem ser encontradas em %{url}.
+ changeset_comment_notification:
+ greeting: Olá,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} comentou um de seus conjuntos de
+ alterações'
+ subject_other: '[OpenStreetMap] %{commenter} comentou um conjunto de alterações
+ que interessa a você'
+ your_changeset: '%{commenter} deixou um comentários em seu conjunto de alterações
+ em %{time}'
+ commented_changeset: '%{commenter} deixou um comentário em um grupo de alterações
+ do mapa criado por %{changeset_author} em %{time}, que você está acompanhando'
+ partial_changeset_with_comment: com comentário %{changeset_comment}
+ partial_changeset_without_comment: sem comentários
+ details: Mais detalhes sobre o conjunto de alterações podem ser encontrados
+ em %{url}
message:
inbox:
title: Caixa de Entrada
not displayed publicly: Não será exibido publicamente (veja a <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
title="política de privacidade no wiki incluindo seção sobre endereços de
e-mail">política de privacidade</a>)
- display name: 'Nome a ser exibido:'
+ display name: 'Nome para exibição:'
display name description: Seu nome de usuário disponível publicamente. Você
pode mudá-lo posteriormente nas preferências.
openid: '%{logo} OpenID:'
legale_names:
france: França
italy: Itália
- rest_of_world: Resto do mundo
+ rest_of_world: Outros países
no_such_user:
title: Usuário não existe
heading: O usuário %{user} não existe
createnote_disabled_tooltip: Ampliar para adicionar uma nota ao mapa
map_notes_zoom_in_tooltip: Zoom para ver notas no mapa
map_data_zoom_in_tooltip: Zoom para ver dados do mapa
+ queryfeature_tooltip: Consultar elementos
+ queryfeature_disabled_tooltip: Aproxime para consultar elementos
+ changesets:
+ show:
+ comment: Comentário
+ subscribe: Inscrever
+ unsubscribe: Cancelar inscrição
+ hide_comment: esconder
+ unhide_comment: mostrar
notes:
new:
intro: Localizou um erro ou algo faltando? Informe outros mapeadores para
comment: Comentar
edit_help: Mover o mapa e ampliar uma localização que pretende editar e clique
aqui.
+ query:
+ node: Ponto
+ way: Linha
+ relation: Relação
+ nothing_found: Nenhum elemento encontrado
+ error: 'Erro ao contatar %{server}: %{error}'
+ timeout: Tempo esgotado com %{server}
redaction:
edit:
description: Descrição
# Author: Giro720
# Author: Gmare
# Author: Hamilton Abreu
+# Author: Imperadeiro90
# Author: Imperadeiro98
# Author: Indech
# Author: JasonZe
# Author: Ruben
# Author: SandroHc
# Author: ViriatoLusitano
+# Author: Vitorvicentevalente
# Author: Waldir
---
pt:
way_paginated: Linhas (%{x}-%{y} de %{count})
relation: Relações (%{count})
relation_paginated: Relações (%{x}-%{y} of %{count})
+ comment: Comentários (%{count})
changesetxml: Conjunto de alterações XML
osmchangexml: XML no formato osmChange
feed:
title: Conjunto de alterações %{id}
title_comment: Conjunto de alterações %{id} - %{comment}
+ join_discussion: Inicie sessão para se juntar à discussão
+ discussion: Discussão
node:
title: 'Nó: %{name}'
history_title: 'Histórico do Nó: %{name}'
timeout:
sorry: Pedimos desculpa, mas a lista de conjuntos de alterações que pediu excedeu
o tempo limite de resposta.
+ rss:
+ commented_at_html: Atualizado há %{when}
+ commented_at_by_html: Atualizado há %{when} por %{user}
+ full: Discussão completa
diary_entry:
new:
title: Nova entrada no diário
telephone: Telefone Público
theatre: Teatro
toilets: Casas de Banho
- townhall: Câmara Municipal
+ townhall: Câmara Municipal / Junta de Freguesia
university: Universidade
vending_machine: Máquina de venda automática
veterinary: Clínica Veterinária
primary_link: Nó de ligação a uma Estrada Primária
proposed: Estrada sob Planeamento
raceway: Autódromo
- residential: Residencial
+ residential: Rua Residencial
rest_area: Área de Descanso
road: Estrada
secondary: Estrada Secundária
tram: Linha de Elétrico
tram_stop: Paragem de Elétrico
yard: Pátio de Manobras Ferroviário
+ route:
+ bus: Rota de Autocarros
shop:
alcohol: Venda de Bebidas (Off License)
antiques: Antiguidades
commented_note: '%{commenter} reabriu um erro no mapa em que você comentou.
O erro encontra-se perto de %{place}.'
details: Ver mais detalhes sobre o erro reportado em %{url}.
+ changeset_comment_notification:
+ greeting: Olá,
message:
inbox:
title: Caixa de Entrada
para poder reportar um erro
map_notes_zoom_in_tooltip: Aproxime para ver erros reportados
map_data_zoom_in_tooltip: Aproxime para ver dados do mapa
+ changesets:
+ show:
+ comment: Comentário
+ subscribe: Subscrever
+ hide_comment: ocultar
notes:
new:
intro: Encontrou um erro ou existe algo em falta? Avise os outros mapeadores
comment: Gravar
edit_help: Mova o mapa e amplie a localização que pretende editar e depois clique
aqui.
+ query:
+ relation: Relação
redaction:
edit:
description: Descrição
# Author: Santacloud
# Author: Spider
# Author: TarzanASG
+# Author: Tourorist
+# Author: XAN
# Author: Yuri Nazarov
# Author: Zverik
# Author: Александр Сигачёв
way_paginated: Линии (%{x}-%{y} из %{count})
relation: Отношения (%{count})
relation_paginated: Отношения (%{x}-%{y} из %{count})
+ comment: Комментарии (%{count})
changesetxml: XML пакета правок
osmchangexml: osmChange XML
feed:
title: Пакет правок %{id}
title_comment: Пакет правок %{id} — %{comment}
+ join_discussion: Войдите в систему, чтобы присоединиться к обсуждению
+ discussion: Обсуждение
node:
title: 'Точка: %{name}'
history_title: 'История точки: %{name}'
timeout:
sorry: К сожалению, список пакетов правок, который вы запросили, слишком большой
для извлечения.
+ rss:
+ commented_at_html: Обновлена %{when} назад
+ commented_at_by_html: Обновлена %{when} назад %{user}
+ full: Полное обсуждение
diary_entry:
new:
title: Сделать новую запись в дневнике
tram: Трамвай
tram_stop: Трамвайная остановка
yard: Депо
+ route:
+ bus: Автобусный маршрут
shop:
alcohol: Винный магазин
antiques: Антиквариат
level2: Граница страны
level4: Граница штата, субъекта
level5: Граница региона
- level6: Ð\93Ñ\80аниÑ\86а Ñ\81Ñ\82Ñ\80анÑ\8b
+ level6: Ð\93Ñ\80аниÑ\86а Ñ\80айона
level8: Граница города
level9: Граница села, деревни
level10: Граница пригорода
text: Поддержать проект
learn_more: Узнать больше
more: Ещё
- sotm_header: State of the Map 2014
- sotm_line_1: 8-я ежегодная конференция
- sotm_line_2: 7—9 ноября 2014 года
- sotm_line_3: Буэнос-Айрес, Аргентина
license_page:
foreign:
title: Об этом переводе
понятий, которые стоит иметь ввиду.
editor_html: <strong>Редактор</strong> — это программа или веб-сайт, которые
можно использовать для редактирования карты.
- node_html: <strong>Точка</strong> — простейший элемент карты, вроде входа в
- ресторан или отдельного дерева.
+ node_html: <strong>Точка</strong> (node) — простейший элемент карты, вроде входа
+ в ресторан или отдельного дерева.
way_html: <strong>Линия</strong> — это отрезок или кривая, соединяющая точки,
обозначающая, к примеру, дорогу, ручей, контур озера или здания.
tag_html: <strong>Тег</strong> – это единица описания точки или линии, например
commented_note: '%{commenter} переоткрыл одну из отметок, которые вы комментировали.
Отметка недалеко от %{place}.'
details: Подробнее о заметке %{url}.
+ changeset_comment_notification:
+ greeting: Привет,
+ commented:
+ partial_changeset_with_comment: с комментарием '%{changeset_comment}'
+ partial_changeset_without_comment: без комментария
message:
inbox:
title: Входящие
to make changes: Чтобы вносить изменения в данные OpenStreetMap, вы должны иметь
учётную запись.
create account minute: Создайте учётную запись. Это займёт не больше минуты.
- no account: У вас нет аккаунта?
+ no account: У вас нет учётной записи?
account not active: Извините, ваша учётная запись ещё не активирована.<br />Чтобы
активировать её, пожалуйста, нажмите на ссылку в отправленном вам письме,
или <a href="%{reconfirm}">запросите отправку нового письма-подтверждения</a>.
about:
header: Свободно редактируемая
html: |-
- <p>в Ð\9eÑ\82лиÑ\87ие оÑ\82 дÑ\80Ñ\83гиÑ\85 каÑ\80Ñ\82, каÑ\80Ñ\82Ñ\8b OpenStreetMap полноÑ\81Ñ\82Ñ\8cÑ\8e Ñ\81оздаÑ\8eÑ\82Ñ\81Ñ\8f обÑ\8bÑ\87нÑ\8bми лÑ\8eдÑ\8cми вÑ\80оде ваÑ\81
+ <p>Ð\92 оÑ\82лиÑ\87ие оÑ\82 дÑ\80Ñ\83гиÑ\85 каÑ\80Ñ\82, OpenStreetMap полноÑ\81Ñ\82Ñ\8cÑ\8e Ñ\81оздаÑ\8eÑ\82Ñ\81Ñ\8f Ñ\82акими же лÑ\8eдÑ\8cми, как и вÑ\8b,
и они свободны для исправления, обновления, загрузки и использования каждым.</p>
<p>Зарегистрируйтесь, чтобы сделать свой вклад. Мы отправим вам письмо, чтобы подтвердить ваш аккаунт.</p>
license_agreement: Для подтверждения своей учётной записи вам необходимо согласиться
createnote_disabled_tooltip: Приблизьте карту, чтобы добавить заметку
map_notes_zoom_in_tooltip: Увеличьте масштаб, чтобы увидеть примечания к карте
map_data_zoom_in_tooltip: Увеличьте масштаб, чтобы увидеть данные карты
+ changesets:
+ show:
+ comment: Комментарий
+ subscribe: Подписаться
+ unsubscribe: Отписаться
+ hide_comment: скрыть
+ unhide_comment: показать
notes:
new:
intro: Заметили ошибку или отсутствие чего-то? Дайте знать об этом другим
comment: Прокомментировать
edit_help: Передвиньте карту и увеличьте место, которые вы хотите править, затем
кликните здесь.
+ query:
+ node: Точка
+ way: Линия
+ relation: Отношение
+ error: 'Ошибка связи с %{server}: %{error}'
+ timeout: Тайм-аут обращения к %{server}
redaction:
edit:
description: Описание
way_paginated: Poti (%{x}-%{y} od %{count})
relation: Zveze (%{count})
relation_paginated: Zveze (%{x}-%{y} od %{count})
+ comment: Komentarji (%{count})
+ hidden_commented_by: Skrit komentar uporabnika %{user} <abbr title='%{exact_time}'>%{when}
+ nazaj</abbr>
+ commented_by: Komentar uporabnika %{user} <abbr title='%{exact_time}'>%{when}
+ nazaj</abbr>
changesetxml: Paket sprememb XML
osmchangexml: osmChange XML
feed:
title: Paket sprememb %{id}
title_comment: Paket sprememb %{id} - %{comment}
+ join_discussion: Prijavite se za pridružitev pogovoru
+ discussion: Pogovor
node:
title: 'Vozlišče: %{name}'
history_title: 'Zgodovina vozlišča: %{name}'
load_more: Naloži več
timeout:
sorry: Žal je seznam zahtevanih sprememb predolg za prenos.
+ rss:
+ full: Celoten pogovor
diary_entry:
new:
title: Nov zapis v dnevnik uporabnikov
primary_link: Priključek na glavno cesto
proposed: Predlagana cesta
raceway: Dirkališče
- residential: Stanovanjska
+ residential: Stanovanjska cesta
rest_area: Počivališče
road: Nedoločena cesta
secondary: Regionalna cesta
commented_note: '%{commenter} je zopet aktiviral/-a opombo na zemljevidu,
ki ste jo vi komentirali. Opomba je v bližini %{place}.'
details: Več podrobnosti o opombi lahko najdete na %{url}.
+ changeset_comment_notification:
+ greeting: Pozdravljeni,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} je komentiral enega izmed vaših
+ paketov sprememb'
+ subject_other: '[OpenStreetMap] %{commenter} je komentiral paket sprememb,
+ ki vas zanima'
+ your_changeset: '%{commenter} je podal komentar na enega od vaših paketov
+ sprememb ustvarjen %{time}'
+ commented_changeset: '%{commenter} je podal komentar na paket sprememb, ki
+ vas zanima, katerega je %{changeset_author} ustvaril %{time}'
+ partial_changeset_with_comment: s komentarjem "%{changeset_comment}"
+ partial_changeset_without_comment: brez komentarja
+ details: Več podrobnosti o tem paketu sprememb lahko najdete na %{url}.
message:
inbox:
title: Prejeta pošta
createnote_disabled_tooltip: Povečaj za dodati opombo na zemljevid
map_notes_zoom_in_tooltip: Povečaj za prikaz opomb zemljevida
map_data_zoom_in_tooltip: Povečaj za prikaz podatkov zemljevida
+ changesets:
+ show:
+ comment: Komentiraj
+ subscribe: Naroči me
+ unsubscribe: Odjavi me
+ hide_comment: skrij
notes:
new:
add: Dodaj opombo
reactivate: Znova aktiviraj
comment_and_resolve: Komentiraj in razreši
comment: Komentar
+ query:
+ node: Vozlišče
+ way: Pot
+ relation: Zveza
redaction:
edit:
description: Opis
browse:
created: Krijuar
closed: I Mbyllur
- created_html: Krijuar <abbr title='<span class="notranslate" translate="asnjë">%{titull}'>%</span>{kohë}
- më parë</abbr>
- closed_html: Të mbyllura <abbr title='<span class="notranslate" translate="asnjë">%{titull}'>%</span>{kohë}
- më parë</abbr>
- created_by_html: Të Krijuar <abbr title='<span class="notranslate" translate="asnjë">%{titull}'>%</span>{kohë}
- më parë</abbr> nga %{user}
- deleted_by_html: Të Fshira <abbr title='<span class="notranslate" translate="asnjë">%{titull}'>%</span>{kohë}
- më parë</abbr> nga %{user}
- edited_by_html: të Redaktuara <abbr title='<span class="notranslate" translate="asnjë">%{titull}'>%</span>{kohë}
- më parë</abbr> nga %{user}
- closed_by_html: Të mbyllura <abbr title='<span class="notranslate" translate="asnjë">%{titull}'>%</span>{kohë}
- më parë</abbr> nga %{user}
+ created_html: Krijuar <abbr title='%{title}'>%{time} më parë</abbr>
+ closed_html: Të mbyllura <abbr title='%{title}'>%{time} më parë</abbr>
+ created_by_html: Të Krijuar <abbr title='%{title}'>%{time} më parë</abbr> nga
+ %{user}
+ deleted_by_html: Të Fshira <abbr title='%{title}'>%{time} më parë</abbr> nga %{user}
+ edited_by_html: të Redaktuara <abbr title='%{title}'>%{time} më parë</abbr> nga
+ %{user}
+ closed_by_html: Të mbyllura <abbr title='%{title}'>%{time} më parë</abbr> nga
+ %{user}
version: Versioni
in_changeset: Grupi i ndryshimeve
anonymous: Anonim
title: Ndryshim%{id}
belongs_to: Autori
node: Nyjet (%{count})
- node_paginated: Nyjet (<span class="notranslate" translate="asnjë">%{x}-%</span>{y}
- nga %{count})
+ node_paginated: Nyjet (%{x}-%{y} nga %{count})
way: Mënyra (%{count})
- way_paginated: Mënyra (<span class="notranslate" translate="asnjë">%{x}-%</span>{y}
- nga %{count})
+ way_paginated: Mënyra (%{x}-%{y} nga %{count})
relation: Marrëdhëniet (%{count})
- relation_paginated: Marrëdhëniet (<span class="notranslate" translate="asnjë">%{x}-%</span>{y}
- nga %{count})
+ relation_paginated: Marrëdhëniet (%{x}-%{y} nga %{count})
changesetxml: Ndryshim en XML
osmchangexml: Ndrsyhim i OSM-s en XML
feed:
way_paginated: Sträckor (%{x}-%{y} av %{count})
relation: Förbindelser (%{count})
relation_paginated: Förbindelser (%{x}-%{y} av %{count})
+ comment: Kommentarer (%{count})
+ hidden_commented_by: Dold kommentar från %{user} <abbr title='%{exact_time}'>%{when}
+ sedan</abbr>
+ commented_by: Kommentar från %{user} <abbr title='%{exact_time}'>%{when} sedan</abbr>
changesetxml: XML för ändringsset
osmchangexml: osmChange XML
feed:
title: Ändringsset %{id}
title_comment: Ändringsset %{id} - %{comment}
+ join_discussion: Logga in för att delta i diskussionen
+ discussion: Diskussion
node:
title: 'Nod: %{name}'
history_title: 'Nodhistorik: %{name}'
reopened_by_anonymous: Återaktiverad av anonym <abbr title='%{exact_time}'>%{when}
sedan</abbr>
hidden_by: Gömd av %{user} <abbr title='%{exact_time}'>%{when} sedan</abbr>
+ query:
+ introduction: Klicka på kartan för att hitta närliggande funktioner.
changeset:
changeset_paging_nav:
showing_page: Sida %{page}
timeout:
sorry: Kunde tyvärr inte lista begärda ändringsset. Begäran tog för lång tid
att hämta.
+ rss:
+ commented_at_html: Uppdaterades för %{when} sedan
+ full: Fullständig diskussion
diary_entry:
new:
title: Nytt dagboksinlägg
primary_link: På-/avfart till riksväg (primär väg)
proposed: Föreslagen väg
raceway: Racerbana
- residential: Bostadsgata
+ residential: Bostadsområde
rest_area: Rastplats
road: Väg
secondary: Länsväg (sekundärväg)
tram: Spårväg
tram_stop: Spårvagnshållplats
yard: Bangård
+ route:
+ bus: Busslinje
shop:
alcohol: Spritbutik
antiques: Antikviteter
text: Donera
learn_more: Läs mer
more: Mer
- sotm_header: State of the Map 2014
- sotm_line_1: 8:e årliga konferensen
- sotm_line_2: 7-9 november 2014
- sotm_line_3: Buenos Aires, Argentina
license_page:
foreign:
title: Om denna översättning
commented_note: '%{commenter} har återaktiverat en kartnotering du har kommenterat
på. Noteringen är nära %{place}.'
details: Mer detaljer om anteckningen finns på %{url}.
+ changeset_comment_notification:
+ greeting: Hej,
+ commented:
+ partial_changeset_with_comment: med kommentar '%{changeset_comment}'
+ partial_changeset_without_comment: utan kommentar
message:
inbox:
title: Inkorg
revoke: Upphäv!
flash: Denna blockering har upphävts.
period:
- one: 1 timma
+ one: 1 timme
other: '%{count} timmar'
partial:
show: Visa
createnote_disabled_tooltip: Zooma in för att lägga till anteckningar på kartan
map_notes_zoom_in_tooltip: Zooma in för att se kartanteckningar
map_data_zoom_in_tooltip: Zooma in för att se kartdata
+ changesets:
+ show:
+ comment: Kommentera
+ subscribe: Prenumerera
+ unsubscribe: Avsluta prenumeration
+ hide_comment: dölj
+ unhide_comment: Sluta dölja
notes:
new:
intro: Upptäckt ett misstag eller något som saknas? Låt andra karterare veta
comment: Kommentera
edit_help: Flytta kartan och zooma in på en plats som du vill redigera, klicka
sedan här.
+ query:
+ node: Nod
+ way: Sträcka
+ relation: Relation
+ nothing_found: Inga sökresultat hittades
+ error: 'Problem med att kontakta %{server}: %{error}'
+ timeout: Timeout vid kontakt med %{server}
redaction:
edit:
description: Beskrivning
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: Aswn
+# Author: ElangoRamanujam
# Author: Karthi.dr
# Author: Krishnaprasaths
# Author: Sank
platform: நடைமேடை
primary: முதன்மையான சாலை
primary_link: முதன்மையான சாலை
- residential: குடியிருப்பு
+ residential: குடியிருப்புச் சாலை
road: சாலை
secondary: இரண்டாம் நிலை சாலை
secondary_link: இரண்டாம் நிலை சாலை
way: మార్గాలు (%{count})
relation: సంబంధాలు (%{count})
relation_paginated: '%{count} లో %{x}-%{y} యొక్క సంబంధాలు'
+ discussion: చర్చ
relation:
title: 'సంబంధం: %{name}'
history_title: 'సంబంధపు చరిత్ర: %{name}'
note:
title: 'గమనిక: %{id}'
new_note: కొత్త గమనిక
- description: 'వివరణ:'
+ description: వివరణ
changeset:
changeset_paging_nav:
showing_page: పేజీ %{page}
list:
title_user: '%{user} చేసిన మార్పులు'
load_more: మరిన్ని చూపించు
+ rss:
+ full: పూర్తి చర్చ
diary_entry:
new:
title: కొత్త దినచర్య పద్దు
title: సందేహాలున్నాయా?
add_a_note:
title: సరిదిద్దేంత సమయం లేదా? ఒక గమనికను చేర్చండి!
+ fixthemap:
+ how_to_help:
+ title: ఎలా తోడ్పడాలి
help_page:
title: సహాయం పొందడం
about_page:
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: AnakngAraw
+# Author: Chitetskoy
# Author: Ianlopez1115
# Author: Jewel457
# Author: Jojit fb
map:
base:
standard: Pamantayan
- cycle_map: Mapa ng Ikot
- transport_map: Mapa ng Biyahe
+ cycle_map: Mapa ng Pagbibisikleta
+ transport_map: Mapa ng Transportasyon
mapquest: Bukas ang MapQuest
site:
edit_tooltip: Baguhin ang mapa
relation: İlişki
relation_member: Relasyon Üyesi
session: Oturum
+ trace: Rota
tracepoint: İzleme Noktası
tracetag: İzleme Etiketi
user: Kullanıcı
feed:
title: Değişiklik takımı %{id}
title_comment: Değişiklik takımı %{id} - %{comment}
+ join_discussion: Tartışmaya katılmak için lütfen giriş yap
+ discussion: Tartışma
node:
title: 'Nokta: %{name}'
history_title: 'Nokta Geçmişi: %{name}'
önceki</abbr> yorumu'
commented_by_anonymous: Anonim kullanıcının <abbr title='%{exact_time}'>%{when}
önceki</abbr> yorumu
+ query:
+ title: Özellikleri Göster
changeset:
changeset_paging_nav:
showing_page: 'Sayfa: %{page}'
load_more: Daha fazla
timeout:
sorry: Üzgünüz, değişiklik kayıtlarının listelenmesi fazla sürdü.
+ rss:
+ title_all: Değişiklik takımı tartışması
+ title_particular: 'Değişiklik takımı #%{changeset_id} tartışması'
+ full: Bütün tartışma
diary_entry:
new:
title: Yeni Günlük Girdisi
diğer kaynakları kullan.
planet:
title: OSM Gezegeni
+ overpass:
+ title: Overpass API
geofabrik:
title: Geofabrik İndirmeleri
metro:
text: Bağış Yapın
learn_more: Daha Fazla Bilgi
more: Daha fazla
- sotm_line_2: 7-9 Kasım 2014
- sotm_line_3: Buenos Aires, Arjantin
license_page:
foreign:
title: Bu çeviri hakkında
help:
url: https://help.openstreetmap.org/
title: help.openstreetmap.org
+ description: Bir soru sor veya OSM'ın soru-ve-cevap sitesinde yanıtları ara.
wiki:
url: http://wiki.openstreetmap.org/
title: wiki.openstreetmap.org
next: İleri
copyright_html: <span>©</span>OpenStreetMap<br>katkıda bulunanları
local_knowledge_title: Yerel Bilgi
+ community_driven_title: Katılım Kaynaklı
+ open_data_title: Açık Veri
partners_title: Ortaklar
notifier:
diary_comment_notification:
permalink: Kalıcı Bağlantı
shortlink: Kısa Bağlantı
createnote: Bir not ekle
+ license:
+ copyright: Telif Hakkı OpenStreetMap ve katılımcılar, açık lisans altında
edit:
user_page_link: kullanıcı sayfası
anon_edits: (%{link})
message: GPX dosya gönderme sistemi şu anda kullanılamıyor
offline:
heading: GPX Yükleme Servisi Çevrimdışı
+ georss:
+ title: OpenStreetMap GPS İzleri
oauth:
oauthorize_success:
verification: Doğrulama kodu %{code}.
edit_disabled_tooltip: Haritayı düzenlemek için yakınlaştırın
createnote_tooltip: Haritaya bir not ekle
createnote_disabled_tooltip: Not eklemek için haritayı yakınlaştır
+ map_notes_zoom_in_tooltip: Harita notları görmek için yakınlaştır
map_data_zoom_in_tooltip: Harita verileri görmek için yakınlaştır
+ queryfeature_tooltip: Özellikleri göster
+ queryfeature_disabled_tooltip: Özellikler görmek için yakınlaştır
notes:
new:
intro: Bir hata ya da eksik bir şey mi var? Bu sorunun düzeltilebilmesi için
# Author: Sev
# Author: Shirayuki
# Author: SteveR
+# Author: Ypryima
# Author: Yurkoy
# Author: Ата
# Author: Тест
way_paginated: Лінії (%{x}-%{y} із %{count})
relation: Зв’язки (%{count})
relation_paginated: Зв’язки (%{x}-%{y} із %{count})
+ comment: Коментарі (%{count})
+ hidden_commented_by: Прихований коментар від %{user} <abbr title='%{exact_time}'>%{when}
+ тому</abbr>
+ commented_by: Коментар від %{user} <abbr title='%{exact_time}'>%{when} тому</abbr>
changesetxml: XML набір змін
osmchangexml: osmChange XML
feed:
title: Набір змін %{id}
title_comment: Набір змін %{id} — %{comment}
+ join_discussion: Увійдіть в систему, щоб приєднатися до обговорення
+ discussion: Обговорення
node:
title: 'Точка: %{name}'
history_title: 'Історія точки: %{name}'
reopened_by_anonymous: Відновлено анонімом <abbr title='%{exact_time}'>%{when}
тому</abbr>
hidden_by: Приховано учасником %{user} <abbr title='%{exact_time}'>%{when} тому</abbr>
+ query:
+ title: Отримати об’єкти
+ introduction: Клацніть на мапі, щоб отримати дані про об’єкти поруч.
+ nearby: Об’єкти поруч
+ enclosing: Оточуючі об’єкти
changeset:
changeset_paging_nav:
showing_page: Сторінка %{page}
timeout:
sorry: На жаль, список наборів змін який ви запросили, потребує забагато часу
для завантаження.
+ rss:
+ title_all: Обговорення наборів змін в OpenStreetMap
+ title_particular: 'Обговорення набору змін OpenStreetMap #%{changeset_id}'
+ comment: 'Новий коментар до набору змін #%{changeset_id} від %{author}'
+ commented_at_html: Оновлено %{when} тому
+ commented_at_by_html: Оновлено %{when} тому користувачем %{user}
+ full: Все обговорення
diary_entry:
new:
title: Створити новий запис у щоденнику
primary_link: З’єднання з головною дорогою
proposed: Пропонована дорога
raceway: Гоночна траса
- residential: Ð\92Ñ\83лиÑ\86Ñ\8f місцевого значення
+ residential: Ð\94оÑ\80ога місцевого значення
rest_area: Зона відпочинку
road: Дорога
secondary: Другорядна дорога
tram: Трамвайні колії
tram_stop: Трамвайна зупинка
yard: Депо
+ route:
+ bus: Автобусний Маршрут
shop:
alcohol: Спиртні напої
antiques: Антикваріат
text: Підтримайте проект
learn_more: Дізнатись більше
more: Більше
- sotm_header: Мапа за станом на 2014 рік
- sotm_line_1: 8-ма щорічна конференція
- sotm_line_2: 7-9 листопада 2014 року
- sotm_line_3: Буенос-Айрес, Аргентина
license_page:
foreign:
title: Про цей переклад
commented_note: '%{commenter} поновив нотатку, прокоментовану вами, що знаходиться
біля %{place}.'
details: Докладніше про нотатку %{url}.
+ changeset_comment_notification:
+ greeting: Привіт,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} прокоментував один з ваших наборів
+ змін'
+ subject_other: '[OpenStreetMap] %{commenter} прокоментував набір змін, до
+ якого ви залишали свій коментар'
+ your_changeset: '%{commenter} залишив коментар до одного з ваших наборів змін,
+ створених %{time}'
+ commented_changeset: '%{commenter} залишив коментар до набору змін, що ви
+ переглядаєте, створений %{changeset_author} – %{time}'
+ partial_changeset_with_comment: з коментарем '%{changeset_comment}'
+ partial_changeset_without_comment: без коментарів
+ details: |2-
+
+ Більше деталей про зміни, які можуть бути знайдені в %{url}.
message:
inbox:
title: Вхідні
з кимось із %{people_mapping_nearby_link}?
people_mapping_nearby: користувачів поблизу вас
reply:
- wrong_user: Ви увійшли як `%{user}', але повідомлення, на яке ви хочете відповісти,
- бÑ\83ло вÑ\96дпÑ\80авлено не Ñ\86Ñ\8cомÑ\83 коÑ\80иÑ\81Ñ\82Ñ\83ваÑ\87Ñ\83. Ð\91Ñ\83дÑ\8c лаÑ\81ка, Ñ\83вÑ\96йдÑ\96Ñ\82Ñ\8c з пÑ\80авилÑ\8cним Ñ\96мâ\80\99Ñ\8fм
- користувача щоб відповісти.
+ wrong_user: Ви увійшли як „%{user}“, але повідомлення, на яке ви хочете відповісти,
+ бÑ\83ло надÑ\96Ñ\81лане не вам. Ð\91Ñ\83дÑ\8c лаÑ\81ка, Ñ\83вÑ\96йдÑ\96Ñ\82Ñ\8c з вÑ\96дповÑ\96дним Ñ\96мâ\80\99Ñ\8fм коÑ\80иÑ\81Ñ\82Ñ\83ваÑ\87а
+ щоб відповісти.
read:
title: Перегляд повідомлення
from: Від
unread_button: Позначити як непрочитане
back: Назад
to: 'Кому:'
- wrong_user: Ви увійшли як `%{user}', але повідомлення, яке ви хочете прочитати,
- не бÑ\83ло вÑ\96дпÑ\80авлено Ñ\86им коÑ\80иÑ\81Ñ\82Ñ\83ваÑ\87ем, Ñ\87и пÑ\80изнаÑ\87ено длÑ\8f Ñ\86Ñ\8cого коÑ\80иÑ\81Ñ\82Ñ\83ваÑ\87а.
- Будь ласка, увійдіть під правильним ім'ям користувача, щоб прочитати його.
+ wrong_user: Ви увійшли як „%{user}“, але повідомлення, яке ви хочете прочитати,
+ не бÑ\83ло надÑ\96Ñ\81лане вами, Ñ\87и пÑ\80изнаÑ\87ено длÑ\8f ваÑ\81. Ð\91Ñ\83дÑ\8c лаÑ\81ка, Ñ\83вÑ\96йдÑ\96Ñ\82Ñ\8c пÑ\96д вÑ\96дповÑ\96дним
+ ім’ям користувача, щоб прочитати його.
sent_message_summary:
delete_button: Вилучити
mark:
createnote_disabled_tooltip: Треба наблизитись для додання нотатки
map_notes_zoom_in_tooltip: Збільшить масштаб, щоб побачити більше нотаток
map_data_zoom_in_tooltip: Збільшить, щоб побачити дані мапи
+ queryfeature_tooltip: Отримати об’єкти
+ queryfeature_disabled_tooltip: Наблизитись для отримання об’єктів
+ changesets:
+ show:
+ comment: Коментар
+ subscribe: Підписатися
+ unsubscribe: Відписатись
+ hide_comment: приховати
+ unhide_comment: показати
notes:
new:
intro: Помітили помилку або чогось не вистачає? Дайте знати іншим картографам,
comment: Коментар
edit_help: Перемістіть мапу і наблизьтесь до місця, яке ви бажаєте змінити, потім
клацніть тут.
+ query:
+ node: Точка
+ way: Лінія
+ relation: Зв’язок
+ nothing_found: Об’єкти не знайдені
+ error: 'Помилка зв’язку %{server}: %{error}'
+ timeout: Сервер не відповідає %{server}
redaction:
edit:
description: Опис
way_paginated: Các lối (%{x}–%{y} trên %{count})
relation: Các quan hệ (%{count})
relation_paginated: Các quan hệ (%{x}–%{y} trên %{count})
+ comment: Bình luận (%{count})
+ hidden_commented_by: Bình luận ẩn của %{user} <abbr title='%{exact_time}'>cách
+ đây %{when}</abbr>
+ commented_by: Bình luận của %{user} <abbr title='%{exact_time}'>cách đây %{when}</abbr>
changesetxml: Bộ thay đổi XML
osmchangexml: osmChange XML
feed:
title: Bộ thay đổi %{id}
title_comment: Bộ thay đổi %{id} – %{comment}
+ join_discussion: Đăng nhập để tham gia thảo luận
+ discussion: Thảo luận
node:
title: 'Nốt: %{name}'
history_title: 'Lịch sử Nốt: %{name}'
reopened_by: Mở lại bởi %{user} <abbr title='%{exact_time}'>cách đây %{when}</abbr>
reopened_by_anonymous: Mở lại vô danh <abbr title='%{exact_time}'>cách đây %{when}</abbr>
hidden_by: Ẩn bởi %{user} <abbr title='%{exact_time}'>cách đây %{when}</abbr>
+ query:
+ title: Thăm dò Yếu tố
+ introduction: Nhấn chuột vào bản đồ để tìm những yếu tố lân cận.
+ nearby: Yếu tố lân cận
+ enclosing: Yếu tố bao gồm
changeset:
changeset_paging_nav:
showing_page: Trang %{page}
load_more: Tải tiếp
timeout:
sorry: Rất tiếc, lấy danh sách bộ thay đổi tốn quá nhiều thì giờ.
+ rss:
+ title_all: Thảo luận về bộ thay đổi tại OpenStreetMap
+ title_particular: 'Thảo luận về bộ thay đổi #%{changeset_id} tại OpenStreetMap'
+ comment: 'Bình luận mới về bộ thay đổi #%{changeset_id} của %{author}'
+ commented_at_html: Được cập nhật cách đây %{when}
+ commented_at_by_html: Được %{user} cập nhật cách đây %{when}
+ full: Thảo luận đầy đủ
diary_entry:
new:
title: Mục Nhật ký Mới
tram: Đường Xe điện
tram_stop: Ga Xép Điện
yard: Sân ga
+ route:
+ bus: Tuyến Xe buýt
shop:
alcohol: Tiệm Rượu
antiques: Tiệm Đồ cổ
text: Quyên góp
learn_more: Tìm hiểu Thêm
more: Thêm
- sotm_header: Tình trạng Bản đồ 2014
- sotm_line_1: Hội nghị Hàng năm Lần thứ 8
- sotm_line_2: Ngày 7–9 tháng 11 năm 2014
- sotm_line_3: Buenos Aires, Argentina
license_page:
foreign:
title: Thông tin về bản dịch này
commented_note: '%{commenter} đã mở lại một ghi chú mà bạn đã bình luận, ghi
chú gần %{place}.'
details: Xem chi tiết về ghi chú tại %{url}.
+ changeset_comment_notification:
+ greeting: Chào bạn,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter} đã bình luận về một bộ thay đổi
+ của bạn'
+ subject_other: '[OpenStreetMap] %{commenter} đã bình luận về một bộ thay đổi
+ mà bạn đang quan tâm'
+ your_changeset: '%{commenter} đã bình luận về một bộ thay đổi do bạn lưu vào
+ %{time}'
+ commented_changeset: '%{commenter} đã bình luận về một bộ thay đổi mà bạn
+ đang theo dõi do %{changeset_author} lưu vào %{time}'
+ partial_changeset_with_comment: với lời bình luận “%{changeset_comment}”
+ partial_changeset_without_comment: không có lời bình luận
+ details: Xem chi tiết về bộ thay đổi tại %{url}.
message:
inbox:
title: Hộp thư
createnote_disabled_tooltip: Phóng to để thêm một ghi chú vào bản đồ
map_notes_zoom_in_tooltip: Phóng to để xem các ghi chú trên bản đồ
map_data_zoom_in_tooltip: Phóng to để xem dữ liệu bản đồ
+ queryfeature_tooltip: Thăm dò yếu tố
+ queryfeature_disabled_tooltip: Phóng to để thăm dò yếu tố
+ changesets:
+ show:
+ comment: Bình luận
+ subscribe: Theo dõi
+ unsubscribe: Không theo dõi
+ hide_comment: ẩn
+ unhide_comment: bỏ ẩn
notes:
new:
intro: Bản đồ có thiếu gì hay sai lầm không? Hãy báo cho chúng tôi để chúng
comment: Bình luận
edit_help: Di chuyển bản đồ và phóng to một vị trí mà bạn muốn sửa đổi, rồi nhấn
chuột vào đây.
+ query:
+ node: Nốt
+ way: Lối
+ relation: Quan hệ
+ nothing_found: Không tìm thấy yếu tố nào
+ error: 'Lỗi khi kết nối với %{server}: %{error}'
+ timeout: Hết thời gian kết nối với %{server}
redaction:
edit:
description: Miêu tả
dir: ltr
time:
formats:
- friendly: '%Y年%B%e日 %H:%M'
- blog: '%Y年%B%e日'
+ friendly: '%Y 年%B %e 日 %H:%M'
+ blog: '%Y年 %B e日'
activerecord:
models:
acl: 访问控制列表
printable_name:
with_version: '%{id},版本 %{version}'
editor:
- default: 默认 (目前为 %{name})
+ default: 默认(目前为 %{name})
potlatch:
name: Potlatch 1
description: Potlatch 1 (浏览器内编辑器)
version: 版本
in_changeset: 修改集合
anonymous: 匿名用户
- no_comment: (无注释)
+ no_comment: (无注解)
part_of: 属于
download_xml: 下载 XML
view_history: 查看历史
way_paginated: 路径 (%{x}-%{y},共 %{count})
relation: 关系 (%{count})
relation_paginated: 关系 (%{x}-%{y},共 %{count})
+ comment: 评论 (%{count})
+ hidden_commented_by: <abbr title='%{exact_time}'>%{when}前</abbr>来自 %{user} 的隐藏评论
+ commented_by: <abbr title='%{exact_time}'>%{when}前</abbr>来自 %{user} 的评论
changesetxml: 修改集合 XML
osmchangexml: osm 修改 XML
feed:
title: 修改集合 %{id}
title_comment: 修改集合 %{id} - %{comment}
+ join_discussion: 登录以加入讨论
+ discussion: 讨论
node:
title: 节点:%{name}
history_title: 节点历史:%{name}
entry: 关系 %{relation_name}
entry_role: 关系 %{relation_name} (作为 %{relation_role})
not_found:
- sorry: '对ä¸\8dèµ·ï¼\8cæ\89¾ä¸\8då\88°%{type} #%{id}。'
+ sorry: '对ä¸\8dèµ·ï¼\8cæ\97 æ³\95æ\89¾å\88° %{type} #%{id}。'
type:
node: 节点
way: 路径
start_rjs:
feature_warning: 正在载入 %{num_features} 个特征,这可能使您的浏览器变慢或失去响应。您确定想要显示该数据吗?
load_data: 载入数据
- loading: 正在载入……
+ loading: 正在载入...
tag_details:
tags: 标签
wiki_link:
wikipedia_link: 维基百科上的 %{page} 条目
telephone_link: 请拨打 %{phone_number}
note:
- title: 注释:%{id}
- new_note: 新注释
+ title: 笔记:%{id}
+ new_note: 新笔记
description: 说明
- open_title: 未解决注释#%{note_name}
- closed_title: 已解决注释#%{note_name}
- hidden_title: 隐藏注释#%{note_name}
+ open_title: '未解决笔记 #%{note_name}'
+ closed_title: '已解决笔记 #%{note_name}'
+ hidden_title: '隐藏笔记 #%{note_name}'
open_by: '%{user} 创建于 <abbr title=''%{exact_time}''>%{when} 前</abbr>'
open_by_anonymous: 匿名用户创建于 <abbr title='%{exact_time}'>%{when} 前</abbr>
commented_by: '%{user} 于 <abbr title=''%{exact_time}''>%{when} 前</abbr>发表的评论'
commented_by_anonymous: 匿名用户于 <abbr title='%{exact_time}'>%{when} 前</abbr>发表的评论
closed_by: '%{user} 解决于 <abbr title=''%{exact_time}''>%{when} 前</abbr>'
closed_by_anonymous: 匿名用户解决于 <abbr title='%{exact_time}'>%{when} 前</abbr>
- reopened_by: '%{user} 重启于 <abbr title=''%{exact_time}''>%{when} 前</abbr>'
- reopened_by_anonymous: 匿名用户重启于 <abbr title='%{exact_time}'>%{when} 前</abbr>
+ reopened_by: '%{user} 重新激活于 <abbr title=''%{exact_time}''>%{when} 前</abbr>'
+ reopened_by_anonymous: 匿名用户重新激活于 <abbr title='%{exact_time}'>%{when} 前</abbr>
hidden_by: '%{user} 隐藏于 <abbr title=''%{exact_time}''>%{when} 前</abbr>'
+ query:
+ title: 查询特征
+ introduction: 点击地图以查找附近特征。
+ nearby: 附近特征
+ enclosing: 内测功能
changeset:
changeset_paging_nav:
showing_page: 第 %{page} 页
id: ID
saved_at: 保存于
user: 用户
- comment: 注释
+ comment: 注解
area: 区域
list:
title: 修改集合
load_more: 载入更多
timeout:
sorry: 对不起,检索您请求的修改集合的列表时间过长。
+ rss:
+ title_all: OpenStreetMap 修改集合讨论
+ title_particular: 'OpenStreetMap 修改集合 #%{changeset_id} 讨论'
+ comment: '%{author} 对修改集合 #%{changeset_id} 的新评论'
+ commented_at_html: 更新于 %{when} 前
+ commented_at_by_html: '%{user} 上传于 %{when} 前'
+ full: 完整讨论
diary_entry:
new:
title: 新日记文章
reply_link: 回复该文章
comment_count:
zero: 没有评论
- other: '%{count}条评论'
+ one: '%{count} 个评论'
+ other: '%{count} 个评论'
edit_link: 编辑该文章
hide_link: 隐藏该文章
confirm: 确认
tram: 电车轨道
tram_stop: 有轨电车站
yard: 车辆段
+ route:
+ bus: 公交路线
shop:
- alcohol: 酒类销售执照
+ alcohol: 无许可证
antiques: 古玩店
art: 艺术品店
bakery: 面包店
toys: 玩具店
travel_agency: 旅行社
video: 音像店
- wine: 酒类销售执照
+ wine: 无执照
"yes": 商店
tourism:
alpine_hut: 高山小屋
text: 捐款
learn_more: 了解更多
more: 更多
- sotm_header: 2014年地图状态
- sotm_line_1: 第8届年会
- sotm_line_2: 2014年11月7~9日
- sotm_line_3: 阿根廷布宜诺斯
license_page:
foreign:
title: 关于本译文
contributors_nl_html: <strong>荷兰</strong>:含有© AND data, 2007(<a href="http://www.and.com">www.and.com</a>)
contributors_nz_html: <strong>新西兰</strong>:包含来自新西兰土地信息部的数据。Crown 版权所有。
contributors_za_html: <strong>南非</strong>:包含来自<a href="http://www.ngi.gov.za/">行政局:国家地球空间信息</a>,国家版权所有。
- contributors_gb_html: <strong>英国</strong>:包含来自 Ordnance 的调查数据,© 皇家版权所有及数据库权利,2010-12。
+ contributors_gb_html: <strong>英国</strong>:包含来自 Ordnance 的调查数据,© Crown 版权所有及数据库权利,2010-12。
contributors_footer_1_html: |-
关于其进一步的细节,及其他被用来帮助提升 OpenStreetMap 的来源,详见 OpenStreetMap Wiki 的<a
href="http://wiki.openstreetmap.org/wiki/Contributors">贡献者页面</a>。
href='%{help_url}'>点此获取帮助</a>。
start_mapping: 开始绘制地图
add_a_note:
- title: 没有时间编辑?添加注释!
- paragraph_1_html: 如果您这是想做一些微小改动而没有时间登录来学习如何编辑,那做一些注释是非常容易的。
- paragraph_2_html: 只要去<a href='%{map_url}'>地图</a>并单击注释图标:<span class='icon note'></span>。这将在地图上添加一个标记,您可以拖动它,并添加您的注释,然后单击保存,其他人可以确认是否正确。
+ title: 没有时间编辑?添加笔记!
+ paragraph_1_html: 如果您这是想做一些微小改动而没有时间登录来学习如何编辑,那做一些笔记是非常容易的。
+ paragraph_2_html: 只要去<a href='%{map_url}'>地图</a>并单击笔记图标:<span class='icon note'></span>。这将在地图上添加一个标记,您可以拖动它,并添加您的笔记,然后单击保存,其他人可以确认是否正确。
fixthemap:
title: 报告问题/修正地图
how_to_help:
subject: '[OpenStreetMap] 确认您的电子邮件地址'
email_confirm_plain:
greeting: 您好,
- hopefully_you: 有人(希望是您)想要在%{server_url}将他的电子邮件地址变更为 %{new_address}。
- click_the_link: 如果这是您,请点击下面的链接以确认变更。
+ hopefully_you: 有人(希望是您)想要在%{server_url}将他的电子邮件地址修改为 %{new_address}。
+ click_the_link: 如果这是您,请点击下面的链接以确认修改。
email_confirm_html:
greeting: 您好,
- hopefully_you: 某人(希望是您)想要变更他们的电子邮件地址 %{server_url} 为 %{new_address}。
- click_the_link: 如果这是您,请点击下面的链接以确认变更。
+ hopefully_you: 某人(希望是您)想要修改他们的电子邮件地址 %{server_url} 为 %{new_address}。
+ click_the_link: 如果这是您,请点击下面的链接以确认修改。
lost_password:
subject: '[OpenStreetMap] 密码重置请求'
lost_password_plain:
anonymous: 匿名用户
greeting: 您好,
commented:
- subject_own: '[OpenStreetMap] %{commenter} 评论了您的一个注释'
- subject_other: '[OpenStreetMap] %{commenter} 评论了您感兴趣的一个注释'
- your_note: '%{commenter} 评论了您在 %{place} 附近的一个注释。'
- commented_note: '%{commenter} 评论了您感兴趣的一个地图注释。该注释位于 %{place} 附近。'
+ subject_own: '[OpenStreetMap] %{commenter} 评论了您的一个笔记'
+ subject_other: '[OpenStreetMap] %{commenter} 评论了您感兴趣的一个笔记'
+ your_note: '%{commenter} 评论了您在 %{place} 附近的一个笔记。'
+ commented_note: '%{commenter} 评论了您感兴趣的一个地图笔记。该笔记位于 %{place} 附近。'
closed:
- subject_own: '[OpenStreetMap] %{commenter} 解决了您的一个注释'
- subject_other: '[OpenStreetMap]%{commenter}已经解决了一个您感兴趣的注释'
- your_note: '%{commenter} 解决了您在 %{place} 附近的一个注释。'
- commented_note: '%{commenter} 解决了您感兴趣的一个地图注释。该注释位于 %{place} 附近。'
+ subject_own: '[OpenStreetMap] %{commenter} 解决了您的一个笔记'
+ subject_other: '[OpenStreetMap] %{commenter} 已经解决了一个您感兴趣的笔记'
+ your_note: '%{commenter} 解决了您在 %{place} 附近的一个笔记。'
+ commented_note: '%{commenter} 解决了您感兴趣的一个地图笔记。该笔记位于 %{place} 附近。'
reopened:
- subject_own: '[OpenStreetMap] %{commenter} 重新激活了您的一个注释'
- subject_other: '[OpenStreetMap] %{commenter} 重新激活了您感兴趣的一个注释'
- your_note: '%{commenter} 重新激活了您在 %{place} 附近的一个注释。'
- commented_note: '%{commenter} 重新激活了您感兴趣的一个地图注释。该注释位于 %{place} 附近。'
- details: 更多关于注释的详细信息可以在%{url}找到。
+ subject_own: '[OpenStreetMap] %{commenter} 重新激活了您的一个笔记'
+ subject_other: '[OpenStreetMap] %{commenter} 重新激活了您感兴趣的一个笔记'
+ your_note: '%{commenter} 重新激活了您在 %{place} 附近的一个笔记。'
+ commented_note: '%{commenter} 重新激活了您感兴趣的一个地图笔记。该笔记位于 %{place} 附近。'
+ details: 更多关于笔记的详细信息可以在%{url}找到。
+ changeset_comment_notification:
+ greeting: 您好,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter}在您的一个修改集合中做出了评论'
+ subject_other: '[OpenStreetMap] %{commenter} 评论了您感兴趣的一个修改集合'
+ your_changeset: '%{commenter} 在您于 %{time} 创建的一个修改集合留了言'
+ commented_changeset: '%{commenter} 在您监视的由 %{changeset_author} 于 %{time} 创建的一个地图修改集合中留了言'
+ partial_changeset_with_comment: 带评论“%{changeset_comment}”
+ partial_changeset_without_comment: 没有评论
+ details: 更多关于修改集合的详细信息可以在 %{url} 找到。
message:
inbox:
title: 收件箱
js_2: OpenStreetMap 使用 JavaScript 让地图更平滑。
permalink: 固定链接
shortlink: 短链接
- createnote: 添加注释
+ createnote: 添加笔记
license:
copyright: 版权所有 OpenStreetMap及其贡献者,采用开放授权协议
remote_failed: 编辑失败 - 请确保已加载 JOSM 或 Merkaartor 并启用了远程控制
Adobe.com 下载 Flash Player</a>。<a href="http://wiki.openstreetmap.org/wiki/Editing">其他几种选择</a>也可以用来编辑
OpenStreetMap。
potlatch_unsaved_changes: 您有尚未保存的修改。(要在 Potlatch 中保存,如果在在线模式下编辑,您需要取消选择当前的路径或节点;或者点击保存,如果有保存按钮。)
- potlatch2_not_configured: 尚未配置 Potlatch 2 - 请参阅http://wiki.openstreetmap.org/wiki/The_Rails_Port#Potlatch_2
- for more information
+ potlatch2_not_configured: 尚未配置 Potlatch 2 - 请参阅 http://wiki.openstreetmap.org/wiki/The_Rails_Port#Potlatch_2
+ 以获得更多信息
potlatch2_unsaved_changes: 您有尚未保存的修改。(要在 Potlatch 2 中保存,您应该点击保存。)
id_not_configured: iD 尚未配置
no_iframe_support: 您的浏览器不支持 HTML 嵌入式框架,这是此功能所需要的。
table:
entry:
motorway: 高速公路
- trunk: 干线道路
+ trunk: å\9f\8eå¸\82å¿«é\80\9f道路
primary: 一级道路
secondary: 二级道路
unclassified: 未分类道路
edit: 编辑
preview: 预览
markdown_help:
- title_html: 使用<a href="http://daringfireball.net/projects/markdown/">Markdown</a>解析
+ title_html: 使用 <a href="http://daringfireball.net/projects/markdown/">Markdown</a>
+ 解析
headings: 标题
heading: 标题
subheading: 副标题
url: URL
trace:
visibility:
- private: 私有(只以匿名分享,无顺序的点)
- public: 公开(以匿名显示于轨迹清单,无顺序的点)
- trackable: 可追踪(只以匿名分享,有时间戳记顺序的点)
- identifiable: 可识别(以可识别的方式显示于轨迹清单,有时间戳记顺序的点)
+ private: 私有 (只以匿名分享,无顺序的点)
+ public: 公开 (以匿名显示于轨迹清单,无顺序的点)
+ trackable: 可追踪 (只以匿名分享,有时间戳记顺序的点)
+ identifiable: 可识别 (以可识别的方式显示于轨迹清单,有时间戳记顺序的点)
create:
- upload_trace: 上传GPS轨迹
- trace_uploaded: 你的 GPX 文件已经被上传,正等待被输入数据库。这通常在半小时之内,当上传结束后会发邮件通知你。
+ upload_trace: 上传 GPS 轨迹
+ trace_uploaded: 您的 GPX 文件已经被上传,正等待被输入数据库。这通常在半小时之内,当上传结束后会发邮件通知您。
edit:
- title: 编辑轨迹%{name}
- heading: 编辑轨迹%{name}
+ title: 编辑轨迹 %{name}
+ heading: 编辑轨迹 %{name}
filename: 文件名:
download: 下载
uploaded_at: 上传于:
description: 说明:
tags: 标签:
tags_help: 用逗号分隔
- save_button: 保存变更
+ save_button: 保存修改
visibility: 可见性:
visibility_help: 这是什么意思?
visibility_help_url: http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
trace_form:
- upload_gpx: 上传GPX文件:
+ upload_gpx: 上传 GPX 文件:
description: 说明:
tags: 标签:
tags_help: 用逗号分隔
trace_header:
upload_trace: 上传轨迹
see_all_traces: 查看所有轨迹
- see_your_traces: 查看你的轨迹
- traces_waiting: 你有 %{count} 条轨迹正等待上传,请在上传更多轨迹前等待这些传完,以确保不会给其他用户造成队列拥堵。
+ see_your_traces: 查看您的轨迹
+ traces_waiting: 您有 %{count} 条轨迹正等待上传,请在上传更多轨迹前等待这些传完,以确保不会给其他用户造成队列拥堵。
trace_optionals:
tags: 标签
view:
- title: 查看轨迹%{name}
- heading: 查看轨迹%{name}
+ title: 查看轨迹 %{name}
+ heading: 查看轨迹 %{name}
pending: 挂起
filename: 文件名:
download: 下载
trace_not_found: 未找到轨迹!
visibility: 可见性:
trace_paging_nav:
- showing_page: 第%{page}页
+ showing_page: 第 %{page} 页
older: 较旧轨迹
newer: 较新轨迹
trace:
pending: 挂起
- count_points: '%{count}个点'
- ago: '%{time_in_words_ago}前'
+ count_points: '%{count} 个点'
+ ago: '%{time_in_words_ago} 前'
more: 更多
trace_details: 查看轨迹详情
view_map: 查看地图
in: 于
map: 地图
list:
- public_traces: 公开GPS轨迹
- your_traces: 你的GPS轨迹
- public_traces_from: 来自%{user}的公开GPS轨迹
- description: 浏览最近上传的GPS轨迹
- tagged_with: 以%{tags}标记
- empty_html: 尚无轨迹。<a href='%{upload_link}'>上传新轨迹</a>或在<a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>维基页面</a>上了解
+ public_traces: 公开 GPS 轨迹
+ your_traces: 您的 GPS 轨迹
+ public_traces_from: 来自 %{user} 的公开 GPS 轨迹
+ description: 浏览最近上传的 GPS 轨迹
+ tagged_with: 以 %{tags} 标记
+ empty_html: 尚无轨迹。<a href='%{upload_link}'>上传新轨迹</a>或在<a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>wiki页面</a>上了解
GPS 轨迹。
delete:
scheduled_for_deletion: 计划删除的轨迹
heading: GPX 脱机存储
message: GPX 文件存储和上传系统当前不可用。
georss:
- title: OpenStreetMap GPS轨迹
+ title: OpenStreetMap GPS 轨迹
description:
description_with_count:
- one: GPX file with %{count} point from %{user}
- other: 来自%{user}的带%{count}点的GPX文件
- description_without_count: 来自%{user}的GPX文件
+ one: 来自 %{user} 的带 %{count} 点的GPX文件
+ other: 来自 %{user} 的带 %{count} 点的GPX文件
+ description_without_count: 来自 %{user} 的 GPX 文件
application:
require_cookies:
- cookies_needed: 你似乎停用了cookie - 请在继续操作前启用你的浏览器cookie。
+ cookies_needed: 您似乎停用了 cookie - 请在继续操作前启用您的浏览器 cookie。
require_moderator:
not_a_moderator: 必须为管理员才能执行该操作。
setup_user_auth:
- blocked: 你对 API 的访问已经被阻挡了。请登录到网站以了解更多信息。
- need_to_see_terms: 你对 API 的访问已暂时中止。请登录到网站以查看贡献者条款。你不需要同意,但必须查看它们。
+ blocked: 您对 API 的访问已经被阻挡了。请登录到网站以了解更多信息。
+ need_to_see_terms: 您对 API 的访问已暂时中止。请登录到网站以查看贡献者条款。您不需要同意,但必须查看它们。
oauth:
oauthorize:
- title: 授权访问你的账户
- request_access: '%{user},应用程序 %{app_name} 要求访问你的帐户。请确定你要让此应用程序使用下列功能。你可以按照自己的意思选择几个。'
+ title: 授权访问您的账户
+ request_access: '%{user},应用程序 %{app_name} 要求访问您的帐户。请确定您要让此应用程序使用下列功能。您可以按照自己的意思选择几个。'
allow_to: 允许客户应用程序:
- allow_read_prefs: 读取你的用户设置。
- allow_write_prefs: 修改你的用户设置。
+ allow_read_prefs: 读取您的用户首选项。
+ allow_write_prefs: 修改您的用户首选项。
allow_write_diary: 创建日记文章,评论和交朋友。
allow_write_api: 修改地图。
- allow_read_gpx: 读取你的私人 GPS 轨迹。
- allow_write_gpx: 上传GPS轨迹。
- allow_write_notes: 修改注释。
+ allow_read_gpx: 读取您的私人 GPS 轨迹。
+ allow_write_gpx: 上传 GPS 轨迹。
+ allow_write_notes: 修改笔记。
oauthorize_success:
title: 已允许授权申请
- allowed: 你已授权 %{app_name} 应用访问你的账户。
- verification: 验证码为%{code}。
+ allowed: 您已授权 %{app_name} 应用访问您的账户。
+ verification: 验证码为 %{code}。
oauthorize_failure:
title: 授权请求失败
- denied: 你已经拒绝应用程序%{app_name}访问你的账户。
+ denied: 您已经拒绝应用程序 %{app_name} 访问您的账户。
invalid: 授权令牌无效。
revoke:
- flash: 你已经注销 %{application} 的令牌。
+ flash: 您已经注销 %{application} 的令牌。
oauth_clients:
new:
title: 注册新应用程序
submit: 注册
edit:
- title: 编辑你的应用程序
+ title: 编辑您的应用程序
submit: 编辑
show:
- title: '%{app_name}的OAuth详细信息'
+ title: '%{app_name} 的 OAuth 详细信息'
key: 用户键:
secret: 用户密钥:
url: 请求令牌 URL:
access_url: 访问令牌 URL:
authorize_url: 授权 URL:
- support_notice: 我们支持HMAC-SHA1(推荐)和RSA-SHA1签名。
+ support_notice: 我们支持 HMAC-SHA1 (推荐)和 RSA-SHA1 签名。
edit: 编辑详细信息
delete: 删除客户端
- confirm: 你确定吗?
+ confirm: 您确定吗?
requests: 向用户请求以下权限:
- allow_read_prefs: 读取他们的用户设置。
- allow_write_prefs: 修改他们的用户设置。
+ allow_read_prefs: 读取他们的用户首选项。
+ allow_write_prefs: 修改他们的用户首选项。
allow_write_diary: 创建日记文章、评论和交朋友。
allow_write_api: 修改地图。
- allow_read_gpx: 读取他们的私人GPS轨迹。
- allow_write_gpx: 上传GPS轨迹。
- allow_write_notes: 修改注释。
+ allow_read_gpx: 读取他们的私人 GPS 轨迹。
+ allow_write_gpx: 上传 GPS 轨迹。
+ allow_write_notes: 修改笔记。
index:
- title: 我的OAuth详细信息
+ title: 我的 OAuth 详细信息
my_tokens: 我的已授权应用程序
- list_tokens: 下列令牌已发给你名下的应用程序:
+ list_tokens: 下列令牌已发给您名下的应用程序:
application: 应用程序名称
issued_at: 发出于
revoke: 撤销!
my_apps: 我的客户应用程序
- no_apps: 你是否有想要注册使用 %{oauth} 标准的应用程序?你必须先注册你的网页应用程序,才能对这个服务进行OAuth 要求。
- registered_apps: 你已注册以下客户应用程序:
- register_new: 注册你的应用程序
+ no_apps: 您是否有想要注册使用 %{oauth} 标准的应用程序?您必须先注册您的网页应用程序,才能对这个服务进行 OAuth 要求。
+ registered_apps: 您已注册以下客户应用程序:
+ register_new: 注册您的应用程序
form:
name: 名称
required: 必要
callback_url: 回调 URL
support_url: 支持 URL
requests: 向用户请求以下权限:
- allow_read_prefs: 读取他们的用户设置。
- allow_write_prefs: 修改他们的用户设置。
+ allow_read_prefs: 读取他们的用户首选项。
+ allow_write_prefs: 修改他们的用户首选项。
allow_write_diary: 创建日记文章、评论和交朋友。
allow_write_api: 修改地图。
- allow_read_gpx: 读取他们的私有GPS轨迹。
- allow_write_gpx: 上传GPS轨迹。
- allow_write_notes: 修改注释。
+ allow_read_gpx: 读取他们的私有 GPS 轨迹。
+ allow_write_gpx: 上传 GPS 轨迹。
+ allow_write_notes: 修改笔记。
not_found:
- sorry: 对不起,无法找到那个%{type}。
+ sorry: 对不起,无法找到那个 %{type}。
create:
flash: 注册信息成功
update:
lost password link: 忘记密码?
login_button: 登录
register now: 现在就注册
- with username: 已经有OpenStreetMap账户?请使用你的用户名和密码登录:
- with openid: 或使用OpenID登录:
+ with username: 已经有 OpenStreetMap 账户?请使用您的用户名和密码登录:
+ with openid: 或使用 OpenID 登录:
new to osm: 第一次来到 OpenStreetMap?
- to make changes: 要修改 OpenStreetMap 的数据,你必须拥有一个帐户。
+ to make changes: 要修改 OpenStreetMap 的数据,您必须拥有一个帐户。
create account minute: 创建账户。只需花费一分钟。
no account: 没有账户?
- account not active: 对不起,你的账户尚未激活。<br />请点击在账户确认邮件中的链接来激活你的账户,或<a href="%{reconfirm}">请求新的确认电子邮件</a>。
- account is suspended: 对不起,你的帐户因可疑活动已被暂停。<br />如果你想讨论这个,请联系<a href="%{webmaster}">网站管理员</a>。
- auth failure: 对不起,凭这些信息你无法登录。
- openid missing provider: 对不起,无法联系你的 OpenID 提供者
- openid invalid: 对不起,你的 OpenID 格式似乎不正确
- openid_logo_alt: 使用OpenID登录
+ account not active: 对不起,您的账户尚未激活。<br />请点击在账户确认邮件中的链接来激活您的账户,或<a href="%{reconfirm}">请求新的确认电子邮件</a>。
+ account is suspended: 对不起,您的帐户因可疑活动已被暂停。<br />如果您想讨论这个,请联系<a href="%{webmaster}">网站管理员</a>。
+ auth failure: 对不起,凭这些信息您无法登录。
+ openid missing provider: 对不起,无法联系您的 OpenID 提供者
+ openid invalid: 对不起,您的 OpenID 格式似乎不正确
+ openid_logo_alt: 使用 OpenID 登录
openid_providers:
openid:
- title: OpenID登录
- alt: 使用OpenID URL登录
+ title: OpenID 登录
+ alt: 使用 OpenID URL 登录
google:
- title: Google登录
- alt: 使用Google OpenID登录
+ title: Google 登录
+ alt: 使用Google OpenID 登录
yahoo:
- title: Yahoo登录
- alt: 使用Yahoo OpenID登录
+ title: Yahoo 登录
+ alt: 使用 Yahoo OpenID 登录
wordpress:
- title: Wordpress登录
- alt: 使用Wordpress OpenID登录
+ title: Wordpress 登录
+ alt: 使用 Wordpress OpenID 登录
aol:
- title: AOL登录
- alt: 使用AOL OpenID登录
+ title: AOL 登录
+ alt: 使用 AOL OpenID 登录
logout:
title: 退出
- heading: 退出OpenStreetMap
+ heading: 退出 OpenStreetMap
logout_button: 退出
lost_password:
title: 忘记密码
heading: 忘记密码?
email address: 电子邮件地址:
new password button: 重置密码
- help_text: 输入你的电子邮件地址来注册,我们会寄出链接给它,这样你就可以用它来重置密码。
- notice email on way: 很遗憾你遗失了密码:-(不过一封电子邮件已经发往你的邮箱,你很快就可以重置密码了。
+ help_text: 输入您的电子邮件地址来注册,我们会寄出链接给它,这样您就可以用它来重置密码。
+ notice email on way: 很遗憾您遗失了密码:-(不过一封电子邮件已经发往您的邮箱,您很快就可以重置密码了。
notice email cannot find: 对不起,无法找到邮箱。
reset_password:
title: 重置密码
password: 密码:
confirm password: 确认密码:
reset: 重置密码
- flash changed: 你的密码已经变更。
+ flash changed: 您的密码已经修改。
flash token bad: 未找到标记,建议检查 URL?
new:
title: 注册
- no_auto_account_create: 很遗憾,我们目前无法为你自动创建一个帐户。
+ no_auto_account_create: 很遗憾,我们目前无法为您自动创建一个帐户。
contact_webmaster: 请联系<a href="mailto:webmaster@openstreetmap.org">网站管理员</a>来安排创建一个账户
- - 我们将尽快尝试处理你的请求。
+ - 我们将尽快尝试处理您的请求。
about:
header: 自由且可编辑
html: |-
- <p>不同于其他地图,OpenStreetMap是完全由像你一样的人创建的,并且免费提供给任何人用以修正、更新、下载和使用。</p>
- <p>登录来贡献你的力量吧。我们将发送一份邮件来确认你的账号。</p>
- license_agreement: 当你确认你的帐户时,你需要同意<a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">贡献者条款</a>。
+ <p>不同于其他地图,OpenStreetMap 是完全由像您一样的人创建的,并且免费提供给任何人用以修正、更新、下载和使用。</p>
+ <p>登录来贡献您的力量吧。我们将发送一份邮件来确认您的账号。</p>
+ license_agreement: 当您确认您的帐户时,您需要同意<a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">贡献者条款</a>。
email address: 电子邮件地址:
confirm email address: 确认电子邮件地址:
not displayed publicly: 不公开显示(参阅<a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
title="wiki privacy policy including section on email addresses">隐私政策</a>)
display name: 显示名称:
- display name description: 你公开显示的用户名。你可以稍后在设置中进行变更。
- openid: '%{logo}OpenID:'
+ display name description: 您公开显示的用户名。您可以稍后在首选项中进行修改。
+ openid: '%{logo} OpenID:'
password: 密码:
confirm password: 确认密码:
use openid: 或者,使用 %{logo} OpenID 登录
openid no password: 使用 OpenID 时密码不是必需的,但一些额外的工具或服务器可能需要一个。
openid association: |-
- <p>你的 OpenID 尚未与一个 OpenStreetMap 帐户相关联。</p>
+ <p>您的 OpenID 尚未与一个 OpenStreetMap 帐户相关联。</p>
<ul>
- <li>如果你是新来到 OpenStreetMap,请使用下面的表单创建一个新的帐户。</li>
+ <li>如果您是新来到 OpenStreetMap,请使用下面的表单创建一个新的帐户。</li>
<li>
- 如果你已经有一个帐户,你可以使用你的
- 用户名和密码登录到你的帐户,然后在你
- 的用户设置中关联你的 OpenID。
+ 如果您已经有一个帐户,您可以使用您的
+ 用户名和密码登录到您的帐户,然后在您
+ 的用户首选项中关联您的 OpenID。
</li>
</ul>
continue: 注册
- terms accepted: 感谢你接受新的贡献条款!
- terms declined: 我们很遗憾你已决定不接受新的贡献者条款。有关详细信息,请参阅<a href="%{url}">此维基页面</a>.
+ terms accepted: 感谢您接受新的贡献条款!
+ terms declined: 我们很遗憾您已决定不接受新的贡献者条款。有关详细信息,请参阅<a href="%{url}">此 wiki 页面</a>.
terms declined url: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
terms:
title: 贡献者条款
heading: 贡献者条款
- read and accept: 请阅读下面的协议并按同意按钮,以确认为你现有的和将来的贡献接受本协议的条款。
+ read and accept: 请阅读下面的协议并按同意按钮,以确认为您现有的和将来的贡献接受本协议的条款。
consider_pd: 除了上述协议,我同意将我的贡献授权为公共领域
consider_pd_why: 这是什么?
consider_pd_why_url: http://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
declined: http://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
decline: 拒绝
you need to accept or decline: 请先阅读,然后接受或拒绝新的贡献者条款,再继续。
- legale_select: 请选择你居住的国家:
+ legale_select: 请选择您居住的国家:
legale_names:
france: 法国
italy: 意大利
rest_of_world: 世界其他地区
no_such_user:
title: 没有此用户
- heading: 用户%{user}不存在
- body: 对不起,没有名为 %{user} 的用户。请检查你的拼写,或者可能是点击了错误的链接。
+ heading: 用户 %{user} 不存在
+ body: 对不起,没有名为 %{user} 的用户。请检查您的拼写,或者可能是点击了错误的链接。
view:
my diary: 我的日记
new diary entry: 新日记文章
my edits: 我的编辑
my traces: 我的轨迹
- my notes: 我的注释
+ my notes: 我的笔记
my messages: 我的信息
my profile: 我的资料
my settings: 我的设置
diary: 日记
edits: 编辑
traces: 轨迹
- notes: 地图注释
+ notes: 地图笔记
remove as friend: 删除朋友
add as friend: 添加朋友
mapper since: 绘图始于:
- ago: (%{time_in_words_ago}前)
+ ago: (%{time_in_words_ago} 前)
ct status: 贡献者条款:
ct undecided: 未决定
ct declined: 已拒绝
- ct accepted: 接受于%{ago}前
- latest edit: '%{ago}的最后编辑:'
+ ct accepted: 接受于 %{ago} 前
+ latest edit: '%{ago} 的最后编辑:'
email address: 电子邮件地址:
created from: 创建于:
status: 状态:
spam score: 垃圾邮件评分:
description: 说明
user location: 用户位置
- if set location: 如果你设定你的位置,一张精美的地图及其他相关信息将出现在下方。你可以通过你的%{settings_link}页面来设置你的位置。
+ if set location: 如果您设定您的位置,一张精美的地图及其他相关信息将出现在下方。您可以通过您的%{settings_link}页面来设置您的位置。
settings_link_text: 设置
- your friends: 你的朋友
- no friends: 你还没有添加任何好友。
- km away: '%{count}千米远'
- m away: '%{count}米远'
+ your friends: 您的朋友
+ no friends: 您还没有添加任何好友。
+ km away: '%{count} 千米远'
+ m away: '%{count} 米远'
nearby users: 其他附近的用户
no nearby users: 附近没有在进行制图的用户。
role:
unhide_user: 取消隐藏此用户
delete_user: 删除此用户
confirm: 确认
- friends_changesets: 朋友的变更集
+ friends_changesets: 朋友的修改集合
friends_diaries: 朋友的日记文章
- nearby_changesets: 附近用户的变更集
+ nearby_changesets: 附近用户的修改集合
nearby_diaries: 附近用户的日记文章
popup:
- your location: 你的位置
+ your location: 您的位置
nearby mapper: 附近绘图者
friend: 朋友
account:
my settings: 我的设置
current email address: 当前电子邮件地址:
new email address: 新电子邮件地址:
- email never displayed publicly: (不公开显示)
+ email never displayed publicly: (从不公开显示)
openid:
openid: OpenID:
link: http://wiki.openstreetmap.org/wiki/OpenID
disabled link text: 我为什么不能编辑?
public editing note:
heading: 公开编辑
- text: 目前你的编辑是匿名的,人们不能发送邮件给你或看到你的位置。为了显示你的编辑,让别人通过网站与你联系,请点击下面的按钮。<b>由于 0.6
- API 的转换,只有公开的用户可以编辑地图数据</b>。(<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">知道为什么</a>)。<ul><li>你的电子邮件地址将不会被因为成为公开用户而被透露。</li><li>此操作无法撤销,所有新用户现在都默认为公开的。</li></ul>
+ text: 目前您的编辑是匿名的,人们不能发送邮件给您或看到您的位置。为了显示您的编辑,让别人通过网站与您联系,请点击下面的按钮。<b>由于 0.6
+ API 的转换,只有公开的用户可以编辑地图数据</b>。(<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">了解为什么</a>)。<ul><li>您的电子邮件地址将不会被因为成为公开用户而被透露。</li><li>此操作无法撤销,所有新用户现在都默认为公开的。</li></ul>
contributor terms:
heading: 贡献者条款:
- agreed: 你已同意新的贡献者条款。
- not yet agreed: 你还没有同意新的贡献者条款。
- review link text: 请跟随此链接,方便你查看并接受新的贡献者条款。
- agreed_with_pd: 你也将你的编辑释于公共领域。
+ agreed: 您已同意新的贡献者条款。
+ not yet agreed: 您还没有同意新的贡献者条款。
+ review link text: 请跟随此链接,方便您查看并接受新的贡献者条款。
+ agreed_with_pd: 您也将您的编辑释于公共领域。
link: http://www.osmfoundation.org/wiki/License/Contributor_Terms
link text: 这是什么?
profile description: 基本信息说明:
preferred editor: 首选编辑器:
image: 图像:
gravatar:
- gravatar: 使用Gravatar
+ gravatar: 使用 Gravatar
link: http://wiki.openstreetmap.org/wiki/Gravatar
link text: 这是什么?
new image: 添加图像
keep image: 保持当前图像
delete image: 删除当前图像
replace image: 替换当前图像
- image size hint: (正方形图像,尺寸至少为100x100)
+ image size hint: (正方形图像,尺寸至少为100x100)
home location: 住所位置:
- no home location: 你还没有输入你的住所位置。
+ no home location: 您还没有输入您的住所位置。
latitude: 纬度:
longitude: 经度:
update home location on click: 点击地图时更新所在位置?
- save changes button: 保存变更
+ save changes button: 保存修改
make edits public button: 公开我所有的编辑
return to profile: 返回基本信息
- flash update success confirm needed: 成功更新用户信息。 查看你的邮箱以确认你的新邮箱地址。
+ flash update success confirm needed: 成功更新用户信息。 查看您的邮箱以确认您的新邮箱地址。
flash update success: 成功更新用户信息。
confirm:
- heading: 检查你的电子邮件!
- introduction_1: 我们给你发送了确认邮件。
- introduction_2: 点击电子邮件中的链接确认你的账户,然后你就可以开始绘制地图了。
- press confirm button: 按下面的确认按钮激活你的账户。
+ heading: 检查您的电子邮件!
+ introduction_1: 我们给您发送了确认邮件。
+ introduction_2: 点击电子邮件中的链接确认您的账户,然后您就可以开始绘制地图了。
+ press confirm button: 按下面的确认按钮激活您的账户。
button: 确认
already active: 该账户已经确认。
unknown token: 确认码已经过期或不存在。
- reconfirm_html: 如果你需要我们重新发送确认邮件,<a href="%{reconfirm}">请点击这里</a>。
+ reconfirm_html: 如果您需要我们重新发送确认邮件,<a href="%{reconfirm}">请点击这里</a>。
confirm_resend:
- success: 我们已经发送一封新的确认电子邮件到 %{email},只要你确认你的帐户,你就可以开始制图了。<br /><br />如果你使用的反垃圾邮件系统发送确认请求,那么请确保你的白名单中有
+ success: 我们已经发送一封新的确认电子邮件到 %{email},只要您确认您的帐户,您就可以开始制图了。<br /><br />如果您使用的反垃圾邮件系统发送确认请求,那么请确保您的白名单中有
webmaster@openstreetmap.org,因为我们无法回复任何确认请求。
failure: 用户 %{name} 未找到。
confirm_email:
- heading: 确认电子邮件地址变更
- press confirm button: 按下面的确认按钮以确认你的新电子邮件地址。
+ heading: 确认电子邮件地址修改
+ press confirm button: 按下面的确认按钮以确认您的新电子邮件地址。
button: 确认
- success: 已确认你的电子邮件地址,感谢你的注册!
+ success: 已确认您的电子邮件地址,感谢您的注册!
failure: 具有此令牌的电子邮件地址已经确认过了。
set_home:
- flash success: 成功保存你所在位置
+ flash success: 成功保存您所在位置
go_public:
- flash success: 你的所有编辑现在均已公开,现在允许你开始编辑。
+ flash success: 您的所有编辑现在均已公开,现在允许您开始编辑。
make_friend:
- heading: 添加%{user}为朋友?
+ heading: 添加 %{user} 为朋友?
button: 添加为朋友
- success: '%{name}现在是你的好友!'
+ success: '%{name} 现在是您的好友!'
failed: 对不起,未能添加 %{name} 为朋友。
- already_a_friend: 你已经和 %{name} 是朋友了。
+ already_a_friend: 您已经和 %{name} 是朋友了。
remove_friend:
- heading: 删除朋友%{user}?
+ heading: 删除朋友 %{user}?
button: 删除朋友
- success: '%{name}已从你的朋友中删除。'
- not_a_friend: '%{name}不是你的朋友。'
+ success: '%{name} 已从您的朋友中删除。'
+ not_a_friend: '%{name} 不是您的朋友。'
filter:
- not_an_administrator: 你必须是管理员才能执行该操作。
+ not_an_administrator: 您必须是管理员才能执行该操作。
list:
title: 用户
heading: 用户
showing:
- one: '%{page}页(%{items}的第%{first_item}页)'
- other: '%{page}页(%{items}的第%{first_item}至%{last_item}页)'
+ one: '%{page} 页(%{items} 的第 %{first_item} 页)'
+ other: '%{page} 页(%{items} 的第 %{first_item} 至 %{last_item} 页)'
summary: '%{name} 由 %{ip_address} 于 %{date} 创建'
summary_no_ip: '%{name} 创建于 %{date}'
confirm: 确认所选用户
webmaster: 网站管理员
body: |-
<p>
- 对不起,你的帐户已因可疑
+ 对不起,您的帐户已因可疑
活动被自动暂停。
</p>
<p>
- 这项决定将在短时间内由管理员审核,或者如果你想讨论这一点
- ,可以联系%{webmaster}。
+ 这项决定将在短时间内由管理员审核,或者如果您想讨论这一点
+ ,可以联系 %{webmaster}。
</p>
user_role:
filter:
- not_an_administrator: 只有管理员可以执行用户角色管理,而你不是管理员。
+ not_an_administrator: 只有管理员可以执行用户角色管理,而您不是管理员。
not_a_role: 字串 '%{role}' 不是有效的角色。
already_has_role: 这个用户已经有角色 %{role}。
doesnt_have_role: 这个用户没有角色 %{role}。
grant:
title: 确认角色授予
heading: 确认角色授予
- are_you_sure: 你确定要赋予用户 '%{name}' 角色 '%{role}' 吗?
+ are_you_sure: 您确定要赋予用户 '%{name}' 角色 '%{role}' 吗?
confirm: 确认
fail: 无法授予用户 '%{name}' 角色 '%{role}'。请检查用户和角色是否都正确。
revoke:
title: 确认角色吊销
heading: 确认角色吊销
- are_you_sure: 你确定要吊销用户 '%{name}' 角色 '%{role}' 吗?
+ are_you_sure: 您确定要吊销用户 '%{name}' 角色 '%{role}' 吗?
confirm: 确认
fail: 无法吊销用户 '%{name}' 角色 '%{role}'。请检查用户和角色是否都正确。
user_block:
model:
- non_moderator_update: å¿\85须为管ç\90\86å\91\98æ\89\8dè\83½å\88\9b建æ\88\96æ\9b´æ\96°ä¸\80个å\9d\97。
+ non_moderator_update: å¿\85须为管ç\90\86å\91\98æ\89\8dè\83½å\88\9b建æ\88\96æ\9b´æ\96°ä¸\80个å°\81ç¦\81。
non_moderator_revoke: 必须为管理员才能撤消块。
not_found:
sorry: 对不起,未找到 ID 为 %{id} 的用户封禁。
new:
title: 正在建立对 %{name} 的封禁
heading: 正在建立对 %{name} 的封禁
- reason: '%{name} 之所以被封禁的原因。请以冷静、合理的态度,尽量详细的说明有关情况。请记住,该信息将被公开。并非所有用户都了解社区的术语,所以请尝试使用较通俗的说法。'
+ reason: '%{name} 被封禁的原因。请尽可能以冷静、合理的态度,尽量详细的说明有关情况,并请记住,该信息将被公开。并非所有用户都了解社区的术语,所以请尝试使用较通俗的说法。'
period: 从现在开始,此用户将被 API 阻挡的时间。
submit: 创建封禁
tried_contacting: 我已联系此用户并请他们停止。
needs_view: 用户需要先登录,然后此封禁将被清除。
back: 查看所有封禁
edit:
- title: 编辑对%{name}的封禁
- heading: 编辑对%{name}的封禁
- reason: '%{name} 之所以被封禁的原因。请以冷静、合理的态度,尽量详细的说明有关情况。请记住,并非所有用户都了解社区的术语,所以请尝试使用较通俗的说法。'
+ title: 编辑对 %{name} 的封禁
+ heading: 编辑对 %{name} 的封禁
+ reason: '%{name} 被封禁的原因。请尽可能以冷静、合理的态度,尽量详细的说明有关情况。请记住,并非所有用户都了解社区的术语,所以请尝试使用较通俗的说法。'
period: 从现在开始,该用户要被封禁不能使用 API 多久。
submit: 更新封禁
show: 查看此封禁
index:
title: 用户的封禁
heading: 用户封禁列表
- empty: 尚未设置任何封禁。
+ empty: 尚未设定任何封禁。
revoke:
title: 正在撤销对 %{block_on} 的封禁
heading: 正在撤销 %{block_by} 对 %{block_on} 的封禁
time_future: 此封禁将于 %{time} 结束。
past: 此封禁已在 %{time} 之前结束,现在不能被撤销。
- confirm: 你确定要撤销该封禁?
+ confirm: 您确定要撤销该封禁?
revoke: 撤销!
flash: 该封禁已经被撤销。
period:
- one: 1小时
- other: '%{count}小时'
+ one: 1 小时
+ other: '%{count} 小时'
partial:
show: 显示
edit: 编辑
revoke: 撤销!
- confirm: 你确定吗?
+ confirm: 您确定吗?
display_name: 封禁的用户
creator_name: 创建者
reason: 封禁的原因
status: 状态
revoker_name: 撤销者
- not_revoked: (未撤销)
- showing_page: 第%{page}页
+ not_revoked: (未撤销)
+ showing_page: 第 %{page} 页
next: 下一页 »
previous: « 上一页
helper:
- time_future: 结束于%{time}。
+ time_future: 结束于 %{time}。
until_login: 用户登录时激活。
- time_past: 结束于%{time}前。
+ time_past: 结束于 %{time} 前。
blocks_on:
- title: 对%{name}的封禁
- heading: 对%{name}的封禁列表
- empty: '%{name}还没有被封禁。'
+ title: 对 %{name} 的封禁
+ heading: 对 %{name} 的封禁列表
+ empty: '%{name} 还没有被封禁。'
blocks_by:
- title: '%{name}执行的封禁'
- heading: '%{name}执行的封禁列表'
- empty: '%{name}还没有执行任何封禁。'
+ title: '%{name} 执行的封禁'
+ heading: '%{name} 执行的封禁列表'
+ empty: '%{name} 还没有执行任何封禁。'
show:
- title: '%{block_on}被%{block_by}封禁'
- heading: '%{block_on}被%{block_by}封禁'
- time_future: 结束于%{time}
- time_past: 结束于%{time}前
+ title: '%{block_on} 被 %{block_by} 封禁'
+ heading: '%{block_on} 被 %{block_by} 封禁'
+ time_future: 结束于 %{time}
+ time_past: 结束于 %{time} 前
status: 状态
show: 显示
edit: 编辑
revoke: 撤销!
- confirm: 你确定吗?
+ confirm: 您确定吗?
reason: 封禁的原因:
back: 查看所有封禁
revoker: 撤销者:
needs_view: 用户需要在该封禁清除前登录。
note:
description:
- opened_at_html: 于%{when}前创建
- opened_at_by_html: '%{user}于%{when}前创建'
- commented_at_html: 于%{when}前更新
- commented_at_by_html: '%{user}于%{when}前更新'
- closed_at_html: 于%{when}前解决
- closed_at_by_html: '%{user}于%{when}前解决'
- reopened_at_html: 于%{when}前重启
- reopened_at_by_html: '%{user}于%{when}前重启'
+ opened_at_html: 于 %{when} 前创建
+ opened_at_by_html: '%{user} 于 %{when} 前创建'
+ commented_at_html: 于 %{when} 前更新
+ commented_at_by_html: '%{user} 于 %{when} 前更新'
+ closed_at_html: 于 %{when} 前解决
+ closed_at_by_html: '%{user} 于 %{when} 前解决'
+ reopened_at_html: 于 %{when} 前重新激活
+ reopened_at_by_html: '%{user} 于 %{when} 前重新激活'
rss:
- title: OpenStreetMap注释
- description_area: 在你的区域[(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]报告、评论或关闭的注释的列表
- description_item: 注释%{id}的RSS feed
- opened: 新注释(靠近%{place})
- commented: 新评论(靠近%{place})
- closed: 关闭的注释(靠近%{place})
- reopened: 重启的注释(靠近%{place})
+ title: OpenStreetMap 笔记
+ description_area: 在您的区域 [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
+ 报告、开放或关闭的笔记列表
+ description_item: 笔记 %{id} 的 RSS feed
+ opened: 新笔记(靠近 %{place})
+ commented: 新评论(靠近 %{place})
+ closed: 关闭的笔记(靠近 %{place})
+ reopened: 重新激活的笔记(靠近 %{place})
entry:
comment: 评论
- full: 完整注释
+ full: 完整笔记
mine:
- title: '%{user}提交或评论的注释'
- heading: '%{user}的注释'
- subheading: '%{user}提交或评论的注释'
+ title: '%{user} 提交或评论的笔记'
+ heading: '%{user} 的笔记'
+ subheading: '%{user} 提交或评论的笔记'
id: ID
creator: 创建者
description: 说明
created_at: 创建于
- last_changed: 最后变更于
- ago_html: '%{when}前'
+ last_changed: 最后修改于
+ ago_html: '%{when} 前'
javascripts:
close: 关闭
share:
title: 分享
cancel: 取消
image: 图像
- link: 链接或HTML
+ link: 链接或 HTML
long_link: 链接
short_link: 短链接
embed: HTML
- custom_dimensions: 设置自定义尺寸
+ custom_dimensions: 设定自定义尺寸
format: 格式:
scale: 比例:
image_size: 标准图层图像显示尺寸
out: 缩小
locate:
title: 显示我的位置
- popup: 你离该点还有{distance}{unit}
+ popup: 您离该点还有 {distance} {unit}
base:
standard: 标准
cycle_map: 自行车地图
hot: Humanitarian
layers:
header: 地图图层
- notes: 地图注释
+ notes: 地图笔记
data: 地图数据
overlays: 启用解决地图问题的覆盖层
title: 图层
- copyright: © <a href='%{copyright_url}'>OpenStreetMap贡献者</a>
+ copyright: © <a href='%{copyright_url}'>OpenStreetMap 贡献者</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>捐赠</a>
site:
edit_tooltip: 编辑地图
edit_disabled_tooltip: 放大地图以编辑
- createnote_tooltip: 添加注释至地图
- createnote_disabled_tooltip: 放大地图以添加注释
- map_notes_zoom_in_tooltip: 放大地图以查看注释
+ createnote_tooltip: 添加笔记至地图
+ createnote_disabled_tooltip: 放大地图以添加笔记
+ map_notes_zoom_in_tooltip: 放大地图以查看笔记
map_data_zoom_in_tooltip: 放大地图以查看数据
+ queryfeature_tooltip: 查询特征
+ queryfeature_disabled_tooltip: 放大地图以查询特征
+ changesets:
+ show:
+ comment: 评论
+ subscribe: 订阅
+ unsubscribe: 退订
+ hide_comment: 隐藏
+ unhide_comment: 取消隐藏
notes:
new:
- intro: 发现错误或缺少些什么东西吗?请告诉其他地图制作者以便于我们更正错误。将标记移动到正确的位置并输入备注解释当前问题。(请不要在此处输入个人信息或任何版权保护的地图相关信息或目录列表。)
- add: 添加注释
+ intro: 发现错误或缺少些什么东西吗?请告诉其他地图制作者以便于我们更正错误。将标记移动到正确的位置并输入备注解释当前问题。(请不要在此处输入个人信息或任何版权保护的地图相关信息或目录列表。)
+ add: 添加笔记
show:
- anonymous_warning: 该注释包括来自匿名用户的应该独立核实的评论。
+ anonymous_warning: 该笔记包含匿名用户的评论,应独立地予以核实。
hide: 隐藏
resolve: 解决
reactivate: 重启
comment_and_resolve: 评论与解决
comment: 评论
- edit_help: 移动地图并在你想编辑的位置放大,然后点击这里。
+ edit_help: 移动地图并在您想编辑的位置放大,然后点击这里。
+ query:
+ node: 节点
+ way: 路径
+ relation: 关系
+ nothing_found: 没有找到特征
+ error: 连接 %{server} 时出错:%{error}
+ timeout: 连接 %{server} 超时
redaction:
edit:
description: 说明
user: 创建者:
edit: 编辑该修订
destroy: 删除该修订
- confirm: 你确定吗?
+ confirm: 您确定吗?
create:
flash: 修订已创建。
update:
way_paginated: 路線(%{count}的%{x}-%{y})
relation: 關係(%{count})
relation_paginated: 關係(%{count}的%{x}-%{y})
+ comment: 留言(%{count})
+ hidden_commented_by: 隱藏來自%{user},<abbr title='%{exact_time}'>%{when} ago</abbr>的評論
+ commented_by: '%{user}於<abbr title=''%{exact_time}''>%{when}前</abbr>發表的評論'
changesetxml: 變更組合 XML
osmchangexml: osmChange格式 XML
feed:
title: 變更組合 %{id}
title_comment: 變更組合 %{id} - %{comment}
+ join_discussion: 登入後參與討論
+ discussion: 討論
node:
title: 節點:%{name}
history_title: 節點歷史:%{name}
key: '%{key}標籤的wiki說明頁面'
tag: '%{key}=%{value}標籤的wiki說明頁面'
wikidata_link: 維基數據上的%{page}項目
- wikipedia_link: 維基百科上的%{page}條目
+ wikipedia_link: 維基百科上的 %{page} 條目
telephone_link: 打給 %{phone_number}
note:
title: 節點:%{id}
reopened_by: 於<abbr title='%{exact_time}'>%{when}前</abbr>由%{user}重開
reopened_by_anonymous: 於<abbr title='%{exact_time}'>%{when}前</abbr>由匿名用户重開
hidden_by: 於<abbr title='%{exact_time}'>%{when}前</abbr>由%{user}隱藏
+ query:
+ title: 查詢圖徵
+ introduction: 點擊地圖以尋找附近的圖徵
+ nearby: 附近圖徵
+ enclosing: 區域內圖徵
changeset:
changeset_paging_nav:
showing_page: 第%{page}頁
id: ID
saved_at: 儲存於
user: 使用者
- comment: 註解
+ comment: è©\95è«\96
area: 區域
list:
title: 變更組合
load_more: 載入更多
timeout:
sorry: 對不起,索取您所要求的變更組合清單,花費時間過長。
+ rss:
+ title_all: OpenStreetMap變更組合討論
+ title_particular: OpenStreetMap變更組合%{changeset_id}討論
+ comment: '%{author}對變更組合#%{changeset_id}的新評論'
+ commented_at_html: 於%{when}前更新
+ commented_at_by_html: 於%{when}前由%{user}更新
+ full: 完整討論
diary_entry:
new:
title: 新日記項目
biergarten: 啤酒花園
brothel: 妓院
bureau_de_change: 找換店
- bus_station: 巴士總站
+ bus_station: 客é\81\8b站
cafe: 咖啡廳
car_rental: 租車
car_sharing: 汽車共用
primary_link: 主要道路
proposed: 擬議道路
raceway: 賽道
- residential: 住宅道路
+ residential: 住宅區道路
rest_area: 休息區
road: 道路
secondary: 次級道路
tram: 電車軌道
tram_stop: 電車站
yard: 鐵路站場
+ route:
+ bus: 公車路線
shop:
alcohol: 無許可證
antiques: 古玩店
text: 進行捐款
learn_more: 了解更多
more: 更多
- sotm_header: State of the Map 2014
- sotm_line_1: 第8屆年會
- sotm_line_2: 2014年11月7~9日
- sotm_line_3: 阿根庭布宜諾艾莉絲
license_page:
foreign:
title: 關於這個翻譯
your_note: '%{commenter} 已經再次開啟你其中一筆接近 %{place} 的地圖筆記。'
commented_note: '%{commenter}重新啟用了一個您曾留言的地圖註記。該註記位於%{place}附近。'
details: 關於註記的更多詳細訊息可在%{url}找到。
+ changeset_comment_notification:
+ greeting: 您好,
+ commented:
+ subject_own: '[OpenStreetMap] %{commenter}% 在您的變更組合留言'
+ subject_other: '[OpenStreetMap] %{commenter} 就您感興趣的變更組合留言'
+ your_changeset: '%{commenter} 在您於 %{time} 創建的變更組合留言'
+ commented_changeset: '%{commenter} 在您監視,由 %{changeset_author} 於 %{time} 創建的變更組合留言'
+ partial_changeset_with_comment: 評論“%{changeset_comment}”
+ partial_changeset_without_comment: 沒有評論
+ details: 關於變更組合的詳情可在%{url}找到。
message:
inbox:
title: 收件匣
building: 重要建築
station: 鐵路站
summit:
- - 提交
+ - 頂峰
- 山頂
tunnel: 虛線描邊 = 隧道
bridge: 黑線描邊 = 橋樑
application: 應用程式名稱
issued_at: 簽發於
revoke: 註銷!
- my_apps: 我的客戶端應用程式
+ my_apps: 我的用戶端應用程式
no_apps: 您是否有想要註冊以使用於 %{oauth} 標準的應用程式?您必須先註冊您的網頁應用程式,才能對這個服務進行 OAuth 要求。
registered_apps: 您已經註冊下列客戶端應用程式:
register_new: 註冊您的應用程式
create:
flash: 註冊資訊成功
update:
- flash: 更新客戶端資訊成功
+ flash: 更新用戶端資訊成功
destroy:
flash: 已銷毀此客戶端應用程式註冊
user:
createnote_disabled_tooltip: 放大以在地圖加入筆記
map_notes_zoom_in_tooltip: 放大以查看筆記
map_data_zoom_in_tooltip: 放大以查看地圖圖資
+ queryfeature_tooltip: 查詢圖徵
+ queryfeature_disabled_tooltip: 放大地圖以查询圖徵
+ changesets:
+ show:
+ comment: 留言
+ subscribe: 訂閱
+ unsubscribe: 取消訂閱
+ hide_comment: 隱藏
+ unhide_comment: 取消隱藏
notes:
new:
intro: 發現錯誤或缺少些什麼東西嗎?請告訴其他地圖製作者以便於我們處理。將標記移動到正確的位置並輸入筆記,以解釋問題。(切勿在此輸入個人資料、抄襲自其他地圖的資訊,或者目錄清單。)
comment_and_resolve: 評論並關閉
comment: 提交評論
edit_help: 將地圖移至你想編輯的位置並放大,然後按這裡。
+ query:
+ node: 節點
+ way: 路徑
+ relation: 關係
+ nothing_found: 找不到圖徵
+ error: '%{server}連線錯誤:%{error}'
+ timeout: '%{server}連線逾時'
redaction:
edit:
description: 說明
class CreateOsmDb < ActiveRecord::Migration
def self.up
- create_table "current_nodes", innodb_table do |t|
- t.column "id", :bigint, :limit => 64, :null => false
- t.column "latitude", :double
- t.column "longitude", :double
- t.column "user_id", :bigint, :limit => 20
+ create_table "current_nodes", :id => false do |t|
+ t.column "id", :bigint, :null => false
+ t.column "latitude", :float, :limit => 53
+ t.column "longitude", :float, :limit => 53
+ t.column "user_id", :bigint
t.column "visible", :boolean
- t.column "tags", :text, :default => "", :null => false
+ t.column "tags", :text, :default => "", :null => false
t.column "timestamp", :datetime
end
add_index "current_nodes", ["latitude", "longitude"], :name => "current_nodes_lat_lon_idx"
add_index "current_nodes", ["timestamp"], :name => "current_nodes_timestamp_idx"
- change_column :current_nodes, :id, :bigint_auto_64
-
- create_table "current_segments", innodb_table do |t|
- t.column "id", :bigint, :limit => 64, :null => false
- t.column "node_a", :bigint, :limit => 64
- t.column "node_b", :bigint, :limit => 64
- t.column "user_id", :bigint, :limit => 20
+ create_table "current_segments", :id => false do |t|
+ t.column "id", :bigint, :null => false
+ t.column "node_a", :bigint
+ t.column "node_b", :bigint
+ t.column "user_id", :bigint
t.column "visible", :boolean
- t.column "tags", :text, :default => "", :null => false
+ t.column "tags", :text, :default => "", :null => false
t.column "timestamp", :datetime
end
add_index "current_segments", ["node_a"], :name => "current_segments_a_idx"
add_index "current_segments", ["node_b"], :name => "current_segments_b_idx"
- change_column :current_segments, :id, :bigint_auto_64
-
- create_table "current_way_segments", innodb_table do |t|
- t.column "id", :bigint, :limit => 64
- t.column "segment_id", :bigint, :limit => 11
- t.column "sequence_id", :bigint, :limit => 11
+ create_table "current_way_segments", :id => false do |t|
+ t.column "id", :bigint
+ t.column "segment_id", :bigint
+ t.column "sequence_id", :bigint
end
add_index "current_way_segments", ["segment_id"], :name => "current_way_segments_seg_idx"
add_index "current_way_segments", ["id"], :name => "current_way_segments_id_idx"
- create_table "current_way_tags", myisam_table do |t|
- t.column "id", :bigint, :limit => 64
- t.column "k", :string, :default => "", :null => false
- t.column "v", :string, :default => "", :null => false
+ create_table "current_way_tags", :id => false do |t|
+ t.column "id", :bigint
+ t.column "k", :string, :default => "", :null => false
+ t.column "v", :string, :default => "", :null => false
end
add_index "current_way_tags", ["id"], :name => "current_way_tags_id_idx"
- add_fulltext_index "current_way_tags", "v"
+ add_index "current_way_tags", "v", :name => "current_way_tags_v_idx"
- create_table "current_ways", myisam_table do |t|
- t.column "id", :bigint_pk_64, :null => false
- t.column "user_id", :bigint, :limit => 20
+ create_table "current_ways", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "user_id", :bigint
t.column "timestamp", :datetime
t.column "visible", :boolean
end
- create_table "diary_entries", myisam_table do |t|
- t.column "id", :bigint_pk, :null => false
- t.column "user_id", :bigint, :limit => 20, :null => false
+ create_table "diary_entries", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "user_id", :bigint, :null => false
t.column "title", :string
t.column "body", :text
t.column "created_at", :datetime
t.column "updated_at", :datetime
end
- create_table "friends", myisam_table do |t|
- t.column "id", :bigint_pk, :null => false
- t.column "user_id", :bigint, :limit => 20, :null => false
- t.column "friend_user_id", :bigint, :limit => 20, :null => false
+ create_table "friends", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "user_id", :bigint, :null => false
+ t.column "friend_user_id", :bigint, :null => false
end
add_index "friends", ["friend_user_id"], :name => "user_id_idx"
- create_table "gps_points", myisam_table do |t|
+ create_table "gps_points", :id => false do |t|
t.column "altitude", :float
t.column "user_id", :integer
t.column "trackid", :integer
add_index "gps_points", ["user_id"], :name => "points_uid_idx"
add_index "gps_points", ["gpx_id"], :name => "points_gpxid_idx"
- create_table "gpx_file_tags", myisam_table do |t|
- t.column "gpx_id", :bigint, :limit => 64, :default => 0, :null => false
+ create_table "gpx_file_tags", :id => false do |t|
+ t.column "gpx_id", :bigint, :default => 0, :null => false
t.column "tag", :string
- t.column "id", :bigint_pk, :null => false
+ t.column "id", :bigserial, :primary_key => true, :null => false
end
add_index "gpx_file_tags", ["gpx_id"], :name => "gpx_file_tags_gpxid_idx"
- create_table "gpx_files", myisam_table do |t|
- t.column "id", :bigint_pk_64, :null => false
- t.column "user_id", :bigint, :limit => 20
- t.column "visible", :boolean, :default => true, :null => false
- t.column "name", :string, :default => "", :null => false
- t.column "size", :bigint, :limit => 20
- t.column "latitude", :double
- t.column "longitude", :double
+ create_table "gpx_files", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "user_id", :bigint
+ t.column "visible", :boolean, :default => true, :null => false
+ t.column "name", :string, :default => "", :null => false
+ t.column "size", :bigint
+ t.column "latitude", :float, :limit => 53
+ t.column "longitude", :float, :limit => 53
t.column "timestamp", :datetime
- t.column "public", :boolean, :default => true, :null => false
- t.column "description", :string, :default => ""
+ t.column "public", :boolean, :default => true, :null => false
+ t.column "description", :string, :default => ""
t.column "inserted", :boolean
end
add_index "gpx_files", ["timestamp"], :name => "gpx_files_timestamp_idx"
add_index "gpx_files", ["visible", "public"], :name => "gpx_files_visible_public_idx"
- create_table "gpx_pending_files", myisam_table do |t|
+ create_table "gpx_pending_files", :id => false do |t|
t.column "originalname", :string
t.column "tmpname", :string
- t.column "user_id", :bigint, :limit => 20
+ t.column "user_id", :bigint
end
- create_table "messages", myisam_table do |t|
- t.column "id", :bigint_pk, :null => false
- t.column "user_id", :bigint, :limit => 20, :null => false
- t.column "from_user_id", :bigint, :limit => 20, :null => false
- t.column "from_display_name", :string, :default => ""
+ create_table "messages", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "user_id", :bigint, :null => false
+ t.column "from_user_id", :bigint, :null => false
+ t.column "from_display_name", :string, :default => ""
t.column "title", :string
t.column "body", :text
t.column "sent_on", :datetime
- t.column "message_read", :boolean, :default => false
- t.column "to_user_id", :bigint, :limit => 20, :null => false
+ t.column "message_read", :boolean, :default => false
+ t.column "to_user_id", :bigint, :null => false
end
add_index "messages", ["from_display_name"], :name => "from_name_idx"
- create_table "meta_areas", myisam_table do |t|
- t.column "id", :bigint_pk_64, :null => false
- t.column "user_id", :bigint, :limit => 20
+ create_table "meta_areas", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "user_id", :bigint
t.column "timestamp", :datetime
end
- create_table "nodes", myisam_table do |t|
- t.column "id", :bigint, :limit => 64
- t.column "latitude", :double
- t.column "longitude", :double
- t.column "user_id", :bigint, :limit => 20
+ create_table "nodes", :id => false do |t|
+ t.column "id", :bigint
+ t.column "latitude", :float, :limit => 53
+ t.column "longitude", :float, :limit => 53
+ t.column "user_id", :bigint
t.column "visible", :boolean
- t.column "tags", :text, :default => "", :null => false
+ t.column "tags", :text, :default => "", :null => false
t.column "timestamp", :datetime
end
add_index "nodes", ["id"], :name => "nodes_uid_idx"
add_index "nodes", ["latitude", "longitude"], :name => "nodes_latlon_idx"
- create_table "segments", myisam_table do |t|
- t.column "id", :bigint, :limit => 64
- t.column "node_a", :bigint, :limit => 64
- t.column "node_b", :bigint, :limit => 64
- t.column "user_id", :bigint, :limit => 20
+ create_table "segments", :id => false do |t|
+ t.column "id", :bigint
+ t.column "node_a", :bigint
+ t.column "node_b", :bigint
+ t.column "user_id", :bigint
t.column "visible", :boolean
- t.column "tags", :text, :default => "", :null => false
+ t.column "tags", :text, :default => "", :null => false
t.column "timestamp", :datetime
end
add_index "segments", ["node_b"], :name => "street_segments_nodeb_idx"
add_index "segments", ["id"], :name => "street_segment_uid_idx"
- create_table "users", innodb_table do |t|
+ create_table "users", :id => false do |t|
t.column "email", :string
- t.column "id", :bigint_pk, :null => false
+ t.column "id", :bigserial, :primary_key => true, :null => false
t.column "token", :string
- t.column "active", :integer, :default => 0, :null => false
+ t.column "active", :integer, :default => 0, :null => false
t.column "pass_crypt", :string
t.column "creation_time", :datetime
t.column "timeout", :datetime
- t.column "display_name", :string, :default => ""
+ t.column "display_name", :string, :default => ""
t.column "preferences", :text
- t.column "data_public", :boolean, :default => false
- t.column "description", :text, :default => "", :null => false
- t.column "home_lat", :double, :default => 1
- t.column "home_lon", :double, :default => 1
- t.column "within_lon", :double
- t.column "within_lat", :double
- t.column "home_zoom", :integer, :limit => 2, :default => 3
+ t.column "data_public", :boolean, :default => false
+ t.column "description", :text, :default => "", :null => false
+ t.column "home_lat", :float, :limit => 53, :default => 1
+ t.column "home_lon", :float, :limit => 53, :default => 1
+ t.column "within_lon", :float, :limit => 53
+ t.column "within_lat", :float, :limit => 53
+ t.column "home_zoom", :integer, :limit => 2, :default => 3
end
add_index "users", ["email"], :name => "users_email_idx"
add_index "users", ["display_name"], :name => "users_display_name_idx"
- create_table "way_segments", myisam_table do |t|
- t.column "id", :bigint, :limit => 64, :default => 0, :null => false
+ create_table "way_segments", :id => false do |t|
+ t.column "id", :bigint, :default => 0, :null => false
t.column "segment_id", :integer
- t.column "version", :bigint, :limit => 20, :default => 0, :null => false
- t.column "sequence_id", :bigint, :limit => 11, :null => false
+ t.column "version", :bigint, :default => 0, :null => false
+ t.column "sequence_id", :bigint, :null => false
end
add_primary_key "way_segments", ["id", "version", "sequence_id"]
- change_column "way_segments", "sequence_id", :bigint_auto_11
-
- create_table "way_tags", myisam_table do |t|
- t.column "id", :bigint, :limit => 64, :default => 0, :null => false
+ create_table "way_tags", :id => false do |t|
+ t.column "id", :bigint, :default => 0, :null => false
t.column "k", :string
t.column "v", :string
- t.column "version", :bigint, :limit => 20
+ t.column "version", :bigint
end
add_index "way_tags", ["id", "version"], :name => "way_tags_id_version_idx"
- create_table "ways", myisam_table do |t|
- t.column "id", :bigint, :limit => 64, :default => 0, :null => false
- t.column "user_id", :bigint, :limit => 20
+ create_table "ways", :id => false do |t|
+ t.column "id", :bigint, :default => 0, :null => false
+ t.column "user_id", :bigint
t.column "timestamp", :datetime
- t.column "version", :bigint, :limit => 20, :null => false
- t.column "visible", :boolean, :default => true
+ t.column "version", :bigint, :null => false
+ t.column "visible", :boolean, :default => true
end
add_primary_key "ways", ["id", "version"]
add_index "ways", ["id"], :name => "ways_id_version_idx"
-
- change_column "ways", "version", :bigint_auto_20
end
def self.down
class CleanupOsmDb < ActiveRecord::Migration
def self.up
- change_column "current_nodes", "latitude", :double, :null => false
- change_column "current_nodes", "longitude", :double, :null => false
- change_column "current_nodes", "user_id", :bigint, :limit => 20, :null => false
+ change_column "current_nodes", "latitude", :float, :limit => 53, :null => false
+ change_column "current_nodes", "longitude", :float, :limit => 53, :null => false
+ change_column "current_nodes", "user_id", :bigint, :null => false
change_column "current_nodes", "visible", :boolean, :null => false
change_column "current_nodes", "timestamp", :datetime, :null => false
add_primary_key "current_nodes", ["id"]
remove_index "current_nodes", :name => "current_nodes_id_idx"
- change_column "current_segments", "node_a", :bigint, :limit => 64, :null => false
- change_column "current_segments", "node_b", :bigint, :limit => 64, :null => false
- change_column "current_segments", "user_id", :bigint, :limit => 20, :null => false
+ change_column "current_segments", "node_a", :bigint, :null => false
+ change_column "current_segments", "node_b", :bigint, :null => false
+ change_column "current_segments", "user_id", :bigint, :null => false
change_column "current_segments", "visible", :boolean, :null => false
change_column "current_segments", "timestamp", :datetime, :null => false
add_primary_key "current_segments", ["id"]
remove_index "current_segments", :name => "current_segments_id_visible_idx"
- change_column "current_way_segments", "id", :bigint, :limit => 64, :null => false
- change_column "current_way_segments", "segment_id", :bigint, :limit => 64, :null => false
- change_column "current_way_segments", "sequence_id", :bigint, :limit => 11, :null => false
+ change_column "current_way_segments", "id", :bigint, :null => false
+ change_column "current_way_segments", "segment_id", :bigint, :null => false
+ change_column "current_way_segments", "sequence_id", :bigint, :null => false
add_primary_key "current_way_segments", ["id", "sequence_id"]
remove_index "current_way_segments", :name => "current_way_segments_id_idx"
- change_column "current_way_tags", "id", :bigint, :limit => 64, :null => false
+ change_column "current_way_tags", "id", :bigint, :null => false
- change_column "current_ways", "user_id", :bigint, :limit => 20, :null => false
+ change_column "current_ways", "user_id", :bigint, :null => false
change_column "current_ways", "timestamp", :datetime, :null => false
change_column "current_ways", "visible", :boolean, :null => false
- change_engine "current_ways", "InnoDB"
change_column "diary_entries", "title", :string, :null => false
change_column "diary_entries", "body", :text, :null => false
change_column "gps_points", "trackid", :integer, :null => false
change_column "gps_points", "latitude", :integer, :null => false
change_column "gps_points", "longitude", :integer, :null => false
- change_column "gps_points", "gpx_id", :bigint, :limit => 64, :null => false
+ change_column "gps_points", "gpx_id", :bigint, :null => false
change_column "gpx_file_tags", "tag", :string, :null => false
- change_column "gpx_files", "user_id", :bigint, :limit => 20, :null => false
+ change_column "gpx_files", "user_id", :bigint, :null => false
change_column "gpx_files", "timestamp", :datetime, :null => false
change_column "gpx_files", "description", :string, :default => "", :null => false
change_column "gpx_files", "inserted", :boolean, :null => false
drop_table "meta_areas"
- change_column "nodes", "id", :bigint, :limit => 64, :null => false
- change_column "nodes", "latitude", :double, :null => false
- change_column "nodes", "longitude", :double, :null => false
- change_column "nodes", "user_id", :bigint, :limit => 20, :null => false
+ change_column "nodes", "id", :bigint, :null => false
+ change_column "nodes", "latitude", :float, :limit => 53, :null => false
+ change_column "nodes", "longitude", :float, :limit => 53, :null => false
+ change_column "nodes", "user_id", :bigint, :null => false
change_column "nodes", "visible", :boolean, :null => false
change_column "nodes", "timestamp", :datetime, :null => false
add_index "nodes", ["timestamp"], :name => "nodes_timestamp_idx"
- change_column "segments", "id", :bigint, :limit => 64, :null => false
- change_column "segments", "node_a", :bigint, :limit => 64, :null => false
- change_column "segments", "node_b", :bigint, :limit => 64, :null => false
- change_column "segments", "user_id", :bigint, :limit => 20, :null => false
+ change_column "segments", "id", :bigint, :null => false
+ change_column "segments", "node_a", :bigint, :null => false
+ change_column "segments", "node_b", :bigint, :null => false
+ change_column "segments", "user_id", :bigint, :null => false
change_column "segments", "visible", :boolean, :null => false
change_column "segments", "timestamp", :datetime, :null => false
add_index "segments", ["timestamp"], :name => "segments_timestamp_idx"
change_column "users", "creation_time", :datetime, :null => false
change_column "users", "display_name", :string, :default => "", :null => false
change_column "users", "data_public", :boolean, :default => false, :null => false
- change_column "users", "home_lat", :double, :default => nil
- change_column "users", "home_lon", :double, :default => nil
+ change_column "users", "home_lat", :float, :limit => 53, :default => nil
+ change_column "users", "home_lon", :float, :limit => 53, :default => nil
remove_index "users", :name => "users_email_idx"
add_index "users", ["email"], :name => "users_email_idx", :unique => true
remove_index "users", :name => "users_display_name_idx"
add_index "users", ["display_name"], :name => "users_display_name_idx", :unique => true
- change_column "way_segments", "segment_id", :bigint, :limit => 64, :null => false
+ change_column "way_segments", "segment_id", :bigint, :null => false
change_column "way_tags", "k", :string, :null => false
change_column "way_tags", "v", :string, :null => false
- change_column "way_tags", "version", :bigint, :limit => 20, :null => false
+ change_column "way_tags", "version", :bigint, :null => false
- change_column "ways", "user_id", :bigint, :limit => 20, :null => false
+ change_column "ways", "user_id", :bigint, :null => false
change_column "ways", "timestamp", :datetime, :null => false
change_column "ways", "visible", :boolean, :default => true, :null => false
remove_index "ways", :name => "ways_id_version_idx"
add_index "ways", ["id"], :name => "ways_id_version_idx"
change_column "ways", "visible", :boolean, :default => true
change_column "ways", "timestamp", :datetime
- change_column "ways", "user_id", :bigint, :limit => 20
+ change_column "ways", "user_id", :bigint
- change_column "way_tags", "version", :bigint, :limit => 20
+ change_column "way_tags", "version", :bigint
change_column "way_tags", "v", :string, :default => nil
change_column "way_tags", "k", :string, :default => nil
add_index "users", ["display_name"], :name => "users_display_name_idx"
remove_index "users", :name => "users_email_idx"
add_index "users", ["email"], :name => "users_email_idx"
- change_column "users", "home_lon", :double, :default => 1
- change_column "users", "home_lat", :double, :default => 1
+ change_column "users", "home_lon", :float, :limit => 53, :default => 1
+ change_column "users", "home_lat", :float, :limit => 53, :default => 1
change_column "users", "data_public", :boolean, :default => false
change_column "users", "display_name", :string, :default => ""
change_column "users", "creation_time", :datetime
remove_index "segments", :name => "segments_timestamp_idx"
change_column "segments", "timestamp", :datetime
change_column "segments", "visible", :boolean
- change_column "segments", "user_id", :bigint, :limit => 20
- change_column "segments", "node_b", :bigint, :limit => 64
- change_column "segments", "node_a", :bigint, :limit => 64
- change_column "segments", "id", :bigint, :limit => 64
+ change_column "segments", "user_id", :bigint
+ change_column "segments", "node_b", :bigint
+ change_column "segments", "node_a", :bigint
+ change_column "segments", "id", :bigint
remove_index "nodes", :name => "nodes_timestamp_idx"
change_column "nodes", "timestamp", :datetime
change_column "nodes", "visible", :boolean
- change_column "nodes", "user_id", :bigint, :limit => 20
- change_column "nodes", "longitude", :double
- change_column "nodes", "latitude", :double
- change_column "nodes", "id", :bigint, :limit => 64
-
- create_table "meta_areas", myisam_table do |t|
- t.column "id", :bigint_pk_64, :null => false
- t.column "user_id", :bigint, :limit => 20
+ change_column "nodes", "user_id", :bigint
+ change_column "nodes", "longitude", :float, :limit => 53
+ change_column "nodes", "latitude", :float, :limit => 53
+ change_column "nodes", "id", :bigint
+
+ create_table "meta_areas", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "user_id", :bigint
t.column "timestamp", :datetime
end
change_column "messages", "body", :text
change_column "messages", "title", :string, :default => nil
add_column "messages", "from_display_name", :string, :default => ""
- add_column "messages", "user_id", :bigint, :limit => 20, :null => false
+ add_column "messages", "user_id", :bigint, :null => false
add_index "messages", ["from_display_name"], :name => "from_name_idx"
- create_table "gpx_pending_files", myisam_table do |t|
+ create_table "gpx_pending_files", :id => false do |t|
t.column "originalname", :string
- t.column "tmpname", :string
- t.column "user_id", :bigint, :limit => 20
+ t.column "tmpname", :string
+ t.column "user_id", :bigint
end
change_column "gpx_files", "inserted", :boolean
change_column "gpx_files", "description", :string, :default => ""
change_column "gpx_files", "timestamp", :datetime
- change_column "gpx_files", "user_id", :bigint, :limit => 20
+ change_column "gpx_files", "user_id", :bigint
change_column "gpx_file_tags", "tag", :string, :default => nil
- change_column "gps_points", "gpx_id", :integer, :limit => 20
+ change_column "gps_points", "gpx_id", :integer
change_column "gps_points", "longitude", :integer
change_column "gps_points", "latitude", :integer
change_column "gps_points", "trackid", :integer
- add_column "gps_points", "user_id", :integer, :limit => 20
+ add_column "gps_points", "user_id", :integer
add_index "gps_points", ["user_id"], :name => "points_uid_idx"
remove_index "friends", :name => "friends_user_id_idx"
change_column "diary_entries", "body", :text
change_column "diary_entries", "title", :string, :default => nil
- change_engine "current_ways", "MyISAM"
change_column "current_ways", "visible", :boolean
change_column "current_ways", "timestamp", :datetime
- change_column "current_ways", "user_id", :bigint, :limit => 20
+ change_column "current_ways", "user_id", :bigint
- change_column "current_way_tags", "id", :bigint, :limit => 64
+ change_column "current_way_tags", "id", :bigint
add_index "current_way_segments", ["id"], :name => "current_way_segments_id_idx"
remove_primary_key "current_way_segments"
- change_column "current_way_segments", "sequence_id", :bigint, :limit => 11
- change_column "current_way_segments", "segment_id", :bigint, :limit => 11
- change_column "current_way_segments", "id", :bigint, :limit => 64
+ change_column "current_way_segments", "sequence_id", :bigint
+ change_column "current_way_segments", "segment_id", :bigint
+ change_column "current_way_segments", "id", :bigint
add_index "current_segments", ["id", "visible"], :name => "current_segments_id_visible_idx"
remove_primary_key "current_segments"
change_column "current_segments", "timestamp", :datetime
change_column "current_segments", "visible", :boolean
- change_column "current_segments", "user_id", :bigint, :limit => 20
- change_column "current_segments", "node_b", :bigint, :limit => 64
- change_column "current_segments", "node_a", :bigint, :limit => 64
+ change_column "current_segments", "user_id", :bigint
+ change_column "current_segments", "node_b", :bigint
+ change_column "current_segments", "node_a", :bigint
add_index "current_nodes", ["id"], :name => "current_nodes_id_idx"
remove_primary_key "current_nodes"
change_column "current_nodes", "timestamp", :datetime
change_column "current_nodes", "visible", :boolean
- change_column "current_nodes", "user_id", :bigint, :limit => 20
- change_column "current_nodes", "longitude", :double
- change_column "current_nodes", "latitude", :double
- change_column "current_nodes", "id", :bigint_auto_64
+ change_column "current_nodes", "user_id", :bigint
+ change_column "current_nodes", "longitude", :float, :limit => 53
+ change_column "current_nodes", "latitude", :float, :limit => 53
end
end
class SqlSessionStoreSetup < ActiveRecord::Migration
def self.up
- create_table "sessions", :options => innodb_option do |t|
+ create_table "sessions" do |t|
t.column "session_id", :string
t.column "data", :text
t.column "created_at", :timestamp
class UserEnhancements < ActiveRecord::Migration
def self.up
- add_column "diary_entries", "latitude", :double
- add_column "diary_entries", "longitude", :double
+ add_column "diary_entries", "latitude", :float, :limit => 53
+ add_column "diary_entries", "longitude", :float, :limit => 53
add_column "diary_entries", "language", :string, :limit => 3
- create_table "user_preferences", innodb_table do |t|
- t.column "user_id", :bigint, :limit => 20, :null => false
- t.column "k", :string, :null => false
- t.column "v", :string, :null => false
+ create_table "user_preferences", :id => false do |t|
+ t.column "user_id", :bigint, :null => false
+ t.column "k", :string, :null => false
+ t.column "v", :string, :null => false
end
add_primary_key "user_preferences", ["user_id", "k"]
- create_table "user_tokens", innodb_table do |t|
- t.column "id", :bigint_pk, :null => false
- t.column "user_id", :bigint, :limit => 20, :null => false
- t.column "token", :string, :null => false
- t.column "expiry", :datetime, :null => false
+ create_table "user_tokens", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "user_id", :bigint, :null => false
+ t.column "token", :string, :null => false
+ t.column "expiry", :datetime, :null => false
end
add_index "user_tokens", ["token"], :name => "user_tokens_token_idx", :unique => true
def self.down
remove_column "users", "pass_salt"
remove_column "users", "nearby"
- add_column "users", "within_lat", :double
- add_column "users", "within_lon", :double
+ add_column "users", "within_lat", :float, :limit => 53
+ add_column "users", "within_lon", :float, :limit => 53
add_column "users", "timeout", :datetime
add_column "users", "token", :string
class TileTracepoints < ActiveRecord::Migration
def self.up
- add_column "gps_points", "tile", :four_byte_unsigned
+ add_column "gps_points", "tile", :bigint
add_index "gps_points", ["tile"], :name => "points_tile_idx"
remove_index "gps_points", :name => "points_idx"
rename_table "current_nodes", "current_nodes_v5"
- create_table "current_nodes", innodb_table do |t|
- t.column "id", :bigint_pk_64, :null => false
- t.column "latitude", :integer, :null => false
- t.column "longitude", :integer, :null => false
- t.column "user_id", :bigint, :limit => 20, :null => false
- t.column "visible", :boolean, :null => false
- t.column "tags", :text, :default => "", :null => false
- t.column "timestamp", :datetime, :null => false
- t.column "tile", :integer, :null => false
+ create_table "current_nodes", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "latitude", :integer, :null => false
+ t.column "longitude", :integer, :null => false
+ t.column "user_id", :bigint, :null => false
+ t.column "visible", :boolean, :null => false
+ t.column "tags", :text, :default => "", :null => false
+ t.column "timestamp", :datetime, :null => false
+ t.column "tile", :integer, :null => false
end
add_index "current_nodes", ["timestamp"], :name => "current_nodes_timestamp_idx"
add_index "current_nodes", ["tile"], :name => "current_nodes_tile_idx"
- change_column "current_nodes", "tile", :four_byte_unsigned
+ change_column "current_nodes", "tile", :bigint
upgrade_table "current_nodes_v5", "current_nodes", Node
remove_index "nodes", :name=> "nodes_timestamp_idx"
rename_table "nodes", "nodes_v5"
- create_table "nodes", myisam_table do |t|
- t.column "id", :bigint, :limit => 64, :null => false
- t.column "latitude", :integer, :null => false
- t.column "longitude", :integer, :null => false
- t.column "user_id", :bigint, :limit => 20, :null => false
- t.column "visible", :boolean, :null => false
- t.column "tags", :text, :default => "", :null => false
- t.column "timestamp", :datetime, :null => false
- t.column "tile", :integer, :null => false
+ create_table "nodes", :id => false do |t|
+ t.column "id", :bigint, :null => false
+ t.column "latitude", :integer, :null => false
+ t.column "longitude", :integer, :null => false
+ t.column "user_id", :bigint, :null => false
+ t.column "visible", :boolean, :null => false
+ t.column "tags", :text, :default => "", :null => false
+ t.column "timestamp", :datetime, :null => false
+ t.column "tile", :integer, :null => false
end
add_index "nodes", ["id"], :name => "nodes_uid_idx"
add_index "nodes", ["timestamp"], :name => "nodes_timestamp_idx"
add_index "nodes", ["tile"], :name => "nodes_tile_idx"
- change_column "nodes", "tile", :four_byte_unsigned
+ change_column "nodes", "tile", :bigint
upgrade_table "nodes_v5", "nodes", OldNode
def self.down
rename_table "current_nodes", "current_nodes_v6"
- create_table "current_nodes", innodb_table do |t|
- t.column "id", :bigint_pk_64, :null => false
- t.column "latitude", :double, :null => false
- t.column "longitude", :double, :null => false
- t.column "user_id", :bigint, :limit => 20, :null => false
- t.column "visible", :boolean, :null => false
- t.column "tags", :text, :default => "", :null => false
- t.column "timestamp", :datetime, :null => false
+ create_table "current_nodes", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "latitude", :float, :limit => 53, :null => false
+ t.column "longitude", :float, :limit => 53, :null => false
+ t.column "user_id", :bigint, :null => false
+ t.column "visible", :boolean, :null => false
+ t.column "tags", :text, :default => "", :null => false
+ t.column "timestamp", :datetime, :null => false
end
add_index "current_nodes", ["latitude", "longitude"], :name => "current_nodes_lat_lon_idx"
rename_table "nodes", "nodes_v6"
- create_table "nodes", myisam_table do |t|
- t.column "id", :bigint, :limit => 64, :null => false
- t.column "latitude", :double, :null => false
- t.column "longitude", :double, :null => false
- t.column "user_id", :bigint, :limit => 20, :null => false
- t.column "visible", :boolean, :null => false
- t.column "tags", :text, :default => "", :null => false
- t.column "timestamp", :datetime, :null => false
+ create_table "nodes", :id => false do |t|
+ t.column "id", :bigint, :null => false
+ t.column "latitude", :float, :limit => 53, :null => false
+ t.column "longitude", :float, :limit => 53, :null => false
+ t.column "user_id", :bigint, :null => false
+ t.column "visible", :boolean, :null => false
+ t.column "tags", :text, :default => "", :null => false
+ t.column "timestamp", :datetime, :null => false
end
add_index "nodes", ["id"], :name => "nodes_uid_idx"
# differences:
# way: only nodes / relation: any kind of member
# way: ordered sequence of nodes / relation: free-form "role" string
- create_table "current_relation_members", innodb_table do |t|
- t.column "id", :bigint, :limit => 64, :null => false
+ create_table "current_relation_members", :id => false do |t|
+ t.column "id", :bigint, :null => false
t.column "member_type", :nwr_enum, :null => false
- t.column "member_id", :bigint, :limit => 11, :null => false
+ t.column "member_id", :bigint, :null => false
t.column "member_role", :string
end
add_index "current_relation_members", ["member_type", "member_id"], :name => "current_relation_members_member_idx"
# the following is obsolete given the primary key, is it not?
# add_index "current_relation_members", ["id"], :name => "current_relation_members_id_idx"
- create_table "current_relation_tags", myisam_table do |t|
- t.column "id", :bigint, :limit => 64, :null => false
+ create_table "current_relation_tags", :id => false do |t|
+ t.column "id", :bigint, :null => false
t.column "k", :string, :default => "", :null => false
t.column "v", :string, :default => "", :null => false
end
add_index "current_relation_tags", ["id"], :name => "current_relation_tags_id_idx"
- add_fulltext_index "current_relation_tags", "v"
+ add_index "current_relation_tags", "v", :name => "current_relation_tags_v_idx"
- create_table "current_relations", innodb_table do |t|
- t.column "id", :bigint_pk_64, :null => false
- t.column "user_id", :bigint, :limit => 20, :null => false
+ create_table "current_relations", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "user_id", :bigint, :null => false
t.column "timestamp", :datetime, :null => false
- t.column "visible", :boolean, :null => false
+ t.column "visible", :boolean, :null => false
end
- create_table "relation_members", myisam_table do |t|
- t.column "id", :bigint, :limit => 64, :default => 0, :null => false
+ create_table "relation_members", :id => false do |t|
+ t.column "id", :bigint, :default => 0, :null => false
t.column "member_type", :nwr_enum, :null => false
- t.column "member_id", :bigint, :limit => 11, :null => false
+ t.column "member_id", :bigint, :null => false
t.column "member_role", :string
- t.column "version", :bigint, :limit => 20, :default => 0, :null => false
+ t.column "version", :bigint, :default => 0, :null => false
end
add_primary_key "relation_members", ["id", "version", "member_type", "member_id", "member_role"]
add_index "relation_members", ["member_type", "member_id"], :name => "relation_members_member_idx"
- create_table "relation_tags", myisam_table do |t|
- t.column "id", :bigint, :limit => 64, :default => 0, :null => false
+ create_table "relation_tags", :id => false do |t|
+ t.column "id", :bigint, :default => 0, :null => false
t.column "k", :string, :null => false, :default => ""
t.column "v", :string, :null => false, :default => ""
- t.column "version", :bigint, :limit => 20, :null => false
+ t.column "version", :bigint, :null => false
end
add_index "relation_tags", ["id", "version"], :name => "relation_tags_id_version_idx"
- create_table "relations", myisam_table do |t|
- t.column "id", :bigint, :limit => 64, :null => false, :default => 0
- t.column "user_id", :bigint, :limit => 20, :null => false
- t.column "timestamp", :datetime, :null => false
- t.column "version", :bigint, :limit => 20, :null => false
- t.column "visible", :boolean, :null => false, :default => true
+ create_table "relations", :id => false do |t|
+ t.column "id", :bigint, :null => false, :default => 0
+ t.column "user_id", :bigint, :null => false
+ t.column "timestamp", :datetime, :null => false
+ t.column "version", :bigint, :null => false
+ t.column "visible", :boolean, :null => false, :default => true
end
add_primary_key "relations", ["id", "version"]
add_index "relations", ["timestamp"], :name => "relations_timestamp_idx"
-
- change_column "relations", "version", :bigint_auto_20
end
-
def self.down
drop_table :relations
drop_table :current_relations
drop_table :segments
drop_table :way_segments
- create_table :way_nodes, myisam_table do |t|
- t.column :id, :bigint, :limit => 64, :null => false
- t.column :node_id, :bigint, :limit => 64, :null => false
- t.column :version, :bigint, :limit => 20, :null => false
- t.column :sequence_id, :bigint, :limit => 11, :null => false
+ create_table :way_nodes, :id => false do |t|
+ t.column :id, :bigint, :null => false
+ t.column :node_id, :bigint, :null => false
+ t.column :version, :bigint, :null => false
+ t.column :sequence_id, :bigint, :null => false
end
add_primary_key :way_nodes, [:id, :version, :sequence_id]
drop_table :current_segments
drop_table :current_way_segments
- create_table :current_way_nodes, innodb_table do |t|
- t.column :id, :bigint, :limit => 64, :null => false
- t.column :node_id, :bigint, :limit => 64, :null => false
- t.column :sequence_id, :bigint, :limit => 11, :null => false
+ create_table :current_way_nodes, :id => false do |t|
+ t.column :id, :bigint, :null => false
+ t.column :node_id, :bigint, :null => false
+ t.column :sequence_id, :bigint, :null => false
end
add_primary_key :current_way_nodes, [:id, :sequence_id]
add_index :current_way_nodes, [:node_id], :name => "current_way_nodes_node_idx"
class DiaryComments < ActiveRecord::Migration
def self.up
- create_table "diary_comments", myisam_table do |t|
- t.column "id", :bigint_pk, :null => false
- t.column "diary_entry_id", :bigint, :limit => 20, :null => false
- t.column "user_id", :bigint, :limit => 20, :null => false
- t.column "body", :text, :null => false
- t.column "created_at", :datetime, :null => false
- t.column "updated_at", :datetime, :null => false
+ create_table "diary_comments", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "diary_entry_id", :bigint, :null => false
+ t.column "user_id", :bigint, :null => false
+ t.column "body", :text, :null => false
+ t.column "created_at", :datetime, :null => false
+ t.column "updated_at", :datetime, :null => false
end
add_index "diary_comments", ["diary_entry_id", "id"], :name => "diary_comments_entry_id_idx", :unique => true
class CreateAcls < ActiveRecord::Migration
def self.up
- create_table "acls", myisam_table do |t|
- t.column "id", :integer_pk, :null => false
- t.column "address", :inet, :null => false
- t.column "netmask", :inet, :null => false
- t.column "k", :string, :null => false
+ create_table "acls", :id => false do |t|
+ t.column "id", :primary_key, :null => false
+ t.column "address", :inet, :null => false
+ t.column "netmask", :inet, :null => false
+ t.column "k", :string, :null => false
t.column "v", :string
end
remove_column :nodes, :tags
remove_column :current_nodes, :tags
- add_column :nodes, :version, :bigint, :limit => 20, :null => false
+ add_column :nodes, :version, :bigint, :null => false
- create_table :current_node_tags, innodb_table do |t|
- t.column :id, :bigint, :limit => 64, :null => false
+ create_table :current_node_tags, :id => false do |t|
+ t.column :id, :bigint, :null => false
t.column :k, :string, :default => "", :null => false
t.column :v, :string, :default => "", :null => false
end
- create_table :node_tags, innodb_table do |t|
- t.column :id, :bigint, :limit => 64, :null => false
- t.column :version, :bigint, :limit => 20, :null => false
+ create_table :node_tags, :id => false do |t|
+ t.column :id, :bigint, :null => false
+ t.column :version, :bigint, :null => false
t.column :k, :string, :default => "", :null => false
t.column :v, :string, :default => "", :null => false
end
remove_index :current_relation_tags, :name=> :current_relation_tags_v_idx
@@ver_tbl.each { |tbl|
- change_column tbl, "version", :bigint, :limit => 20, :null => false
- }
-
- @@conv_tables.each { |tbl|
- change_engine tbl, "InnoDB"
+ change_column tbl, "version", :bigint, :null => false
}
@@ver_tbl.each { |tbl|
- add_column "current_#{tbl}", "version", :bigint, :limit => 20, :null => false
+ add_column "current_#{tbl}", "version", :bigint, :null => false
# As the initial version of all nodes, ways and relations is 0, we set the
# current version to something less so that we can update the version in
# batches of 10000
remove_index :nodes, :name => :nodes_uid_idx
# Foreign keys (between ways, way_tags, way_nodes, etc.)
- add_foreign_key :current_node_tags, [:id], :current_nodes
- add_foreign_key :node_tags, [:id, :version], :nodes
+ add_foreign_key :current_node_tags, :current_nodes, :column => :id, :name => "current_node_tags_id_fkey"
+ add_foreign_key :node_tags, :nodes, :column => [:id, :version], :primary_key => [:id, :version], :name => "node_tags_id_fkey"
- add_foreign_key :current_way_tags, [:id], :current_ways
- add_foreign_key :current_way_nodes, [:id], :current_ways
- add_foreign_key :way_tags, [:id, :version], :ways
- add_foreign_key :way_nodes, [:id, :version], :ways
+ add_foreign_key :current_way_tags, :current_ways, :column => :id, :name => "current_way_tags_id_fkey"
+ add_foreign_key :current_way_nodes, :current_ways, :column => :id, :name => "current_way_nodes_id_fkey"
+ add_foreign_key :way_tags, :ways, :column => [:id, :version], :primary_key => [:id, :version], :name => "way_tags_id_fkey"
+ add_foreign_key :way_nodes, :ways, :column => [:id, :version], :primary_key => [:id, :version], :name => "way_nodes_id_fkey"
- add_foreign_key :current_relation_tags, [:id], :current_relations
- add_foreign_key :current_relation_members, [:id], :current_relations
- add_foreign_key :relation_tags, [:id, :version], :relations
- add_foreign_key :relation_members, [:id, :version], :relations
+ add_foreign_key :current_relation_tags, :current_relations, :column => :id, :name => "current_relation_tags_id_fkey"
+ add_foreign_key :current_relation_members, :current_relations, :column => :id, :name => "current_relation_members_id_fkey"
+ add_foreign_key :relation_tags, :relations, :column => [:id, :version], :primary_key => [:id, :version], :name => "relation_tags_id_fkey"
+ add_foreign_key :relation_members, :relations, :column => [:id, :version], :primary_key => [:id, :version], :name => "relation_members_id_fkey"
# Foreign keys (between different types of primitives)
- add_foreign_key :current_way_nodes, [:node_id], :current_nodes, [:id]
+ add_foreign_key :current_way_nodes, :current_nodes, :column => :node_id, :name => "current_way_nodes_node_id_fkey"
# FIXME: We don't have foreign keys for relation members since the id
# might point to a different table depending on the `type' column.
'current_relations', 'current_ways', 'nodes', 'relations', 'ways' ]
def self.up
- create_table "changesets", innodb_table do |t|
- t.column "id", :bigint_pk, :null => false
- t.column "user_id", :bigint, :limit => 20, :null => false
- t.column "created_at", :datetime, :null => false
- t.column "open", :boolean, :null => false, :default => true
- t.column "min_lat", :integer, :null => true
- t.column "max_lat", :integer, :null => true
- t.column "min_lon", :integer, :null => true
- t.column "max_lon", :integer, :null => true
+ create_table "changesets", :id => false do |t|
+ t.column "id", :bigserial, :primary_key => true, :null => false
+ t.column "user_id", :bigint, :null => false
+ t.column "created_at", :datetime, :null => false
+ t.column "open", :boolean, :null => false, :default => true
+ t.column "min_lat", :integer, :null => true
+ t.column "max_lat", :integer, :null => true
+ t.column "min_lon", :integer, :null => true
+ t.column "max_lon", :integer, :null => true
end
- create_table "changeset_tags", innodb_table do |t|
- t.column "id", :bigint, :limit => 64, :null => false
+ create_table "changeset_tags", :id => false do |t|
+ t.column "id", :bigint, :null => false
t.column "k", :string, :default => "", :null => false
t.column "v", :string, :default => "", :null => false
end
@@conv_user_tables.each { |tbl|
rename_column tbl, :user_id, :changeset_id
#foreign keys too
- add_foreign_key tbl, [:changeset_id], :changesets, [:id]
+ add_foreign_key tbl, :changesets, :name => "#{tbl}_changeset_id_fkey"
}
end
# it appears that execute will only accept string arguments, so
# this is an ugly, ugly hack to get some sort of mysql/postgres
# independence. now i have to go wash my brain with bleach.
- execute("update changesets set closed_at=(now()-#{interval_constant('1 hour')}) where open=(1=0)")
- execute("update changesets set closed_at=(now()+#{interval_constant('1 hour')}) where open=(1=1)")
+ execute("update changesets set closed_at=(now()-'1 hour'::interval) where open=(1=0)")
+ execute("update changesets set closed_at=(now()+'1 hour'::interval) where open=(1=1)")
# remove the open column as it is unnecessary now and denormalises
# the table.
def self.up
add_index "changesets", ["created_at"], :name => "changesets_created_at_idx"
add_index "changesets", ["closed_at"], :name => "changesets_closed_at_idx"
- add_index "changesets", ["min_lat","max_lat","min_lon","max_lon"], :name => "changesets_bbox_idx", :method => "GIST"
+ add_index "changesets", ["min_lat","max_lat","min_lon","max_lon"], :name => "changesets_bbox_idx", :using => "GIST"
end
def self.down
require 'migrate'
class AddUserForeignKeys < ActiveRecord::Migration
- def self.up
- add_foreign_key :changesets, [:user_id], :users, [:id]
- add_foreign_key :diary_comments, [:user_id], :users, [:id]
- add_foreign_key :diary_entries, [:user_id], :users, [:id]
- add_foreign_key :friends, [:user_id], :users, [:id]
- add_foreign_key :friends, [:friend_user_id], :users, [:id]
- add_foreign_key :gpx_files, [:user_id], :users, [:id]
- add_foreign_key :messages, [:from_user_id], :users, [:id]
- add_foreign_key :messages, [:to_user_id], :users, [:id]
- add_foreign_key :user_preferences, [:user_id], :users, [:id]
- add_foreign_key :user_tokens, [:user_id], :users, [:id]
- end
-
- def self.down
- raise ActiveRecord::IrreversibleMigration
+ def change
+ add_foreign_key :changesets, :users, :name => "changesets_user_id_fkey"
+ add_foreign_key :diary_comments, :users, :name => "diary_comments_user_id_fkey"
+ add_foreign_key :diary_entries, :users, :name => "diary_entries_user_id_fkey"
+ add_foreign_key :friends, :users, :name => "friends_user_id_fkey"
+ add_foreign_key :friends, :users, :column => :friend_user_id, :name => "friends_friend_user_id_fkey"
+ add_foreign_key :gpx_files, :users, :name => "gpx_files_user_id_fkey"
+ add_foreign_key :messages, :users, :column => :from_user_id, :name => "messages_from_user_id_fkey"
+ add_foreign_key :messages, :users, :column => :to_user_id, :name => "messages_to_user_id_fkey"
+ add_foreign_key :user_preferences, :users, :name => "user_preferences_user_id_fkey"
+ add_foreign_key :user_tokens, :users, :name => "user_tokens_user_id_fkey"
end
end
class AddForeignKeys < ActiveRecord::Migration
def self.up
- add_foreign_key :changeset_tags, [:id], :changesets
- add_foreign_key :diary_comments, [:diary_entry_id], :diary_entries, [:id]
- add_foreign_key :gps_points, [:gpx_id], :gpx_files, [:id]
- add_foreign_key :gpx_file_tags, [:gpx_id], :gpx_files, [:id]
+ add_foreign_key :changeset_tags, :changesets, :column => :id, :name => "changeset_tags_id_fkey"
+ add_foreign_key :diary_comments, :diary_entries, :name => "diary_comments_diary_entry_id_fkey"
+ add_foreign_key :gps_points, :gpx_files, :column => :gpx_id, :name => "gps_points_gpx_id_fkey"
+ add_foreign_key :gpx_file_tags, :gpx_files, :column => :gpx_id, :name => "gpx_file_tags_gpx_id_fkey"
end
def self.down
class CreateCountries < ActiveRecord::Migration
def self.up
- create_table :countries, innodb_table do |t|
- t.column :id, :integer_pk, :null => false
- t.column :code, :string, :limit => 2, :null => false
- t.column :min_lat, :double, :null => false
- t.column :max_lat, :double, :null => false
- t.column :min_lon, :double, :null => false
- t.column :max_lon, :double, :null => false
+ create_table :countries, :id => false do |t|
+ t.column :id, :primary_key, :null => false
+ t.column :code, :string, :limit => 2, :null => false
+ t.column :min_lat, :float, :limit => 53, :null => false
+ t.column :max_lat, :float, :limit => 53, :null => false
+ t.column :min_lon, :float, :limit => 53, :null => false
+ t.column :max_lon, :float, :limit => 53, :null => false
end
add_index :countries, [:code], :name => "countries_code_idx", :unique => true
require 'migrate'
class CreateLanguages < ActiveRecord::Migration
- def self.up
- create_table :languages, innodb_table do |t|
+ def change
+ create_table :languages, :id => false do |t|
t.string :code, :null => false
t.string :english_name, :null => false
t.string :native_name
Language.load("#{Rails.root}/config/languages.yml")
- add_foreign_key :users, [:locale], :languages, [:code]
- add_foreign_key :diary_entries, [:language_code], :languages, [:code]
- end
-
- def self.down
- raise ActiveRecord::IrreversibleMigration
+ add_foreign_key :users, :languages, :column => :locale, :primary_key => :code, :name => "users_locale_fkey"
+ add_foreign_key :diary_entries, :languages, :column => :language_code , :primary_key => :code, :name => "diary_entries_language_code_fkey"
end
end
class ChangeUserLocale < ActiveRecord::Migration
def self.up
- remove_foreign_key :users, [:locale], :languages, [:code]
+ remove_foreign_key :users, :column => :locale, :name => "users_locale_fkey"
rename_column :users, :locale, :languages
end
def self.down
rename_column :users, :languages, :locale
- add_foreign_key :users, [:locale], :languages, [:code]
+ add_foreign_key :users, :languages, :column => :locale, :primary_key => :code, :name => "users_locale_fkey"
end
end
require 'migrate'
class AddForeignKeysToOauthTables < ActiveRecord::Migration
- def self.up
- add_foreign_key :oauth_tokens, [:user_id], :users, [:id]
- add_foreign_key :oauth_tokens, [:client_application_id], :client_applications, [:id]
- add_foreign_key :client_applications, [:user_id], :users, [:id]
- end
-
- def self.down
- remove_foreign_key :oauth_tokens, [:user_id], :users
- remove_foreign_key :oauth_tokens, [:client_application_id], :client_applications
- remove_foreign_key :client_applications, [:user_id], :users
+ def change
+ add_foreign_key :oauth_tokens, :users, :name => "oauth_tokens_user_id_fkey"
+ add_foreign_key :oauth_tokens, :client_applications, :name => "oauth_tokens_client_application_id_fkey"
+ add_foreign_key :client_applications, :users, :name => "client_applications_user_id_fkey"
end
end
create_table :user_roles do |t|
t.column :user_id, :bigint, :null => false
+ t.column :role, :user_role_enum, :null => false
t.timestamps
end
- add_column :user_roles, :role, :user_role_enum, :null => false
User.where(:administrator => true).each do |user|
UserRole.create(:user_id => user.id, :role => "administrator")
end
+
remove_column :users, :administrator
- add_foreign_key :user_roles, [:user_id], :users, [:id]
+ add_foreign_key :user_roles, :users, :name => "user_roles_user_id_fkey"
end
def self.down
add_column :users, :administrator, :boolean, :default => false, :null => false
+
UserRole.where(:role => "administrator").each do |role|
user = User.find(role.user_id)
user.administrator = true
user.save!
end
+
drop_table :user_roles
drop_enumeration :user_role_enum
end
require 'migrate'
class CreateUserBlocks < ActiveRecord::Migration
- def self.up
+ def change
create_table :user_blocks do |t|
t.column :user_id, :bigint, :null => false
t.column :moderator_id, :bigint, :null => false
t.timestamps
end
- add_foreign_key :user_blocks, [:user_id], :users, [:id]
- add_foreign_key :user_blocks, [:moderator_id], :users, [:id]
- add_foreign_key :user_blocks, [:revoker_id], :users, [:id]
+ add_foreign_key :user_blocks, :users, :name => "user_blocks_user_id_fkey"
+ add_foreign_key :user_blocks, :users, :column => :moderator_id, :name => "user_blocks_moderator_id_fkey"
+ add_foreign_key :user_blocks, :users, :column => :revoker_id, :name => "user_blocks_revoker_id_fkey"
add_index :user_blocks, [:user_id]
end
-
- def self.down
- drop_table :user_blocks
- end
end
add_column :user_roles, :granter_id, :bigint
UserRole.update_all("granter_id = user_id")
change_column :user_roles, :granter_id, :bigint, :null => false
- add_foreign_key :user_roles, [:granter_id], :users, [:id]
+ add_foreign_key :user_roles, :users, :column => :granter_id, :name => "user_roles_granter_id_fkey"
# make sure that [user_id, role] is unique
add_index :user_roles, [:user_id, :role], :name => "user_roles_id_role_unique", :unique => true
end
def self.down
- remove_column :user_roles, :granter_id
- remove_index :user_roles, :name => "user_roles_id_role_unique"
- rename_column :user_blocks, :creator_id, :moderator_id
rename_column :user_blocks, :ends_at, :end_at
+ rename_column :user_blocks, :creator_id, :moderator_id
+ remove_index :user_roles, :name => "user_roles_id_role_unique"
+ remove_column :user_roles, :granter_id
end
end
add_index :map_bug_comment, [:bug_id], :name => "map_bug_comment_id_idx"
- add_foreign_key :map_bug_comment, [:bug_id], :map_bugs, [:id]
- add_foreign_key :map_bug_comment, [:commenter_id], :users, [:id]
+ add_foreign_key :map_bug_comment, :map_bugs, :column => :bug_id, :name => "note_comments_note_id_fkey"
+ add_foreign_key :map_bug_comment, :users, :column => :commenter_id, :name => "note_comments_author_id_fkey"
end
def self.down
- remove_foreign_key :map_bug_comment, [:commenter_id]
- remove_foreign_key :map_bug_comment, [:bug_id]
+ remove_foreign_key :map_bug_comment, :users, :column => :commenter_id, :name => "note_comments_author_id_fkey"
+ remove_foreign_key :map_bug_comment, :map_bugs, :column => :bug_id, :name => "note_comments_note_id_fkey"
remove_index :map_bugs, :name => "map_bug_comment_id_idx"
rename_enumeration "map_bug_event_enum", "note_event_enum"
rename_table :map_bugs, :notes
- rename_index :notes, "map_bugs_pkey", "notes_pkey"
rename_index :notes, "map_bugs_changed_idx", "notes_updated_at_idx"
rename_index :notes, "map_bugs_created_idx", "notes_created_at_idx"
rename_index :notes, "map_bugs_tile_idx", "notes_tile_status_idx"
- remove_foreign_key :map_bug_comment, [:bug_id], :map_bugs, [:id]
- rename_column :map_bug_comment, :author_id, :commenter_id
- remove_foreign_key :map_bug_comment, [:commenter_id], :users, [:id]
- rename_column :map_bug_comment, :commenter_id, :author_id
-
rename_table :map_bug_comment, :note_comments
rename_column :note_comments, :bug_id, :note_id
- rename_index :note_comments, "map_bug_comment_pkey", "note_comments_pkey"
rename_index :note_comments, "map_bug_comment_id_idx", "note_comments_note_id_idx"
-
- add_foreign_key :note_comments, [:note_id], :notes, [:id]
- add_foreign_key :note_comments, [:author_id], :users, [:id]
end
def self.down
- remove_foreign_key :note_comments, [:author_id], :users, [:id]
- remove_foreign_key :note_comments, [:note_id], :notes, [:id]
-
rename_index :note_comments, "note_comments_note_id_idx", "map_bug_comment_id_idx"
- rename_index :notes, "note_comments_pkey", "map_bug_comment_pkey"
rename_column :note_comments, :note_id, :bug_id
rename_table :note_comments, :map_bug_comment
- rename_column :map_bug_comment, :author_id, :commenter_id
- add_foreign_key :map_bug_comment, [:commenter_id], :users, [:id]
- rename_column :map_bug_comment, :commenter_id, :author_id
- add_foreign_key :map_bug_comment, [:bug_id], :notes, [:id]
-
rename_index :notes, "notes_tile_status_idx", "map_bugs_tile_idx"
rename_index :notes, "notes_created_at_idx", "map_bugs_created_idx"
rename_index :notes, "notes_updated_at_idx", "map_bugs_changed_idx"
- rename_index :notes, "notes_pkey", "map_bugs_pkey"
rename_table :notes, :map_bugs
rename_enumeration "note_event_enum", "map_bug_event_enum"
class AddLowercaseUserIndexes < ActiveRecord::Migration
def up
- add_index :users, :display_name, :lowercase => true, :name => "users_display_name_lower_idx"
- add_index :users, :email, :lowercase => true, :name => "users_email_lower_idx"
+ add_index :users, [], :columns => "LOWER(display_name)", :name => "users_display_name_lower_idx"
+ add_index :users, [], :columns => "LOWER(email)", :name => "users_email_lower_idx"
end
def down
require 'migrate'
class CreateRedactions < ActiveRecord::Migration
- def up
+ def change
create_table :redactions do |t|
t.string :title
t.text :description
[:nodes, :ways, :relations].each do |tbl|
add_column tbl, :redaction_id, :integer, :null => true
- add_foreign_key tbl, [:redaction_id], :redactions, [:id]
+ add_foreign_key tbl, :redactions, :name => "#{tbl}_redaction_id_fkey"
end
end
-
- def down
- [:nodes, :ways, :relations].each do |tbl|
- remove_foreign_key tbl, [:redaction_id], :redactions, [:id]
- remove_column tbl, :redaction_id
- end
-
- drop_table :redactions
- end
end
end
def down
- create_table "sessions", :options => innodb_option do |t|
+ create_table "sessions" do |t|
t.column "session_id", :string
t.column "data", :text
t.column "created_at", :timestamp
require 'migrate'
class AddUserAndDescriptionToRedaction < ActiveRecord::Migration
- def up
+ def change
add_column :redactions, :user_id, :bigint, :null => false
add_column :redactions, :description_format, :format_enum, :null => false, :default => "markdown"
- add_foreign_key :redactions, [:user_id], :users, [:id]
- end
-
- def down
- remove_foreign_key :redactions, [:user_id], :users, [:id]
-
- remove_column :redactions, :description_format
- remove_column :redactions, :user_id
+ add_foreign_key :redactions, :users, :name => "redactions_user_id_fkey"
end
end
class AddTextIndexToNoteComments < ActiveRecord::Migration
def up
- add_index :note_comments, [], :columns => "to_tsvector('english', body)", :method => "GIN", :name => "index_note_comments_on_body"
+ add_index :note_comments, [], :columns => "to_tsvector('english', body)", :using => "GIN", :name => "index_note_comments_on_body"
end
def down
t.boolean :visible, :null => false
end
- add_foreign_key :changeset_comments, [:changeset_id], :changesets, [:id]
- add_foreign_key :changeset_comments, [:author_id], :users, [:id]
+ add_foreign_key :changeset_comments, :changesets, :name => "changeset_comments_changeset_id_fkey"
+ add_foreign_key :changeset_comments, :users, :column => :author_id, :name => "changeset_comments_author_id_fkey"
add_index :changeset_comments, :created_at
end
t.column :changeset_id, :bigint, null: false
end
- add_foreign_key :changesets_subscribers, [:subscriber_id], :users, [:id]
- add_foreign_key :changesets_subscribers, [:changeset_id], :changesets, [:id]
+ add_foreign_key :changesets_subscribers, :users, :column => :subscriber_id, :name => "changesets_subscribers_subscriber_id_fkey"
+ add_foreign_key :changesets_subscribers, :changesets, :name => "changesets_subscribers_changeset_id_fkey"
add_index :changesets_subscribers, [:subscriber_id, :changeset_id], :unique => true
add_index :changesets_subscribers, [:changeset_id]
--- /dev/null
+class ChangeDefaultFormats < ActiveRecord::Migration
+ def up
+ change_column_default :diary_entries, :body_format, "markdown"
+ change_column_default :diary_comments, :body_format, "markdown"
+ change_column_default :messages, :body_format, "markdown"
+ change_column_default :users, :description_format, "markdown"
+ change_column_default :user_blocks, :reason_format, "markdown"
+ end
+
+ def down
+ change_column_default :diary_entries, :body_format, "html"
+ change_column_default :diary_comments, :body_format, "html"
+ change_column_default :messages, :body_format, "html"
+ change_column_default :users, :description_format, "html"
+ change_column_default :user_blocks, :reason_format, "html"
+ end
+end
--- /dev/null
+class SubscribeOldChangesets < ActiveRecord::Migration
+ def up
+ Changeset.find_each do |changeset|
+ changeset.subscribers << changeset.user unless changeset.subscribers.exists?(changeset.user)
+ end
+ end
+
+ def down
+ end
+end
CREATE TYPE format_enum AS ENUM (
'html',
- 'markdown',
- 'text'
+ 'markdown'
);
CREATE FUNCTION maptile_for_point(bigint, bigint, integer) RETURNS integer
LANGUAGE c STRICT
- AS '/srv/www/overpass.osm.compton.nu/db/functions/libpgosm.so', 'maptile_for_point';
+ AS '/srv/www/next.osm.compton.nu/db/functions/libpgosm.so', 'maptile_for_point';
--
CREATE FUNCTION tile_for_point(integer, integer) RETURNS bigint
LANGUAGE c STRICT
- AS '/srv/www/overpass.osm.compton.nu/db/functions/libpgosm.so', 'tile_for_point';
+ AS '/srv/www/next.osm.compton.nu/db/functions/libpgosm.so', 'tile_for_point';
--
CREATE FUNCTION xid_to_int4(xid) RETURNS integer
LANGUAGE c IMMUTABLE STRICT
- AS '/srv/www/overpass.osm.compton.nu/db/functions/libpgosm.so', 'xid_to_int4';
+ AS '/srv/www/next.osm.compton.nu/db/functions/libpgosm.so', 'xid_to_int4';
SET default_tablespace = '';
created_at timestamp without time zone NOT NULL,
updated_at timestamp without time zone NOT NULL,
visible boolean DEFAULT true NOT NULL,
- body_format format_enum DEFAULT 'html'::format_enum NOT NULL
+ body_format format_enum DEFAULT 'markdown'::format_enum NOT NULL
);
longitude double precision,
language_code character varying(255) DEFAULT 'en'::character varying NOT NULL,
visible boolean DEFAULT true NOT NULL,
- body_format format_enum DEFAULT 'html'::format_enum NOT NULL
+ body_format format_enum DEFAULT 'markdown'::format_enum NOT NULL
);
to_user_id bigint NOT NULL,
to_user_visible boolean DEFAULT true NOT NULL,
from_user_visible boolean DEFAULT true NOT NULL,
- body_format format_enum DEFAULT 'html'::format_enum NOT NULL
+ body_format format_enum DEFAULT 'markdown'::format_enum NOT NULL
);
--
CREATE TABLE note_comments (
- id bigint NOT NULL,
+ id integer NOT NULL,
note_id bigint NOT NULL,
visible boolean NOT NULL,
created_at timestamp without time zone NOT NULL,
--
CREATE TABLE notes (
- id bigint NOT NULL,
+ id integer NOT NULL,
latitude integer NOT NULL,
longitude integer NOT NULL,
tile bigint NOT NULL,
id integer NOT NULL,
title character varying(255),
description text,
- created_at timestamp without time zone,
- updated_at timestamp without time zone,
+ created_at timestamp without time zone NOT NULL,
+ updated_at timestamp without time zone NOT NULL,
user_id bigint NOT NULL,
description_format format_enum DEFAULT 'markdown'::format_enum NOT NULL
);
revoker_id bigint,
created_at timestamp without time zone,
updated_at timestamp without time zone,
- reason_format format_enum DEFAULT 'html'::format_enum NOT NULL
+ reason_format format_enum DEFAULT 'markdown'::format_enum NOT NULL
);
openid_url character varying(255),
preferred_editor character varying(255),
terms_seen boolean DEFAULT false NOT NULL,
- description_format format_enum DEFAULT 'html'::format_enum NOT NULL,
image_fingerprint character varying(255),
+ description_format format_enum DEFAULT 'markdown'::format_enum NOT NULL,
changesets_count integer DEFAULT 0 NOT NULL,
traces_count integer DEFAULT 0 NOT NULL,
diary_entries_count integer DEFAULT 0 NOT NULL,
INSERT INTO schema_migrations (version) VALUES ('20140519141742');
+INSERT INTO schema_migrations (version) VALUES ('20150110152606');
+
+INSERT INTO schema_migrations (version) VALUES ('20150111192335');
+
INSERT INTO schema_migrations (version) VALUES ('21');
INSERT INTO schema_migrations (version) VALUES ('22');
if action_attributes["if-unused"]
begin
old.delete_with_history!(new, @changeset.user)
- rescue OSM::APIPreconditionFailedError => ex
+ rescue OSM::APIAlreadyDeletedError, OSM::APIPreconditionFailedError => ex
xml_result["new_id"] = old.id.to_s
xml_result["new_version"] = old.version.to_s
end
module ActiveRecord
module ConnectionAdapters
- class PostgreSQLAdapter
- class SchemaCreation
- alias_method :old_add_column_options!, :add_column_options!
+ module SchemaStatements
+ def add_index_options_with_columns(table_name, column_name, options = {})
+ columns = options.delete(:columns)
+ index_name, index_type, index_columns, index_options, algorithm, using = add_index_options_without_columns(table_name, column_name, options)
+ [index_name, index_type, columns || index_columns, index_options, algorithm, using]
+ end
+
+ alias_method_chain :add_index_options, :columns
+ end
- def add_column_options!(sql, options)
- sql << " UNSIGNED" if options[:unsigned]
- old_add_column_options!(sql, options)
- sql << " #{options[:options]}"
+ module PostgreSQL
+ module Quoting
+ def quote_column_name_with_arrays(name)
+ Array(name).map { |n| quote_column_name_without_arrays(n) }.join(", ")
end
+
+ alias_method_chain :quote_column_name, :arrays
end
module SchemaStatements
- def quote_column_names(column_name)
- Array(column_name).map { |e| quote_column_name(e) }.join(", ")
- end
-
def add_primary_key(table_name, column_name, options = {})
- column_names = Array(column_name)
- quoted_column_names = column_names.map { |e| quote_column_name(e) }.join(", ")
- execute "ALTER TABLE #{table_name} ADD PRIMARY KEY (#{quoted_column_names})"
+ execute "ALTER TABLE #{quote_table_name(table_name)} ADD PRIMARY KEY (#{quote_column_name(column_name)})"
end
def remove_primary_key(table_name)
- execute "ALTER TABLE #{table_name} DROP PRIMARY KEY"
+ execute "ALTER TABLE #{quote_table_name(table_name)} DROP PRIMARY KEY"
end
- def add_foreign_key(table_name, column_name, reftbl, refcol = nil)
- execute "ALTER TABLE #{table_name} ADD " +
- "FOREIGN KEY (#{quote_column_names(column_name)}) " +
- "REFERENCES #{reftbl} (#{quote_column_names(refcol || column_name)})"
+ def alter_primary_key(table_name, new_columns)
+ execute "ALTER TABLE #{quote_table_name(table_name)} DROP CONSTRAINT #{quote_table_name(table_name + "_pkey")}"
+ execute "ALTER TABLE #{quote_table_name(table_name)} ADD PRIMARY KEY (#{quote_column_name(new_columns)})"
end
- def remove_foreign_key(table_name, column_name, reftbl, refcol = nil)
- execute "ALTER TABLE #{table_name} DROP " +
- "CONSTRAINT #{table_name}_#{column_name[0]}_fkey"
+ def create_enumeration(enumeration_name, values)
+ execute "CREATE TYPE #{enumeration_name} AS ENUM ('#{values.join '\',\''}')"
end
-# alias_method :old_options_include_default?, :options_include_default?
-#
-# def options_include_default?(options)
-# return false if options[:options] =~ /AUTO_INCREMENT/i
-# return old_options_include_default?(options)
-# end
- end
-
- alias_method :old_native_database_types, :native_database_types
-
- def native_database_types
- types = old_native_database_types
- types[:double] = { :name => "double precision" }
- types[:integer_pk] = { :name => "serial PRIMARY KEY" }
- types[:bigint_pk] = { :name => "bigserial PRIMARY KEY" }
- types[:bigint_pk_64] = { :name => "bigserial PRIMARY KEY" }
- types[:bigint_auto_64] = { :name => "bigint" } #fixme: need autoincrement?
- types[:bigint_auto_11] = { :name => "bigint" } #fixme: need autoincrement?
- types[:bigint_auto_20] = { :name => "bigint" } #fixme: need autoincrement?
- types[:four_byte_unsigned] = { :name => "bigint" } # meh
- types[:inet] = { :name=> "inet" }
-
- enumerations.each_key do |e|
- types[e.to_sym]= { :name => e }
+ def drop_enumeration(enumeration_name)
+ execute "DROP TYPE #{enumeration_name}"
end
- types
- end
-
- def myisam_table
- return { :id => false, :force => true, :options => ""}
- end
-
- def innodb_table
- return { :id => false, :force => true, :options => ""}
- end
-
- def innodb_option
- return ""
- end
-
- def change_engine (table_name, engine)
- end
-
- def add_fulltext_index (table_name, column)
- execute "CREATE INDEX #{table_name}_#{column}_idx on #{table_name} (#{column})"
- end
-
- def enumerations
- @enumerations ||= Hash.new
- end
-
- def create_enumeration(enumeration_name, values)
- enumerations[enumeration_name] = values
- execute "CREATE TYPE #{enumeration_name} AS ENUM ('#{values.join '\',\''}')"
- end
-
- def drop_enumeration(enumeration_name)
- execute "DROP TYPE #{enumeration_name}"
- enumerations.delete(enumeration_name)
- end
-
- def rename_enumeration(old_name, new_name)
- execute "ALTER TYPE #{quote_table_name(old_name)} RENAME TO #{quote_table_name(new_name)}"
- end
-
- def alter_primary_key(table_name, new_columns)
- execute "ALTER TABLE #{table_name} DROP CONSTRAINT #{table_name}_pkey"
- execute "ALTER TABLE #{table_name} ADD PRIMARY KEY (#{new_columns.join(',')})"
- end
-
- def interval_constant(interval)
- "'#{interval}'::interval"
- end
-
- def add_index(table_name, column_name, options = {})
- column_names = Array(column_name)
- index_name = index_name(table_name, :column => column_names)
-
- if Hash === options # legacy support, since this param was a string
- index_type = options[:unique] ? "UNIQUE" : ""
- index_name = options[:name] || index_name
- index_method = options[:method] || "BTREE"
- else
- index_type = options
- end
-
- quoted_column_names = column_names.map { |e| quote_column_name(e) }
- if Hash === options and options[:lowercase]
- quoted_column_names = quoted_column_names.map { |e| "LOWER(#{e})" }
- end
- if Hash === options and options[:columns]
- quoted_column_names = quoted_column_names + Array[options[:columns]]
+ def rename_enumeration(old_name, new_name)
+ execute "ALTER TYPE #{quote_table_name(old_name)} RENAME TO #{quote_table_name(new_name)}"
end
- quoted_column_names = quoted_column_names.join(", ")
-
- execute "CREATE #{index_type} INDEX #{quote_column_name(index_name)} ON #{quote_table_name(table_name)} USING #{index_method} (#{quoted_column_names})"
- end
-
- def rename_index(table_name, old_name, new_name)
- execute "ALTER INDEX #{quote_table_name(old_name)} RENAME TO #{quote_table_name(new_name)}"
end
end
end
sudo -u vagrant -H createdb -E UTF-8 -O vagrant osm_test
# add btree_gist extension
sudo -u vagrant -H psql -c "create extension btree_gist" openstreetmap
+ sudo -u vagrant -H psql -c "create extension btree_gist" osm_test
fi
# build and set up postgres extensions
pushd db/functions
end
assert_response :success, "Expected scucess with the map call"
assert_select "osm[version='#{API_VERSION}'][generator='#{GENERATOR}']", :count => 1 do
- assert_select "bounds[minlon=#{minlon}][minlat=#{minlat}][maxlon=#{maxlon}][maxlat=#{maxlat}]", :count => 1
- assert_select "node[id=#{node.id}][lat=#{node.lat}][lon=#{node.lon}][version=#{node.version}][changeset=#{node.changeset_id}][visible=#{node.visible}][timestamp=#{node.timestamp.xmlschema}]", :count => 1 do
+ assert_select "bounds[minlon='#{minlon}'][minlat='#{minlat}'][maxlon='#{maxlon}'][maxlat='#{maxlat}']", :count => 1
+ assert_select "node[id='#{node.id}'][lat='#{node.lat}'][lon='#{node.lon}'][version='#{node.version}'][changeset='#{node.changeset_id}'][visible='#{node.visible}'][timestamp='#{node.timestamp.xmlschema}']", :count => 1 do
# This should really be more generic
assert_select "tag[k='test'][v='yes']"
end
get :map, :bbox => bbox
assert_response :success, "The map call should have succeeded"
assert_select "osm[version='#{API_VERSION}'][generator='#{GENERATOR}']", :count => 1 do
- assert_select "bounds[minlon=#{node.lon}][minlat=#{node.lat}][maxlon=#{node.lon}][maxlat=#{node.lat}]", :count => 1
- assert_select "node[id=#{node.id}][lat=#{node.lat}][lon=#{node.lon}][version=#{node.version}][changeset=#{node.changeset_id}][visible=#{node.visible}][timestamp=#{node.timestamp.xmlschema}]", :count => 1 do
+ assert_select "bounds[minlon='#{node.lon}'][minlat='#{node.lat}'][maxlon='#{node.lon}'][maxlat='#{node.lat}']", :count => 1
+ assert_select "node[id='#{node.id}'][lat='#{node.lat}'][lon='#{node.lon}'][version='#{node.version}'][changeset='#{node.changeset_id}'][visible='#{node.visible}'][timestamp='#{node.timestamp.xmlschema}']", :count => 1 do
# This should really be more generic
assert_select "tag[k='test'][v='yes']"
end
bbox = "#{minlon},#{minlat},#{maxlon},#{maxlat}"
get :trackpoints, :bbox => bbox
assert_response :success
- assert_select "gpx[version=1.0][creator=OpenStreetMap.org][xmlns=http://www.topografix.com/GPX/1/0]", :count => 1 do
+ assert_select "gpx[version='1.0'][creator='OpenStreetMap.org']", :count => 1 do
assert_select "trk" do
assert_select "trkseg"
end
bbox = "#{minlon},#{minlat},#{maxlon},#{maxlat}"
get :trackpoints, :bbox => bbox
assert_response :success
- assert_select "gpx[version=1.0][creator=OpenStreetMap.org][xmlns=http://www.topografix.com/GPX/1/0]", :count => 1 do
+ assert_select "gpx[version='1.0'][creator='OpenStreetMap.org']", :count => 1 do
assert_select "trk", :count => 1 do
assert_select "trk > trkseg", :count => 2 do |trksegs|
trksegs.each do |trkseg|
bbox = "#{minlon},#{minlat},#{maxlon},#{maxlat}"
get :trackpoints, :bbox => bbox
assert_response :success
- assert_select "gpx[version=1.0][creator=OpenStreetMap.org][xmlns=http://www.topografix.com/GPX/1/0]", :count => 1 do
+ assert_select "gpx[version='1.0'][creator='OpenStreetMap.org']", :count => 1 do
assert_select "trk", :count => 1 do
assert_select "trk>name", :count => 1
assert_select "trk>desc", :count => 1
assert_response :success
assert_select "osm[version='#{API_VERSION}'][generator='#{GENERATOR}']", :count => 1 do
assert_select "api", :count => 1 do
- assert_select "version[minimum=#{API_VERSION}][maximum=#{API_VERSION}]", :count => 1
- assert_select "area[maximum=#{MAX_REQUEST_AREA}]", :count => 1
- assert_select "tracepoints[per_page=#{TRACEPOINTS_PER_PAGE}]", :count => 1
- assert_select "changesets[maximum_elements=#{Changeset::MAX_ELEMENTS}]", :count => 1
- assert_select "status[database=online]", :count => 1
- assert_select "status[api=online]", :count => 1
- assert_select "status[gpx=online]", :count => 1
+ assert_select "version[minimum='#{API_VERSION}'][maximum='#{API_VERSION}']", :count => 1
+ assert_select "area[maximum='#{MAX_REQUEST_AREA}']", :count => 1
+ assert_select "tracepoints[per_page='#{TRACEPOINTS_PER_PAGE}']", :count => 1
+ assert_select "changesets[maximum_elements='#{Changeset::MAX_ELEMENTS}']", :count => 1
+ assert_select "status[database='online']", :count => 1
+ assert_select "status[api='online']", :count => 1
+ assert_select "status[gpx='online']", :count => 1
end
end
end
assert_select "osm > permissions", :count => 1 do
assert_select "permission", :count => ClientApplication.all_permissions.size
ClientApplication.all_permissions.each do |p|
- assert_select "permission[name=#{p}]", :count => 1
+ assert_select "permission[name='#{p}']", :count => 1
end
end
end
assert_response :success
assert_select "osm > permissions", :count => 1 do
assert_select "permission", :count => 2
- assert_select "permission[name=allow_read_prefs]", :count => 1
- assert_select "permission[name=allow_write_api]", :count => 1
- assert_select "permission[name=allow_read_gpx]", :count => 0
+ assert_select "permission[name='allow_read_prefs']", :count => 1
+ assert_select "permission[name='allow_write_api']", :count => 1
+ assert_select "permission[name='allow_read_gpx']", :count => 0
end
end
end
get :read, :id => changeset_id
assert_response :success, "cannot get first changeset"
- assert_select "osm[version=#{API_VERSION}][generator=\"OpenStreetMap server\"]", 1
- assert_select "osm>changeset[id=#{changeset_id}]", 1
+ assert_select "osm[version='#{API_VERSION}'][generator='OpenStreetMap server']", 1
+ assert_select "osm>changeset[id='#{changeset_id}']", 1
assert_select "osm>changeset>discussion", 0
get :read, :id => changeset_id, :include_discussion => true
assert_response :success, "cannot get first changeset with comments"
- assert_select "osm[version=#{API_VERSION}][generator=\"OpenStreetMap server\"]", 1
- assert_select "osm>changeset[id=#{changeset_id}]", 1
+ assert_select "osm[version='#{API_VERSION}'][generator='OpenStreetMap server']", 1
+ assert_select "osm>changeset[id='#{changeset_id}']", 1
assert_select "osm>changeset>discussion", 1
end
"can't upload a simple valid creation to changeset: #{@response.body}"
# check the returned payload
- assert_select "diffResult[version=#{API_VERSION}][generator=\"OpenStreetMap server\"]", 1
+ assert_select "diffResult[version='#{API_VERSION}'][generator='OpenStreetMap server']", 1
assert_select "diffResult>node", 1
- assert_select "diffresult>way", 1
+ assert_select "diffResult>way", 1
assert_select "diffResult>relation", 1
# inspect the response to find out what the new element IDs are
"can't do a conditional delete of in use objects: #{@response.body}"
# check the returned payload
- assert_select "diffResult[version=#{API_VERSION}][generator=\"OpenStreetMap server\"]", 1
+ assert_select "diffResult[version='#{API_VERSION}'][generator='OpenStreetMap server']", 1
assert_select "diffResult>node", 1
- assert_select "diffresult>way", 1
+ assert_select "diffResult>way", 1
assert_select "diffResult>relation", 1
# parse the response
"can't upload a complex diff to changeset: #{@response.body}"
# check the returned payload
- assert_select "diffResult[version=#{API_VERSION}][generator=\"#{GENERATOR}\"]", 1
+ assert_select "diffResult[version='#{API_VERSION}'][generator='#{GENERATOR}']", 1
assert_select "diffResult>node", 1
assert_select "diffResult>way", 1
assert_select "diffResult>relation", 1
# check the response is well-formed
assert_select "diffResult>node", 3
- assert_select "diffResult>node[old_id=-1]", 3
+ assert_select "diffResult>node[old_id='-1']", 3
end
##
"failed to return error in XML format"
# check the returned payload
- assert_select "osmError[version=#{API_VERSION}][generator=\"OpenStreetMap server\"]", 1
+ assert_select "osmError[version='#{API_VERSION}'][generator='OpenStreetMap server']", 1
assert_select "osmError>status", 1
assert_select "osmError>message", 1
# FIXME needs more assert_select tests
assert_select "osmChange[version='#{API_VERSION}'][generator='#{GENERATOR}']" do
assert_select "create", :count => 5
- assert_select "create>node[id=#{nodes(:used_node_2).node_id}][visible=#{nodes(:used_node_2).visible?}][version=#{nodes(:used_node_2).version}]" do
- assert_select "tag[k=#{node_tags(:t3).k}][v=#{node_tags(:t3).v}]"
+ assert_select "create>node[id='#{nodes(:used_node_2).node_id}'][visible='#{nodes(:used_node_2).visible?}'][version='#{nodes(:used_node_2).version}']" do
+ assert_select "tag[k='#{node_tags(:t3).k}'][v='#{node_tags(:t3).v}']"
end
- assert_select "create>node[id=#{nodes(:visible_node).node_id}]"
+ assert_select "create>node[id='#{nodes(:visible_node).node_id}']"
end
end
# get the bounding box back from the changeset
get :read, :id => changeset_id
assert_response :success, "Couldn't read back changeset."
- assert_select "osm>changeset[min_lon=1.0]", 1
- assert_select "osm>changeset[max_lon=1.0]", 1
- assert_select "osm>changeset[min_lat=2.0]", 1
- assert_select "osm>changeset[max_lat=2.0]", 1
+ assert_select "osm>changeset[min_lon='1.0']", 1
+ assert_select "osm>changeset[max_lon='1.0']", 1
+ assert_select "osm>changeset[min_lat='2.0']", 1
+ assert_select "osm>changeset[max_lat='2.0']", 1
# add another node to it
with_controller(NodeController.new) do
# get the bounding box back from the changeset
get :read, :id => changeset_id
assert_response :success, "Couldn't read back changeset for the second time."
- assert_select "osm>changeset[min_lon=1.0]", 1
- assert_select "osm>changeset[max_lon=2.0]", 1
- assert_select "osm>changeset[min_lat=1.0]", 1
- assert_select "osm>changeset[max_lat=2.0]", 1
+ assert_select "osm>changeset[min_lon='1.0']", 1
+ assert_select "osm>changeset[max_lon='2.0']", 1
+ assert_select "osm>changeset[min_lat='1.0']", 1
+ assert_select "osm>changeset[max_lat='2.0']", 1
# add (delete) a way to it, which contains a point at (3,3)
with_controller(WayController.new) do
get :read, :id => changeset_id
assert_response :success, "Couldn't read back changeset for the third time."
# note that the 3.1 here is because of the bbox overexpansion
- assert_select "osm>changeset[min_lon=1.0]", 1
- assert_select "osm>changeset[max_lon=3.1]", 1
- assert_select "osm>changeset[min_lat=1.0]", 1
- assert_select "osm>changeset[max_lat=3.1]", 1
+ assert_select "osm>changeset[min_lon='1.0']", 1
+ assert_select "osm>changeset[max_lon='3.1']", 1
+ assert_select "osm>changeset[min_lat='1.0']", 1
+ assert_select "osm>changeset[max_lat='3.1']", 1
end
##
put :update, :id => changeset.id
assert_response :success
- assert_select "osm>changeset[id=#{changeset.id}]", 1
+ assert_select "osm>changeset[id='#{changeset.id}']", 1
assert_select "osm>changeset>tag", 2
- assert_select "osm>changeset>tag[k=tagtesting][v=valuetesting]", 1
+ assert_select "osm>changeset>tag[k='tagtesting'][v='valuetesting']", 1
end
##
assert_select "osmChange", 1
# this changeset contains node 17 in versions 1 & 2, but 1 should
# be hidden.
- assert_select "osmChange node[id=17]", 1
- assert_select "osmChange node[id=17][version=1]", 0
+ assert_select "osmChange node[id='17']", 1
+ assert_select "osmChange node[id='17'][version='1']", 0
end
##
def assert_changesets(ids)
assert_select "osm>changeset", ids.size
ids.each do |id|
- assert_select "osm>changeset[id=#{id}]", 1
+ assert_select "osm>changeset[id='#{id}']", 1
end
end
# check exactly one changeset
assert_select "osm>changeset", 1
- assert_select "osm>changeset[id=#{changeset_id}]", 1
+ assert_select "osm>changeset[id='#{changeset_id}']", 1
# check the bbox
doc = XML::Parser.string(@response.body).parse
assert_template 'diary_entry/view'
assert_select "title", :text => /Users' diaries | /, :count => 1
assert_select "div.content-heading", :count => 1 do
- assert_select "h2", :text => /#{entry.user.display_name}'s diary/, :count => 1
+ assert_select "h2", :text => /#{entry.user.display_name}'s diary/, :count => 1
end
assert_select "div#content", :count => 1 do
assert_select "div.post_heading", :text => /#{new_title}/, :count => 1
# This next line won't work if the text has been run through the htmlize function
# due to formatting that could be introduced
assert_select "p", :text => /#{new_body}/, :count => 1
- assert_select "abbr[class=geo][title=#{number_with_precision(new_latitude, :precision => 4)}; #{number_with_precision(new_longitude, :precision => 4)}]", :count => 1
+ assert_select "abbr[class='geo'][title='#{number_with_precision(new_latitude, :precision => 4)}; #{number_with_precision(new_longitude, :precision => 4)}']", :count => 1
# As we're not logged in, check that you cannot edit
#print @response.body
assert_select "a[href='/user/#{entry.user.display_name}/diary/#{entry.id}/edit']", :text => "Edit this entry", :count => 1
assert_template 'diary_entry/view'
assert_select "title", :text => /Users' diaries | /, :count => 1
assert_select "div.content-heading", :count => 1 do
- assert_select "h2", :text => /#{users(:normal_user).display_name}'s diary/, :count => 1
+ assert_select "h2", :text => /#{users(:normal_user).display_name}'s diary/, :count => 1
end
assert_select "div#content", :count => 1 do
assert_select "div.post_heading", :text => /#{new_title}/, :count => 1
# This next line won't work if the text has been run through the htmlize function
# due to formatting that could be introduced
assert_select "p", :text => /#{new_body}/, :count => 1
- assert_select "abbr[class=geo][title=#{number_with_precision(new_latitude, :precision => 4)}; #{number_with_precision(new_longitude, :precision => 4)}]", :count => 1
+ assert_select "abbr[class=geo][title='#{number_with_precision(new_latitude, :precision => 4)}; #{number_with_precision(new_longitude, :precision => 4)}']", :count => 1
# As we're not logged in, check that you cannot edit
- assert_select "li[class=hidden show_if_user_#{entry.user.id}]", :count => 1 do
+ assert_select "li[class='hidden show_if_user_#{entry.user.id}']", :count => 1 do
assert_select "a[href='/user/#{entry.user.display_name}/diary/#{entry.id}/edit']", :text => "Edit this entry", :count => 1
end
end
assert_select "title", "OpenStreetMap | Send message"
assert_select "form[action='#{new_message_path(:display_name => users(:public_user).display_name)}']", :count => 1 do
assert_select "input#message_title", :count => 1 do
- assert_select "[value=Test Message]"
+ assert_select "[value='Test Message']"
end
assert_select "textarea#message_body", :text => "", :count => 1
assert_select "input[type='submit'][value='Send']", :count => 1
assert_select "title", "OpenStreetMap | Send message"
assert_select "form[action='#{new_message_path(:display_name => users(:public_user).display_name)}']", :count => 1 do
assert_select "input#message_title", :count => 1 do
- assert_select "[value=]"
+ assert_select "[value='']"
end
assert_select "textarea#message_body", :text => "Test message body", :count => 1
assert_select "input[type='submit'][value='Send']", :count => 1
assert_select "h1", "The user non_existent_user does not exist"
end
+ ##
+ # test the new action message limit
+ def test_new_limit
+ # Login as a normal user
+ session[:user] = users(:normal_user).id
+
+ # Check that sending a message fails when the message limit is hit
+ assert_no_difference "ActionMailer::Base.deliveries.size" do
+ assert_no_difference "Message.count" do
+ with_message_limit(0) do
+ post :new,
+ :display_name => users(:public_user).display_name,
+ :message => { :title => "Test Message", :body => "Test message body" }
+ assert_response :success
+ assert_template "new"
+ assert_select "p.error", /wait a while/
+ end
+ end
+ end
+ end
+
##
# test the reply action
def test_reply
assert_response :not_found
assert_template "no_such_message"
end
+
+private
+
+ def with_message_limit(value)
+ max_messages_per_hour = Object.send("remove_const", "MAX_MESSAGES_PER_HOUR")
+ Object.const_set("MAX_MESSAGES_PER_HOUR", value)
+
+ yield
+
+ Object.send("remove_const", "MAX_MESSAGES_PER_HOUR")
+ Object.const_set("MAX_MESSAGES_PER_HOUR", max_messages_per_hour)
+ end
end
assert_response :success
assert_select "osm" do
assert_select "node", :count => 5
- assert_select "node[id=1][visible=true]", :count => 1
- assert_select "node[id=2][visible=false]", :count => 1
- assert_select "node[id=4][visible=true]", :count => 1
- assert_select "node[id=15][visible=true]", :count => 1
- assert_select "node[id=17][visible=false]", :count => 1
+ assert_select "node[id='1'][visible='true']", :count => 1
+ assert_select "node[id='2'][visible='false']", :count => 1
+ assert_select "node[id='4'][visible='true']", :count => 1
+ assert_select "node[id='15'][visible='true']", :count => 1
+ assert_select "node[id='17'][visible='false']", :count => 1
end
# check error when a non-existent node is included
assert_response :success
assert_equal "application/xml", @response.content_type
assert_select "osm", :count => 1 do
- assert_select "note[lat=#{notes(:open_note).lat}][lon=#{notes(:open_note).lon}]", :count => 1 do
+ assert_select "note[lat='#{notes(:open_note).lat}'][lon='#{notes(:open_note).lon}']", :count => 1 do
assert_select "id", notes(:open_note).id
assert_select "url", note_url(notes(:open_note), :format => "xml")
assert_select "comment_url", comment_note_url(notes(:open_note), :format => "xml")
assert_response :success
assert_equal "application/gpx+xml", @response.content_type
assert_select "gpx", :count => 1 do
- assert_select "wpt[lat=#{notes(:open_note).lat}][lon=#{notes(:open_note).lon}]", :count => 1 do
+ assert_select "wpt[lat='#{notes(:open_note).lat}'][lon='#{notes(:open_note).lon}']", :count => 1 do
assert_select "extension", :count => 1 do
assert_select "id", notes(:open_note).id
assert_select "url", note_url(notes(:open_note), :format => "gpx")
get :history, :id => node.node_id
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm node[id=#{node.node_id}][version=#{node.version}]", 0, "redacted node #{node.node_id} version #{node.version} shouldn't be present in the history."
+ assert_select "osm node[id='#{node.node_id}'][version='#{node.version}']", 0, "redacted node #{node.node_id} version #{node.version} shouldn't be present in the history."
# not even to a logged-in user
basic_authorization(users(:public_user).email, "test")
get :history, :id => node.node_id
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm node[id=#{node.node_id}][version=#{node.version}]", 0, "redacted node #{node.node_id} version #{node.version} shouldn't be present in the history, even when logged in."
+ assert_select "osm node[id='#{node.node_id}'][version='#{node.version}']", 0, "redacted node #{node.node_id} version #{node.version} shouldn't be present in the history, even when logged in."
end
##
# and when accessed via history
get :history, :id => node.node_id
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm node[id=#{node.node_id}][version=#{node.version}]", 0, "node #{node.node_id} version #{node.version} should not be present in the history for moderators when not passing flag."
+ assert_select "osm node[id='#{node.node_id}'][version='#{node.version}']", 0, "node #{node.node_id} version #{node.version} should not be present in the history for moderators when not passing flag."
get :history, :id => node.node_id, :show_redactions => 'true'
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm node[id=#{node.node_id}][version=#{node.version}]", 1, "node #{node.node_id} version #{node.version} should still be present in the history for moderators when passing flag."
+ assert_select "osm node[id='#{node.node_id}'][version='#{node.version}']", 1, "node #{node.node_id} version #{node.version} should still be present in the history for moderators when passing flag."
end
# testing that if the moderator drops auth, he can't see the
# and when accessed via history
get :history, :id => node.node_id
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm node[id=#{node.node_id}][version=#{node.version}]", 0, "redacted node #{node.node_id} version #{node.version} shouldn't be present in the history."
+ assert_select "osm node[id='#{node.node_id}'][version='#{node.version}']", 0, "redacted node #{node.node_id} version #{node.version} shouldn't be present in the history."
end
def do_redact_node(node, redaction)
get :history, :id => relation.relation_id
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm relation[id=#{relation.relation_id}][version=#{relation.version}]", 0, "redacted relation #{relation.relation_id} version #{relation.version} shouldn't be present in the history."
+ assert_select "osm relation[id='#{relation.relation_id}'][version='#{relation.version}']", 0, "redacted relation #{relation.relation_id} version #{relation.version} shouldn't be present in the history."
# not even to a logged-in user
basic_authorization(users(:public_user).email, "test")
get :version, :id => relation.relation_id, :version => relation.version
get :history, :id => relation.relation_id
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm relation[id=#{relation.relation_id}][version=#{relation.version}]", 0, "redacted node #{relation.relation_id} version #{relation.version} shouldn't be present in the history, even when logged in."
+ assert_select "osm relation[id='#{relation.relation_id}'][version='#{relation.version}']", 0, "redacted node #{relation.relation_id} version #{relation.version} shouldn't be present in the history, even when logged in."
end
##
# and when accessed via history
get :history, :id => relation.relation_id
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm relation[id=#{relation.relation_id}][version=#{relation.version}]", 0, "relation #{relation.relation_id} version #{relation.version} should not be present in the history for moderators when not passing flag."
+ assert_select "osm relation[id='#{relation.relation_id}'][version='#{relation.version}']", 0, "relation #{relation.relation_id} version #{relation.version} should not be present in the history for moderators when not passing flag."
get :history, :id => relation.relation_id, :show_redactions => 'true'
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm relation[id=#{relation.relation_id}][version=#{relation.version}]", 1, "relation #{relation.relation_id} version #{relation.version} should still be present in the history for moderators when passing flag."
+ assert_select "osm relation[id='#{relation.relation_id}'][version='#{relation.version}']", 1, "relation #{relation.relation_id} version #{relation.version} should still be present in the history for moderators when passing flag."
end
# testing that if the moderator drops auth, he can't see the
# and when accessed via history
get :history, :id => relation.relation_id
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm relation[id=#{relation.relation_id}][version=#{relation.version}]", 0, "redacted relation #{relation.relation_id} version #{relation.version} shouldn't be present in the history."
+ assert_select "osm relation[id='#{relation.relation_id}'][version='#{relation.version}']", 0, "redacted relation #{relation.relation_id} version #{relation.version} shouldn't be present in the history."
end
##
get :history, :id => way.way_id
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm way[id=#{way.way_id}][version=#{way.version}]", 0, "redacted way #{way.way_id} version #{way.version} shouldn't be present in the history."
+ assert_select "osm way[id='#{way.way_id}'][version='#{way.version}']", 0, "redacted way #{way.way_id} version #{way.version} shouldn't be present in the history."
# not even to a logged-in user
basic_authorization(users(:public_user).email, "test")
get :version, :id => way.way_id, :version => way.version
get :history, :id => way.way_id
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm way[id=#{way.way_id}][version=#{way.version}]", 0, "redacted node #{way.way_id} version #{way.version} shouldn't be present in the history, even when logged in."
+ assert_select "osm way[id='#{way.way_id}'][version='#{way.version}']", 0, "redacted node #{way.way_id} version #{way.version} shouldn't be present in the history, even when logged in."
end
##
# and when accessed via history
get :history, :id => way.way_id
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm way[id=#{way.way_id}][version=#{way.version}]", 0, "way #{way.way_id} version #{way.version} should not be present in the history for moderators when not passing flag."
+ assert_select "osm way[id='#{way.way_id}'][version='#{way.version}']", 0, "way #{way.way_id} version #{way.version} should not be present in the history for moderators when not passing flag."
get :history, :id => way.way_id, :show_redactions => 'true'
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm way[id=#{way.way_id}][version=#{way.version}]", 1, "way #{way.way_id} version #{way.version} should still be present in the history for moderators when passing flag."
+ assert_select "osm way[id='#{way.way_id}'][version='#{way.version}']", 1, "way #{way.way_id} version #{way.version} should still be present in the history for moderators when passing flag."
end
# testing that if the moderator drops auth, he can't see the
# and when accessed via history
get :history, :id => way.way_id
assert_response :success, "Redaction shouldn't have stopped history working."
- assert_select "osm way[id=#{way.way_id}][version=#{way.version}]", 0, "redacted way #{way.way_id} version #{way.version} shouldn't be present in the history."
+ assert_select "osm way[id='#{way.way_id}'][version='#{way.version}']", 0, "redacted way #{way.way_id} version #{way.version} shouldn't be present in the history."
end
##
assert_response :success
# count one osm element
- assert_select "osm[version=#{API_VERSION}][generator=\"OpenStreetMap server\"]", 1
+ assert_select "osm[version='#{API_VERSION}'][generator='OpenStreetMap server']", 1
# we should have only the expected number of relations
assert_select "osm>relation", expected_relations.size
# and each of them should contain the node we originally searched for
expected_relations.each do |r|
relation_id = current_relations(r).id
- assert_select "osm>relation#?", relation_id
- assert_select "osm>relation#?>member[type=\"#{type}\"][ref=#{id}]", relation_id
+ assert_select "osm>relation[id='#{relation_id}']>member[type='#{type}'][ref='#{id}']", 1
end
end
assert_response :success
assert_select "osm" do
assert_select "relation", :count => 4
- assert_select "relation[id=1][visible=true]", :count => 1
- assert_select "relation[id=2][visible=false]", :count => 1
- assert_select "relation[id=4][visible=true]", :count => 1
- assert_select "relation[id=7][visible=true]", :count => 1
+ assert_select "relation[id='1'][visible='true']", :count => 1
+ assert_select "relation[id='2'][visible='false']", :count => 1
+ assert_select "relation[id='4'][visible='true']", :count => 1
+ assert_select "relation[id='7'][visible='true']", :count => 1
end
# check error when a non-existent relation is included
get :read, :id => changeset_id
assert_response :success, "can't re-read changeset for modify test"
assert_select "osm>changeset", 1, "Changeset element doesn't exist in #{@response.body}"
- assert_select "osm>changeset[id=#{changeset_id}]", 1, "Changeset id=#{changeset_id} doesn't exist in #{@response.body}"
- assert_select "osm>changeset[min_lon=#{bbox.min_lon}]", 1, "Changeset min_lon wrong in #{@response.body}"
- assert_select "osm>changeset[min_lat=#{bbox.min_lat}]", 1, "Changeset min_lat wrong in #{@response.body}"
- assert_select "osm>changeset[max_lon=#{bbox.max_lon}]", 1, "Changeset max_lon wrong in #{@response.body}"
- assert_select "osm>changeset[max_lat=#{bbox.max_lat}]", 1, "Changeset max_lat wrong in #{@response.body}"
+ assert_select "osm>changeset[id='#{changeset_id}']", 1, "Changeset id=#{changeset_id} doesn't exist in #{@response.body}"
+ assert_select "osm>changeset[min_lon='#{bbox.min_lon}']", 1, "Changeset min_lon wrong in #{@response.body}"
+ assert_select "osm>changeset[min_lat='#{bbox.min_lat}']", 1, "Changeset min_lat wrong in #{@response.body}"
+ assert_select "osm>changeset[max_lon='#{bbox.max_lon}']", 1, "Changeset max_lon wrong in #{@response.body}"
+ assert_select "osm>changeset[max_lat='#{bbox.max_lat}']", 1, "Changeset max_lat wrong in #{@response.body}"
end
end
end
assert_select "body", :count => 1 do
assert_select "div#content", :count => 1 do
- assert_select "form[action='/user/new'][method=post]", :count => 1 do
- assert_select "input[id=user_email]", :count => 1
- assert_select "input[id=user_email_confirmation]", :count => 1
- assert_select "input[id=user_display_name]", :count => 1
- assert_select "input[id=user_pass_crypt][type=password]", :count => 1
- assert_select "input[id=user_pass_crypt_confirmation][type=password]", :count => 1
- assert_select "input[type=submit][value=Sign Up]", :count => 1
+ assert_select "form[action='/user/new'][method='post']", :count => 1 do
+ assert_select "input[id='user_email']", :count => 1
+ assert_select "input[id='user_email_confirmation']", :count => 1
+ assert_select "input[id='user_display_name']", :count => 1
+ assert_select "input[id='user_pass_crypt'][type='password']", :count => 1
+ assert_select "input[id='user_pass_crypt_confirmation'][type='password']", :count => 1
+ assert_select "input[type='submit'][value='Sign Up']", :count => 1
end
end
end
get :view, {:display_name => "test"}
assert_response :success
assert_select "div#userinformation" do
- assert_select "a[href^=/user/test/history]", 1
- assert_select "a[href=/user/test/traces]", 1
- assert_select "a[href=/user/test/diary]", 1
- assert_select "a[href=/user/test/diary/comments]", 1
- assert_select "a[href=/user/test/account]", 0
- assert_select "a[href=/user/test/blocks]", 0
- assert_select "a[href=/user/test/blocks_by]", 0
- assert_select "a[href=/blocks/new/test]", 0
+ assert_select "a[href^='/user/test/history']", 1
+ assert_select "a[href='/user/test/traces']", 1
+ assert_select "a[href='/user/test/diary']", 1
+ assert_select "a[href='/user/test/diary/comments']", 1
+ assert_select "a[href='/user/test/account']", 0
+ assert_select "a[href='/user/test/blocks']", 0
+ assert_select "a[href='/user/test/blocks_by']", 0
+ assert_select "a[href='/blocks/new/test']", 0
end
# Test a user who has been blocked
get :view, {:display_name => "blocked"}
assert_response :success
assert_select "div#userinformation" do
- assert_select "a[href^=/user/blocked/history]", 1
- assert_select "a[href=/user/blocked/traces]", 1
- assert_select "a[href=/user/blocked/diary]", 1
- assert_select "a[href=/user/blocked/diary/comments]", 1
- assert_select "a[href=/user/blocked/account]", 0
- assert_select "a[href=/user/blocked/blocks]", 1
- assert_select "a[href=/user/blocked/blocks_by]", 0
- assert_select "a[href=/blocks/new/blocked]", 0
+ assert_select "a[href^='/user/blocked/history']", 1
+ assert_select "a[href='/user/blocked/traces']", 1
+ assert_select "a[href='/user/blocked/diary']", 1
+ assert_select "a[href='/user/blocked/diary/comments']", 1
+ assert_select "a[href='/user/blocked/account']", 0
+ assert_select "a[href='/user/blocked/blocks']", 1
+ assert_select "a[href='/user/blocked/blocks_by']", 0
+ assert_select "a[href='/blocks/new/blocked']", 0
end
# Test a moderator who has applied blocks
get :view, {:display_name => "moderator"}
assert_response :success
assert_select "div#userinformation" do
- assert_select "a[href^=/user/moderator/history]", 1
- assert_select "a[href=/user/moderator/traces]", 1
- assert_select "a[href=/user/moderator/diary]", 1
- assert_select "a[href=/user/moderator/diary/comments]", 1
- assert_select "a[href=/user/moderator/account]", 0
- assert_select "a[href=/user/moderator/blocks]", 0
- assert_select "a[href=/user/moderator/blocks_by]", 1
- assert_select "a[href=/blocks/new/moderator]", 0
+ assert_select "a[href^='/user/moderator/history']", 1
+ assert_select "a[href='/user/moderator/traces']", 1
+ assert_select "a[href='/user/moderator/diary']", 1
+ assert_select "a[href='/user/moderator/diary/comments']", 1
+ assert_select "a[href='/user/moderator/account']", 0
+ assert_select "a[href='/user/moderator/blocks']", 0
+ assert_select "a[href='/user/moderator/blocks_by']", 1
+ assert_select "a[href='/blocks/new/moderator']", 0
end
# Login as a normal user
get :view, {:display_name => "test"}
assert_response :success
assert_select "div#userinformation" do
- assert_select "a[href^=/user/test/history]", 1
- assert_select "a[href=/traces/mine]", 1
- assert_select "a[href=/user/test/diary]", 1
- assert_select "a[href=/user/test/diary/comments]", 1
- assert_select "a[href=/user/test/account]", 1
- assert_select "a[href=/user/test/blocks]", 0
- assert_select "a[href=/user/test/blocks_by]", 0
- assert_select "a[href=/blocks/new/test]", 0
+ assert_select "a[href^='/user/test/history']", 1
+ assert_select "a[href='/traces/mine']", 1
+ assert_select "a[href='/user/test/diary']", 1
+ assert_select "a[href='/user/test/diary/comments']", 1
+ assert_select "a[href='/user/test/account']", 1
+ assert_select "a[href='/user/test/blocks']", 0
+ assert_select "a[href='/user/test/blocks_by']", 0
+ assert_select "a[href='/blocks/new/test']", 0
end
# Login as a moderator
get :view, {:display_name => "test"}
assert_response :success
assert_select "div#userinformation" do
- assert_select "a[href^=/user/test/history]", 1
- assert_select "a[href=/user/test/traces]", 1
- assert_select "a[href=/user/test/diary]", 1
- assert_select "a[href=/user/test/diary/comments]", 1
- assert_select "a[href=/user/test/account]", 0
- assert_select "a[href=/user/test/blocks]", 0
- assert_select "a[href=/user/test/blocks_by]", 0
- assert_select "a[href=/blocks/new/test]", 1
+ assert_select "a[href^='/user/test/history']", 1
+ assert_select "a[href='/user/test/traces']", 1
+ assert_select "a[href='/user/test/diary']", 1
+ assert_select "a[href='/user/test/diary/comments']", 1
+ assert_select "a[href='/user/test/account']", 0
+ assert_select "a[href='/user/test/blocks']", 0
+ assert_select "a[href='/user/test/blocks_by']", 0
+ assert_select "a[href='/blocks/new/test']", 1
end
end
# check the data that is returned
assert_select "description", :count => 1, :text => "test"
assert_select "contributor-terms", :count => 1 do
- assert_select "[agreed=true]"
+ assert_select "[agreed='true']"
end
assert_select "img", :count => 1
assert_select "roles", :count => 1 do
assert_select "role", :count => 0
end
assert_select "changesets", :count => 1 do
- assert_select "[count=0]"
+ assert_select "[count='0']"
end
assert_select "traces", :count => 1 do
- assert_select "[count=0]"
+ assert_select "[count='0']"
end
assert_select "blocks", :count => 1 do
assert_select "received", :count => 1 do
- assert_select "[count=0][active=0]"
+ assert_select "[count='0'][active='0']"
end
assert_select "issued", :count => 0
end
# check the data that is returned
assert_select "description", :count => 1, :text => "test"
assert_select "contributor-terms", :count => 1 do
- assert_select "[agreed=true][pd=false]"
+ assert_select "[agreed='true'][pd='false']"
end
assert_select "img", :count => 1
assert_select "roles", :count => 1 do
assert_select "role", :count => 0
end
assert_select "changesets", :count => 1 do
- assert_select "[count=0]", :count => 1
+ assert_select "[count='0']", :count => 1
end
assert_select "traces", :count => 1 do
- assert_select "[count=0]", :count => 1
+ assert_select "[count='0']", :count => 1
end
assert_select "blocks", :count => 1 do
assert_select "received", :count => 1 do
- assert_select "[count=0][active=0]"
+ assert_select "[count='0'][active='0']"
end
assert_select "issued", :count => 0
end
assert_select "home", :count => 1 do
- assert_select "[lat=12.1][lon=12.1][zoom=3]"
+ assert_select "[lat='12.1'][lon='12.1'][zoom='3']"
end
assert_select "languages", :count => 1 do
assert_select "lang", :count => 1, :text => "en"
end
assert_select "messages", :count => 1 do
assert_select "received", :count => 1 do
- assert_select "[count=1][unread=0]"
+ assert_select "[count='1'][unread='0']"
end
assert_select "sent", :count => 1 do
- assert_select "[count=1]"
+ assert_select "[count='1']"
end
end
end
assert_response :success
assert_template :make_friend
assert_select "form" do
- assert_select "input[type=hidden][name=referer]", 0
- assert_select "input[type=submit]", 1
+ assert_select "input[type='hidden'][name='referer']", 0
+ assert_select "input[type='submit']", 1
end
assert_nil Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
assert_response :success
assert_template :make_friend
assert_select "form" do
- assert_select "input[type=hidden][name=referer][value=/test]", 1
- assert_select "input[type=submit]", 1
+ assert_select "input[type='hidden'][name='referer'][value='/test']", 1
+ assert_select "input[type='submit']", 1
end
assert_nil Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
assert_response :success
assert_template :remove_friend
assert_select "form" do
- assert_select "input[type=hidden][name=referer]", 0
- assert_select "input[type=submit]", 1
+ assert_select "input[type='hidden'][name='referer']", 0
+ assert_select "input[type='submit']", 1
end
assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
assert_response :success
assert_template :remove_friend
assert_select "form" do
- assert_select "input[type=hidden][name=referer][value=/test]", 1
- assert_select "input[type=submit]", 1
+ assert_select "input[type='hidden'][name='referer'][value='/test']", 1
+ assert_select "input[type='submit']", 1
end
assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
assert_response :success
# Check the way is correctly returned
- assert_select "osm way[id=#{way.id}][version=#{way.version}][visible=#{way.visible}]", 1
+ assert_select "osm way[id='#{way.id}'][version='#{way.version}'][visible='#{way.visible}']", 1
# check that each node in the way appears once in the output as a
# reference and as the node element.
way.nodes.each do |n|
count = (way.nodes - (way.nodes - [n])).length
- assert_select "osm way nd[ref=#{n.id}]", count
- assert_select "osm node[id=#{n.id}][version=#{n.version}][lat=#{n.lat}][lon=#{n.lon}]", 1
+ assert_select "osm way nd[ref='#{n.id}']", count
+ assert_select "osm node[id='#{n.id}'][version='#{n.version}'][lat='#{n.lat}'][lon='#{n.lon}']", 1
end
end
end
assert_response :success
assert_select "osm" do
assert_select "way", :count => 4
- assert_select "way[id=1][visible=true]", :count => 1
- assert_select "way[id=2][visible=false]", :count => 1
- assert_select "way[id=4][visible=true]", :count => 1
- assert_select "way[id=6][visible=true]", :count => 1
+ assert_select "way[id='1'][visible='true']", :count => 1
+ assert_select "way[id='2'][visible='false']", :count => 1
+ assert_select "way[id='4'][visible='true']", :count => 1
+ assert_select "way[id='6'][visible='true']", :count => 1
end
# check error when a non-existent way is included
# check the full ways to ensure we're not missing anything
expected_way_ids.each do |id|
- way_xml = ways_xml.find("//osm/way[@id=#{id}]").first
+ way_xml = ways_xml.find("//osm/way[@id='#{id}']").first
assert_ways_are_equal(Way.find(id),
Way.from_xml_node(way_xml))
end
k: 'name'
v: 'Test Node'
-nwn_name_ru:
+nwn_name_pt:
node_id: 18
- k: 'name:ru'
- v: 'проверки узла'
+ k: 'name:pt'
+ v: 'Nó teste'
nwn_building:
node_id: 18
v: 'Test Node'
version: 1
-nwnv1_name_ru:
+nwnv1_name_pt:
node_id: 18
- k: 'name:ru'
- v: 'проверки узла'
+ k: 'name:pt'
+ v: 'Nó teste'
version: 1
nwnv1_building:
v: 'Test Node'
version: 2
-nwnv2_name_ru:
+nwnv2_name_pt:
node_id: 18
- k: 'name:ru'
- v: 'проверки узла'
+ k: 'name:pt'
+ v: 'Nó teste'
version: 2
nwnv2_building:
html = linkify(text)
assert_equal false, html.html_safe?
- assert_equal "Test <a href=\"#{link}\" rel=\"nofollow\">#{link}</a> is made into a link", html
+ assert_dom_equal "Test <a href=\"#{link}\" rel=\"nofollow\">#{link}</a> is made into a link", html
html = linkify(text.html_safe)
assert_equal true, html.html_safe?
- assert_equal "Test <a href=\"#{link}\" rel=\"nofollow\">#{link}</a> is made into a link", html
+ assert_dom_equal "Test <a href=\"#{link}\" rel=\"nofollow\">#{link}</a> is made into a link", html
end
%w(test@example.com mailto:test@example.com).each do |link|
html = linkify(text)
assert_equal false, html.html_safe?
- assert_equal text, html
+ assert_dom_equal text, html
html = linkify(text.html_safe)
assert_equal true, html.html_safe?
- assert_equal text, html
+ assert_dom_equal text, html
end
end
def test_rss_link_to
link = rss_link_to(:controller => :diary_entry, :action => :rss)
- assert_equal "<a class=\"rsssmall\" href=\"/diary/rss\"><img alt=\"Rss\" border=\"0\" height=\"16\" src=\"/images/RSS.png\" width=\"16\" /></a>", link
+ assert_dom_equal "<a class=\"rsssmall\" href=\"/diary/rss\"><img alt=\"Rss\" border=\"0\" height=\"16\" src=\"/images/RSS.png\" width=\"16\" /></a>", link
end
def test_atom_link_to
link = atom_link_to(:controller => :changeset, :action => :feed)
- assert_equal "<a class=\"rsssmall\" href=\"/history/feed\"><img alt=\"Rss\" border=\"0\" height=\"16\" src=\"/images/RSS.png\" width=\"16\" /></a>", link
+ assert_dom_equal "<a class=\"rsssmall\" href=\"/history/feed\"><img alt=\"Rss\" border=\"0\" height=\"16\" src=\"/images/RSS.png\" width=\"16\" /></a>", link
end
def test_style_rules
def test_if_logged_in
html = if_logged_in { "Test 1" }
- assert_equal "<div class=\"hide_unless_logged_in\">Test 1</div>", html
+ assert_dom_equal "<div class=\"hide_unless_logged_in\">Test 1</div>", html
html = if_logged_in(:span) { "Test 2" }
- assert_equal "<span class=\"hide_unless_logged_in\">Test 2</span>", html
+ assert_dom_equal "<span class=\"hide_unless_logged_in\">Test 2</span>", html
end
def test_if_not_logged_in
html = if_not_logged_in { "Test 1" }
- assert_equal "<div class=\"hide_if_logged_in\">Test 1</div>", html
+ assert_dom_equal "<div class=\"hide_if_logged_in\">Test 1</div>", html
html = if_not_logged_in(:span) { "Test 2" }
- assert_equal "<span class=\"hide_if_logged_in\">Test 2</span>", html
+ assert_dom_equal "<span class=\"hide_if_logged_in\">Test 2</span>", html
end
def test_if_user
html = if_user(users(:normal_user)) { "Test 1" }
- assert_equal "<div class=\"hidden show_if_user_1\">Test 1</div>", html
+ assert_dom_equal "<div class=\"hidden show_if_user_1\">Test 1</div>", html
html = if_user(users(:normal_user), :span) { "Test 2" }
- assert_equal "<span class=\"hidden show_if_user_1\">Test 2</span>", html
+ assert_dom_equal "<span class=\"hidden show_if_user_1\">Test 2</span>", html
html = if_user(nil) { "Test 3" }
assert_nil html
def test_unless_user
html = unless_user(users(:normal_user)) { "Test 1" }
- assert_equal "<div class=\"hide_if_user_1\">Test 1</div>", html
+ assert_dom_equal "<div class=\"hide_if_user_1\">Test 1</div>", html
html = unless_user(users(:normal_user), :span) { "Test 2" }
- assert_equal "<span class=\"hide_if_user_1\">Test 2</span>", html
+ assert_dom_equal "<span class=\"hide_if_user_1\">Test 2</span>", html
html = unless_user(nil) { "Test 3" }
- assert_equal "<div>Test 3</div>", html
+ assert_dom_equal "<div>Test 3</div>", html
html = unless_user(nil, :span) { "Test 4" }
- assert_equal "<span>Test 4</span>", html
+ assert_dom_equal "<span>Test 4</span>", html
end
def test_if_administrator
html = if_administrator { "Test 1" }
- assert_equal "<div class=\"hide_unless_administrator\">Test 1</div>", html
+ assert_dom_equal "<div class=\"hide_unless_administrator\">Test 1</div>", html
html = if_administrator(:span) { "Test 2" }
- assert_equal "<span class=\"hide_unless_administrator\">Test 2</span>", html
+ assert_dom_equal "<span class=\"hide_unless_administrator\">Test 2</span>", html
end
def test_richtext_area
end
def test_printable_name
- assert_equal "17", printable_name(current_nodes(:redacted_node))
- assert_equal "<bdi>Test Node</bdi> (<bdi>18</bdi>)", printable_name(current_nodes(:node_with_name))
- assert_equal "<bdi>Test Node</bdi> (<bdi>18</bdi>)", printable_name(nodes(:node_with_name_current_version))
- assert_equal "18", printable_name(nodes(:node_with_name_redacted_version))
- assert_equal "<bdi>Test Node</bdi> (<bdi>18, v2</bdi>)", printable_name(nodes(:node_with_name_current_version), true)
- assert_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
-
- I18n.locale = "ru"
-
- assert_equal "17", printable_name(current_nodes(:redacted_node))
- assert_equal "<bdi>проверки узла</bdi> (<bdi>18</bdi>)", printable_name(current_nodes(:node_with_name))
- assert_equal "<bdi>проверки узла</bdi> (<bdi>18</bdi>)", printable_name(nodes(:node_with_name_current_version))
- assert_equal "18", printable_name(nodes(:node_with_name_redacted_version))
- assert_equal "<bdi>проверки узла</bdi> (<bdi>18, v2</bdi>)", printable_name(nodes(:node_with_name_current_version), true)
- assert_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
-
- I18n.locale = "ru-RU"
-
- assert_equal "17", printable_name(current_nodes(:redacted_node))
- assert_equal "<bdi>проверки узла</bdi> (<bdi>18</bdi>)", printable_name(current_nodes(:node_with_name))
- assert_equal "<bdi>проверки узла</bdi> (<bdi>18</bdi>)", printable_name(nodes(:node_with_name_current_version))
- assert_equal "18", printable_name(nodes(:node_with_name_redacted_version))
- assert_equal "<bdi>проверки узла</bdi> (<bdi>18, v2</bdi>)", printable_name(nodes(:node_with_name_current_version), true)
- assert_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
+ assert_dom_equal "17", printable_name(current_nodes(:redacted_node))
+ assert_dom_equal "<bdi>Test Node</bdi> (<bdi>18</bdi>)", printable_name(current_nodes(:node_with_name))
+ assert_dom_equal "<bdi>Test Node</bdi> (<bdi>18</bdi>)", printable_name(nodes(:node_with_name_current_version))
+ assert_dom_equal "18", printable_name(nodes(:node_with_name_redacted_version))
+ assert_dom_equal "<bdi>Test Node</bdi> (<bdi>18, v2</bdi>)", printable_name(nodes(:node_with_name_current_version), true)
+ assert_dom_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
+
+ I18n.locale = "pt"
+
+ assert_dom_equal "17", printable_name(current_nodes(:redacted_node))
+ assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>18</bdi>)", printable_name(current_nodes(:node_with_name))
+ assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>18</bdi>)", printable_name(nodes(:node_with_name_current_version))
+ assert_dom_equal "18", printable_name(nodes(:node_with_name_redacted_version))
+ assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>18, v2</bdi>)", printable_name(nodes(:node_with_name_current_version), true)
+ assert_dom_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
+
+ I18n.locale = "pt-BR"
+
+ assert_dom_equal "17", printable_name(current_nodes(:redacted_node))
+ assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>18</bdi>)", printable_name(current_nodes(:node_with_name))
+ assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>18</bdi>)", printable_name(nodes(:node_with_name_current_version))
+ assert_dom_equal "18", printable_name(nodes(:node_with_name_redacted_version))
+ assert_dom_equal "<bdi>Nó teste</bdi> (<bdi>18, v2</bdi>)", printable_name(nodes(:node_with_name_current_version), true)
+ assert_dom_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
I18n.locale = "de"
- assert_equal "17", printable_name(current_nodes(:redacted_node))
- assert_equal "<bdi>Test Node</bdi> (<bdi>18</bdi>)", printable_name(current_nodes(:node_with_name))
- assert_equal "<bdi>Test Node</bdi> (<bdi>18</bdi>)", printable_name(nodes(:node_with_name_current_version))
- assert_equal "18", printable_name(nodes(:node_with_name_redacted_version))
- assert_equal "<bdi>Test Node</bdi> (<bdi>18, v2</bdi>)", printable_name(nodes(:node_with_name_current_version), true)
- assert_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
+ assert_dom_equal "17", printable_name(current_nodes(:redacted_node))
+ assert_dom_equal "<bdi>Test Node</bdi> (<bdi>18</bdi>)", printable_name(current_nodes(:node_with_name))
+ assert_dom_equal "<bdi>Test Node</bdi> (<bdi>18</bdi>)", printable_name(nodes(:node_with_name_current_version))
+ assert_dom_equal "18", printable_name(nodes(:node_with_name_redacted_version))
+ assert_dom_equal "<bdi>Test Node</bdi> (<bdi>18, v2</bdi>)", printable_name(nodes(:node_with_name_current_version), true)
+ assert_dom_equal "18, v1", printable_name(nodes(:node_with_name_redacted_version), true)
end
def test_link_class
def test_format_key
html = format_key("highway")
- assert_equal "<a href=\"http://wiki.openstreetmap.org/wiki/Key:highway?uselang=en\" title=\"The wiki description page for the highway tag\">highway</a>", html
+ assert_dom_equal "<a href=\"http://wiki.openstreetmap.org/wiki/Key:highway?uselang=en\" title=\"The wiki description page for the highway tag\">highway</a>", html
html = format_key("unknown")
- assert_equal "unknown", html
+ assert_dom_equal "unknown", html
end
def test_format_value
html = format_value("highway", "primary")
- assert_equal "<a href=\"http://wiki.openstreetmap.org/wiki/Tag:highway=primary?uselang=en\" title=\"The wiki description page for the highway=primary tag\">primary</a>", html
+ assert_dom_equal "<a href=\"http://wiki.openstreetmap.org/wiki/Tag:highway=primary?uselang=en\" title=\"The wiki description page for the highway=primary tag\">primary</a>", html
html = format_value("highway", "unknown")
- assert_equal "unknown", html
+ assert_dom_equal "unknown", html
html = format_value("unknown", "unknown")
- assert_equal "unknown", html
+ assert_dom_equal "unknown", html
html = format_value("phone", "+1234567890")
- assert_equal "<a href=\"tel:+1234567890\" title=\"Call +1234567890\">+1234567890</a>", html
+ assert_dom_equal "<a href=\"tel:+1234567890\" title=\"Call +1234567890\">+1234567890</a>", html
end
def test_icon_tags
assert_response :success
assert_template 'user/confirm'
- post "user/#{display_name}/confirm", { :confirm_string => confirm_string }
+ post "/user/#{display_name}/confirm", { :confirm_string => confirm_string }
assert_response :redirect
follow_redirect!
assert_response :success
follow_redirect!
assert_response :success
assert_template 'changeset/history'
+ assert_select "span.username", "test"
end
def test_login_email_password_normal_upcase
assert_response :redirect
follow_redirect!
assert_response :success
- assert_template 'login'
+ assert_template 'changeset/history'
+ assert_select "span.username", "TEST"
end
def test_login_email_password_normal_titlecase
follow_redirect!
assert_response :success
assert_template 'login'
+ assert_select "span.username", false
end
def test_login_email_password_public
follow_redirect!
assert_response :success
assert_template 'changeset/history'
+ assert_select "span.username", "test2"
end
def test_login_email_password_public_upcase
follow_redirect!
assert_response :success
assert_template 'changeset/history'
+ assert_select "span.username", "test2"
end
def test_login_email_password_public_titlecase
follow_redirect!
assert_response :success
assert_template 'changeset/history'
+ assert_select "span.username", "test2"
end
def test_login_username_password_normal
follow_redirect!
assert_response :success
assert_template 'changeset/history'
+ assert_select "span.username", "test"
end
def test_login_username_password_normal_upcase
assert_response :redirect
follow_redirect!
assert_response :success
- assert_template 'login'
+ assert_template 'changeset/history'
+ assert_select "span.username", "TEST"
end
def test_login_username_password_normal_titlecase
follow_redirect!
assert_response :success
assert_template 'login'
+ assert_select "span.username", false
end
def test_login_username_password_public
follow_redirect!
assert_response :success
assert_template 'changeset/history'
+ assert_select "span.username", "test2"
end
def test_login_username_password_public_upcase
follow_redirect!
assert_response :success
assert_template 'changeset/history'
+ assert_select "span.username", "test2"
end
def test_login_username_password_public_titlecase
follow_redirect!
assert_response :success
assert_template 'changeset/history'
+ assert_select "span.username", "test2"
end
def test_login_openid_success
follow_redirect!
assert_response :success
assert_template 'changeset/history'
+ assert_select "span.username", "openIDuser"
end
def test_login_openid_cancel
follow_redirect!
assert_response :success
assert_template 'login'
+ assert_select "span.username", false
end
def test_login_openid_invalid_provider
follow_redirect!
assert_response :success
assert_template 'login'
+ assert_select "span.username", false
end
def test_login_openid_invalid_url
follow_redirect!
assert_response :success
assert_template 'login'
+ assert_select "span.username", false
end
def test_login_openid_unknown
follow_redirect!
assert_response :success
assert_template 'user/new'
+ assert_select "span.username", false
end
end
require 'test_helper'
class RichTextTest < ActiveSupport::TestCase
- include ActionDispatch::Assertions::SelectorAssertions
+ include Rails::Dom::Testing::Assertions::SelectorAssertions
def test_html_to_html
r = RichText.new("html", "foo http://example.com/ bar")
r = RichText.new("text", "foo < bar & baz > qux")
assert_html r do
- assert_select "p", "foo < bar & baz > qux"
+ assert_select "p", "foo < bar & baz > qux"
end
end
def assert_html(richtext, &block)
html = richtext.to_html
assert html.html_safe?
- root = HTML::Document.new(richtext.to_html, false, true).root
+ root = Nokogiri::HTML::DocumentFragment.parse(html)
assert_select root, "*" do
yield block
end
end
def test_comments_of_changeset_count
- assert_equal 3, Changeset.find(changesets(:normal_user_closed_change)).comments.count
+ assert_equal 3, Changeset.find(changesets(:normal_user_closed_change).id).comments.count
end
end
end
def test_delete
- node_template = Node.find(current_nodes(:visible_node))
+ node_template = Node.find(current_nodes(:visible_node).id)
assert_not_nil node_template
assert_equal OldNode.where(:node_id => node_template.id).count, 1
+++ /dev/null
-require 'test_helper'
-require 'rails/performance_test_help'
-
-# Profiling results for each test method are written to tmp/performance.
-class BrowsingTest < ActionDispatch::PerformanceTest
- def test_homepage
- get '/'
- end
-end
/**
-* @preserve HTML5 Shiv prev3.7.1 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
+* @preserve HTML5 Shiv 3.7.2 | @afarkas @jdalton @jon_neal @rem | MIT/GPL2 Licensed
*/
;(function(window, document) {
/*jshint evil:true */
/** version */
- var version = '3.7.0';
+ var version = '3.7.2';
/** Preset options */
var options = window.html5 || {};
return typeof elements == 'string' ? elements.split(' ') : elements;
}
- /**
+ /**
+ * Extends the built-in list of html5 elements
+ * @memberOf html5
+ * @param {String|Array} newElements whitespace separated list or array of new element names to shiv
+ * @param {Document} ownerDocument The context document.
+ */
+ function addElements(newElements, ownerDocument) {
+ var elements = html5.elements;
+ if(typeof elements != 'string'){
+ elements = elements.join(' ');
+ }
+ if(typeof newElements != 'string'){
+ newElements = newElements.join(' ');
+ }
+ html5.elements = elements +' '+ newElements;
+ shivDocument(ownerDocument);
+ }
+
+ /**
* Returns the data associated to the given document
* @private
* @param {Document} ownerDocument The document.
'var n=f.cloneNode(),c=n.createElement;' +
'h.shivMethods&&(' +
// unroll the `createElement` calls
- getElements().join().replace(/[\w\-]+/g, function(nodeName) {
+ getElements().join().replace(/[\w\-:]+/g, function(nodeName) {
data.createElem(nodeName);
data.frag.createElement(nodeName);
return 'c("' + nodeName + '")';
* @memberOf html5
* @type Array|String
*/
- 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output progress section summary template time video',
+ 'elements': options.elements || 'abbr article aside audio bdi canvas data datalist details dialog figcaption figure footer header hgroup main mark meter nav output picture progress section summary template time video',
/**
* current version of html5shiv
createElement: createElement,
//creates a shived documentFragment
- createDocumentFragment: createDocumentFragment
+ createDocumentFragment: createDocumentFragment,
+
+ //extends list of elements
+ addElements: addElements
};
/*--------------------------------------------------------------------------*/
/*!
- * jQuery Cookie Plugin v1.4.0
+ * jQuery Cookie Plugin v1.4.1
* https://github.com/carhartl/jquery-cookie
*
- * Copyright 2013 Klaus Hartl
+ * Copyright 2006, 2014 Klaus Hartl
* Released under the MIT license
*/
(function (factory) {
if (typeof define === 'function' && define.amd) {
- // AMD. Register as anonymous module.
+ // AMD
define(['jquery'], factory);
+ } else if (typeof exports === 'object') {
+ // CommonJS
+ factory(require('jquery'));
} else {
- // Browser globals.
+ // Browser globals
factory(jQuery);
}
}(function ($) {
// Write
- if (value !== undefined && !$.isFunction(value)) {
+ if (arguments.length > 1 && !$.isFunction(value)) {
options = $.extend({}, config.defaults, options);
if (typeof options.expires === 'number') {
/*!
- * jQuery Simulate v0.0.1 - simulate browser mouse and keyboard events
+ * jQuery Simulate v1.0.0 - simulate browser mouse and keyboard events
* https://github.com/jquery/jquery-simulate
*
* Copyright 2012 jQuery Foundation and other contributors
* Released under the MIT license.
* http://jquery.org/license
*
- * Date: Sun Dec 9 12:15:33 2012 -0500
+ * Date: 2014-08-22
*/
;(function( $, undefined ) {
0: 1,
1: 4,
2: 2
- }[ event.button ] || event.button;
+ }[ event.button ] || ( event.button === -1 ? 0 : event.button );
}
return event;
},
dispatchEvent: function( elem, type, event ) {
- if ( elem.dispatchEvent ) {
+ if ( elem[ type ] ) {
+ elem[ type ]();
+ } else if ( elem.dispatchEvent ) {
elem.dispatchEvent( event );
} else if ( elem.fireEvent ) {
elem.fireEvent( "on" + type, event );
url: document.location.protocol === 'https:' ?
'https://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png' :
'http://{s}.tile.openstreetmap.org/{z}/{x}/{y}.png',
- attribution: '© <a target="_parent" href="http://www.openstreetmap.org">OpenStreetMap</a> and contributors, under an <a target="_parent" href="http://www.openstreetmap.org/copyright">open license</a>'
+ attribution: '© <a href="http://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors'
},
initialize: function (options) {
L.OSM.CycleMap = L.OSM.TileLayer.extend({
options: {
url: 'http://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}.png',
- attribution: "Tiles courtesy of <a href='http://www.thunderforest.com/' target='_blank'>Andy Allan</a>"
+ attribution: '© <a href="http://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors. Tiles courtesy of <a href="http://www.thunderforest.com/" target="_blank">Andy Allan</a>'
}
});
L.OSM.TransportMap = L.OSM.TileLayer.extend({
options: {
url: 'http://{s}.tile.thunderforest.com/transport/{z}/{x}/{y}.png',
- attribution: "Tiles courtesy of <a href='http://www.thunderforest.com/' target='_blank'>Andy Allan</a>"
+ attribution: '© <a href="http://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors. Tiles courtesy of <a href="http://www.thunderforest.com/" target="_blank">Andy Allan</a>'
}
});
'https://otile{s}-s.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.png' :
'http://otile{s}.mqcdn.com/tiles/1.0.0/osm/{z}/{x}/{y}.png',
subdomains: '1234',
- attribution: document.location.protocol === 'https:' ?
- "Tiles courtesy of <a href='http://www.mapquest.com/' target='_blank'>MapQuest</a> <img src='https://developer.mapquest.com/content/osm/mq_logo.png'>" :
- "Tiles courtesy of <a href='http://www.mapquest.com/' target='_blank'>MapQuest</a> <img src='http://developer.mapquest.com/content/osm/mq_logo.png'>"
+ attribution: '© <a href="http://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors. ' + document.location.protocol === 'https:' ?
+ 'Tiles courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> <img src="https://developer.mapquest.com/content/osm/mq_logo.png">' :
+ 'Tiles courtesy of <a href="http://www.mapquest.com/" target="_blank">MapQuest</a> <img src="http://developer.mapquest.com/content/osm/mq_logo.png">'
}
});
url: 'http://{s}.tile.openstreetmap.fr/hot/{z}/{x}/{y}.png',
maxZoom: 20,
subdomains: 'abc',
- attribution: "Tiles courtesy of <a href='http://hot.openstreetmap.org/' target='_blank'>Humanitarian OpenStreetMap Team</a>"
+ attribution: '© <a href="http://www.openstreetmap.org/copyright" target="_blank">OpenStreetMap</a> contributors. Tiles courtesy of <a href="http://hot.openstreetmap.org/" target="_blank">Humanitarian OpenStreetMap Team</a>'
}
});
/**
* Takes an options object for configuration (consumer_key,
- * consumer_secret, version, signature_method, token) and returns a
- * function that generates the Authorization header for given data.
+ * consumer_secret, version, signature_method, token, token_secret)
+ * and returns a function that generates the Authorization header
+ * for given data.
*
* The returned function takes these parameters:
* - method: GET/POST/...
module.exports = ohauth;
-},{"xtend":2,"jshashes":3}],2:[function(require,module,exports){
-var Keys = Object.keys || objectKeys
-
-module.exports = extend
-
-function extend() {
- var target = {}
-
- for (var i = 0; i < arguments.length; i++) {
- var source = arguments[i]
-
- if (!isObject(source)) {
- continue
- }
-
- var keys = Keys(source)
-
- for (var j = 0; j < keys.length; j++) {
- var name = keys[j]
- target[name] = source[name]
- }
- }
-
- return target
-}
-
-function objectKeys(obj) {
- var keys = []
- for (var k in obj) {
- keys.push(k)
- }
- return keys
-}
-
-function isObject(obj) {
- return obj !== null && typeof obj === "object"
-}
-
-},{}],3:[function(require,module,exports){
+},{"jshashes":2,"xtend":3}],2:[function(require,module,exports){
(function(global){/**
* jsHashes - A fast and independent hashing library pure JavaScript implemented (ES5 compliant) for both server and client side
*
}( this ));
}()); // IIFE
})(window)
+},{}],4:[function(require,module,exports){
+module.exports = hasKeys
+
+function hasKeys(source) {
+ return source !== null &&
+ (typeof source === "object" ||
+ typeof source === "function")
+}
+
+},{}],3:[function(require,module,exports){
+var Keys = require("object-keys")
+var hasKeys = require("./has-keys")
+
+module.exports = extend
+
+function extend() {
+ var target = {}
+
+ for (var i = 0; i < arguments.length; i++) {
+ var source = arguments[i]
+
+ if (!hasKeys(source)) {
+ continue
+ }
+
+ var keys = Keys(source)
+
+ for (var j = 0; j < keys.length; j++) {
+ var name = keys[j]
+ target[name] = source[name]
+ }
+ }
+
+ return target
+}
+
+},{"./has-keys":4,"object-keys":5}],5:[function(require,module,exports){
+module.exports = Object.keys || require('./shim');
+
+
+},{"./shim":6}],6:[function(require,module,exports){
+(function () {
+ "use strict";
+
+ // modified from https://github.com/kriskowal/es5-shim
+ var has = Object.prototype.hasOwnProperty,
+ is = require('is'),
+ forEach = require('foreach'),
+ hasDontEnumBug = !({'toString': null}).propertyIsEnumerable('toString'),
+ dontEnums = [
+ "toString",
+ "toLocaleString",
+ "valueOf",
+ "hasOwnProperty",
+ "isPrototypeOf",
+ "propertyIsEnumerable",
+ "constructor"
+ ],
+ keysShim;
+
+ keysShim = function keys(object) {
+ if (!is.object(object) && !is.array(object)) {
+ throw new TypeError("Object.keys called on a non-object");
+ }
+
+ var name, theKeys = [];
+ for (name in object) {
+ if (has.call(object, name)) {
+ theKeys.push(name);
+ }
+ }
+
+ if (hasDontEnumBug) {
+ forEach(dontEnums, function (dontEnum) {
+ if (has.call(object, dontEnum)) {
+ theKeys.push(dontEnum);
+ }
+ });
+ }
+ return theKeys;
+ };
+
+ module.exports = keysShim;
+}());
+
+
+},{"is":7,"foreach":8}],7:[function(require,module,exports){
+
+/**!
+ * is
+ * the definitive JavaScript type testing library
+ *
+ * @copyright 2013 Enrico Marino
+ * @license MIT
+ */
+
+var objProto = Object.prototype;
+var owns = objProto.hasOwnProperty;
+var toString = objProto.toString;
+var isActualNaN = function (value) {
+ return value !== value;
+};
+var NON_HOST_TYPES = {
+ "boolean": 1,
+ "number": 1,
+ "string": 1,
+ "undefined": 1
+};
+
+/**
+ * Expose `is`
+ */
+
+var is = module.exports = {};
+
+/**
+ * Test general.
+ */
+
+/**
+ * is.type
+ * Test if `value` is a type of `type`.
+ *
+ * @param {Mixed} value value to test
+ * @param {String} type type
+ * @return {Boolean} true if `value` is a type of `type`, false otherwise
+ * @api public
+ */
+
+is.a =
+is.type = function (value, type) {
+ return typeof value === type;
+};
+
+/**
+ * is.defined
+ * Test if `value` is defined.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if 'value' is defined, false otherwise
+ * @api public
+ */
+
+is.defined = function (value) {
+ return value !== undefined;
+};
+
+/**
+ * is.empty
+ * Test if `value` is empty.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is empty, false otherwise
+ * @api public
+ */
+
+is.empty = function (value) {
+ var type = toString.call(value);
+ var key;
+
+ if ('[object Array]' === type || '[object Arguments]' === type) {
+ return value.length === 0;
+ }
+
+ if ('[object Object]' === type) {
+ for (key in value) if (owns.call(value, key)) return false;
+ return true;
+ }
+
+ if ('[object String]' === type) {
+ return '' === value;
+ }
+
+ return false;
+};
+
+/**
+ * is.equal
+ * Test if `value` is equal to `other`.
+ *
+ * @param {Mixed} value value to test
+ * @param {Mixed} other value to compare with
+ * @return {Boolean} true if `value` is equal to `other`, false otherwise
+ */
+
+is.equal = function (value, other) {
+ var type = toString.call(value)
+ var key;
+
+ if (type !== toString.call(other)) {
+ return false;
+ }
+
+ if ('[object Object]' === type) {
+ for (key in value) {
+ if (!is.equal(value[key], other[key])) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ if ('[object Array]' === type) {
+ key = value.length;
+ if (key !== other.length) {
+ return false;
+ }
+ while (--key) {
+ if (!is.equal(value[key], other[key])) {
+ return false;
+ }
+ }
+ return true;
+ }
+
+ if ('[object Function]' === type) {
+ return value.prototype === other.prototype;
+ }
+
+ if ('[object Date]' === type) {
+ return value.getTime() === other.getTime();
+ }
+
+ return value === other;
+};
+
+/**
+ * is.hosted
+ * Test if `value` is hosted by `host`.
+ *
+ * @param {Mixed} value to test
+ * @param {Mixed} host host to test with
+ * @return {Boolean} true if `value` is hosted by `host`, false otherwise
+ * @api public
+ */
+
+is.hosted = function (value, host) {
+ var type = typeof host[value];
+ return type === 'object' ? !!host[value] : !NON_HOST_TYPES[type];
+};
+
+/**
+ * is.instance
+ * Test if `value` is an instance of `constructor`.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an instance of `constructor`
+ * @api public
+ */
+
+is.instance = is['instanceof'] = function (value, constructor) {
+ return value instanceof constructor;
+};
+
+/**
+ * is.null
+ * Test if `value` is null.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is null, false otherwise
+ * @api public
+ */
+
+is['null'] = function (value) {
+ return value === null;
+};
+
+/**
+ * is.undefined
+ * Test if `value` is undefined.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is undefined, false otherwise
+ * @api public
+ */
+
+is.undefined = function (value) {
+ return value === undefined;
+};
+
+/**
+ * Test arguments.
+ */
+
+/**
+ * is.arguments
+ * Test if `value` is an arguments object.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an arguments object, false otherwise
+ * @api public
+ */
+
+is.arguments = function (value) {
+ var isStandardArguments = '[object Arguments]' === toString.call(value);
+ var isOldArguments = !is.array(value) && is.arraylike(value) && is.object(value) && is.fn(value.callee);
+ return isStandardArguments || isOldArguments;
+};
+
+/**
+ * Test array.
+ */
+
+/**
+ * is.array
+ * Test if 'value' is an array.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an array, false otherwise
+ * @api public
+ */
+
+is.array = function (value) {
+ return '[object Array]' === toString.call(value);
+};
+
+/**
+ * is.arguments.empty
+ * Test if `value` is an empty arguments object.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an empty arguments object, false otherwise
+ * @api public
+ */
+is.arguments.empty = function (value) {
+ return is.arguments(value) && value.length === 0;
+};
+
+/**
+ * is.array.empty
+ * Test if `value` is an empty array.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an empty array, false otherwise
+ * @api public
+ */
+is.array.empty = function (value) {
+ return is.array(value) && value.length === 0;
+};
+
+/**
+ * is.arraylike
+ * Test if `value` is an arraylike object.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an arguments object, false otherwise
+ * @api public
+ */
+
+is.arraylike = function (value) {
+ return !!value && !is.boolean(value)
+ && owns.call(value, 'length')
+ && isFinite(value.length)
+ && is.number(value.length)
+ && value.length >= 0;
+};
+
+/**
+ * Test boolean.
+ */
+
+/**
+ * is.boolean
+ * Test if `value` is a boolean.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a boolean, false otherwise
+ * @api public
+ */
+
+is.boolean = function (value) {
+ return '[object Boolean]' === toString.call(value);
+};
+
+/**
+ * is.false
+ * Test if `value` is false.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is false, false otherwise
+ * @api public
+ */
+
+is['false'] = function (value) {
+ return is.boolean(value) && (value === false || value.valueOf() === false);
+};
+
+/**
+ * is.true
+ * Test if `value` is true.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is true, false otherwise
+ * @api public
+ */
+
+is['true'] = function (value) {
+ return is.boolean(value) && (value === true || value.valueOf() === true);
+};
+
+/**
+ * Test date.
+ */
+
+/**
+ * is.date
+ * Test if `value` is a date.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a date, false otherwise
+ * @api public
+ */
+
+is.date = function (value) {
+ return '[object Date]' === toString.call(value);
+};
+
+/**
+ * Test element.
+ */
+
+/**
+ * is.element
+ * Test if `value` is an html element.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an HTML Element, false otherwise
+ * @api public
+ */
+
+is.element = function (value) {
+ return value !== undefined
+ && typeof HTMLElement !== 'undefined'
+ && value instanceof HTMLElement
+ && value.nodeType === 1;
+};
+
+/**
+ * Test error.
+ */
+
+/**
+ * is.error
+ * Test if `value` is an error object.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an error object, false otherwise
+ * @api public
+ */
+
+is.error = function (value) {
+ return '[object Error]' === toString.call(value);
+};
+
+/**
+ * Test function.
+ */
+
+/**
+ * is.fn / is.function (deprecated)
+ * Test if `value` is a function.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a function, false otherwise
+ * @api public
+ */
+
+is.fn = is['function'] = function (value) {
+ var isAlert = typeof window !== 'undefined' && value === window.alert;
+ return isAlert || '[object Function]' === toString.call(value);
+};
+
+/**
+ * Test number.
+ */
+
+/**
+ * is.number
+ * Test if `value` is a number.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a number, false otherwise
+ * @api public
+ */
+
+is.number = function (value) {
+ return '[object Number]' === toString.call(value);
+};
+
+/**
+ * is.infinite
+ * Test if `value` is positive or negative infinity.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is positive or negative Infinity, false otherwise
+ * @api public
+ */
+is.infinite = function (value) {
+ return value === Infinity || value === -Infinity;
+};
+
+/**
+ * is.decimal
+ * Test if `value` is a decimal number.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a decimal number, false otherwise
+ * @api public
+ */
+
+is.decimal = function (value) {
+ return is.number(value) && !isActualNaN(value) && value % 1 !== 0;
+};
+
+/**
+ * is.divisibleBy
+ * Test if `value` is divisible by `n`.
+ *
+ * @param {Number} value value to test
+ * @param {Number} n dividend
+ * @return {Boolean} true if `value` is divisible by `n`, false otherwise
+ * @api public
+ */
+
+is.divisibleBy = function (value, n) {
+ var isDividendInfinite = is.infinite(value);
+ var isDivisorInfinite = is.infinite(n);
+ var isNonZeroNumber = is.number(value) && !isActualNaN(value) && is.number(n) && !isActualNaN(n) && n !== 0;
+ return isDividendInfinite || isDivisorInfinite || (isNonZeroNumber && value % n === 0);
+};
+
+/**
+ * is.int
+ * Test if `value` is an integer.
+ *
+ * @param value to test
+ * @return {Boolean} true if `value` is an integer, false otherwise
+ * @api public
+ */
+
+is.int = function (value) {
+ return is.number(value) && !isActualNaN(value) && value % 1 === 0;
+};
+
+/**
+ * is.maximum
+ * Test if `value` is greater than 'others' values.
+ *
+ * @param {Number} value value to test
+ * @param {Array} others values to compare with
+ * @return {Boolean} true if `value` is greater than `others` values
+ * @api public
+ */
+
+is.maximum = function (value, others) {
+ if (isActualNaN(value)) {
+ throw new TypeError('NaN is not a valid value');
+ } else if (!is.arraylike(others)) {
+ throw new TypeError('second argument must be array-like');
+ }
+ var len = others.length;
+
+ while (--len >= 0) {
+ if (value < others[len]) {
+ return false;
+ }
+ }
+
+ return true;
+};
+
+/**
+ * is.minimum
+ * Test if `value` is less than `others` values.
+ *
+ * @param {Number} value value to test
+ * @param {Array} others values to compare with
+ * @return {Boolean} true if `value` is less than `others` values
+ * @api public
+ */
+
+is.minimum = function (value, others) {
+ if (isActualNaN(value)) {
+ throw new TypeError('NaN is not a valid value');
+ } else if (!is.arraylike(others)) {
+ throw new TypeError('second argument must be array-like');
+ }
+ var len = others.length;
+
+ while (--len >= 0) {
+ if (value > others[len]) {
+ return false;
+ }
+ }
+
+ return true;
+};
+
+/**
+ * is.nan
+ * Test if `value` is not a number.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is not a number, false otherwise
+ * @api public
+ */
+
+is.nan = function (value) {
+ return !is.number(value) || value !== value;
+};
+
+/**
+ * is.even
+ * Test if `value` is an even number.
+ *
+ * @param {Number} value value to test
+ * @return {Boolean} true if `value` is an even number, false otherwise
+ * @api public
+ */
+
+is.even = function (value) {
+ return is.infinite(value) || (is.number(value) && value === value && value % 2 === 0);
+};
+
+/**
+ * is.odd
+ * Test if `value` is an odd number.
+ *
+ * @param {Number} value value to test
+ * @return {Boolean} true if `value` is an odd number, false otherwise
+ * @api public
+ */
+
+is.odd = function (value) {
+ return is.infinite(value) || (is.number(value) && value === value && value % 2 !== 0);
+};
+
+/**
+ * is.ge
+ * Test if `value` is greater than or equal to `other`.
+ *
+ * @param {Number} value value to test
+ * @param {Number} other value to compare with
+ * @return {Boolean}
+ * @api public
+ */
+
+is.ge = function (value, other) {
+ if (isActualNaN(value) || isActualNaN(other)) {
+ throw new TypeError('NaN is not a valid value');
+ }
+ return !is.infinite(value) && !is.infinite(other) && value >= other;
+};
+
+/**
+ * is.gt
+ * Test if `value` is greater than `other`.
+ *
+ * @param {Number} value value to test
+ * @param {Number} other value to compare with
+ * @return {Boolean}
+ * @api public
+ */
+
+is.gt = function (value, other) {
+ if (isActualNaN(value) || isActualNaN(other)) {
+ throw new TypeError('NaN is not a valid value');
+ }
+ return !is.infinite(value) && !is.infinite(other) && value > other;
+};
+
+/**
+ * is.le
+ * Test if `value` is less than or equal to `other`.
+ *
+ * @param {Number} value value to test
+ * @param {Number} other value to compare with
+ * @return {Boolean} if 'value' is less than or equal to 'other'
+ * @api public
+ */
+
+is.le = function (value, other) {
+ if (isActualNaN(value) || isActualNaN(other)) {
+ throw new TypeError('NaN is not a valid value');
+ }
+ return !is.infinite(value) && !is.infinite(other) && value <= other;
+};
+
+/**
+ * is.lt
+ * Test if `value` is less than `other`.
+ *
+ * @param {Number} value value to test
+ * @param {Number} other value to compare with
+ * @return {Boolean} if `value` is less than `other`
+ * @api public
+ */
+
+is.lt = function (value, other) {
+ if (isActualNaN(value) || isActualNaN(other)) {
+ throw new TypeError('NaN is not a valid value');
+ }
+ return !is.infinite(value) && !is.infinite(other) && value < other;
+};
+
+/**
+ * is.within
+ * Test if `value` is within `start` and `finish`.
+ *
+ * @param {Number} value value to test
+ * @param {Number} start lower bound
+ * @param {Number} finish upper bound
+ * @return {Boolean} true if 'value' is is within 'start' and 'finish'
+ * @api public
+ */
+is.within = function (value, start, finish) {
+ if (isActualNaN(value) || isActualNaN(start) || isActualNaN(finish)) {
+ throw new TypeError('NaN is not a valid value');
+ } else if (!is.number(value) || !is.number(start) || !is.number(finish)) {
+ throw new TypeError('all arguments must be numbers');
+ }
+ var isAnyInfinite = is.infinite(value) || is.infinite(start) || is.infinite(finish);
+ return isAnyInfinite || (value >= start && value <= finish);
+};
+
+/**
+ * Test object.
+ */
+
+/**
+ * is.object
+ * Test if `value` is an object.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is an object, false otherwise
+ * @api public
+ */
+
+is.object = function (value) {
+ return value && '[object Object]' === toString.call(value);
+};
+
+/**
+ * is.hash
+ * Test if `value` is a hash - a plain object literal.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a hash, false otherwise
+ * @api public
+ */
+
+is.hash = function (value) {
+ return is.object(value) && value.constructor === Object && !value.nodeType && !value.setInterval;
+};
+
+/**
+ * Test regexp.
+ */
+
+/**
+ * is.regexp
+ * Test if `value` is a regular expression.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if `value` is a regexp, false otherwise
+ * @api public
+ */
+
+is.regexp = function (value) {
+ return '[object RegExp]' === toString.call(value);
+};
+
+/**
+ * Test string.
+ */
+
+/**
+ * is.string
+ * Test if `value` is a string.
+ *
+ * @param {Mixed} value value to test
+ * @return {Boolean} true if 'value' is a string, false otherwise
+ * @api public
+ */
+
+is.string = function (value) {
+ return '[object String]' === toString.call(value);
+};
+
+
+},{}],8:[function(require,module,exports){
+
+var hasOwn = Object.prototype.hasOwnProperty;
+
+module.exports = function forEach (obj, fn, ctx) {
+ if (typeof fn !== 'function') {
+ throw new TypeError('iterator must be a function');
+ }
+ var l = obj.length;
+ if (l === +l) {
+ for (var i = 0; i < l; i++) {
+ fn.call(ctx, obj[i], i, obj);
+ }
+ } else {
+ for (var k in obj) {
+ if (hasOwn.call(obj, k)) {
+ fn.call(ctx, obj[k], k, obj);
+ }
+ }
+ }
+};
+
+
},{}]},{},[1])(1)
});
-;
+;
\ No newline at end of file