inherit_from: .rubocop_todo.yml
+AllCops:
+ TargetRubyVersion: 2.3
+
Rails:
Enabled: true
Rails/CreateTableWithTimestamps:
Enabled: false
+Rails/FindEach:
+ Enabled: false
+
Rails/HasManyOrHasOneDependent:
Enabled: false
# This configuration was generated by
# `rubocop --auto-gen-config`
-# on 2018-06-19 09:02:55 +0100 using RuboCop version 0.57.2.
+# on 2018-09-19 14:24:02 +0100 using RuboCop version 0.58.2.
# The point is for the user to remove these configuration records
# one by one as the offenses are removed from the code base.
# Note that changes in the inspected code, or installation of new
# versions of RuboCop, may require this file to be generated again.
-# Offense count: 34
-Lint/AmbiguousOperator:
- Exclude:
- - 'test/controllers/amf_controller_test.rb'
- - 'test/controllers/changeset_controller_test.rb'
- - 'test/lib/bounding_box_test.rb'
- - 'test/lib/country_test.rb'
-
-# Offense count: 96
-Lint/AmbiguousRegexpLiteral:
- Enabled: false
-
# Offense count: 32
# Configuration parameters: AllowSafeAssignment.
Lint/AssignmentInCondition:
- 'app/controllers/amf_controller.rb'
- 'app/controllers/user_controller.rb'
-# Offense count: 2
-Lint/ShadowingOuterLocalVariable:
- Exclude:
- - 'app/views/changeset/list.atom.builder'
-
-# Offense count: 690
+# Offense count: 692
Metrics/AbcSize:
Max: 280
-# Offense count: 41
+# Offense count: 40
# Configuration parameters: CountComments, ExcludedMethods.
+# ExcludedMethods: refine
Metrics/BlockLength:
Max: 262
Metrics/CyclomaticComplexity:
Max: 20
-# Offense count: 688
+# Offense count: 691
# Configuration parameters: CountComments.
Metrics/MethodLength:
Max: 179
Metrics/ParameterLists:
Max: 9
-# Offense count: 71
+# Offense count: 72
Metrics/PerceivedComplexity:
Max: 23
Exclude:
- 'test/models/message_test.rb'
-# Offense count: 229
+# Offense count: 230
Style/Documentation:
Enabled: false
+# Offense count: 462
+# Cop supports --auto-correct.
+# Configuration parameters: EnforcedStyle.
+# SupportedStyles: when_needed, always, never
+Style/FrozenStringLiteralComment:
+ Enabled: false
+
# Offense count: 2
# Cop supports --auto-correct.
Style/IfUnlessModifier:
Style/NumericLiterals:
MinDigits: 11
-# Offense count: 3064
+# Offense count: 3080
# Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
# URISchemes: http, https
Metrics/LineLength:
remote: https://rubygems.org/
specs:
SystemTimer (1.2.3)
- aasm (5.0.0)
+ aasm (5.0.1)
concurrent-ruby (~> 1.0)
actioncable (5.2.0)
actionpack (= 5.2.0)
bigdecimal (1.1.0)
binding_of_caller (0.8.0)
debug_inspector (>= 0.0.1)
- bootsnap (1.3.1)
+ bootsnap (1.3.2)
msgpack (~> 1.0)
builder (3.2.3)
canonical-rails (0.2.4)
erubi (1.7.1)
execjs (2.7.0)
exifr (1.3.4)
- factory_bot (4.11.0)
+ factory_bot (4.11.1)
activesupport (>= 3.0.0)
- factory_bot_rails (4.11.0)
- factory_bot (~> 4.11.0)
+ factory_bot_rails (4.11.1)
+ factory_bot (~> 4.11.1)
railties (>= 3.0.0)
faraday (0.12.2)
multipart-post (>= 1.2, < 3)
nokogiri (>= 1.5.9)
mail (2.7.0)
mini_mime (>= 0.1.1)
- marcel (0.3.2)
+ marcel (0.3.3)
mimemagic (~> 0.3.2)
method_source (0.9.0)
mime-types (3.2.2)
rack (>= 1.4)
rinku (2.0.4)
rotp (3.3.1)
- rubocop (0.58.2)
+ rubocop (0.59.1)
jaro_winkler (~> 1.5.1)
parallel (~> 1.10)
parser (>= 2.5, != 2.5.1.1)
crass (~> 1.0.2)
nokogiri (>= 1.4.4)
nokogumbo (~> 1.4)
- sass (3.5.7)
+ sass (3.6.0)
sass-listen (~> 4.0.0)
sass-listen (4.0.0)
rb-fsevent (~> 0.9, >= 0.9.4)
tins (1.16.3)
tzinfo (1.2.5)
thread_safe (~> 0.1)
- uglifier (4.1.18)
+ uglifier (4.1.19)
execjs (>= 0.3.0, < 3)
unicode-display_width (1.4.0)
validates_email_format_of (1.6.3)
You can install the software directly on your machine, which is the traditional and probably best-supported approach. However, there is an alternative which may be easier: Vagrant. This installs the software into a virtual machine, which makes it easier to get a consistent development environment and may avoid installation difficulties. For Vagrant instructions, see [VAGRANT.md](VAGRANT.md).
-These instructions are based on Ubuntu 12.04 LTS, which is the platform used by the OSMF servers.
+These instructions are based on Ubuntu 16.04 LTS, which is the platform used by the OSMF servers.
The instructions also work, with only minor amendments, for all other current Ubuntu releases, Fedora and MacOSX
We don't recommend attempting to develop or deploy this software on Windows. If you need to use Windows, then try developing this software using Ubuntu in a virtual machine, or use [Vagrant](VAGRANT.md).
Vagrant.configure("2") do |config|
# use official ubuntu image for virtualbox
config.vm.provider "virtualbox" do |vb, override|
- override.vm.box = "ubuntu/xenial64"
+ override.vm.box = "ubuntu/bionic64"
override.vm.synced_folder ".", "/srv/openstreetmap-website"
vb.customize ["modifyvm", :id, "--memory", "1024"]
vb.customize ["modifyvm", :id, "--cpus", "2"]
vb.customize ["modifyvm", :id, "--uartmode1", "disconnected"]
end
- # use third party image and NFS sharing for lxc
+ # Use sshfs sharing if available, otherwise NFS sharing
+ sharing_type = Vagrant.has_plugin?("vagrant-sshfs") ? "sshfs" : "nfs"
+
+ # use third party image and sshfs or NFS sharing for lxc
config.vm.provider "lxc" do |_, override|
- override.vm.box = "generic/ubuntu1604"
- override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => "nfs"
+ override.vm.box = "generic/ubuntu1804"
+ override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => sharing_type
end
- # use third party image and NFS sharing for libvirt
+ # use third party image and sshfs or NFS sharing for libvirt
config.vm.provider "libvirt" do |_, override|
- override.vm.box = "generic/ubuntu1604"
- override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => "nfs"
+ override.vm.box = "generic/ubuntu1804"
+ override.vm.synced_folder ".", "/srv/openstreetmap-website", :type => sharing_type
end
# configure shared package cache if possible
end
folder 'leaflet' do
- file 'leaflet.js', 'https://unpkg.com/leaflet@1.3.3/dist/leaflet-src.js'
- file 'leaflet.css', 'https://unpkg.com/leaflet@1.3.3/dist/leaflet.css'
+ file 'leaflet.js', 'https://unpkg.com/leaflet@1.3.4/dist/leaflet-src.js'
+ file 'leaflet.css', 'https://unpkg.com/leaflet@1.3.4/dist/leaflet.css'
[ 'layers.png', 'layers-2x.png',
'marker-icon.png', 'marker-icon-2x.png',
'marker-shadow.png' ].each do |image|
- file "images/#{image}", "https://unpkg.com/leaflet@1.3.3/dist/images/#{image}"
+ file "images/#{image}", "https://unpkg.com/leaflet@1.3.4/dist/images/#{image}"
end
from 'git://github.com/aratcliffe/Leaflet.contextmenu.git', :tag => 'v1.5.0' do
folder 'javascripts' do
file 'html5shiv.js', 'https://raw.githubusercontent.com/aFarkas/html5shiv/master/src/html5shiv.js'
- file 'bowser.js', 'https://github.com/lancedikson/bowser/releases/download/1.9.3/bowser.js'
+ file 'bowser.js', 'https://github.com/lancedikson/bowser/releases/download/1.9.4/bowser.js'
end
folder 'swfobject' do
$.cookie('_osm_location', OSM.locationCookie(map), { expires: expiry, path: '/' });
});
- if ($.cookie('_osm_welcome') === 'hide') {
- $('.welcome').hide();
+ if ($.cookie('_osm_welcome') !== 'hide') {
+ $('.welcome').addClass('visible');
}
$('.welcome .close-wrap').on('click', function() {
- $('.welcome').hide();
+ $('.welcome').removeClass('visible');
$.cookie('_osm_welcome', 'hide', { expires: expiry, path: '/' });
});
code: "G",
name: I18n.t("javascripts.map.base.gps")
});
+
+ this.on("layeradd", function (event) {
+ if (this.baseLayers.indexOf(event.layer) >= 0) {
+ this.setMaxZoom(event.layer.options.maxZoom);
+ }
+ });
},
updateLayers: function(layerParam) {
height: auto;
overflow: hidden;
- #banner,
- .welcome {
+ #banner {
display: block;
}
+ .welcome {
+ display: none;
+
+ &.visible {
+ display: block;
+ }
+ }
+
#sidebar_content {
display: none;
}
img.button {
display: block;
+ width: 20px;
+ height: 20px;
}
span.force_width {
/* Rules for the trace view */
-.trace-view {
+.trace-show {
.trace_pending {
color: red;
}
margin-left: 70px;
}
-.user-view {
+.user-show {
// Silly exception; remove when user page is redesigned.
.content-inner {
max-width: none;
}
}
-.diary_entry-view img.user_thumbnail {
+.diary_entry-show img.user_thumbnail {
float: left;
}
}
}
- #sidebar .welcome,
- #sidebar #banner {
- display: none !important;
+ .overlay-sidebar #sidebar .welcome.visible {
+ display: none;
+ }
+
+ .overlay-sidebar #sidebar #banner {
+ display: none;
}
.leaflet-top.leaflet-right {
if cstags
return -1, "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." unless tags_ok(cstags)
+
cstags = strip_non_xml_chars cstags
end
return -1, t("application.setup_user_auth.blocked") if user.blocks.active.exists?
query = Trace.visible_to(user)
- query = if searchterm.to_i > 0
+ query = if searchterm.to_i.positive?
query.where(:id => searchterm.to_i)
else
query.where("MATCH(name) AGAINST (?)", searchterm).limit(21)
rel = Relation.where(:id => relid).first
return [-4, "relation", relid] if rel.nil? || !rel.visible
+
[0, "", relid, rel.tags, rel.members, rel.version]
end
end
def findrelations(searchterm)
rels = []
- if searchterm.to_i > 0
+ if searchterm.to_i.positive?
rel = Relation.where(:id => searchterm.to_i).first
- rels.push([rel.id, rel.tags, rel.members, rel.version]) if rel && rel.visible
+ rels.push([rel.id, rel.tags, rel.members, rel.version]) if rel&.visible
else
RelationTag.where("v like ?", "%#{searchterm}%").limit(11).each do |t|
rels.push([t.relation.id, t.relation.tags, t.relation.members, t.relation.version]) if t.relation.visible
return -1, "You must accept the contributor terms before you can edit." if REQUIRE_TERMS_AGREED && user.terms_agreed.nil?
return -1, "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." unless tags_ok(tags)
+
tags = strip_non_xml_chars tags
relid = relid.to_i
relation = nil
Relation.transaction do
# create a new relation, or find the existing one
- relation = Relation.find(relid) if relid > 0
+ relation = Relation.find(relid) if relid.positive?
# We always need a new node, based on the data that has been sent to us
new_relation = Relation.new
typedmembers = []
members.each do |m|
mid = m[1].to_i
- if mid < 0
+ if mid.negative?
mid = renumberednodes[mid] if m[0] == "Node"
mid = renumberedways[mid] if m[0] == "Way"
end
return -2, "Server error - way is only #{pointlist.length} points long." if pointlist.length < 2
return -1, "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." unless tags_ok(attributes)
+
attributes = strip_non_xml_chars attributes
originalway = originalway.to_i
# fixup node tags in a way as well
return -1, "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." unless tags_ok(node.tags)
+
node.tags = strip_non_xml_chars node.tags
node.tags.delete("created_by")
return -1, "You must accept the contributor terms before you can edit." if REQUIRE_TERMS_AGREED && user.terms_agreed.nil?
return -1, "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1." unless tags_ok(tags)
+
tags = strip_non_xml_chars tags
id = id.to_i
node = nil
new_node = nil
Node.transaction do
- if id > 0
+ if id.positive?
begin
node = Node.find(id)
rescue ActiveRecord::RecordNotFound
# in the +tags+ hash.
def strip_non_xml_chars(tags)
new_tags = {}
- unless tags.nil?
- tags.each do |k, v|
- new_k = k.delete "\000-\037\ufffe\uffff", "^\011\012\015"
- new_v = v.delete "\000-\037\ufffe\uffff", "^\011\012\015"
- new_tags[new_k] = new_v
- end
+ tags&.each do |k, v|
+ new_k = k.delete "\000-\037\ufffe\uffff", "^\011\012\015"
+ new_v = v.delete "\000-\037\ufffe\uffff", "^\011\012\015"
+ new_tags[new_k] = new_v
end
new_tags
end
# TODO: some sort of escaping of problem characters in the message
response.headers["Error"] = message
- if request.headers["X-Error-Format"] &&
- request.headers["X-Error-Format"].casecmp("xml").zero?
+ if request.headers["X-Error-Format"]&.casecmp("xml")&.zero?
result = OSM::API.new.get_xml_doc
result.root.name = "osmError"
result.root << (XML::Node.new("status") << "#{Rack::Utils.status_code(status)} #{Rack::Utils::HTTP_STATUS_CODES[status]}")
helper_method :preferred_languages
def set_locale(reset = false)
- if current_user && current_user.languages.empty? && !http_accept_language.user_preferred_languages.empty?
+ if current_user&.languages&.empty? && !http_accept_language.user_preferred_languages.empty?
current_user.languages = http_accept_language.user_preferred_languages
current_user.save
end
def preferred_editor
editor = if params[:editor]
params[:editor]
- elsif current_user && current_user.preferred_editor
+ elsif current_user&.preferred_editor
current_user.preferred_editor
else
DEFAULT_EDITOR
def changeset
@type = "changeset"
@changeset = Changeset.find(params[:id])
- @comments = if current_user && current_user.moderator?
+ @comments = if current_user&.moderator?
@changeset.comments.unscope(:where => :visible).includes(:author)
else
@changeset.comments.includes(:author)
def note
@type = "note"
- if current_user && current_user.moderator?
+ if current_user&.moderator?
@note = Note.find(params[:id])
@note_comments = @note.comments.unscope(:where => :visible)
else
layout "site"
require "xml/libxml"
- skip_before_action :verify_authenticity_token, :except => [:list]
- before_action :authorize_web, :only => [:list, :feed, :comments_feed]
- before_action :set_locale, :only => [:list, :feed, :comments_feed]
+ skip_before_action :verify_authenticity_token, :except => [:index]
+ before_action :authorize_web, :only => [:index, :feed, :comments_feed]
+ before_action :set_locale, :only => [:index, :feed, :comments_feed]
before_action :authorize, :only => [:create, :update, :upload, :close, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
before_action :require_moderator, :only => [:hide_comment, :unhide_comment]
before_action :require_allow_write_api, :only => [:create, :update, :upload, :close, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
before_action :require_public_data, :only => [:create, :update, :upload, :close, :comment, :subscribe, :unsubscribe]
before_action :check_api_writable, :only => [:create, :update, :upload, :comment, :subscribe, :unsubscribe, :hide_comment, :unhide_comment]
- before_action :check_api_readable, :except => [:create, :update, :upload, :download, :query, :list, :feed, :comment, :subscribe, :unsubscribe, :comments_feed]
- before_action(:only => [:list, :feed, :comments_feed]) { |c| c.check_database_readable(true) }
- around_action :api_call_handle_error, :except => [:list, :feed, :comments_feed]
- around_action :api_call_timeout, :except => [:list, :feed, :comments_feed, :upload]
- around_action :web_timeout, :only => [:list, :feed, :comments_feed]
+ before_action :check_api_readable, :except => [:create, :update, :upload, :download, :query, :index, :feed, :comment, :subscribe, :unsubscribe, :comments_feed]
+ before_action(:only => [:index, :feed, :comments_feed]) { |c| c.check_database_readable(true) }
+ around_action :api_call_handle_error, :except => [:index, :feed, :comments_feed]
+ around_action :api_call_timeout, :except => [:index, :feed, :comments_feed, :upload]
+ around_action :web_timeout, :only => [:index, :feed, :comments_feed]
# Helper methods for checking consistency
include ConsistencyValidations
##
# list non-empty changesets in reverse chronological order
- def list
+ def index
@params = params.permit(:display_name, :bbox, :friends, :nearby, :max_id, :list)
if request.format == :atom && @params[:max_id]
@edits = changesets.order("changesets.id DESC").limit(20).preload(:user, :changeset_tags, :comments)
- render :action => :list, :layout => false
+ render :action => :index, :layout => false
end
end
##
# list edits as an atom feed
def feed
- list
+ index
end
##
u = if name.nil?
# user input checking, we don't have any UIDs < 1
raise OSM::APIBadUserInput, "invalid user ID" if user.to_i < 1
+
u = User.find(user.to_i)
else
u = User.find_by(:display_name => name)
# Get the maximum number of comments to return
def comments_limit
if params[:limit]
- if params[:limit].to_i > 0 && params[:limit].to_i <= 10000
+ if params[:limit].to_i.positive? && params[:limit].to_i <= 10000
params[:limit].to_i
else
raise OSM::APIBadUserInput, "Comments limit must be between 1 and 10000"
before_action :authorize_web
before_action :set_locale
before_action :require_user, :only => [:new, :edit, :comment, :hide, :hidecomment, :subscribe, :unsubscribe]
- before_action :lookup_user, :only => [:view, :comments]
+ before_action :lookup_user, :only => [:show, :comments]
before_action :check_database_readable
before_action :check_database_writable, :only => [:new, :edit, :comment, :hide, :hidecomment, :subscribe, :unsubscribe]
before_action :require_administrator, :only => [:hide, :hidecomment]
- before_action :allow_thirdparty_images, :only => [:new, :edit, :list, :view, :comments]
+ before_action :allow_thirdparty_images, :only => [:new, :edit, :index, :show, :comments]
def new
@title = t "diary_entry.new.title"
# Subscribe user to diary comments
@diary_entry.subscriptions.create(:user => current_user)
- redirect_to :action => "list", :display_name => current_user.display_name
+ redirect_to :action => "index", :display_name => current_user.display_name
else
render :action => "edit"
end
@diary_entry = DiaryEntry.find(params[:id])
if current_user != @diary_entry.user
- redirect_to :action => "view", :id => params[:id]
+ redirect_to diary_entry_path(@diary_entry.user, @diary_entry)
elsif params[:diary_entry] && @diary_entry.update(entry_params)
- redirect_to :action => "view", :id => params[:id]
+ redirect_to diary_entry_path(@diary_entry.user, @diary_entry)
end
set_map_location
# Add the commenter to the subscribers if necessary
@entry.subscriptions.create(:user => current_user) unless @entry.subscribers.exists?(current_user.id)
- redirect_to :action => "view", :display_name => @entry.user.display_name, :id => @entry.id
+ redirect_to diary_entry_path(@entry.user, @entry)
else
- render :action => "view"
+ render :action => "show"
end
rescue ActiveRecord::RecordNotFound
render :action => "no_such_entry", :status => :not_found
diary_entry.subscriptions.create(:user => current_user) unless diary_entry.subscribers.exists?(current_user.id)
- redirect_to :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
+ redirect_to diary_entry_path(diary_entry.user, diary_entry)
rescue ActiveRecord::RecordNotFound
render :action => "no_such_entry", :status => :not_found
end
diary_entry.subscriptions.where(:user => current_user).delete_all if diary_entry.subscribers.exists?(current_user.id)
- redirect_to :action => "view", :display_name => diary_entry.user.display_name, :id => diary_entry.id
+ redirect_to diary_entry_path(diary_entry.user, diary_entry)
rescue ActiveRecord::RecordNotFound
render :action => "no_such_entry", :status => :not_found
end
- def list
+ def index
if params[:display_name]
@user = User.active.find_by(:display_name => params[:display_name])
if @user
- @title = t "diary_entry.list.user_title", :user => @user.display_name
+ @title = t "diary_entry.index.user_title", :user => @user.display_name
@entries = @user.diary_entries
else
render_unknown_user params[:display_name]
end
elsif params[:friends]
if current_user
- @title = t "diary_entry.list.title_friends"
+ @title = t "diary_entry.index.title_friends"
@entries = DiaryEntry.where(:user_id => current_user.friend_users)
else
require_user
end
elsif params[:nearby]
if current_user
- @title = t "diary_entry.list.title_nearby"
+ @title = t "diary_entry.index.title_nearby"
@entries = DiaryEntry.where(:user_id => current_user.nearby)
else
require_user
@entries = DiaryEntry.joins(:user).where(:users => { :status => %w[active confirmed] })
if params[:language]
- @title = t "diary_entry.list.in_language_title", :language => Language.find(params[:language]).english_name
+ @title = t "diary_entry.index.in_language_title", :language => Language.find(params[:language]).english_name
@entries = @entries.where(:language_code => params[:language])
else
- @title = t "diary_entry.list.title"
+ @title = t "diary_entry.index.title"
end
end
@entries = user.diary_entries
@title = t("diary_entry.feed.user.title", :user => user.display_name)
@description = t("diary_entry.feed.user.description", :user => user.display_name)
- @link = url_for :controller => "diary_entry", :action => "list", :display_name => user.display_name, :host => SERVER_URL, :protocol => SERVER_PROTOCOL
+ @link = url_for :controller => "diary_entry", :action => "index", :display_name => user.display_name, :host => SERVER_URL, :protocol => SERVER_PROTOCOL
else
head :not_found
return
@entries = @entries.where(:language_code => params[:language])
@title = t("diary_entry.feed.language.title", :language_name => Language.find(params[:language]).english_name)
@description = t("diary_entry.feed.language.description", :language_name => Language.find(params[:language]).english_name)
- @link = url_for :controller => "diary_entry", :action => "list", :language => params[:language], :host => SERVER_URL, :protocol => SERVER_PROTOCOL
+ @link = url_for :controller => "diary_entry", :action => "index", :language => params[:language], :host => SERVER_URL, :protocol => SERVER_PROTOCOL
else
@title = t("diary_entry.feed.all.title")
@description = t("diary_entry.feed.all.description")
- @link = url_for :controller => "diary_entry", :action => "list", :host => SERVER_URL, :protocol => SERVER_PROTOCOL
+ @link = url_for :controller => "diary_entry", :action => "index", :host => SERVER_URL, :protocol => SERVER_PROTOCOL
end
end
@entries = @entries.visible.includes(:user).order("created_at DESC").limit(20)
end
- def view
+ def show
@entry = @user.diary_entries.visible.where(:id => params[:id]).first
if @entry
- @title = t "diary_entry.view.title", :user => params[:display_name], :title => @entry.title
+ @title = t "diary_entry.show.title", :user => params[:display_name], :title => @entry.title
else
@title = t "diary_entry.no_such_entry.title", :id => params[:id]
render :action => "no_such_entry", :status => :not_found
def hide
entry = DiaryEntry.find(params[:id])
entry.update(:visible => false)
- redirect_to :action => "list", :display_name => entry.user.display_name
+ redirect_to :action => "index", :display_name => entry.user.display_name
end
def hidecomment
comment = DiaryComment.find(params[:comment])
comment.update(:visible => false)
- redirect_to :action => "view", :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id
+ redirect_to diary_entry_path(comment.diary_entry.user, comment.diary_entry)
end
def comments
def require_administrator
unless current_user.administrator?
flash[:error] = t("user.filter.not_an_administrator")
- redirect_to :action => "view"
+ redirect_to :action => "show"
end
end
@issues = Issue.visible_to(current_user)
# If search
- if params[:search_by_user] && params[:search_by_user].present?
+ if params[:search_by_user]&.present?
@find_user = User.find_by(:display_name => params[:search_by_user])
if @find_user
@issues = @issues.where(:reported_user_id => @find_user.id)
end
end
- @issues = @issues.where(:status => params[:status]) if params[:status] && params[:status].present?
+ @issues = @issues.where(:status => params[:status]) if params[:status]&.present?
- @issues = @issues.where(:reportable_type => params[:issue_type]) if params[:issue_type] && params[:issue_type].present?
+ @issues = @issues.where(:reportable_type => params[:issue_type]) if params[:issue_type]&.present?
- if params[:last_updated_by] && params[:last_updated_by].present?
+ if params[:last_updated_by]&.present?
last_updated_by = params[:last_updated_by].to_s == "nil" ? nil : params[:last_updated_by].to_i
@issues = @issues.where(:updated_by => last_updated_by)
end
new_node = Node.from_xml(request.raw_post)
raise OSM::APIBadUserInput, "The id in the url (#{node.id}) is not the same as provided in the xml (#{new_node.id})" unless new_node && new_node.id == node.id
+
node.delete_with_history!(new_node, current_user)
render :plain => node.version.to_s
end
ids = params["nodes"].split(",").collect(&:to_i)
raise OSM::APIBadUserInput, "No nodes were given to search for" if ids.empty?
+
doc = OSM::API.new.get_xml_doc
Node.find(ids).each do |node|
# Find the note and check it is valid
@note = Note.find(params[:id])
raise OSM::APINotFoundError unless @note
- raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? || (current_user && current_user.moderator?)
+ raise OSM::APIAlreadyDeletedError.new("note", @note.id) unless @note.visible? || current_user&.moderator?
# Render the result
respond_to do |format|
@page = (params[:page] || 1).to_i
@page_size = 10
@notes = @user.notes
- @notes = @notes.visible unless current_user && current_user.moderator?
+ @notes = @notes.visible unless current_user&.moderator?
@notes = @notes.order("updated_at DESC, id").distinct.offset((@page - 1) * @page_size).limit(@page_size).preload(:comments => :author).to_a
else
@title = t "user.no_such_user.title"
# Get the maximum number of results to return
def result_limit
if params[:limit]
- if params[:limit].to_i > 0 && params[:limit].to_i <= 10000
+ if params[:limit].to_i.positive? && params[:limit].to_i <= 10000
params[:limit].to_i
else
raise OSM::APIBadUserInput, "Note limit must be between 1 and 10000"
7
end
- if closed_since < 0
+ if closed_since.negative?
notes.where.not(:status => "hidden")
- elsif closed_since > 0
+ elsif closed_since.positive?
notes.where(:status => "open")
.or(notes.where(:status => "closed")
.where(notes.arel_table[:closed_at].gt(Time.now - closed_since.days)))
private
def show_redactions?
- current_user && current_user.moderator? && params[:show_redactions] == "true"
+ current_user&.moderator? && params[:show_redactions] == "true"
end
end
def show
@trace = Trace.find(params[:id])
- if @trace && @trace.visible? &&
- (@trace.public? || @trace.user == current_user)
+ if @trace&.visible? &&
+ (@trace&.public? || @trace&.user == current_user)
@title = t ".title", :name => @trace.name
else
flash[:error] = t ".trace_not_found"
visibility = params[:visibility]
if visibility.nil?
- visibility = if params[:public] && params[:public].to_i.nonzero?
+ visibility = if params[:public]&.to_i&.nonzero?
"public"
else
"private"
before_action :require_allow_read_prefs, :only => [:api_details]
before_action :require_allow_read_gpx, :only => [:api_gpx_files]
before_action :require_cookies, :only => [:new, :login, :confirm]
- before_action :require_administrator, :only => [:set_status, :delete, :list]
+ before_action :require_administrator, :only => [:set_status, :delete, :index]
around_action :api_call_handle_error, :only => [:api_read, :api_users, :api_details, :api_gpx_files]
before_action :lookup_user_by_id, :only => [:api_read]
before_action :lookup_user_by_name, :only => [:set_status, :delete]
- before_action :allow_thirdparty_images, :only => [:view, :account]
+ before_action :allow_thirdparty_images, :only => [:show, :account]
def terms
@legale = params[:legale] || OSM.ip_to_country(request.remote_ip) || DEFAULT_LEGALE
else
@title = t "user.terms.title"
- if current_user && current_user.terms_agreed?
+ if current_user&.terms_agreed?
# Already agreed to terms, so just show settings
redirect_to :action => :account, :display_name => current_user.display_name
elsif current_user.nil? && session[:new_user].nil?
if params[:session] == session.id
if session[:token]
token = UserToken.find_by(:token => session[:token])
- token.destroy if token
+ token&.destroy
session.delete(:token)
end
session.delete(:user)
def confirm
if request.post?
token = UserToken.find_by(:token => params[:confirm_string])
- if token && token.user.active?
+ if token&.user&.active?
flash[:error] = t("user.confirm.already active")
redirect_to :action => "login"
elsif !token || token.expired?
def confirm_email
if request.post?
token = UserToken.find_by(:token => params[:confirm_string])
- if token && token.user.new_email?
+ if token&.user&.new_email?
self.current_user = token.user
current_user.email = current_user.new_email
current_user.new_email = nil
render :xml => doc.to_s
end
- def view
+ def show
@user = User.find_by(:display_name => params[:display_name])
if @user &&
- (@user.visible? || (current_user && current_user.administrator?))
+ (@user.visible? || (current_user&.administrator?))
@title = @user.display_name
else
render_unknown_user params[:display_name]
if params[:referer]
redirect_to params[:referer]
else
- redirect_to :action => "view"
+ redirect_to :action => "show"
end
end
else
if params[:referer]
redirect_to params[:referer]
else
- redirect_to :action => "view"
+ redirect_to :action => "show"
end
end
else
def set_status
@user.status = params[:status]
@user.save
- redirect_to :action => "view", :display_name => params[:display_name]
+ redirect_to user_path(:display_name => params[:display_name])
end
##
# delete a user, marking them as deleted and removing personal data
def delete
@user.delete
- redirect_to :action => "view", :display_name => params[:display_name]
+ redirect_to user_path(:display_name => params[:display_name])
end
##
# display a list of users matching specified criteria
- def list
+ def index
if request.post?
ids = params[:user].keys.collect(&:to_i)
if user.nil? && provider == "google"
openid_url = auth_info[:extra][:id_info]["openid_id"]
user = User.find_by(:auth_provider => "openid", :auth_uid => openid_url) if openid_url
- user.update(:auth_provider => provider, :auth_uid => uid) if user
+ user&.update(:auth_provider => provider, :auth_uid => uid)
end
if user
flash[:error] = t("user.filter.not_an_administrator")
if params[:display_name]
- redirect_to :action => "view", :display_name => params[:display_name]
+ redirect_to user_path(:display_name => params[:display_name])
else
redirect_to :action => "login", :referer => request.fullpath
end
def gravatar_enable(user)
# code from example https://en.gravatar.com/site/implement/images/ruby/
return false if user.image.present?
+
hash = Digest::MD5.hexdigest(user.email.downcase)
url = "https://www.gravatar.com/avatar/#{hash}?d=404" # without d=404 we will always get an image back
response = OSM.http_client.get(URI.parse(url))
# rotate all banner queue positions
index = cval.to_i
- cookies[ckey] = index - 1 if index > 0
+ cookies[ckey] = index - 1 if index.positive?
# pick banner with mininum queue position
next if index > min_index
if changeset.user.status == "deleted"
t("user.no_such_user.deleted")
elsif changeset.user.data_public?
- link_to(changeset.user.display_name, user_path(changeset.user.display_name))
+ link_to(changeset.user.display_name, user_path(changeset.user))
else
t("browse.anonymous")
end
end
end
- def changeset_list_title(params, user)
+ def changeset_index_title(params, user)
if params[:friends] && user
- t "changeset.list.title_friend"
+ t "changeset.index.title_friend"
elsif params[:nearby] && user
- t "changeset.list.title_nearby"
+ t "changeset.index.title_nearby"
elsif params[:display_name]
- t "changeset.list.title_user", :user => params[:display_name]
+ t "changeset.index.title_user", :user => params[:display_name]
else
- t "changeset.list.title"
+ t "changeset.index.title"
end
end
end
def reportable_url(reportable)
case reportable
when DiaryEntry
- url_for(:controller => reportable.class.name.underscore, :action => :view, :display_name => reportable.user.display_name, :id => reportable.id)
+ diary_entry_url(reportable.user, reportable)
when User
- url_for(:controller => reportable.class.name.underscore, :action => :view, :display_name => reportable.display_name)
+ user_url(reportable)
when DiaryComment
- url_for(:controller => reportable.diary_entry.class.name.underscore, :action => :view, :display_name => reportable.diary_entry.user.display_name, :id => reportable.diary_entry.id, :anchor => "comment#{reportable.id}")
+ diary_entry_url(reportable.diary_entry.user, reportable.diary_entry, :anchor => "comment#{reportable.id}")
when Note
url_for(:controller => :browse, :action => :note, :id => reportable.id)
end
count = Issue.visible_to(current_user).open.limit(100).size
if count > 99
content_tag(:span, "99+", :class => "count-number")
- elsif count > 0
+ elsif count.positive?
content_tag(:span, count, :class => "count-number")
end
end
elsif author.status == "deleted"
t("user.no_such_user.deleted")
else
- link_to h(author.display_name), link_options.merge(:controller => "user", :action => "view", :display_name => author.display_name)
+ link_to h(author.display_name), link_options.merge(:controller => "user", :action => "show", :display_name => author.display_name)
end
end
end
# Because we can't use stylesheets in HTML emails, we need to inline the
# styles. Rather than copy-paste the same string of CSS into every message,
# we apply it once here, after the message has been composed.
- html.gsub /<p>/, '<p style="color: black; margin: 0.75em 0; font-family: \'Helvetica Neue\', Arial, Sans-Serif">'
+ html.gsub(/<p>/, '<p style="color: black; margin: 0.75em 0; font-family: \'Helvetica Neue\', Arial, Sans-Serif">')
end
end
end
def role_icon(user, role)
- if current_user && current_user.administrator?
+ if current_user&.administrator?
if user.has_role?(role)
image = "roles/#{role}"
- alt = t("user.view.role.revoke.#{role}")
- title = t("user.view.role.revoke.#{role}")
+ alt = t("user.show.role.revoke.#{role}")
+ title = t("user.show.role.revoke.#{role}")
url = revoke_role_path(:display_name => user.display_name, :role => role)
confirm = t("user_role.revoke.are_you_sure", :name => user.display_name, :role => role)
else
image = "roles/blank_#{role}"
- alt = t("user.view.role.grant.#{role}")
- title = t("user.view.role.grant.#{role}")
+ alt = t("user.show.role.grant.#{role}")
+ title = t("user.show.role.grant.#{role}")
url = grant_role_path(:display_name => user.display_name, :role => role)
confirm = t("user_role.grant.are_you_sure", :name => user.display_name, :role => role)
end
elsif user.has_role?(role)
image = "roles/#{role}"
- alt = t("user.view.role.#{role}")
- title = t("user.view.role.#{role}")
+ alt = t("user.show.role.#{role}")
+ title = t("user.show.role.#{role}")
end
if image
pt.find("tag").each do |tag|
raise OSM::APIBadXMLError.new("changeset", pt, "tag is missing key") if tag["k"].nil?
raise OSM::APIBadXMLError.new("changeset", pt, "tag is missing value") if tag["v"].nil?
+
cs.add_tag_keyval(tag["k"], tag["v"])
end
user_display_name_cache = {} if user_display_name_cache.nil?
- if user_display_name_cache && user_display_name_cache.key?(user_id)
+ if user_display_name_cache&.key?(user_id)
# use the cache if available
elsif user.data_public?
user_display_name_cache[user_id] = user.display_name
def self.find_token(token_key)
token = OauthToken.includes(:client_application).find_by(:token => token_key)
- token if token && token.authorized?
+ token if token&.authorized?
end
def self.verify_request(request, options = {}, &block)
signature = OAuth::Signature.build(request, options, &block)
return false unless OauthNonce.remember(signature.request.nonce, signature.request.timestamp)
+
value = signature.verify
value
rescue OAuth::Signature::UnknownSignatureMethod
raise OSM::APIBadXMLError.new("node", pt, "lat missing") if pt["lat"].nil?
raise OSM::APIBadXMLError.new("node", pt, "lon missing") if pt["lon"].nil?
+
node.lat = OSM.parse_float(pt["lat"], OSM::APIBadXMLError, "node", pt, "lat not a number")
node.lon = OSM.parse_float(pt["lon"], OSM::APIBadXMLError, "node", pt, "lon not a number")
raise OSM::APIBadXMLError.new("node", pt, "Changeset id is missing") if pt["changeset"].nil?
+
node.changeset_id = pt["changeset"].to_i
raise OSM::APIBadUserInput, "The node is outside this world" unless node.in_world?
# version must be present unless creating
raise OSM::APIBadXMLError.new("node", pt, "Version is required when updating") unless create || !pt["version"].nil?
+
node.version = create ? 0 : pt["version"].to_i
unless create
raise OSM::APIBadXMLError.new("node", pt, "ID is required when updating.") if pt["id"].nil?
+
node.id = pt["id"].to_i
# .to_i will return 0 if there is no number that can be parsed.
# We want to make sure that there is no id with zero anyway
pt.find("tag").each do |tag|
raise OSM::APIBadXMLError.new("node", pt, "tag is missing key") if tag["k"].nil?
raise OSM::APIBadXMLError.new("node", pt, "tag is missing value") if tag["v"].nil?
+
node.add_tag_key_val(tag["k"], tag["v"])
end
@from_user = comment.user.display_name
@text = comment.body
@title = comment.diary_entry.title
- @readurl = url_for(:controller => "diary_entry",
- :action => "view",
- :display_name => comment.diary_entry.user.display_name,
- :id => comment.diary_entry.id,
- :anchor => "comment#{comment.id}")
- @commenturl = url_for(:controller => "diary_entry",
- :action => "view",
- :display_name => comment.diary_entry.user.display_name,
- :id => comment.diary_entry.id,
- :anchor => "newcomment")
+ @readurl = diary_entry_url(comment.diary_entry.user, comment.diary_entry, :anchor => "comment#{comment.id}")
+ @commenturl = diary_entry_url(comment.diary_entry.user, comment.diary_entry, :anchor => "newcomment")
@replyurl = new_message_url(comment.user, :message => { :title => "Re: #{comment.diary_entry.title}" })
@author = @from_user
def friend_notification(friend)
with_recipient_locale friend.befriendee do
@friend = friend
- @viewurl = url_for(:controller => "user", :action => "view",
- :display_name => @friend.befriender.display_name)
+ @viewurl = user_url(@friend.befriender)
@friendurl = url_for(:controller => "user", :action => "make_friend",
:display_name => @friend.befriender.display_name)
@author = @friend.befriender.display_name
end
def user_avatar_file_path(user)
- image = user && user.image
- if image && image.file?
+ image = user&.image
+ if image&.file?
return image.path(:small)
else
return Rails.root.join("app", "assets", "images", "users", "images", "small.png")
# Remembers a nonce and it's associated timestamp. It returns false if it has already been used
def self.remember(nonce, timestamp)
return false if Time.now.to_i - timestamp.to_i > 86400
+
oauth_nonce = OauthNonce.create(:nonce => nonce, :timestamp => timestamp.to_i)
return false if oauth_nonce.new_record?
+
oauth_nonce
end
end
relation = Relation.new
raise OSM::APIBadXMLError.new("relation", pt, "Version is required when updating") unless create || !pt["version"].nil?
+
relation.version = pt["version"]
raise OSM::APIBadXMLError.new("relation", pt, "Changeset id is missing") if pt["changeset"].nil?
+
relation.changeset_id = pt["changeset"]
unless create
raise OSM::APIBadXMLError.new("relation", pt, "ID is required when updating") if pt["id"].nil?
+
relation.id = pt["id"].to_i
# .to_i will return 0 if there is no number that can be parsed.
# We want to make sure that there is no id with zero anyway
pt.find("tag").each do |tag|
raise OSM::APIBadXMLError.new("relation", pt, "tag is missing key") if tag["k"].nil?
raise OSM::APIBadXMLError.new("relation", pt, "tag is missing value") if tag["v"].nil?
+
relation.add_tag_keyval(tag["k"], tag["v"])
end
pt.find("member").each do |member|
# member_type =
raise OSM::APIBadXMLError.new("relation", pt, "The #{member['type']} is not allowed only, #{TYPES.inspect} allowed") unless TYPES.include? member["type"]
+
# member_ref = member['ref']
# member_role
member["role"] ||= "" # Allow the upload to not include this, in which case we default to an empty string.
lock!
check_consistency(self, new_relation, user)
raise OSM::APIPreconditionFailedError, "Cannot update relation #{id}: data or member data is invalid." unless new_relation.preconditions_ok?(members)
+
self.changeset_id = new_relation.changeset_id
self.changeset = new_relation.changeset
self.tags = new_relation.tags
def create_with_history(user)
check_create_consistency(self, user)
raise OSM::APIPreconditionFailedError, "Cannot create relation: data or member data is invalid." unless preconditions_ok?
+
self.version = 0
self.visible = true
save_with_history!
element = model.lock("for share").find_by(:id => m[1])
# and check that it is OK to use.
- raise OSM::APIPreconditionFailedError, "Relation with id #{id} cannot be saved due to #{m[0]} with id #{m[1]}" unless element && element.visible? && element.preconditions_ok?
+ raise OSM::APIPreconditionFailedError, "Relation with id #{id} cannot be saved due to #{m[0]} with id #{m[1]}" unless element&.visible? && element&.preconditions_ok?
+
hash[m[1]] = true
end
def fix_placeholders!(id_map, placeholder_id = nil)
members.map! do |type, id, role|
old_id = id.to_i
- if old_id < 0
+ if old_id.negative?
new_id = id_map[type.downcase.to_sym][old_id]
raise OSM::APIBadUserInput, "Placeholder #{type} not found for reference #{old_id} in relation #{self.id.nil? ? placeholder_id : self.id}." if new_id.nil?
+
[type, new_id, role]
else
[type, id, role]
# reasonable on the assumption that adding or removing members doesn't
# materially change the rest of the relation.
any_relations =
- changed_members.collect { |_id, type| type == "relation" }
+ changed_members.collect { |type, _id, _role| type == "Relation" }
.inject(false) { |acc, elem| acc || elem }
update_members = if tags_changed || any_relations
def authorize!(user)
return false if authorized?
+
self.user = user
self.authorized_at = Time.now
self.verifier = OAuth::Helper.generate_key(20)[0, 20] unless oauth10?
def update_from_xml_node(pt, create = false)
raise OSM::APIBadXMLError.new("trace", pt, "visibility missing") if pt["visibility"].nil?
+
self.visibility = pt["visibility"]
unless create
raise OSM::APIBadXMLError.new("trace", pt, "ID is required when updating.") if pt["id"].nil?
+
id = pt["id"].to_i
# .to_i will return 0 if there is no number that can be parsed.
# We want to make sure that there is no id with zero anyway
description = pt.find("description").first
raise OSM::APIBadXMLError.new("trace", pt, "description missing") if description.nil?
+
self.description = description.content
self.tags = pt.find("tag").collect do |tag|
tp.save!
end
- if gpx.actual_points > 0
+ if gpx.actual_points.positive?
max_lat = Tracepoint.where(:gpx_id => id).maximum(:latitude)
min_lat = Tracepoint.where(:gpx_id => id).minimum(:latitude)
max_lon = Tracepoint.where(:gpx_id => id).maximum(:longitude)
way = Way.new
raise OSM::APIBadXMLError.new("way", pt, "Version is required when updating") unless create || !pt["version"].nil?
+
way.version = pt["version"]
raise OSM::APIBadXMLError.new("way", pt, "Changeset id is missing") if pt["changeset"].nil?
+
way.changeset_id = pt["changeset"]
unless create
raise OSM::APIBadXMLError.new("way", pt, "ID is required when updating") if pt["id"].nil?
+
way.id = pt["id"].to_i
# .to_i will return 0 if there is no number that can be parsed.
# We want to make sure that there is no id with zero anyway
pt.find("tag").each do |tag|
raise OSM::APIBadXMLError.new("way", pt, "tag is missing key") if tag["k"].nil?
raise OSM::APIBadXMLError.new("way", pt, "tag is missing value") if tag["v"].nil?
+
way.add_tag_keyval(tag["k"], tag["v"])
end
ordered_nodes[nd.sequence_id] = nd.node_id.to_s if visible_nodes[nd.node_id]
else
# otherwise, manually go to the db to check things
- ordered_nodes[nd.sequence_id] = nd.node_id.to_s if nd.node && nd.node.visible?
+ ordered_nodes[nd.sequence_id] = nd.node_id.to_s if nd.node&.visible?
end
end
def create_with_history(user)
check_create_consistency(self, user)
raise OSM::APIPreconditionFailedError, "Cannot create way: data is invalid." unless preconditions_ok?
+
self.version = 0
self.visible = true
save_with_history!
# to IDs +id_map+.
def fix_placeholders!(id_map, placeholder_id = nil)
nds.map! do |node_id|
- if node_id < 0
+ if node_id.negative?
new_id = id_map[:node][node_id]
raise OSM::APIBadUserInput, "Placeholder node not found for reference #{node_id} in way #{id.nil? ? placeholder_id : id}" if new_id.nil?
+
new_id
else
node_id
<% end %>
<%=
user = (@prev_by_user || @next_by_user).user.display_name
- link_to content_tag(:bdi, user), :controller => "changeset", :action => "list", :display_name => user
+ link_to content_tag(:bdi, user), :controller => "changeset", :action => "index", :display_name => user
%>
<% if @next_by_user %>
·
<%= content_tag "li", :id => "changeset_#{changeset.id}", :data => {:changeset => changeset_data} do %>
<h4>
- <a class="changeset_id" href="<%= changeset_path(changeset.id) %>">
+ <a class="changeset_id" href="<%= changeset_path(changeset) %>">
<%= changeset.tags['comment'].to_s.presence || t('browse.no_comment') %>
</a>
</h4>
<% end -%>
<%
- set_title(changeset_list_title(params, current_user))
+ set_title(changeset_index_title(params, current_user))
if params[:display_name]
- @heading = t('changeset.list.title_user', :user => link_to(params[:display_name], :controller => "user", :action => "view", :display_name => params[:display_name])).html_safe
+ @heading = t('changeset.index.title_user', :user => link_to(params[:display_name], user_path(:display_name => params[:display_name]))).html_safe
else
@heading = @title
end
atom_feed(:language => I18n.locale, :schema_date => 2009,
:id => url_for(@params.merge(:only_path => false)),
- :root_url => url_for(@params.merge(:action => :list, :format => nil, :only_path => false)),
+ :root_url => url_for(@params.merge(:action => :index, :format => nil, :only_path => false)),
"xmlns:georss" => "http://www.georss.org/georss") do |feed|
- feed.title changeset_list_title(params, current_user)
+ feed.title changeset_index_title(params, current_user)
feed.updated @edits.map { |e| [e.created_at, e.closed_at].max }.max
feed.icon image_url("favicon.ico")
if changeset.user.data_public?
entry.author do |author|
author.name changeset.user.display_name
- author.uri url_for(:controller => "user", :action => "view", :display_name => changeset.user.display_name, :only_path => false)
+ author.uri user_url(changeset.user, :only_path => false)
end
end
table.tr do |tr|
tr.th t("browse.changeset.belongs_to")
tr.td do |td|
- td.a h(changeset.user.display_name), :href => url_for(:controller => "user", :action => "view", :display_name => changeset.user.display_name, :only_path => false)
+ td.a h(changeset.user.display_name), :href => user_url(changeset.user, :only_path => false)
end
end
end
table.tr do |tr|
tr.th t("browse.tag_details.tags")
tr.td do |td|
- td.table :cellpadding => "0" do |table|
+ td.table :cellpadding => "0" do |tag_table|
changeset.tags.sort.each do |tag|
- table.tr do |tr|
- tr.td << "#{h(tag[0])} = #{linkify(h(tag[1]))}"
+ tag_table.tr do |tag_tr|
+ tag_tr.td << "#{h(tag[0])} = #{linkify(h(tag[1]))}"
end
end
end
<%= user_thumbnail diary_entry.user %>
<% end %>
- <h2><%= link_to h(diary_entry.title), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id %></h2>
+ <h2><%= link_to h(diary_entry.title), diary_entry_path(diary_entry.user, diary_entry) %></h2>
<small class='deemphasize'>
- <%= raw(t '.posted_by', :link_user => (link_to h(diary_entry.user.display_name), user_path(diary_entry.user)), :created => l(diary_entry.created_at, :format => :blog), :language_link => (link_to h(diary_entry.language.name), :controller => 'diary_entry', :action => 'list', :display_name => nil, :language => diary_entry.language_code)) %>
+ <%= raw(t '.posted_by', :link_user => (link_to h(diary_entry.user.display_name), user_path(diary_entry.user)), :created => l(diary_entry.created_at, :format => :blog), :language_link => (link_to h(diary_entry.language.name), :controller => 'diary_entry', :action => 'index', :display_name => nil, :language => diary_entry.language_code)) %>
</small>
</div>
<% end %>
<ul class='secondary-actions clearfix'>
- <% if params[:action] == 'list' %>
- <li><%= link_to t('.comment_link'), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'newcomment' %></li>
+ <% if params[:action] == 'index' %>
+ <li><%= link_to t('.comment_link'), diary_entry_path(diary_entry.user, diary_entry, :anchor => 'newcomment') %></li>
<li><%= link_to t('.reply_link'), new_message_path(diary_entry.user, :message => { :title => "Re: #{diary_entry.title}" }) %></li>
- <li><%= link_to t('.comment_count', :count => diary_entry.visible_comments.count), :action => 'view', :display_name => diary_entry.user.display_name, :id => diary_entry.id, :anchor => 'comments' %></li>
+ <li><%= link_to t('.comment_count', :count => diary_entry.visible_comments.count), diary_entry_path(diary_entry.user, diary_entry, :anchor => 'comments') %></li>
<% end %>
<% if current_user && current_user == diary_entry.user %>
--- /dev/null
+<%= render :partial => "diary_entry", :object => diary_index_entry %>
+++ /dev/null
-<%= render :partial => "diary_entry", :object => diary_list_entry %>
\ No newline at end of file
<% @comments.each do |comment| -%>
<% cl = cycle('table0', 'table1') %>
<tr class="<%= cl %>">
- <td width="25%"><%= link_to comment.diary_entry.title, :action => :view, :display_name => comment.diary_entry.user.display_name, :id => comment.diary_entry.id %></td>
+ <td width="25%"><%= link_to comment.diary_entry.title, diary_entry_path(comment.diary_entry.user, comment.diary_entry) %></td>
<td width="25%"><span title="<%= l comment.created_at, :format => :friendly %>"><%= t '.ago', :ago => time_ago_in_words(comment.created_at) %></span></td>
<td width="50%" class="richtext"><%= comment.body.to_html %></td>
</tr>
<% if @user %>
<%= render :partial => 'diary_entry', :collection => @entries %>
<% else %>
- <%= render :partial => 'diary_list_entry', :collection => @entries %>
+ <%= render :partial => 'diary_index_entry', :collection => @entries %>
<% end %>
<div class="pagination">
xml.channel do
xml.title @title
xml.description @description
- xml.link url_for(:action => "list", :only_path => false)
+ xml.link url_for(:action => "index", :only_path => false)
xml.image do
xml.url image_url("mag_map-rss2.0.png")
xml.title @title
xml.width "100"
xml.height "100"
- xml.link url_for(:action => "list", :only_path => false)
+ xml.link url_for(:action => "index", :only_path => false)
end
@entries.each do |entry|
xml.item do
xml.title entry.title
- xml.link url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :only_path => false)
- xml.guid url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :only_path => false)
+ xml.link diary_entry_url(entry.user, entry, :only_path => false)
+ xml.guid diary_entry_url(entry.user, entry, :only_path => false)
xml.description entry.body.to_html
xml.dc :creator, entry.user.display_name
xml.pubDate entry.created_at.to_s(:rfc822)
- xml.comments url_for(:action => "view", :id => entry.id, :display_name => entry.user.display_name, :anchor => "comments", :only_path => false)
+ xml.comments diary_entry_url(entry.user, entry, :anchor => "comments", :only_path => false)
if entry.latitude && entry.longitude
xml.geo :lat, entry.latitude.to_s
<% content_for :heading do %>
<div id="userinformation" >
<%= user_image @entry.user %>
- <h2><%= link_to t('.user_title', :user => h(@entry.user.display_name)), :action => :list %></h2>
+ <h2><%= link_to t('.user_title', :user => h(@entry.user.display_name)), :action => :index %></h2>
<p><%= rss_link_to :action => :rss, :display_name => @entry.user.display_name %></p>
</div>
<% end %>
<% comments.each do |comment| %>
<div class="comment">
<div style="float:left">
- <%= link_to user_thumbnail(comment.user), user_path(comment.user.display_name) %>
+ <%= link_to user_thumbnail(comment.user), user_path(comment.user) %>
</div>
- <b> <%= link_to comment.user.display_name, user_path(comment.user.display_name) %> </b> <br/>
+ <b> <%= link_to comment.user.display_name, user_path(comment.user) %> </b> <br/>
<%= comment.body %>
</div>
<span class="deemphasize">
<% reports.each do |report| %>
<div class="report">
<div style="float:left">
- <%= link_to user_thumbnail(report.user), user_path(report.user.display_name) %>
+ <%= link_to user_thumbnail(report.user), user_path(report.user) %>
</div>
- <%= t ".reported_by_html", :category => report.category, :user => link_to(report.user.display_name, user_path(report.user.display_name)) %>
+ <%= t ".reported_by_html", :category => report.category, :user => link_to(report.user.display_name, user_path(report.user)) %>
<br/>
<span class="deemphasize">
<%= t(".updated_at", :datetime => l(report.updated_at.to_datetime, :format => :friendly)) %>
<td><%= t ".states.#{issue.status}" %></td>
<td><%= link_to t(".reports_count", :count => issue.reports_count), issue %></td>
<td><%= link_to reportable_title(issue.reportable), reportable_url(issue.reportable) %></td>
- <td><%= link_to issue.reported_user.display_name, user_path(issue.reported_user.display_name) if issue.reported_user %></td>
+ <td><%= link_to issue.reported_user.display_name, user_path(issue.reported_user) if issue.reported_user %></td>
<td>
<% if issue.user_updated %>
- <%= t ".last_updated_time_user_html", :user => link_to(issue.user_updated.display_name, user_path(issue.user_updated.display_name)),
+ <%= t ".last_updated_time_user_html", :user => link_to(issue.user_updated.display_name, user_path(issue.user_updated)),
:time => distance_of_time_in_words_to_now(issue.updated_at),
:title => l(issue.updated_at) %>
<% else %>
<li>
<%= link_to inbox_messages_path do %>
<span class='count-number'><%= number_with_delimiter(current_user.new_messages.size) %></span>
- <%= t('user.view.my messages') %>
+ <%= t('user.show.my messages') %>
<% end %>
</li>
<li>
- <%= link_to t('user.view.my profile'), user_path(:display_name => current_user.display_name) %>
+ <%= link_to t('user.show.my profile'), user_path(current_user) %>
</li>
<li>
- <%= link_to t('user.view.my settings'), :controller => 'user', :action => 'account', :display_name => current_user.display_name %>
+ <%= link_to t('user.show.my settings'), :controller => 'user', :action => 'account', :display_name => current_user.display_name %>
</li>
<li class="divider"></li>
<li>
<h2><%= t 'layouts.intro_header' %></h2>
<div class="close-wrap"><span class="icon close"></span></div>
<p><%= t 'layouts.intro_text' %></p>
- <p><%= t 'layouts.partners_html',
+ <p><%= t 'layouts.hosting_partners_html',
:ucl => link_to(t('layouts.partners_ucl'), "https://www.ucl.ac.uk"),
- :ic => link_to(t('layouts.partners_ic'), "https://www.imperial.ac.uk/"),
:bytemark => link_to(t('layouts.partners_bytemark'), "https://www.bytemark.co.uk"),
:partners => link_to(t('layouts.partners_partners'), "https://hardware.openstreetmap.org/thanks/") %>
</p>
<h1><%= t ".title" %></h1>
<% end %>
-<p><%= raw t(".request_access", :app_name => link_to(@token.client_application.name, @token.client_application.url), :user => link_to(current_user.display_name, :controller => :user, :action => :view, :display_name => current_user.display_name)) %></p>
+<p><%= raw t(".request_access", :app_name => link_to(@token.client_application.name, @token.client_application.url), :user => link_to(current_user.display_name, user_path(current_user))) %></p>
<%= form_tag authorize_url do %>
<%= hidden_field_tag "oauth_token", @token.token %>
<div class='section' id='partners'>
<h2><div class='icon partners'></div><%= t ".partners_title" %></h2>
- <p><%= t 'layouts.partners_html',
+ <p><%= t 'layouts.hosting_partners_html',
:ucl => link_to(t('layouts.partners_ucl'), "https://www.ucl.ac.uk"),
- :ic => link_to(t('layouts.partners_ic'), "https://www.imperial.ac.uk/"),
:bytemark => link_to(t('layouts.partners_bytemark'), "https://www.bytemark.co.uk"),
:partners => link_to(t('layouts.partners_partners'), "https://hardware.openstreetmap.org/thanks/") %>
</p>
xml.item do
xml.title trace.name
- xml.link url_for(:controller => :traces, :action => :view, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
- xml.guid url_for(:controller => :traces, :action => :view, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
+ xml.link url_for(:controller => :traces, :action => :show, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
+ xml.guid url_for(:controller => :traces, :action => :show, :id => trace.id, :display_name => trace.user.display_name, :only_path => false)
xml.description do
xml.cdata! render(:partial => "description", :object => trace, :formats => [:html])
<% if @user.home_lon and @user.home_lat and contact.home_lon and contact.home_lat %>
<% distance = @user.distance(contact) %>
<% if distance < 1 %>
- (<%= t 'user.view.m away', :count => (distance * 1000).round %>)
+ (<%= t 'user.show.m away', :count => (distance * 1000).round %>)
<% else %>
- (<%= t 'user.view.km away', :count => distance.round %>)
+ (<%= t 'user.show.km away', :count => distance.round %>)
<% end %>
<% end %>
</p>
<p>
<% changeset = contact.changesets.first %>
<% if changeset %>
- <%= t('user.view.latest edit', :ago => t('user.view.ago', :time_in_words_ago => time_ago_in_words(changeset.created_at))) %>
+ <%= t('user.show.latest edit', :ago => t('user.show.ago', :time_in_words_ago => time_ago_in_words(changeset.created_at))) %>
<% comment = changeset.tags['comment'].to_s != '' ? changeset.tags['comment'] : t('browse.no_comment') %>
"<%= link_to(comment,
{:controller => 'browse', :action => 'changeset', :id => changeset.id},
</p>
<ul class='secondary-actions clearfix deemphasize'>
- <li><%= link_to t('user.view.send message'), new_message_path(contact) %></li>
+ <li><%= link_to t('user.show.send message'), new_message_path(contact) %></li>
<li>
<% if current_user.is_friends_with?(contact) %>
- <%= link_to t('user.view.remove as friend'), remove_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
+ <%= link_to t('user.show.remove as friend'), remove_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
<% else %>
- <%= link_to t('user.view.add as friend'), make_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
+ <%= link_to t('user.show.add as friend'), make_friend_path(:display_name => contact.display_name, :referer => request.fullpath), :method => :post %>
<% end %>
</li>
</ul>
<td>
<p>
<% if user.creation_ip %>
- <%= raw t 'user.list.summary',
- :name => link_to(h(user.display_name), :action => "view", :display_name => user.display_name),
+ <%= raw t 'user.index.summary',
+ :name => link_to(h(user.display_name), user_path(user)),
:ip_address => link_to(user.creation_ip, :ip => user.creation_ip),
:date => l(user.creation_time, :format => :friendly)
%>
<% else %>
- <%= raw t 'user.list.summary_no_ip',
- :name => link_to(h(user.display_name), :action => "view", :display_name => user.display_name),
+ <%= raw t 'user.index.summary_no_ip',
+ :name => link_to(h(user.display_name), user_path(user)),
:date => l(user.creation_time, :format => :friendly)
%>
<% end %>
<h1><%= t '.my settings' %></h1>
<ul class='secondary-actions clearfix'>
<li><%= link_to t('.return to profile'), user_path(current_user) %></li>
- <li><%= link_to t('user.view.oauth settings'), :controller => 'oauth_clients', :action => 'index' %></li>
+ <li><%= link_to t('user.show.oauth settings'), :controller => 'oauth_clients', :action => 'index' %></li>
</ul>
<% end %>
<!-- Displaying user's own profile page to themself -->
<ul class='secondary-actions clearfix'>
<li>
- <%= link_to t('.my edits'), :controller => 'changeset', :action => 'list', :display_name => current_user.display_name %>
+ <%= link_to t('.my edits'), :controller => 'changeset', :action => 'index', :display_name => current_user.display_name %>
<span class='count-number'><%= number_with_delimiter(current_user.changesets.size) %></span>
</li>
<li>
<span class='count-number'><%= number_with_delimiter(current_user.traces.size) %></span>
</li>
<li>
- <%= link_to t('.my diary'), :controller => 'diary_entry', :action => 'list', :display_name => current_user.display_name %>
+ <%= link_to t('.my diary'), :controller => 'diary_entry', :action => 'index', :display_name => current_user.display_name %>
<span class='count-number'><%= number_with_delimiter(current_user.diary_entries.size) %></span>
</li>
<li>
<ul class='secondary-actions clearfix'>
<li>
- <%= link_to t('.edits'), :controller => 'changeset', :action => 'list', :display_name => @user.display_name %>
+ <%= link_to t('.edits'), :controller => 'changeset', :action => 'index', :display_name => @user.display_name %>
<span class='count-number'><%= number_with_delimiter(@user.changesets.size) %></span>
</li>
<li>
<%= link_to t('.send message'), new_message_path(@user) %>
</li>
<li>
- <%= link_to t('.diary'), :controller => 'diary_entry', :action => 'list', :display_name => @user.display_name %>
+ <%= link_to t('.diary'), :controller => 'diary_entry', :action => 'index', :display_name => @user.display_name %>
<span class='count-number'><%= number_with_delimiter(@user.diary_entries.size) %></span>
</li>
<li>
super
rescue InvalidPluralizationData => ex
raise ex unless ex.entry.key?(:other)
+
ex.entry[:other]
end
end
def oauth1_verify(request, options = {}, &block)
signature = OAuth::Signature.build(request, options, &block)
return false unless OauthNonce.remember(signature.request.nonce, signature.request.timestamp)
+
value = signature.verify
if request.ssl? && !value
http_request = request.dup
user: Gebruiker
comment: Opmerking
area: Gebied
- list:
+ index:
title: Wysigingsstel
empty: Geen wysigingstelle gevind nie.
empty_area: Geen wysigingstelle in hierdie gebied.
new:
title: Nuwe dagboekinskrywing
publish_button: Publiseer
- list:
+ index:
title: Gebruikersdagboeke
title_friends: Dagboeke van vriende
title_nearby: Gebruikers in die omgewing se dagboeke
use_map_link: benut kaart
save_button: Stoor
marker_text: Ligging van dagboekinskrywing
- view:
+ show:
title: '%{user} se dagboek | %{title}'
user_title: '%{user} se dagboek'
leave_a_comment: Lewer kommentaar
get_directions_title: Kry rigtingaanwysings tussen twee punte
from: Vanaf
to: Na
- where_am_i: Waar is ek tans?
+ where_am_i: Waar is dié?
submit_text: Soek
key:
table:
heading: Die gebruiker %{user} bestaan nie
body: Daar is geen gebruiker met die naam %{user} nie. Gaan u spelling na, of
u het moontlik op 'n foutiewe skakel geklik.
- view:
+ show:
my diary: My Dagboek
new diary entry: nuwe dagboekinskrywing
my edits: My Redigerings
remove_friend:
success: '%{name} is uit u vriendekring verwyder.'
not_a_friend: '%{name} is nie een van u vriende nie.'
- list:
+ index:
title: Gebruikers
heading: Gebruikers
summary: '%{name} geskep vanaf %{ip_address} op %{date}'
user: Përdorues
comment: Koment
area: Zonë
- list:
+ index:
title: Changesets
title_user: Changesets nga %{user}
diary_entry:
new:
title: Hyrja e re Ditari
- list:
+ index:
title: ditarë Përdorues ,
user_title: Ditari i %{user}
in_language_title: Shënimet e Ditarit në %{language}
use_map_link: Harta e përdorimit
save_button: Ruje
marker_text: Vendndodhja Ditari hyrje
- view:
+ show:
title: ditari i %{user} | %{title}
user_title: ditari i %{user}
leave_a_comment: Lene naj koment
heading: Ky shfrytzues %{user} nuk egziston
body: Na vjen keq, ska shfrytëzues me kët emën %{user}. Ju lutemi kontrolloni
shkrimin, ose nashta linku ku keni kliku asht gabim.
- view:
+ show:
my diary: ditari im
new diary entry: hyrje e re ne ditar
my edits: ndryshimet e mia
not_a_friend: '%{name} nuk osht njoni pi shokve tu.'
filter:
not_an_administrator: Ju duhet të jeni administrator për me kry kët veprim.
- list:
+ index:
title: Perdoruesit
heading: Perdoruesit
showing:
user: المستخدم
comment: التعليق
area: منطقة
- list:
+ index:
title: حزم التغييرات
title_user: حزم التغييرات بواسطة %{user}
title_friend: مجموعات تغييرات بواسطة أصدقائي
new:
title: مدخلة يومية جديدة
publish_button: نشر
- list:
+ index:
title: يوميات المستخدمين
title_friends: يوميات الأصدقاء
title_nearby: يوميات/مفكرات المستخدمين في المقبرة
use_map_link: استخدم الخريطة
save_button: احفظ
marker_text: موقع مدخلة اليومية
- view:
+ show:
title: يوميات %{user} | %{title}
user_title: يومية %{user}
leave_a_comment: اترك تعليقًا
body: عذرًا، لا يوجد مستخدم بالاسم %{user}. يرجى تدقيق الاسم، أو ربما يكون الرابط
الذي تم النقر عليه خاطئ.
deleted: تم حذفه
- view:
+ show:
my diary: اليوميات
new diary entry: مدخلة يومية جديدة
my edits: المُساهمات
not_a_friend: '%{name} ليس من أحد أصدقائك.'
filter:
not_an_administrator: عليك أن تكون إداري لتنفيذ هذا الإجراء.
- list:
+ index:
title: المستخدمون
heading: المستخدمون
showing:
user: المستخدم
comment: التعليق
area: منطقة
- list:
+ index:
title: حزم التغييرات
title_user: حزم التغييرات بواسطه %{user}
diary_entry:
new:
title: مدخله يوميه جديدة
- list:
+ index:
title: يوميات المستخدمين
user_title: يوميه %{user}
in_language_title: مدخلات اليوميه باللغه %{language}
use_map_link: استخدم الخريطة
save_button: احفظ
marker_text: موقع مدخله اليومية
- view:
+ show:
title: يوميات المستخدمين | %{user}
user_title: يوميه %{user}
leave_a_comment: اترك تعليقًا
heading: المستخدم %{user} غير موجود
body: عذرًا، لا يوجد مستخدم بالاسم %{user}. يرجى تدقيق الاسم، أو ربما يكون الرابط
الذى تم النقر عليه خاطئ.
- view:
+ show:
my diary: يوميتي
new diary entry: مدخله يوميه جديدة
my edits: مساهمات
user: Usuariu
comment: Comentariu
area: Área
- list:
+ index:
title: Conxuntos de cambeos
title_user: Conxuntos de cambeos de %{user}
title_friend: Conxuntos de cambeos de los mios collacios
new:
title: Nueva entrada del diariu
publish_button: Espublizar
- list:
+ index:
title: Diarios d'usuarios
title_friends: Diarios de collacios
title_nearby: Diarios d'usuarios cercanos
use_map_link: usar mapa
save_button: Guardar
marker_text: Allugamientu de la entrada del diariu
- view:
+ show:
title: Diariu de %{user} | %{title}
user_title: Diariu de %{user}
leave_a_comment: Dexar un comentariu
body: Lo siento, nun hai dengún usuariu col nome %{user}. Comprueba la escritura
o si calcasti nun enllaz enquivocáu.
deleted: desaniciao
- view:
+ show:
my diary: El mio diariu
new diary entry: nueva entrada del diariu
my edits: Les mios ediciones
not_a_friend: '%{name} nun ye unu de los tos amigos.'
filter:
not_an_administrator: Has de ser alministrador pa facer esa aición.
- list:
+ index:
title: Usuarios
heading: Usuarios
showing:
user: İstifadəçi
comment: Şərh
area: Ərazi
- list:
+ index:
title: Dəyişikliklər dəsti
title_user: '%{user} tərəfindən edilmiş dəyişikliklər dəsti'
title_friend: Dostlarınız tərəfindən edilmiş dəyişikliklər dəsti
new:
title: Yeni Gündəlik Yazısı
publish_button: Nəşr et
- list:
+ index:
title: İstifadəçi gündəlikləri
title_friends: Dostların gündəlikləri
title_nearby: Yaxınlıqdakı İstifadəçilərin Gündəlikləri
use_map_link: xəritə üzərində göstər
save_button: Qeyd et
marker_text: Gundəlik yazısının yazıldığı yer
- view:
+ show:
title: İstifadəçi %{user} gündəliyi | %{title}
user_title: İstifadəçi %{user} gündəliyi
leave_a_comment: Şərh yaz
legale_names:
france: Fransa
italy: İtaliya
- view:
+ show:
my diary: mənim gündəliyim
my edits: mənim redaktələrim
my comments: mənim şərhlərim
remove_friend:
heading: '%{user} dostluqdan silək?'
button: Dostluqdan sil
- list:
+ index:
title: İstifadəçilər
heading: İstifadəçilər
hide: Seçilmiş istifadəçiləri gizlət
user: Ҡулланыусы
comment: Комментарий
area: Өлкә
- list:
+ index:
title: Төҙәтеүҙәр пакеты
title_user: ' %{user} ҡулланыусыһының төҙәтеүҙәр пакеты'
title_friend: Дуҫтарығыҙҙың төҙәтеүҙәре пакеты
new:
title: Яңы көндәлеккә инеү
publish_button: Баҫтырырға
- list:
+ index:
title: Көндәлектәр
title_friends: Дуҫтарың көндәлектәре
title_nearby: Йәнәш ҡатнашыусылар көндәлеге
use_map_link: картаны ҡуллан
save_button: Һаҡларға
marker_text: Көндәлек яҙыу урыны
- view:
+ show:
title: '%{ҡулланыусы}ның көндәлеге|%{титул}'
user_title: '%{ҡулланыусы}ның көндәлеге'
leave_a_comment: Фекер ҡалдыр
user: Карыстальнік
comment: Камэнтар
area: Абшар
- list:
+ index:
title: Наборы зьменаў
title_user: Набор зьменаў %{user}
title_friend: Наборы зьменаў маіх сяброў
diary_entry:
new:
title: Новы запіс у дзёньніку
- list:
+ index:
title: Дзёньнікі карыстальнікаў
title_friends: Дзёньнікі сяброў
title_nearby: Дзёньнікі суседніх удзельнікаў
use_map_link: на мапе
save_button: Захаваць
marker_text: Месцазнаходжаньне запісу дзёньніка
- view:
+ show:
title: Дзёньнік %{user} | %{title}
user_title: Дзёньнік %{user}
leave_a_comment: Пакінуць камэнтар
heading: Удзельнік %{user} не існуе
body: Прабачце, няма ўдзельніка з іменем %{user}. Калі ласка, праверце дакладнасьць
напісаньня, ці, магчыма, спасылка па якой Вы перайшлі, няслушная.
- view:
+ show:
my diary: Мой дзёньнік
new diary entry: новы запіс у дзёньніку
my edits: Мае рэдагаваньні
filter:
not_an_administrator: Вам неабходна быць адміністратарам, каб выканаць гэтае
дзеяньне.
- list:
+ index:
title: Удзельнікі
heading: Карыстальнікі
showing:
user: Карыстальнік
comment: Каментар
area: Мясцовасць
- list:
+ index:
title: Наборы зменаў
title_user: Набор зменаў ад %{user}
title_friend: Наборы зменаў ад вашых сяброў
new:
title: Новы запіс дзённіку
publish_button: Апублікаваць
- list:
+ index:
title: Дзённікі карыстальнікаў
title_friends: Дзённікі сяброў
title_nearby: Дзённікі карыстальнікаў паблізу
use_map_link: карыстацца картай
save_button: Запісаць
marker_text: Месцазнаходжанне запісу дзённіку
- view:
+ show:
title: Дзённік карыстальніка | %{user}
user_title: Дзённік %{user}
leave_a_comment: Пакінуць каментар
body: Прабачце, карыстальнік %{user} не знойдзены. Please check your spelling,
Калі ласка, праверце свой правапіс, ці, магчыма, вам далі няправільную спасылку.
deleted: выдалены
- view:
+ show:
my diary: Мой дзённік
new diary entry: новы запіс у дзённіку
my edits: Мае змены
filter:
not_an_administrator: Вам неабходна мець правы адміністратара для выканання
гэтага дзеяння.
- list:
+ index:
title: Удзельнікі
heading: Удзельнікі
showing:
user: Потребител
comment: Коментар
area: Област
- list:
+ index:
title: Списък с промени
title_user: Списък с промени на %{user}
title_friend: Списъци с промени на Ваши приятели
new:
title: Нов запис в дневника
publish_button: Публикуване
- list:
+ index:
title: Дневници на потребителите
title_friends: Дневници на приятели
title_nearby: Дневници на потребители наблизо
longitude: 'Географска дължина:'
use_map_link: използвай карта
save_button: Съхраняване
- view:
+ show:
title: Дневник на потребител %{user} | %{title}
user_title: дневник на %{user}
leave_a_comment: Оставете коментар
title: Няма такъв потребител
heading: Потребителят %{user} не съществува
deleted: изтрито
- view:
+ show:
my edits: Mоите редакции
my traces: Моите следи
my notes: Моите бележки
heading: Потвърдете смяната на електронната поща
remove_friend:
success: '%{name} беше премахнат от списъка с приятелите.'
- list:
+ index:
title: Потребители
heading: Потребители
user_role:
user: ব্যবহারকারী
comment: মন্তব্য
area: এলাকা
- list:
+ index:
title: পরিবর্তনসমূহ
title_user: '%{user} দ্বারা পরিবর্তন ধার্য'
title_friend: আমার বন্ধুদের দ্বারা পরিবর্তনসেট
new:
title: নতুন দিনলিপির ভুক্তি
publish_button: প্রকাশ করুন
- list:
+ index:
title: ব্যবহারকারীর দিনলিপি
title_friends: বন্ধুর দিনলিপি
title_nearby: নিকটবর্তী ব্যবহারকারীর দিনলিপি
use_map_link: মানচিত্র ব্যবহার করুন
save_button: সংরক্ষণ
marker_text: দিনলিপির ভুক্তির অবস্থান
- view:
+ show:
title: '%{user}-এর দিনলিপি | %{title}'
user_title: '%{user}-এর দিনলিপি'
leave_a_comment: মন্তব্য করুন
france: ফ্রান্স
italy: ইতালি
rest_of_world: অন্যান্য দেশসমূহ
- view:
+ show:
my edits: আমার সম্পাদনা
my profile: আমার প্রোফাইল
my settings: আমার সেটিংস
go_public:
flash success: আপনার সকল সম্পাদনা এখন উন্মুক্ত, এবং এখন আপনার সম্পাদনের অনুমতি
রয়েছে।
- list:
+ index:
title: ব্যবহারকারীগণ
heading: ব্যবহারকারীগণ
auth_association:
user: Implijer
comment: Addispleg
area: Takad
- list:
+ index:
title: Hollad kemmoù
title_user: Strolladoù kemmoù gant %{user}
title_friend: Hollad ar c'hemmoù degaset gant ho mignoned
new:
title: Enmoned nevez en deizlevr
publish_button: Embann
- list:
+ index:
title: Deizlevrioù an implijerien
title_friends: Marilhoù ar vignoned
title_nearby: Marilhoù mignoned a-dost
use_map_link: implijout ar gartenn
save_button: Enrollañ
marker_text: Lec'hiadur an enmoned en deizlevr
- view:
+ show:
title: Deizlevr %{user} | %{title}
user_title: Deizlevr %{user}
leave_a_comment: Lezel un addispleg
body: Ho tigarez, n'eus implijer ebet en anv %{user}. Gwiriit hag-eñ eo skrivet
mat, pe marteze hoc'h eus kliket war ul liamm fall.
deleted: dilamet
- view:
+ show:
my diary: ma deizlevr
new diary entry: enmoned nevez en deizlevr
my edits: ma aozadennoù
not_a_friend: '%{name} n''eo ket unan eus ho mignoned.'
filter:
not_an_administrator: Ret eo deoc'h bezañ merour evit kas an ober-mañ da benn.
- list:
+ index:
title: Implijerien
heading: Implijerien
showing:
user: Korisnik
comment: Komentar
area: Područje
- list:
+ index:
title: Setovi promjena
title_user: Setovi promjena od %{user}
title_friend: Setovi promjena vaših prijatelja
new:
title: Novi unos u dnevnik
publish_button: Objavi
- list:
+ index:
title: Dnevnici korisnika
title_friends: Dnevnici prijatelja
title_nearby: Dnevnici obližnjih korisnika
use_map_link: korisititi kartu
save_button: Spremiti
marker_text: Lokacija unosa u dnevnik
- view:
+ show:
title: Dnevnik korisnika %{user} | %{title}
user_title: Dnenvnik korisnika %{user}
leave_a_comment: Ostaviti komentar
heading: Korisnik %{user} ne postoji
body: Žao nam je, ne postoji korisnik s imenom %{user}. Molimo da provjerite
Vaš unos ili da li je poveznica na koju ste kliknuli ispravna.
- view:
+ show:
my diary: Moj dnevnik
new diary entry: Novi unos u dnevnik
my edits: Moje promjene
not_a_friend: '%{name} nije jedan od Vaših prijatelja.'
filter:
not_an_administrator: Trebate biti moderator da bi izvršili tu radnju.
- list:
+ index:
title: Korisnici
heading: Korisnici
showing:
user: Usuari
comment: Comentari
area: Àrea
- list:
+ index:
title: Conjunt de canvis
title_user: Conjunt de canvis de %{user}
title_friend: Conjunts de canvis dels meus amics
new:
title: Entrada de diari nova
publish_button: Publica
- list:
+ index:
title: Diaris d'usuari/a
title_friends: Diaris dels amics
title_nearby: Diaris d'amics propers
use_map_link: usa el mapa
save_button: Desa
marker_text: Localització de l'Entrada del Diari
- view:
+ show:
title: Diari de %{user} | %{title}
user_title: Diari de %{user}
leave_a_comment: Deixa un comentari
reports:
new:
categories:
+ diary_entry:
+ other_label: Un altre
+ diary_comment:
+ other_label: Un altre
note:
spam_label: Aquesta nota és brossa
personal_label: Aquesta nota conté dades personals
identifiable: Identifiable (mostrat en llista de traça i com a punts d'identificació,
ordenades amb timestamps)
new:
+ upload_trace: Carrega una traça GPS
upload_gpx: 'Carregui l''arxiu GPX:'
description: 'Descripció:'
tags: 'Etiquetes:'
body: No hi ha cap usuari amb el nom %{user}. Comproveu l'ortografia, o potser
l'enllaç on heu fet clic és incorrecte.
deleted: esborrat
- view:
+ show:
my diary: El meu diari
new diary entry: Nova entrada del diari
my edits: Les meves edicions
not_a_friend: '%{name} no és un dels seus amics.'
filter:
not_an_administrator: Cal que sigueu administrador per dur a terme aquesta acció.
- list:
+ index:
title: Usuaris
heading: Usuaris
showing:
user: Декъашхо
comment: Коммент
area: Область
- list:
+ index:
title: Нисдарш
title_user: Декъашхочун %{user} нисдарш
title_friend: Хьан доттагӀийн нисдарш
new:
title: Де керла дӀаяздар
publish_button: Арахеца
- list:
+ index:
title: Дневникаш
title_friends: ДоттагӀийн дневникаш
title_nearby: Уллера декъашхойн дневникаш
use_map_link: Гайта картан тӀехь
save_button: Ӏалашдан
marker_text: Билгало язйаран меттиг
- view:
+ show:
title: Декъашхочун дневник %{user} | %{title}
user_title: Декъашхочун дневник %{user}
leave_a_comment: Йитта коммент
user:
new:
continue: Кхин дӀа
- view:
+ show:
edits: Нисдарш
ago: (%{time_in_words_ago} юха)
user location: Декъашхо волу/йолу меттиг
user: Uživatel
comment: Komentář
area: Oblast
- list:
+ index:
title: Sady změn
title_user: Sady změn uživatele %{user}
title_friend: Sady změn podle mých přátel
new:
title: Nový záznam do deníku
publish_button: Publikovat
- list:
+ index:
title: Deníky uživatelů
title_friends: Deníky přátel
title_nearby: Deníky uživatelů poblíž
use_map_link: použít mapu
save_button: Uložit
marker_text: Místo deníkového záznamu
- view:
+ show:
title: Deník uživatele %{user} | %{title}
user_title: Deník uživatele %{user}
leave_a_comment: Zanechat komentář
upload_trace: Nahrát GPS stopu
trace_uploaded: Váš GPX soubor byl uložen a čeká na zařazení do databáze. Obvykle
to netrvá víc jak půl hodiny. Až bude zařazen, budete informováni emailem.
+ upload_failed: Promiňte, nahrání GPX se nezdařilo. Na problém byl upozorněn
+ správce. Zkuste to prosím znovu
traces_waiting:
few: Na zpracování čekají %{count} vaše stopy. Zvažte, zda by nebylo před
nahráním dalších lepší počkat, dokud nebudou zpracovány, abyste neblokovali
visibility: 'Viditelnost:'
visibility_help: co tohle znamená?
visibility_help_url: http://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces?uselang=cs
+ update:
+ updated: Stopa nahrána
trace_optionals:
tags: Štítky
show:
body: Je mi líto, ale uživatel %{user} neexistuje. Zkontrolujte překlepy nebo
jste možná klikli na chybný odkaz.
deleted: smazán
- view:
+ show:
my diary: Můj deníček
new diary entry: nový záznam do deníčku
my edits: Moje úpravy
not_a_friend: '%{name} není mezi vašimi přáteli.'
filter:
not_an_administrator: K provedení této akce musíte být správce.
- list:
+ index:
title: Uživatelé
heading: Uživatelé
showing:
user: Defnyddiwr
comment: Sylw
area: Maes
- list:
+ index:
title: Setiau-newid
title_user: Set-newid gan %{user}
title_friend: Setiau-newid eich cyfeillion
new:
title: Cofnod Dyddiadur Newydd
publish_button: Cyhoeddi
- list:
+ index:
title: Dyddiaduron defnyddwyr
title_friends: Dyddiaduron ffrindiau
title_nearby: Dyddiaduron defnyddwyr gerllaw
use_map_link: defnyddiwch y map
save_button: Arbed
marker_text: Lleoliad cofnod y dyddiadur
- view:
+ show:
title: yddiadur %{user} | %{title}
user_title: dyddiadur %{user}
leave_a_comment: Gadael sylw
no_such_user:
title: Dim defnyddiwr o'r fath
heading: Nid yw'r defnyddiwr %{user} yn bodoli.
- view:
+ show:
my diary: Fy Nyddiadur
new diary entry: cofnod dyddiadur newydd
my edits: Fy Ngolygiadau
button: Peidio bod yn gyfaill
success: Tynnwyd %{name} o'ch cyfeillion.
not_a_friend: Nid yw %{name} yn un o'ch cyfeillion.
- list:
+ index:
title: Defnyddwyr
heading: Defnyddwyr
user_role:
user: Bruger
comment: Kommentar
area: Område
- list:
+ index:
title: Ændringssæt
title_user: Ændringssæt af %{user}
title_friend: Ændringssæt af mine venner
new:
title: Nyt blogindlæg
publish_button: Offentliggør
- list:
+ index:
title: Brugerblogs
title_friends: Venners blogs
title_nearby: Blogs fra brugere i nærheden
use_map_link: brug kort
save_button: Gem
marker_text: Placering for blogindlæg
- view:
+ show:
title: '%{user}''s blog | %{title}'
user_title: '%{user}''s blog'
leave_a_comment: Tilføj en kommentar
body: Der findes desværre ingen bruger ved navn %{user}. Tjek venligst stavningen,
ellers kan linket du trykkede på være forkert.
deleted: slettet
- view:
+ show:
my diary: Min blog
new diary entry: nyt blogindlæg
my edits: Mine redigeringer
not_a_friend: '%{name} er ikke en af dine venner.'
filter:
not_an_administrator: Du skal være administrator for at gøre dette.
- list:
+ index:
title: Brugere
heading: Brugere
showing:
user: Benutzer
comment: Kommentar
area: Bereich
- list:
+ index:
title: Änderungssätze
title_user: Änderungssätze von %{user}
title_friend: Änderungssätze meiner Freunde
new:
title: Neuer Blog-Eintrag
publish_button: Veröffentlichen
- list:
+ index:
title: Benutzer-Blogs
title_friends: Blogs deiner Freunde
title_nearby: Blogs von Nutzern in der Nähe
use_map_link: Ort auf Karte auswählen
save_button: Speichern
marker_text: Ort des Blogeintrags
- view:
+ show:
title: Blog von %{user} | %{title}
user_title: Blog von %{user}
leave_a_comment: Schreibe einen Kommentar
body: Es gibt leider keinen Benutzer mit dem Namen %{user}. Du hast dich möglicherweise
vertippt oder bist einem ungültigem Link gefolgt.
deleted: gelöscht
- view:
+ show:
my diary: Mein Blog
new diary entry: Neuer Blogeintrag
my edits: Meine Änderungen
not_a_friend: '%{name} ist nicht dein Freund.'
filter:
not_an_administrator: Du musst ein Administrator sein um diese Aktion auszuführen.
- list:
+ index:
title: Benutzer
heading: Benutzer
showing:
user: Karber
comment: Mışewre
area: Erz
- list:
+ index:
title: Seta vurnayışan
title_user: Vurriyayışê setê %{user}
title_friend: Qeydê vurnayışê embazan
diary_entry:
new:
publish_button: Vıla ke
- list:
+ index:
user_title: '%{user} (Rocek)'
edit:
subject: 'Mewzu:'
latitude: 'Verıniye:'
longitude: 'Derganiye:'
save_button: Qeyd ke
- view:
+ show:
login: Cıkewtış
save_button: Qeyd ke
diary_entry:
no_such_user:
title: Karbero do wuna çıniyo
heading: '%{user} name dı karber çıniyo'
- view:
+ show:
my diary: Rocekê mı
new diary entry: Roceko newe defi
my edits: Iştirakê mı
button: Xo rê embaz ke
remove_friend:
button: Embazan ra vec
- list:
+ index:
title: Karberi
heading: Karberi
showing:
user: Wužywaŕ
comment: Komentar
area: Wurězk
- list:
+ index:
title: Sajźby změnow
title_user: Sajźby změnow wót %{user}
title_friend: Změny twójich pśijaśelow
diary_entry:
new:
title: Nowy zapisk dnjownika
- list:
+ index:
title: Dnjowniki wužywarjow
title_friends: Dnjowniki pśijaśelow
title_nearby: Dnjowniki wužywarjow w bliskosći
use_map_link: kórtu wužywaś
save_button: Składowaś
marker_text: Městno zapiska dnjownika
- view:
+ show:
title: Dnjownik %{user} | %{title}
user_title: dnjownik wužywarja %{user}
leave_a_comment: Komentar zawóstajiś
heading: Wužywaŕ %{user} njeeksistěrujo
body: Bóžko njejo wužywaŕ z mjenim %{user}. Pšosym pśekontrolěruj swój pšawopis,
abo wótkaz, na kótaryž sy kliknuł, jo njepłaśiwy.
- view:
+ show:
my diary: Mój dnjownik
new diary entry: nowy dnjownikowy zapisk
my edits: Móje změny
not_a_friend: '%{name} njejo twój pśijaśel.'
filter:
not_an_administrator: Musyš administrator byś, aby wuwjadł toś tu akciju.
- list:
+ index:
title: Wužywarje
heading: Wužywarje
showing:
user: Χρήστης
comment: Σχόλιο
area: Περιοχή
- list:
+ index:
title: Ομάδες αλλαγών
title_user: Ομάδες αλλαγών από τον %{user}
title_friend: Ομάδες αλλαγών από τους φίλους μου
new:
title: Νέα καταχώρηση ημερολογίου
publish_button: Δημοσίευση
- list:
+ index:
title: Ημερολόγια χρηστών
title_friends: Ημερολόγια φίλων
title_nearby: Ημερολόγια κοντινών χρηστών
use_map_link: χρησιμοποιήστε τον χάρτη
save_button: Αποθήκευση
marker_text: Τοποθεσία καταχώρησης ημερολογίου
- view:
+ show:
title: το ημερολόγιο του %{user} | %{title}
user_title: ημερολόγιο του %{user}
leave_a_comment: Αφήστε ένα σχόλιο
ορθογραφικά λάθη ή να είναι λάθος ο σύνδεσμος μέσω του οποίου φτάσατε σε αυτήν
τη σελίδα.
deleted: διεγράφη
- view:
+ show:
my diary: Το Ημερολόγιό Μου
new diary entry: νέα καταχώρηση ημερολογίου
my edits: Οι Επεξεργασίες Μου
not_a_friend: Ο χρήστης %{name} δεν είναι ένας από τους φίλους σας.
filter:
not_an_administrator: Πρέπει να είστε διαχειριστής για να το κάνετε αυτό.
- list:
+ index:
title: Χρήστες
heading: Χρήστες
showing:
user: User
comment: Comment
area: Area
- list:
+ index:
title: Changesets
title_user: Changesets by %{user}
title_friend: Changesets by your friends
new:
title: New Diary Entry
publish_button: Publish
- list:
+ index:
title: Users' diaries
title_friends: Friends' diaries
title_nearby: Nearby Users' diaries
use_map_link: use map
save_button: Save
marker_text: Diary entry location
- view:
+ show:
title: '%{user}''s diary | %{title}'
user_title: '%{user}''s diary'
leave_a_comment: Leave a comment
body: Sorry, there is no user with the name %{user}. Please check your spelling,
or maybe the link you clicked is wrong.
deleted: deleted
- view:
+ show:
my diary: My Diary
new diary entry: new diary entry
my edits: My Edits
not_a_friend: '%{name} is not one of your friends.'
filter:
not_an_administrator: You need to be an administrator to perform that action.
- list:
+ index:
title: Users
heading: Users
showing:
user: "User"
comment: "Comment"
area: "Area"
- list:
+ index:
title: "Changesets"
title_user: "Changesets by %{user}"
title_friend: "Changesets by my friends"
new:
title: New Diary Entry
publish_button: "Publish"
- list:
+ index:
title: "Users' diaries"
title_friends: "Friends' diaries"
title_nearby: "Nearby Users' diaries"
use_map_link: "use map"
save_button: "Save"
marker_text: Diary entry location
- view:
+ show:
title: "%{user}'s diary | %{title}"
user_title: "%{user}'s diary"
leave_a_comment: "Leave a comment"
intro_header: Welcome to OpenStreetMap!
intro_text: OpenStreetMap is a map of the world, created by people like you and free to use under an open license.
intro_2_create_account: "Create a user account"
- partners_html: "Hosting is supported by %{ucl}, %{bytemark}, %{ic}, and other %{partners}."
+ hosting_partners_html: "Hosting is supported by %{ucl}, %{bytemark}, and other %{partners}."
partners_ucl: "UCL"
- partners_ic: "Imperial College London"
partners_bytemark: "Bytemark Hosting"
partners_partners: "partners"
osm_offline: "The OpenStreetMap database is currently offline while essential database maintenance work is carried out."
heading: "The user %{user} does not exist"
body: "Sorry, there is no user with the name %{user}. Please check your spelling, or maybe the link you clicked is wrong."
deleted: "deleted"
- view:
+ show:
my diary: My Diary
new diary entry: new diary entry
my edits: My Edits
not_a_friend: "%{name} is not one of your friends."
filter:
not_an_administrator: "You need to be an administrator to perform that action."
- list:
+ index:
title: Users
heading: Users
showing:
user: Uzanto
comment: Komenti
area: Areo
- list:
+ index:
title: Ŝanĝaroj
title_user: Ŝanĝaroj de %{user}
title_friend: Ŝanĝaroj de miaj amikoj
new:
title: Nova taglibra afiŝo
publish_button: Publiki
- list:
+ index:
title: Taglibroj de uzantoj
title_friends: Taglibroj de amikoj
title_nearby: Taglibroj de proksimaj uzantoj
use_map_link: uzi mapon
save_button: Konservi
marker_text: Kie krei la afiŝon
- view:
+ show:
title: Taglibro de %{user} | %{title}
user_title: Taglibro de %{user}
leave_a_comment: Komenti
body: Bedaŭrinde, ne ekzistas uzanto kun la nomo %{user}. Bonvolu kontroli pri
liter-eraroj, aŭ eble vi alklakis mis-ligilon.
deleted: forigita
- view:
+ show:
my diary: Mia taglibro
new diary entry: nova taglibra afiŝo
my edits: Miaj redaktoj
not_a_friend: '%{name} ne estas amiko via.'
filter:
not_an_administrator: Vi devas esti administranto por fari tion.
- list:
+ index:
title: Uzantoj
heading: Uzantoj
showing:
user: Usuario
comment: Comentario
area: Área
- list:
+ index:
title: Conjuntos de cambios
title_user: Conjunto de cambios por %{user}
title_friend: Conjuntos de cambios realizados por mis amigos
new:
title: Nueva entrada en el diario
publish_button: Publicar
- list:
+ index:
title: Diarios de usuarios
title_friends: Diarios de amigos
title_nearby: Diarios de usuarios cercanos
use_map_link: usar mapa
save_button: Guardar
marker_text: Lugar de la entrada del diario
- view:
+ show:
title: Diario de %{user} | %{title}
user_title: Diario de %{user}
leave_a_comment: Dejar un comentario
trace_uploaded: Tu archivo GPX ha sido subido y está pendiente de inserción
en la base de datos. Esto normalmente ocurre en la próxima media hora, y se
te enviará un correo electrónico al terminar.
+ upload_failed: Lo sentimos, no se ha podido subir el GPX. Un administrador ha
+ sido alertado del error. Por favor, inténtalo de nuevo.
traces_waiting:
one: Tienes %{count} traza esperando por subir. Por favor, considera esperar
a que esta termine antes de subir más, para no bloquear la cola a otros
save_button: Guardar cambios
visibility: 'Visibilidad:'
visibility_help: ¿Qué significa esto?
+ update:
+ updated: Traza actualizada
trace_optionals:
tags: Etiquetas
show:
body: Lo sentimos, no existe ningún usuario con el nombre %{user}. Por favor,
verifica las letras, o tal vez el vínculo en el que has hecho click está equivocado.
deleted: borrado
- view:
+ show:
my diary: Mi diario
new diary entry: nueva entrada de diario
my edits: Mis ediciones
not_a_friend: '%{name} no es uno de tus amigos.'
filter:
not_an_administrator: Necesitas ser administrador para ejecutar esta acción.
- list:
+ index:
title: Usuarios
heading: Usuarios
showing:
user: Kasutaja
comment: Kommentaar
area: Ala
- list:
+ index:
title: Muudatuskogumid
title_user: Kasutaja %{user} muudatuskogumid
title_friend: Sõprade muudatuskogumid
new:
title: Uus päeviku sissekanne
publish_button: Avalda
- list:
+ index:
title: Kasutajate päevikud
title_friends: Sõprade päevikud
title_nearby: Lähedalasuvate kasutajate päevikud
use_map_link: kasuta kaarti
save_button: Salvesta
marker_text: Päeviku sissekande tegemise asukoht
- view:
+ show:
title: Kasutaja %{user} päevik | %{title}
user_title: Kasutaja %{user} päevik
leave_a_comment: Kommenteeri
heading: Kasutajat %{user} pole olemas
body: Vabandust, kuid kasutaja nimega %{user} puudub. Palun kontrolli kirjapilti.
Võimalik, et link, millele klõpsasid, on vigane.
- view:
+ show:
my diary: Minu päevik
new diary entry: uus päevikusissekanne
my edits: Minu muudatused
not_a_friend: '%{name} ei ole üks sinu sõpradest.'
filter:
not_an_administrator: Selle tegevuse sooritamiseks pead sa olema administraator.
- list:
+ index:
title: Kasutajad
heading: Kasutajad
showing:
# Author: EukeneFL
# Author: Gorkaazk
# Author: Iñaki LL
+# Author: Maite
# Author: Mikel Ibaiba
# Author: MikelEH
# Author: PerroVerd
user: Erabiltzailea
comment: Iruzkina
area: Eremua
- list:
+ index:
title: Aldaketak
title_user: '%{user}k egindako aldaketak'
title_friend: Nire lagunek egindako aldaketak
new:
title: Eguneroko Sarrera Berria
publish_button: Argitaratu
- list:
+ index:
title: Erabiltzaileen egunerokoak
title_friends: Lagunen egunerokoak
title_nearby: Hurbileko erabiltzaileen egunerokoak
use_map_link: erabili mapa
save_button: Gorde
marker_text: Eguneroko sarrera helbidea
- view:
+ show:
title: '%{user}(r)en egunerokoa | %{title}'
user_title: '%{user}(r)en egunerokoa'
leave_a_comment: Iruzkin bat utzi
upload_trace: GPS Aztarna igo
trace_uploaded: Zure GPX fitxategia kargatu da eta datu basean sartzeko zain
dago. Ordu erdi barru egongo da eta posta elektronikoz bidaliko zaizu amaitzean.
+ upload_failed: Barkatu, GPX-aren kargak huts egin du. Administratzaile bat akatsaz
+ ohartarazi da. Mesedez berriz saiatu
traces_waiting:
one: '%{count} aztarna daukazu kargatzeko zain. Kontutan hartu gehiago igotzeko
agindua ez ematea zain zauden bitartean, beste erabiltzaile batzuei ilarak
save_button: Aldaketak gorde
visibility: Ikusgarritasuna;
visibility_help: Zer esan nahi du honek?
+ update:
+ updated: Bilaketa eguneratua
trace_optionals:
tags: Etiketak
show:
body: Barkatu, ez dago %{user} izenarekin erabiltzailerik. Egiaztatu ortografia,
edo agian egin duzun esteka gaizki dago.
deleted: ezabatua
- view:
+ show:
my diary: Nire egunerokoa
new diary entry: eguneroko sarrera berria
my edits: Nire aldaketak
not_a_friend: '%{name} ez da zure laguna.'
filter:
not_an_administrator: Ekintza hori burutzeko administratzaile izan behar duzu.
- list:
+ index:
title: Erabiltzaileak
heading: Erabiltzaileak
showing:
tracetag: برچسب رد
user: کاربر
user_preference: ترجیحات کاربر
- user_token: رÙ\85زÛ\8cÙ\86Ù\87Ù\94 کاربر
+ user_token: تÙ\88Ú©Ù\86 کاربر
way: راه
way_node: گره راه
way_tag: برچسب راه
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>
+ open_by: <abbr title='%{exact_time}'>%{when} قبل </abbr> %{user} ایجادش کرد
+ 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>'
user: کاربر
comment: نظر
area: منطقه
- list:
+ index:
title: تغییرات انجام شده
title_user: تغییرات انجام شده توسط %{user}
title_friend: تغییرات انجام شده توسط دوستان من
new:
title: روزنوشت جدید
publish_button: انتشار
- list:
+ index:
title: روزنوشتهای کاربران
title_friends: روزنوشتهای دوستان
title_nearby: روزنوشتهای کاربران نزدیک
use_map_link: استفاده از نقشه
save_button: ذخیره
marker_text: مکان روزنوشت
- view:
+ show:
title: روزنوشت %{user} | %{title}
user_title: روزنوشتهای %{user}
leave_a_comment: ارسال نظر
comment_from: نظر از %{link_user} در %{comment_created_at}
hide_link: پنهان کردن این نظر
confirm: تأیید
+ report: گزارش این نظر
location:
location: 'مکان:'
view: نمایش
index:
reported_user: کاربر گزارششده
reports: گزارشها
+ last_updated_time_html: <abbr title='%{title}'>%{time} پیش</abbr>
+ last_updated_time_user_html: <abbr title='%{title}'>%{time} پیش</abbr> توسط
+ %{user}
link_to_reports: نمایش گزارشها
reports_count:
one: 1 گزارش
other: '%{count} گزارش'
+ reported_item: گزارشها
update:
new_report: گزارشتان با موفقیت ثبت شد
+ successful_update: گزارشتان با موفقیت بهروز شد
+ provide_details: لطفاً جزئیات لازم را ارائه دهید
show:
reports:
zero: گزارشی نیست
new_reports: گزارشهای تازه
reports:
reported_by_html: '%{user} آن را بهعنوان %{category} گزارش کرد'
+ helper:
+ reportable_title:
+ note: یادداشت %{note_id}
reports:
new:
title_html: گزارش %{link}
diary_comment:
spam_label: این نظر (بر روزنوشت) هرزنامه است/دارد
threat_label: این نظر (بر روزنوشت) تهدیدآمیز است
+ note:
+ spam_label: این یادداشت هرزنامه است
+ abusive_label: این یادداشت زشت است
create:
successful_report: گزارشتان با موفقیت ثبت شد
layouts:
anonymous: کاربر ناشناس
greeting: سلام ،
commented:
- subject_own: '[OpenStreetMap] %{commenter} روی یکی از یادداشتهایتان نظر داده
- است'
+ subject_own: '[OpenStreetMap] %{commenter} روی یکی از یادداشتهای شما نظر
+ دادÙ\87 است'
subject_other: '[OpenStreetMap] %{commenter} روی یادداشت موردعلاقهتان نظر
داده'
- your_note: '%{commenter} روی یکی از یادداشتهای شما روی نقشه نزدیک %{place}
- نظر گذاشت.'
+ your_note: '%{commenter} روی یکی از یادداشتهای شما روی نقشه نزدیک به %{place}
+ نظر گذاشته.'
commented_note: '%{commenter} روی یک از یادداشتهای نقشه که شما بر آن نظر
- دادهاید نظر داد. این یادداشت نزدیک %{place} است.'
+ دادهاید نظر داد. این یادداشت نزدیک به %{place} است.'
closed:
subject_own: '[OpenStreetMap] %{commenter} یکی از یادداشتهای شما را حل کرده
است'
- subject_other: '[OpenStreetMap] %{commenter} یکی از یادداشتهای موردعلاقه
+ subject_other: '[OpenStreetMap] %{commenter} یکی از یادداشتهای موردعلاقهٔ
شما را حل کرد'
your_note: '%{commenter} یکی از یادداشتهای شما بر نقشه در نزدیکی %{place}
را حل کرد.'
commented_note: '%{commenter} یکی از یادداشتهای نقشه که شما بر آن نظر گذاشتهاید
- را حل کرد. یادداشت نزدیک %{place} است.'
+ را حل کرد. یادداشت نزدیک به %{place} است.'
reopened:
subject_own: '[OpenStreetMap] %{commenter} یکی از یادداشتهای شما را دوباره
فعال کرد'
your_note: '%{commenter} یکی از یادداشتهای شما بر نقشه در نزدیکی %{place}
را دوباره فعال کرد.'
commented_note: '%{commenter} یکی از یادداشتهای نقشه را که شما بر آن نظر
- گذاشتهاید دوباره فعال کرد. یادداشت نزدیک %{place} است.'
+ گذاشتهاید دوباره فعال کرد. یادداشت نزدیک به %{place} است.'
details: اطلاعات بیشتر درباره این یادداشت را در %{url} ببینید.
changeset_comment_notification:
hi: سلام %{to_user}،
add_a_note:
title: زمانی برای ویرایش ندارید؟ یادداشت اضافه کنید!
paragraph_1_html: "اگر میخواهید فقط چیز کوچکی را درست کنید و زمانی برای ثبت
- Ù\86اÙ\85 Ù\88 Û\8cادگÛ\8cرÛ\8c Ù\88Û\8cراÛ\8cØ´ Ù\86دارÛ\8cدØ\8c بÙ\87â\80\8cراØتی \nیک یادداشت بنویسید."
+ Ù\86اÙ\85 Ù\88 Û\8cادگÛ\8cرÛ\8c Ù\88Û\8cراÛ\8cØ´ Ù\86دارÛ\8cدØ\8c بÙ\87â\80\8cآساÙ\86ی \nیک یادداشت بنویسید."
paragraph_2_html: |-
فقط بروید به <a href='%{map_url}'>نقشه</a> و روی آیکون یادداشت کلیک کنید:
<span class='icon note'></span>. اینجوری یک علامت گذار به نقشه اضافه میشود، که میتوانید با کشیدن جابجایش کنید. پیامتان را اضافه کنید، بعد روی ذخیره کلیک کنید، و سایر نقشه کشان بررسی خواهند کرد.
require_moderator:
not_a_moderator: برای انجام آن عمل نیاز هست مدیر باشید.
setup_user_auth:
- blocked: دسترسی شما به API مسدود شده. برای یافتن اطلاعات بیشتر لطفاً وارد رابط
- کاربری وب شوید.
+ blocked: دسترسی شما به API مسدود شده. برای یافتن اطلاعات بیشتر لطفاً به رابط
+ کاربری وب وارد شوید (log in).
need_to_see_terms: دسترسی شما به API بطور موقت معلق شدهاست. برای مشاهدهٔ شرایط
شرکتکننده لطفاً وارد رابط کاربری وب شوید. نیاز به موافقت شما نیست، ولی باید
حتماً آنٰها را ببینید.
oauth:
authorize:
- title: دسترسی اجازه دادن به حسابتان
- request_access: برنامهٔ %{app_name}%{app_name} درخواست دسترسی به حسابتان %{user}
- را دارد. لطفاً بررسی کنید که میخواهید برنامه به قابلیتهای زیر دسترسی داشته
- باشد. ممکن است چند تا یا فقط تعدادی را که دوست دارید انتخاب کنید.
+ title: اجازهٔ دسترسی به حسابتان را صادر کنید
+ request_access: برنامهٔ %{app_name}%{app_name} درخواست دسترسی به حساب کاربری
+ شما را دارد (%{user}). لطفاً بررسی کنید که آیا مایلید برنامه به قابلیتهای
+ زیر دسترسی داشته باشد. میتوانید همه یا فقط مواردی را که دوست دارید انتخاب
+ کنید.
allow_to: 'به برنامه کارخواه اجازه بده که:'
allow_read_prefs: خواندن ترجیحات کاربری شما.
allow_write_prefs: تغییر ترجیحات کاربری شما.
allow_read_gpx: خواندن ردهای GPS شخصی شما.
allow_write_gpx: بارگذاری ردهای GPS
allow_write_notes: اصلاح یادداشتها.
- grant_access: اÙ\85کاÙ\86 دسترسÛ\8c
+ grant_access: دسترسÛ\8c Ù\85Û\8câ\80\8cدÙ\87Ù\85
authorize_success:
- title: درخÙ\88است اجازÙ\87 دادÙ\86 Ù\85جاز است
+ title: درخÙ\88است صدÙ\88ر Ù\85جÙ\88ز اÙ\86جاÙ\85 شد
allowed: شما به برنامه ی %{app_name} اجازه ی دسترسی به حسابتان را دادید.
verification: کد تأیید %{code} است.
authorize_failure:
- title: درخÙ\88است اجازÙ\87 دادÙ\86 انجام نشد
+ title: درخÙ\88است صدÙ\88ر Ù\85جÙ\88ز انجام نشد
denied: شما به برنامه ی %{app_name} اجازه ی دسترسی به حسابتان را ندادید.
- invalid: نشانه مجوز معتبر نیست.
+ invalid: توکن مجوز معتبر نیست.
revoke:
- flash: Ø´Ù\85ا Ù\86شاÙ\86Ù\87 را براÛ\8c %{application} باطل کردید
+ flash: تÙ\88Ú©Ù\86 Ù\85ربÙ\88Ø· %{application} را باطل کردید
oauth_clients:
new:
title: ثبتنام یک برنامهٔ تازه
title: جزئیات OAuth برای %{app_name}
key: 'کلید مصرف کننده:'
secret: 'کد مخفی مصرف کننده:'
- url: 'آدرس درخواست نشانه:'
+ url: 'نشانی توکنِ درخواست:'
access_url: 'آدرس دسترسی نشانه:'
authorize_url: 'آدرس authorise:'
support_notice: ما امضا های HMAC-SHA1 (پیشنهاد شده) و RSA-SHA1 را پشتیبانی می
index:
title: جزئیات OAuth من
my_tokens: نرمافزارهای مجاز من
- list_tokens: 'مجوزهای زیر با نام شما برای برنامههای زیر صادر شده است:'
+ list_tokens: 'توکنهای زیر با نام شما برای برنامههای زیر صادر شده است:'
application: نام برنامه
issued_at: تاریخ صدور
- revoke: باطل کردن!
+ revoke: باطل شود!
my_apps: برنامههای کارخواه (client) من
- no_apps: آیا برنامهای دارید که میخواهید بهوسیله استاندارد %{oauth} ثبتش کنید
- تا با ما از آن استفاده کنید؟ قبل از اینکه برنامهتان بتواند درخواستهای OAuth
- را انجام دهد باید برنامه تحت وب خود را ثبت نام کنید.
+ no_apps: آیا برنامهای دارید که میخواهید بهوسیلهٔ استاندارد %{oauth} ثبتش
+ کنید تا با ما از آن استفاده کنید؟ قبل از اینکه برنامهتان بتواند درخواستهای
+ OAuth را انجام دهد باید آن را ثبت کنید.
registered_apps: 'شما برنامههای کارخواه (client) زیر را ثبت کردهاید:'
register_new: برنامهتان را ثبت کنید
form:
confirm password: 'تأیید گذرواژه:'
reset: تنظیم مجدد کلمه عبور
flash changed: کلمه عبور شما تغییر کرده است.
- flash token bad: نشانه را نیافتید؟ آدرس را برسی کنید شاید یافتید.
+ flash token bad: توکن را نیافتید؟ نشانی را بررسی کنید شاید یافتید.
new:
title: ثبت نام
no_auto_account_create: متأسفانه در حال حاضر برای ما امکان ساخت خودکار حساب
about:
header: رایگان و قابل ویرایش
html: |-
- <p>بر Ø®Ù\84اÙ\81 ساÛ\8cر Ù\86Ù\82Ø´Ù\87â\80\8cÙ\87اØ\8c OpenStreetMap کاÙ\85Ù\84اÙ\8b تÙ\88سط اÙ\81رادÛ\8c Ù\85Ø«Ù\84 Ø´Ù\85ا ساختÙ\87â\80\8cشدÙ\87 Ù\88 براÛ\8c تعÙ\85Û\8cرØ\8c بÙ\87â\80\8cرÙ\88زرساÙ\86Û\8cØ\8c درÛ\8cاÙ\81ت Ù\88 استÙ\81ادÙ\87 براÛ\8c Ù\87ر کسÛ\8c آزاد است.</p>
- <p>برای شروع کمک ثبت نام کنید. برای تأیید حسابتان ایمیلی میفرستیم.</p>
+ <p>بر Ø®Ù\84اÙ\81 ساÛ\8cر Ù\86Ù\82Ø´Ù\87â\80\8cÙ\87اØ\8c OpenStreetMap کاÙ\85Ù\84اÙ\8b تÙ\88سط اÙ\81رادÛ\8c Ù\85Ø«Ù\84 Ø´Ù\85ا ساختÙ\87â\80\8cشدÙ\87 Ù\88 اصÙ\84اØØ\8c بÙ\87â\80\8cرÙ\88زرساÙ\86Û\8cØ\8c بارگÛ\8cرÛ\8c Ù\88 استÙ\81ادÙ\87Ù\94 Ø¢Ù\86 براÛ\8c Ù\87Ù\85Ù\87 آزاد است.</p>
+ <p>برای شروع همکاری ثبت نام کنید. برای تأیید حساب ایمیلی برای شما میفرستیم.</p>
license_agreement: وقتی ایمیلتان را تایید کردید نیاز است که با <a href="https://www.osmfoundation.org/wiki/License/Contributor_Terms">شرایط
همکاری</a> موافقت کنید.
email address: 'آدرس ایمیل:'
body: با عرض پوزش، هیچ کاربری با نام %{user} وجود ندارد. لطفاً نحوه نوشتن تان
را بررسی کنید، یا شاید پیوندی که کلیک کردید اشتباه است.
deleted: حذف شده
- view:
+ show:
my diary: روزنوشت من
new diary entry: روزنوشت تازه
my edits: ویرایش های من
my settings: تنظیمات من
my comments: نظرات من
oauth settings: تنظیمات oauth
- blocks on me: بلوک های بر من
+ blocks on me: مسدودیهای من
blocks by me: بوک های توسط من
send message: ارسال پیام
diary: روزنوشت
if set location: مکان خانهتان را در صفحهٔ %{settings_link} تنظیم کنید تا کاربران
نزدیکتان را ببینید.
settings_link_text: تنظیمات
+ my friends: دوستان من
no friends: شما هنوز هیچ دوستی اضافه نکردهاید
- km away: '%{count} کیلومتر فاصله'
- m away: '%{count} متر فاصله'
+ km away: %{count} کیلومتر فاصله
+ m away: %{count} متر فاصله
nearby users: دیگر کاربران نزدیک
no nearby users: در این حوالی هیچ کاربری نقشه ترسیم نکرده است
role:
revoke:
administrator: لغو دسترسی سرپرست
moderator: لغو دسترسی مدیر
- block_history: بلوک شده های فعال
- moderator_history: بلوک های گرفته شده
+ block_history: مسدودیهای فعال
+ moderator_history: مسدودکردنها
comments: نظرات
- create_block: بÙ\84Ù\88Ú© کردÙ\86 اÛ\8cÙ\86 کاربر
+ create_block: اÛ\8cÙ\86 کاربر Ù\85سدÙ\88د Ø´Ù\88د
activate_user: فعال کردن این کاربر
deactivate_user: غیر فعال کردن این کاربر
confirm_user: تأیید این کاربر
دهید.
button: تأیید
success: تغییر ایمیل شما تأیید شد!
- failure: یک آدرس ایمیل با این نشانه قبلاً تأیید شده است.
+ failure: یک آدرس ایمیل با این توکن قبلاً تأیید شده است.
unknown_token: کد تأیید منقضی شده یا وجود ندارد.
set_home:
flash success: موقعیت خانه با موفقیت ذخیره شد
not_a_friend: '%{name} یکی از دوستان شما نیست.'
filter:
not_an_administrator: برای انجام آن عملیات نیاز هست که سرپرست باشید
- list:
+ index:
title: کاربران
heading: کاربران
showing:
و نقش اطمینان حاصل نمایید.
user_blocks:
model:
- non_moderator_update: برای بروزرسانی یا ایجاد بلوک باید یک مدیر بود.
- non_moderator_revoke: برای لغو یک بلوک باید مدیر بود.
+ non_moderator_update: برای بهروزرسانی یا ایجاد مسدودی باید مدیر بود.
+ non_moderator_revoke: برای لغو یک مسدودی باید مدیر بود.
not_found:
- sorry: پوزش، بلوک کاربر با شناسه %{id} یافت نمی شود.
+ sorry: پوزش، مسدودی کاربر با شناسه %{id} یافت نمیشود.
back: بازگشت به فهرست
new:
- title: ایجاد بلوک در %{name}
- heading: ایجاد بلوک در %{name}
- reason: دلیل اینکه چرا %{name} بلوک شده است. لطفاً آرام باشید و تا جایی که ممکن
- است معقول و منطقی باشید، تا جایی که میتوانید دربارهٔ وضعیت اطلاع دهید، این
- را به خاطر داشته باشید که این پیام بهصورت عمومی پدیدار است. به یاد داشته
- باشید همهٔ کاربران اصطلاحات خاص انجمن را نمیفهمند، پس لطفاً سعی کنید از شرایط
- تازهواردان استفاده کنید.
- period: چه مدت، الان شروع شود، کاربر از API بلوک میشود برای.
- submit: ایجاد بلوک
+ title: در حال مسدودکردن %{name}
+ heading: مسدودکردن %{name}
+ reason: |-
+ دلیل مسدودشدن کاربری %{name}. لطفاً خونسرد و منطقی باشید و هرچه میتوانید بهشکل جزئیتر اوضاع را شرح دهید و همچنین به یاد داشته باشید که پیام شما بهطور عمومی قابل مشاهده است.
+ در نظر داشته باشید که همهٔ کاربران اصطلاحات تخصصی انجمن را نمیفهمند، لطفاً سعی کنید واژههایی که استفاده میکنید غیرتخصصی باشد.
+ period: مدتزمان مسدودی کاربر از API (شروع از حالا).
+ submit: ایجاد مسدودی
tried_contacting: من با کاربر تماس گرفته و درخواست کردم توقف کند.
tried_waiting: من مقدار مناسبی زمان را به کاربر دادم تا به این ارتباط پاسخ دهد.
- needs_view: کاربر قبل از پاک شدن این بلوک نیاز به وارد شدن دارد
- back: مشاهده تمام بلوک ها
+ needs_view: برای پاکشدن این مسدودی کاربر باید وارد حسابش شود.
+ back: دیدن تمام مسدودیها
edit:
- title: ویرایش بلوک در %{name}
- heading: ویرایش بلوک در %{name}
- reason: دلیل اینکه چرا %{name} بلوک شده است. لطفاً آرام باشید و تا جایی که ممکن
- است معقول و منطقی باشید، تا جایی که میتوانید دربارهٔ وضعیت اطلاع دهید. به
- یاد داشته باشید همهٔ کاربران اصطلاحات خاص انجمن را نمیفهمند، پس لطفاً سعی
- کنید از شرایط تازهواردان استفاده کنید.
- period: چه مدت، الان شروع شود، کاربر از API بلوک میشود برای.
- submit: به روز رسانی بلوک
- show: مشاهده این بلوک
- back: مشاهده تمام بلوک ها
- needs_view: چرا قبل از پاک کردن این بلوک کاربر نیاز به وارد شدن دارد؟
- filter:
- block_expired: بلوک قبلا منقضی شده و قابل ویرایش نیست.
- block_period: دوره ی بلوک کردن باید یکی از مقدار های قابل انتخاب در لیست بازشو
+ title: ویرایش مسدودی کاربر %{name}
+ heading: ویرایش مسدودی %{name}
+ reason: دلیل مسدودشدن کاربری %{name}. لطفاً خونسرد و منطقی باشید و هرچه میتوانید
+ بهشکل جزئیتر اوضاع را شرح دهید. در نظر داشته باشید که همهٔ کاربران اصطلاحات
+ تخصصی انجمن را نمیفهمند، لطفاً سعی کنید واژههایی که استفاده میکنید غیرتخصصی
باشد.
+ period: مدتزمان مسدودی کاربر از API (شروع از حالا).
+ submit: بهروزرسانی مسدودی
+ show: مشاهده این مسدودی
+ back: دیدن تمام مسدودیها
+ needs_view: آیا قبل از پاکشدن این مسدودی، کاربر باید وارد حساب کاربری شود؟
+ filter:
+ block_expired: مسدودی قبلا منقضی شده و قابل ویرایش نیست.
+ block_period: دوره مسدودی باید یکی از مقدارهای قابل انتخاب در لیست بازشو باشد.
create:
- try_contacting: لطفاً قبل از بلوک کردن با کاربر تماس بگیرید و به آنها زمان مناسب
- دÙ\87Û\8cد تا پاسخ دÙ\87Ù\86د.
- try_waiting: لطفاً به کاربر زمان کافی دهید تا قبل از بستهشدن بتواند پاسخگو
+ try_contacting: لطفاً قبل از مسدودکردن کاربر با وی تماس بگیرید و به او زمان
+ بدÙ\87Û\8cد تا پاسخگÙ\88 باشد.
+ try_waiting: لطفاً پیش از مسدودکردن کاربر به او زمان کافی بدهید تا بتواند پاسخگو
باشد.
- flash: یک بلوک روی کاربر %{name} ایجاد شد.
+ flash: یک مسدودی روی کاربری %{name} ایجاد شد.
update:
- only_creator_can_edit: فقط مدیری که این بÙ\84Ù\88Ú© را اÛ\8cجاد کردÙ\87 Ù\85Û\8cتÙ\88اÙ\86د Ø¢Ù\86را Ù\88Û\8cراÛ\8cØ´
+ only_creator_can_edit: فقط مدیری که این Ù\85سدÙ\88دÛ\8c را اÛ\8cجاد کردÙ\87 Ù\85Û\8câ\80\8cتÙ\88اÙ\86د Ø¢Ù\86را Ù\88Û\8cراÛ\8cØ´
کند.
- success: بلوک بروزرسانی شد.
+ success: مسدودی بهروزرسانی شد.
index:
- title: بلوک های کاربر
- heading: لیست بلوک های کاربر
- empty: هنوز بلوکی ساخته نشده.
+ title: مسدودیهای کاربر
+ heading: لیست مسدودیهای کاربری
+ empty: هنوز مسدودیتی ساخته نشده.
revoke:
- title: لغو بلوک در %{block_on}
- heading: لغو بلوک در %{block_on} توسط %{block_by}
- time_future: این بلوک در %{time} پایان می یابد.
- past: این بلوک %{time} پایان یافته و اکنون قابل لغو کردن نیست.
- confirm: مطمئنید میخواهید این بلوک را لغو کنید؟
- revoke: باطل کردن!
- flash: این بلوک باطل شد.
+ title: لغو مسدودی از %{block_on}
+ heading: لغو مسدودی از %{block_on}، مسدودشده توسط %{block_by}
+ time_future: این مسدودی در %{time} پایان می یابد.
+ past: این مسدودی %{time} پیش پایان یافته و اکنون قابل لغوکردن نیست.
+ confirm: مطمئنید میخواهید این مسدودی را لغو کنید؟
+ revoke: باطل شود!
+ flash: این مسدودی لغو شد.
period:
one: 1 ساعت
other: '%{count} ساعت'
helper:
time_future: در %{time} پایان می پذیرد.
until_login: فعال تا وقتی کاربر وارد شود.
- time_past: به پایان رسیده %{time} قبل.
+ time_future_and_until_login: تا %{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} بلوک شده'
+ title: '%{block_on} توسط %{block_by} مسدود شده'
+ heading: '%{block_on} توسط %{block_by} مسدود شده'
time_future: در %{time} پایان می پذیرد
- time_past: به پایان رسیده %{time} قبل
+ time_past: '%{time} پیش به پایان رسید'
created: ایجاد شده
ago: '%{time} پیش'
status: وضعیت
show: نمایش
edit: ویرایش
- revoke: باطل کردن!
+ revoke: باطل شود!
confirm: آیا مطمئن هستید؟
- reason: 'دلیل بلوک:'
- back: مشاهده تمام بلوک ها
+ reason: 'دلیل مسدودی:'
+ back: دیدن تمام مسدودیها
revoker: 'باطل کننده:'
- needs_view: کاربر قبل از پاک شدن این بلوک نیاز به وارد شدن دارد.
+ needs_view: برای پاکشدن این مسدودی کاربر باید وارد حسابش شود.
block:
not_revoked: (باطل نشده)
show: نمایش
edit: ویرایش
- revoke: باطل کردن!
+ revoke: باطل شود!
blocks:
- display_name: کاربر بلوک شده
+ display_name: کاربر مسدودشده
creator_name: ایجاد کننده
- reason: دلیل بلوک
+ reason: دلیل مسدودی
status: وضعیت
revoker_name: باطل شده توسط
showing_page: صفحهٔ %{page}
javascripts:
close: بستن
share:
- title: بهاشتراکگذاری
+ title: همرسانی
cancel: لغو
image: تصویر
link: پیوند یا اچتیامال
createnote_disabled_tooltip: برای افزودن یادداشت به نقشه بزرگنمایی کنید
map_notes_zoom_in_tooltip: برای دیدن یادداشتهای نقشه بزرگنمایی کنید
map_data_zoom_in_tooltip: برای دیدن دادههای نقشه بزرگنمایی کنید
- queryfeature_tooltip: کوئری ویژگیها
+ queryfeature_tooltip: پرسوجوی ویژگیها
queryfeature_disabled_tooltip: برای پرسوجوی ویژگیها بزرگنمایی کنید
changesets:
show:
redactions:
edit:
description: شرح
- heading: ویرایش کردن ویرایش
+ heading: بازویرایی ویرایش
submit: ذخیره ویرایش
- title: ویرایش کردن ویرایش
+ title: بازویرایی ویرایش
index:
empty: ویرایشی برای نشان دادن نیست.
- heading: فهرست ویرایش ها
- title: فهرست ویرایش ها
+ heading: سیاههٔ بازویراستهها(redactions)
+ title: فهرست ویرایشهای حذفشده
new:
description: شرح
- heading: اطلاعات را برای ویرایش جدید وارد کنید
+ heading: اطلاعات را برای بازویرایی جدید وارد کنید
submit: ایجاد ویرایش
- title: ایجاد ویرایش جدید
+ title: ایجاد بازویرایی جدید
show:
description: 'شرح:'
- heading: نمایش ویرایش %{title}
+ heading: نمایش بازویرایستهٔ %{title}
title: نمایش دادن ویرایش
user: 'ایجاد کننده:'
- edit: ویرایش این ویرایش
+ edit: ویرایش این بازویراسته
destroy: حذف این ویرایش
confirm: آیا مطمئن هستید؟
create:
- flash: ویرایش پاک شد.
+ flash: بازویراسته ایجاد شد.
update:
flash: تغییرات ذخیره شد.
destroy:
- not_empty: ویرایش خالی نیست. لطفاً همهٔ نسخههای متعلق به این ویرایش را در آورید
- قبل از نابود کردنش.
+ not_empty: بازویرایی خالی نیست. لطفاً پیش از نابود کردنش، همهٔ نسخههای متعلق
+ به این بازویرایی را از بازویراستگی درآورید.
flash: ویرایش از بین رفت.
- error: در حال از بین بردن این ویرایش خطایی رخ داد.
+ error: هنگام از بین بردن این بازویراسته خطایی رخ داد.
...
user: Käyttäjä
comment: Kommentti
area: Alue
- list:
+ index:
title: Muutoskokoelmat
title_user: Käyttäjän %{user} muutoskokoelmat
title_friend: Kaverieni muutoskokoelmat
new:
title: Uusi päiväkirjamerkintä
publish_button: Julkaise
- list:
+ index:
title: Käyttäjien päiväkirjamerkinnät
title_friends: Kaverien päiväkirjat
title_nearby: Lähellä olevien käyttäjien päiväkirjat
use_map_link: valitse kartalta
save_button: Tallenna
marker_text: Päiväkirjamerkinnän sijainti
- view:
+ show:
title: Käyttäjän %{user} päiväkirja | %{title}
user_title: Käyttäjän %{user} päiväkirja
leave_a_comment: Kommentoi tätä kirjoitusta
commented_note: '%{commenter} on kommentoinut yhtä kommentoimaasi merkintää.
Merkintä on lähellä paikkaa %{place}.'
closed:
- subject_own: '[OpenStreetMap] %{commenter} on selvittänyt yhden merkintäsi'
- subject_other: '[OpenStreetMap] %{commenter} on selvittänyt sinua kiinnostavan
- merkinnän'
- your_note: '%{commenter} on selvittänyt yhden merkintäsi lähellä paikkaa %{place}'
- commented_note: '%{commenter} on selvittänyt merkinnän, jota olet kommentoinut.
+ subject_own: '[OpenStreetMap] %{commenter} on ratkaissut karttailmoituksesi'
+ subject_other: '[OpenStreetMap] %{commenter} on ratkaissut sinua kiinnostavan
+ karttailmoituksen'
+ your_note: '%{commenter} on ratkaissut lähettämäsi karttailmoituksen lähellä
+ paikkaa %{place}.'
+ commented_note: '%{commenter} on ratkaissut karttailmoituksen, jota olet kommentoinut.
Merkintä on lähellä paikkaa %{place}.'
reopened:
subject_own: '[OpenStreetMap] %{commenter} on avannut karttamerkintäsi uudelleen'
commented_note: '%{commenter} on aktivoinut karttailmoituksen uudelleen. Tämä
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}.
+ details: Lisätietoja merkinnästä löytyy osoitteesta %{url}.
changeset_comment_notification:
hi: Hei %{to_user},
greeting: Hei,
heading: Käyttäjää %{user} ei ole olemassa
body: Käyttäjää %{user} ei löytynyt. Tarkista oikeikirjoitus.
deleted: poistettu
- view:
+ show:
my diary: Oma päiväkirja
new diary entry: uusi päiväkirjamerkintä
my edits: Omat muokkaukset
not_a_friend: '%{name} ei ole enää kaverisi.'
filter:
not_an_administrator: Tähän toimintoon tarvitaan ylläpitäjän oikeudet.
- list:
+ index:
title: Käyttäjät
heading: Käyttäjät
showing:
user: Utilisateur
comment: Commentaire
area: Zone
- list:
+ index:
title: Groupes de modifications
title_user: Groupes de modifications par %{user}
title_friend: Groupes de modifications par mes amis
new:
title: Nouvelle entrée du journal
publish_button: Publier
- list:
+ index:
title: Journaux des utilisateurs
title_friends: Journaux des amis
title_nearby: Journaux des utilisateurs à proximité
use_map_link: utiliser la carte
save_button: Enregistrer
marker_text: Emplacement de l’entrée du journal
- view:
+ show:
title: Journal de %{user} | %{title}
user_title: Journal de %{user}
leave_a_comment: Laisser un commentaire
courthouse: Palais de justice
crematorium: Crématorium
dentist: Dentiste
- doctors: Docteurs
+ doctors: Cabinet médical
drinking_water: Eau potable
driving_school: École de conduite
embassy: Ambassade
body: Désolé, il n’y a pas d’utilisateur avec le nom %{user}. Veuillez vérifier
l’orthographe, ou le lien que vous avez cliqué n’est pas valide.
deleted: supprimé
- view:
+ show:
my diary: Mon journal
new diary entry: nouvelle entrée dans le journal
my edits: Mes modifications
not_a_friend: '%{name} n’est pas parmi vos amis.'
filter:
not_an_administrator: Vous devez être administrateur pour effectuer cette action.
- list:
+ index:
title: Utilisateurs
heading: Utilisateurs
showing:
- other: Page %{page} (%{first_item}one= sur %{items})
+ one: Page %{page} (%{first_item} sur %{items})
+ other: Page %{page} (%{first_item}-%{last_item} sur %{items})
summary: '%{name} créé depuis %{ip_address} le %{date}'
summary_no_ip: '%{name} créé le %{date}'
confirm: Confirmer les utilisateurs sélectionnés
user: Utent
comment: Coment
area: Aree
- list:
+ index:
title: Grups di cambiaments
title_user: Grups di cambiaments di %{user}
title_friend: Grups di cambiaments dai tiei amîs
diary_entry:
new:
title: Gnove vôs dal diari
- list:
+ index:
title: Diaris dai utents
title_friends: Diaris dai amîs
title_nearby: Diaris dai utents dongje
use_map_link: dopre mape
save_button: Salve
marker_text: Lûc de vôs dal diari
- view:
+ show:
title: Diari di %{user} | %{title}
user_title: Diari di %{user}
leave_a_comment: Lasse un coment
heading: L'utent %{user} nol esist
body: Nol esist un utent di non %{user}. Controle par plasê la grafie o che
tu vedis seguît il leam just.
- view:
+ show:
my diary: Il gno diari
new diary entry: gnove vôs dal diari
my edits: I miei cambiaments
button: Gjave dai amîs
success: '%{name} al è stât gjavât dai tiei amîs.'
not_a_friend: '%{name} nol è un dai tiei amîs.'
- list:
+ index:
title: Utents
heading: Utents
showing:
user: Úsáideoir
comment: Nóta tráchta
area: Limistéar
- list:
+ index:
title: Tacair athruithe
title_user: Tacair athruithe de chuid %{user}
title_friend: Tacair athruithe de chuid mo chairde
new:
title: Iontráil Nua Dialainne
publish_button: Foilsigh
- list:
+ index:
title: Dialanna úsáideoirí
title_friends: Dialanna cairde
title_nearby: Dialann de chuid Úsáideoirí In Aice Láimhe
use_map_link: an léarscáil a úsáid
save_button: Sábháil
marker_text: Suíomh na hiontrála dialainne
- view:
+ show:
title: Dialann %{user} | %{title}
user_title: Dialann %{user}
leave_a_comment: Fág nóta tráchta
no_such_user:
title: Níl an t-úsáideoir sin ann
deleted: scriosta
- view:
+ show:
my diary: Mo Dhialann
new diary entry: iontráil nua dialainne
my edits: Mo Athruithe
button: Cuir leis mar chara
success: Is cara leat %{name} anois!
failed: Ár leithscéal, níorbh fhéidir %{name} a chur leis mar chara.
- list:
+ index:
title: Úsáideoirí
heading: Úsáideoirí
suspended:
user: Cleachdaiche
comment: Beachd
area: Raon
- list:
+ index:
title: Seataichean atharraichean
title_user: Seataichean atharraichean le %{user}
title_friend: Seataichean atharraichean le do charaidean
new:
title: Clàr ùr an leabhair-latha
publish_button: Foillsich
- list:
+ index:
title: Leabhraichean-latha
title_friends: Leabhraichean-latha do charaidean
title_nearby: Leabhraichean-latha am fagas
use_map_link: cleachd mapa
save_button: Sàbhail
marker_text: Àite clàr an leabhair-latha
- view:
+ show:
title: An leabhar-latha aig %{user} | %{title}
user_title: An leabhar-latha aig %{user}
leave_a_comment: Thoir do bheachd
an litreachadh no 's dòcha nach eil an ceangal air an do rinn thu briogadh
mar bu chòir.
deleted: air a sguabadh às
- view:
+ show:
my diary: An leabhar-latha agam
new diary entry: clàr leabhair-latha ùr
my edits: Na dheasaich mi
not_a_friend: Chan eil càirdeas eadar thu fhèin agus %{name}.
filter:
not_an_administrator: Feumaidh tu bhith 'nad rianaire gus an gnìomh seo a dhèanamh.
- list:
+ index:
title: Cleachdaichean
heading: Cleachdaichean
showing:
# Author: Vivaelcelta
---
gl:
+ html:
+ dir: ltr
time:
formats:
- friendly: '%e de %B de %Y ás %H:%M'
+ friendly: '%e de %B do %Y ás %H:%M'
+ blog: '%e %B %Y'
activerecord:
models:
- acl: Lista de control de acceso
+ acl: Listaxe do control de acceso
changeset: Conxunto de cambios
changeset_tag: Etiqueta do conxunto de cambios
country: País
old_relation_member: Membro da relación vella
old_relation_tag: Etiqueta da relación vella
old_way: Camiño vello
- old_way_node: Nodo do camiño vello
+ old_way_node: Nó do camiño vello
old_way_tag: Etiqueta do camiño vello
relation: Relación
relation_member: Membro da relación
user_preference: Preferencia do usuario
user_token: Pase de usuario
way: Camiño
- way_node: Nodo do camiño
+ way_node: Nó do camiño
way_tag: Etiqueta do camiño
attributes:
diary_comment:
description: Descrición
languages: Linguas
pass_crypt: Contrasinal
+ printable_name:
+ with_version: '%{id}, v%{version}'
+ with_name_html: '%{name} (%{id})'
editor:
default: Predeterminado (actualmente, %{name})
potlatch:
part_of: Parte de
download_xml: Descargar en XML
view_history: Ver o historial
- view_details: Ver os detalles
+ view_details: Ve-los detalles
location: 'Localización:'
changeset:
title: 'Conxunto de cambios: %{id}'
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}'>
+ hidden_commented_by: Comentario agochado de %{user} <abbr title='%{exact_time}'>
hai %{when}</abbr>
commented_by: Comentario de %{user} <abbr title='%{exact_time}'> hai %{when}</abbr>
- changesetxml: Conxunto de cambios XML
+ changesetxml: Conxunto de cambios do 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
- still_open: O conxunto de cambios permanece aberto - A conversa comeza cando
- o conxunto de cambios está pechado.
+ join_discussion: Inicia-la sesión pra unirse á parola
+ discussion: Parola
+ still_open: O conxunto de cambios segue aberto - Abrirase a parola cando o conxunto
+ de cambios estea pechado.
node:
title: 'Nó: %{name}'
history_title: 'Historial do nó: %{name}'
history_title: 'Historial da relación: %{name}'
members: Membros
relation_member:
+ entry: '%{type} %{name}'
entry_role: '%{type} %{name} como %{role}'
type:
node: Nó
hidden_by: Agochado por %{user} <abbr title='%{exact_time}'>hai %{when}</abbr>
report: Informar desta nota
query:
- title: Consultar as características
+ title: Consulta-las características
introduction: Prema no mapa para atopar características preto de aquí.
nearby: Características preto de aquí
enclosing: Características envolventes
changeset:
anonymous: Anónimo
no_edits: (sen edicións)
- view_changeset_details: Ollar os detalles do conxunto de cambios
+ view_changeset_details: Ve-los detalles do conxunto de cambios
changesets:
id: ID
saved_at: Gardado o
user: Usuario
comment: Comentario
area: Zona
- list:
+ index:
title: Conxuntos de cambios
title_user: Conxuntos de cambios por %{user}
title_friend: Conxuntos de cambios das amizades
- title_nearby: Conxuntos de cambios dos usuarios de lugares próximos
- empty: Non se atopou ningún conxunto de cambios.
+ title_nearby: Conxuntos de cambios dos usuarios de lugares preto de ti
+ empty: Non se atoparon conxuntos de cambios.
empty_area: Non hai conxuntos de cambios nesta zona.
- empty_user: Este usuario non ten ningún conxunto de cambios.
- no_more: Non se atopou ningún outro conxunto de cambios.
+ empty_user: Non hai conxuntos de cambios deste usuario.
+ no_more: Non se atoparon máis conxuntos de cambios.
no_more_area: Non hai máis conxuntos de cambios nesta zona.
- no_more_user: Este usuario non ten ningún outro conxunto de cambios.
+ no_more_user: Non hai máis conxuntos de cambios deste usuario.
load_more: Cargar máis
timeout:
- sorry: Sentímolo, a lista do conxunto de cambios solicitada tardou demasiado
- tempo en ser recuperada.
+ sorry: Desculpe que levase moito tempo obter a listaxe do conxunto de cambios
+ que solicitou.
rss:
- title_all: Discusión do conxunto de cambios no OpenStreetMap
- title_particular: 'Conversa do conxunto de cambios #%{changeset_id} de OpenStreetMap'
- comment: 'Comentario novo sobre o conxunto de cambios #%{changeset_id} de %{author}'
+ title_all: Parola da edición no OpenStreetMap
+ title_particular: 'Parola da edición #%{changeset_id} no OpenStreetMap'
+ comment: 'Novo comentario sobre os cambios #%{changeset_id} de %{author}'
commented_at_html: Actualizado hai %{when}
commented_at_by_html: Actualizado hai %{when} por %{user}
- full: Conversa completa
+ full: Parola completa
diary_entry:
new:
title: Nova entrada no diario
publish_button: Publicar
- list:
- title: Diarios de usuarios
- title_friends: Diarios de amigos
- title_nearby: Diarios de usuarios de lugares próximos
+ index:
+ title: Diarios dos usuarios
+ title_friends: Diarios das amizades
+ title_nearby: Diarios dos usuarios de lugares preto de ti
user_title: Diario de %{user}
in_language_title: Entradas de diario en %{language}
new: Nova entrada no diario
location: 'Localización:'
latitude: 'Latitude:'
longitude: 'Lonxitude:'
- use_map_link: usar o mapa
+ use_map_link: usa-lo mapa
save_button: Gardar
marker_text: Lugar da entrada do diario
- view:
+ show:
title: Diario de %{user} | %{title}
user_title: Diario de %{user}
leave_a_comment: Deixar un comentario
login_to_leave_a_comment: '%{login_link} para deixar un comentario'
- login: Iniciar sesión
+ login: Inicia-la sesión
save_button: Gardar
no_such_entry:
title: Non hai tal entrada de diario
- heading: 'Non hai ningunha entrada co id: %{id}'
+ heading: 'Non hai ningunha entrada co ID: %{id}'
body: Non existe ningunha entrada no diario ou comentario co id %{id}. Comprobe
a ortografía ou que a ligazón que seguiu estea ben.
diary_entry:
posted_by: Publicado por %{link_user} o %{created} en %{language_link}
comment_link: Comentar nesta entrada
- reply_link: Responder a esta entrada
+ reply_link: Respostar a esta entrada
comment_count:
one: '%{count} comentario'
zero: Sen comentarios
Nominatim</a>
geonames_reverse: Resultados dende <a href="http://www.geonames.org/">GeoNames</a>
search_osm_nominatim:
+ prefix_format: '%{name}'
prefix:
aerialway:
cable_car: Teleférico
biergarten: Terraza
boat_rental: Aluguer de botes
brothel: Prostíbulo
- bureau_de_change: Casa de cambio
+ bureau_de_change: Casa de troco
bus_station: Estación de autobuses
cafe: Cafetaría
car_rental: Aluguer de automóbiles
mooring: Atraque
rapids: Rápidos
river: Río
- stream: Arroio
+ stream: Regato
wadi: Uadi
waterfall: Fervenza
weir: Vaira
level10: Fronteira do barrio
description:
title:
- osm_nominatim: Localización desde <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
+ osm_nominatim: Localización dende o <a href="https://nominatim.openstreetmap.org/">OpenStreetMap
Nominatim</a>
- geonames: Localización desde <a href="http://www.geonames.org/">GeoNames</a>
+ geonames: Localización dende o <a href="http://www.geonames.org/">GeoNames</a>
types:
cities: Cidades
towns: Municipios
title: Problemas
select_status: Seleccionar estado
select_type: Seleccionar tipo
- select_last_updated_by: Seleccionar última actualización por
+ select_last_updated_by: Seleccionar a última actualización por
reported_user: Usuario denunciado
not_updated: Non Actualizados
search: Procurar
one: 1 informe
other: '%{count} informes'
report_created_at: Primeira incidencia o %{datetime}
- last_resolved_at: Resolto por última vez o %{datetime}
- last_updated_at: Última actualización o %{datetime} por%{displayname}
+ last_resolved_at: Resolto por derradeira vez o %{datetime}
+ last_updated_at: Última actualización o %{datetime} por %{displayname}
resolve: Resolver
ignore: Ignorar
reopen: Reabrir
reports_of_this_issue: Informes deste erro
read_reports: Ler informes
new_reports: Informes novos
- other_issues_against_this_user: Outro informe sobre deste usuario
- no_other_issues: Non hai máis informes sobre deste usuario.
+ other_issues_against_this_user: Outro informe deste usuario
+ no_other_issues: Non hai máis informes deste usuario.
comments_on_this_issue: Comentarios neste informe
resolve:
- resolved: O estado da incidencia pasou a "Resolta"
+ resolved: O estado da incidencia mudou a "Resolta"
ignore:
- ignored: O estado da incidencia pasou a "Ignorada"
+ ignored: O estado da incidencia mudou a "Ignorada"
reopen:
- reopened: O estado da incidencia pasou a "Aberta"
+ reopened: O estado da incidencia mudou a "Aberta"
comments:
created_at: O %{datetime}
reassign_param: Reasignar o erro?
reports:
updated_at: O %{datetime}
- reported_by_html: Clasificouse como %{category} por parte de %{user}
+ reported_by_html: Clasificouse coma %{category} por parte de %{user}
helper:
reportable_title:
diary_comment: '%{entry_title}, comentario #%{comment_id}'
successful_report: O seu informe rexistrouse con éxito
provide_details: Por favor, achegue os detalles que se lle solicitan.
layouts:
+ project_name:
+ title: OpenStreetMap
+ h1: OpenStreetMap
logo:
alt_text: Logotipo do OpenStreetMap
home: Ir á localización inicial
- logout: Saír
- log_in: Iniciar sesión
- log_in_tooltip: Acceder ao sistema cunha conta existente
+ logout: Pecha-la sesión
+ log_in: Inicia-la sesión
+ log_in_tooltip: Inicia-la sesión cunha conta existente
sign_up: Rexistrarse
start_mapping: Comezar a cartografar
sign_up_tooltip: Crear unha conta para editar
header: '%{from_user} comentou na entrada de diario no OpenStreetMap co asunto
"%{subject}":'
footer: Tamén pode ler o comentario en %{readurl}, comentar en %{commenturl}
- ou responder en %{replyurl}
+ ou respostar en %{replyurl}
message_notification:
+ subject_header: '[OpenStreetMap] %{subject}'
hi: 'Ola %{to_user}:'
header: '%{from_user} envioulle unha mensaxe a través do OpenStreetMap co asunto
"%{subject}":'
- footer_html: Tamén pode ler a mensaxe en %{readurl} e pode responder en %{replyurl}
+ footer_html: Tamén pode ler a mensaxe en %{readurl} e pode respostar en %{replyurl}
friend_notification:
hi: 'Ola %{to_user}:'
- subject: '[OpenStreetMap] %{user} engadiuno como amigo'
- had_added_you: '%{user} engadiuno como amigo en OpenStreetMap.'
+ subject: '[OpenStreetMap] %{user} engadiuno coma amizade'
+ had_added_you: '%{user} engadiuno coma amizade no OpenStreetMap.'
see_their_profile: Pode ollar o seu perfil en %{userurl}.
- befriend_them: Tamén pode engadilo como amigo en %{befriendurl}.
+ befriend_them: Tamén pode engadilo coma amizade no %{befriendurl}.
gpx_notification:
greeting: 'Ola:'
your_gpx_file: Semella que o seu ficheiro GPX
failed_to_import: 'erro ao importar. Velaquí atópase o erro:'
more_info_1: Máis información sobre os erros de importación GPX e como evitalos
more_info_2: 'pódense atopar en:'
+ import_failures_url: https://wiki.openstreetmap.org/wiki/GPX_Import_Failures
success:
subject: '[OpenStreetMap] Importación GPX correcta'
loaded_successfully: cargou correctamente %{trace_points} do máximo de %{possible_points}
subject: '[OpenStreetMap] Dámoslle a benvida ao OpenStreetMap'
greeting: Boas!
created: Alguén (probablemente vostede) acaba de crear unha conta en %{site_url}.
- confirm: 'Antes de facer nada, cómpre confirmar que esta solicitude veu de vostede.
+ confirm: 'Antes de facer ren, cómpre confirmar que esta solicitude veu de vostede.
Se é así, prema na ligazón inferior para confirma-la conta:'
welcome: Despois de confirma-la súa conta, proporcionarémoslle algunha información
adicional como axuda para comezar.
subject_own: '[OpenStreetMap] %{commenter} comentou nunha das súas notas'
subject_other: '[OpenStreetMap] %{commenter} comentou nunha das notas nas
que ten interese'
- your_note: '%{commenter} deixou un comentario nunha das súas notas de mapa
+ your_note: '%{commenter} deixou un comentario nunha das súas notas do mapa
preto de %{place}.'
- commented_note: '%{commenter} deixou un comentario nunha das súas notas de
+ commented_note: '%{commenter} deixou un comentario nunha das súas notas do
mapa nas que vostede comentou. A nota está preto de %{place}.'
closed:
subject_own: '[OpenStreetMap] %{commenter} resolveu unha das súas notas'
subject_other: '[OpenStreetMap] %{commenter} resolveu unha das notas nas que
ten interese'
- your_note: '%{commenter} resolveu unha das súas notas de mapa preto de %{place}.'
- commented_note: '%{commenter} resolveu unha das súas notas de mapa nas que
+ your_note: '%{commenter} resolveu unha das súas notas do mapa preto de %{place}.'
+ commented_note: '%{commenter} resolveu unha das súas notas do mapa nas que
vostede comentou. A nota está preto de %{place}.'
reopened:
subject_own: '[OpenStreetMap] %{commenter} reactivou unha das súas notas'
subject_other: '[OpenStreetMap] %{commenter} reactivou unha das notas nas
que ten interese'
- your_note: '%{commenter} reactivou unha das súas notas de mapa preto de %{place}.'
- commented_note: '%{commenter} reactivou unha das súas notas de mapa nas que
+ your_note: '%{commenter} reactivou unha das súas notas do mapa preto de %{place}.'
+ commented_note: '%{commenter} reactivou unha das súas notas do mapa nas que
vostede comentou. A nota está preto de %{place}.'
details: Pode atopar máis detalles da nota en %{url}.
changeset_comment_notification:
hi: Ola %{to_user},
greeting: Ola,
commented:
- subject_own: '[OpenStreetMap] %{commenter} comentou nun dos teus conxuntos
- de cambios'
+ subject_own: O %{commenter} de [OpenStreetMap] fixo un comentario nun dos
+ seus conxuntos de cambios
subject_other: '[OpenStreetMap] %{commenter} comentou nun conxunto de cambios
- no que vostede está interesado'
+ no que estás atinxido'
your_changeset: '%{commenter} deixou un comentario nun dos seus conxuntos
- de cambios creado o %{time}'
+ de cambios xerado o %{time}'
commented_changeset: '%{commenter} deixou un comentario nun conxunto de cambios
- de mapa que está seguindo, creado por %{changeset_author} o %{time}'
+ do mapa que está seguindo, xerado 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}.
+ details: Pódense atopar máis detalles acerca do conxunto de cambios en %{url}.
unsubscribe: Para darse de baixa das actualizacións deste conxunto de cambios,
- visite %{url} e prema en "darse de baixa".
+ olle %{url} e prema en "darse de baixa".
messages:
inbox:
title: Caixa de entrada
message_summary:
unread_button: Marcar como non lido
read_button: Marcar como lido
- reply_button: Responder
+ reply_button: Respostar
destroy_button: Borrar
new:
title: Enviar unha mensaxe
subject: Asunto
body: Corpo
send_button: Enviar
- back_to_inbox: Volver á caixa de entrada
+ back_to_inbox: Voltar á caixa de entrada
create:
message_sent: Mensaxe enviada
- limit_exceeded: Estivo enviando unha morea de mensaxes ultimamente. Agarde uns
- intres antes de intentar enviar máis.
+ limit_exceeded: Estivo enviando unha morea de mensaxes recentemente. Agarde
+ uns intres denantes de tentar enviar máis.
no_such_message:
title: Non se atopou a mensaxe
heading: Non se atopou a mensaxe
- body: Non hai ningunha mensaxe con esa id.
+ body: Non hai ningunha mensaxe con esa ID.
outbox:
title: Caixa de saída
my_inbox: A miña %{inbox_link}
date: Data
no_sent_messages: Aínda non enviou ningunha mensaxe. Por que non se pon en contacto
con algunhas das %{people_mapping_nearby_link}?
- people_mapping_nearby: persoas próximas a vostede
+ people_mapping_nearby: persoas preto a vostede
reply:
- wrong_user: Accedeu ao sistema como "%{user}", pero a mensaxe que pediu responder
- non lla enviou a ese usuario. Acceda co usuario correcto para redactar a resposta.
+ wrong_user: Accedeu ó sistema coma "%{user}", pero a mensaxe que pediu respostar
+ non lla enviou a ese usuario. Acceda co usuario correcto para redacta-la resposta.
show:
title: Ler a mensaxe
from: De
subject: Asunto
date: Data
- reply_button: Responder
+ reply_button: Respostar
unread_button: Marcar como non lida
destroy_button: Borrar
- back: Volver
+ back: Voltar
to: Para
wrong_user: Accedeu ao sistema como "%{user}", pero a mensaxe que pediu ler
non lla enviou a ese usuario ou el non lla enviou a vostede. Acceda co usuario
sent_message_summary:
destroy_button: Borrar
mark:
- as_read: Mensaxe marcada como lida
- as_unread: Mensaxe marcada como non lida
+ as_read: Mensaxe marcada coma lida
+ as_unread: Mensaxe marcada coma non lida
destroy:
destroyed: Mensaxe borrada
site:
english_link: a orixinal en inglés
native:
title: Acerca desta páxina
- text: Estás vendo a versión en inglés da páxina de dereitos de autor. Pode
- volver á %{native_link} desta páxina ou pode deixar de ler sobre os dereitos
+ text: Estás ollando a versión en inglés da páxina de dereitos de autor. Pode
+ voltar á %{native_link} desta páxina ou pode deixar de ler sobre os dereitos
de autor e %{mapping_link}.
native_link: versión en galego
mapping_link: comezar a contribuír
Os datos cartográficos dos cuadrantes dos nosos mapas e a nosa documentación
atópanse baixo a licenza <a href="https://creativecommons.org/licenses/by-sa/2.0/">Creative
Commons recoñecemento compartir igual 2.0</a> (CC BY-SA).
- credit_title_html: Como acreditar o OpenStreetMap
+ credit_title_html: De que xeito acredita-lo OpenStreetMap
credit_1_html: |-
Pedímoslle que acredite o traballo así: “© dos contribuíntes do
OpenStreetMap”.
poñendo o texto\n\"OpenStreetMap\" no enderezo completo), a opendatacommons.org
e,\nse fose relevante, a creativecommons.org."
credit_3_html: |-
- Nun mapa electrónico explorable, o crédito debe aparecer na beira do mapa.
+ Nun mapa electrónico explorábel, o crédito debe aparecer na beira do mapa.
Por exemplo:
attribution_example:
- alt: Exemplo de como recoñecer o OpenStreetMap nunha páxina web
+ alt: Exemplo de que xeito recoñece-lo OpenStreetMap nunha páxina web
title: Exemplo de recoñecemento
more_title_html: Máis información
more_1_html: |-
- Descubra máis sobre como empregar os nosos datos e como acreditarnos na <a
- href="https://osmfoundation.org/Licence">páxina de licenza de OSMF</a>.
+ Descobra máis sobre de que xeito emprega-los nosos datos e como acreditarnos na <a
+ href="https://osmfoundation.org/Licence">páxina de licenza do OSMF</a>.
more_2_html: |-
- Malia que o OpenStreetMap é de datos abertos, non podemos proporcionar un
- mapa API gratuíto aos desenvolvedores.
+ Malia que o OpenStreetMap é de datos abertos, non podemos fornecer un
+ mapa API de balde aos desenvolvedores.
Vexa a <a href="https://operations.osmfoundation.org/policies/api/">política de uso da API</a>,
a <a href="https://operations.osmfoundation.org/policies/tiles/">política de uso de cuadrantes</a>
e a <a href="https://operations.osmfoundation.org/policies/nominatim/">política de uso do Nominatim</a>.
estea cargado e que a opción do control remoto estea activada
edit:
not_public: Non fixo que as súas edicións fosen públicas.
- not_public_description: Non pode editar o mapa a menos que o faga. Pode establecer
- as súas edicións como públicas desde a súa %{user_page}.
+ not_public_description: Non pode edita-lo mapa a menos que o faga. Pode establece-las
+ súas edicións coma públicas dende a súa %{user_page}.
user_page_link: páxina de usuario
- anon_edits_link_text: Descubra aquí o motivo.
+ anon_edits: (%{link})
+ anon_edits_link_text: Descobra velaquí o motivo.
flash_player_required: Precisa un reprodutor Flash para usar Potlatch, o editor
Flash de OpenStreetMap. Pode <a href="https://get.adobe.com/flashplayer/">descargar
Flash do sitio Adobe.com</a>. <a href="https://wiki.openstreetmap.org/wiki/Editing">Tamén
están dispoñíbeis outras opcións</a> para editar OpenStreetMap.
- potlatch_unsaved_changes: Ten cambios sen gardar. (Para gardar no Potlatch,
- ten que desmarcar o camiño actual ou o punto, se está a editar no modo en
- vivo, ou premer sobre o botón "Gardar".)
+ potlatch_unsaved_changes: Ten cambios sen gardar. (Para gardalos no Potlatch
+ ten que desmarcar o camiño actual ou o punto se está a editar no modo en vivo
+ ou premer sobre o botón "Gardar".)
potlatch2_not_configured: O Potlatch 2 non está configurado; consulte https://wiki.openstreetmap.org/wiki/The_Rails_Port
para obter máis información
potlatch2_unsaved_changes: Ten cambios sen gardar. (Para gardar no Potlatch
2, prema en "Gardar".)
- id_not_configured: iD non está configurado
+ id_not_configured: O iD non está configurado
no_iframe_support: O seu navegador non soporta os iframes HTML, necesarios para
esta característica.
export:
title: Exportar
area_to_export: Zona a exportar
- manually_select: Seleccionar manualmente outra zona
+ manually_select: Seleccionar de xeito manual outra zona
format_to_export: Formato de exportación
osm_xml_data: Datos XML do OpenStreetMap
map_image: Imaxe do mapa (amosa unha capa normal)
export_details: Os datos do OpenStreetMap están licenciados baixo a <a href="https://opendatacommons.org/licenses/odbl/1.0/">licenza
Open Data Commons Open Database License</a> (ODbL).
too_large:
- advice: 'Se a exportación anterior falla, considere utilizar unha das fontes
- listadas a continuación:'
+ advice: 'Se a exportación anterior falla, considere empregar unha das fontes
+ listadas deseguido:'
body: 'Esta zona é grande de máis para ser exportada como datos XML do OpenStreetMap.
Amplíe a zona ou escolla unha menor, ou utilice unha das seguintes fontes
para as descargas masivas de datos:'
países e cidades seleccionados
metro:
title: Extraccións do Metro
- description: Extraccións das maiores cidades do mundo e as súas zonas próximas
+ description: Extraccións das maiores cidades do mundo e as súas zonas máis
+ pretas
other:
title: Outras fontes
- description: Fontes adicionais listadas no wiki do OpenStreetMap
+ description: Fontes adicionais listadas na wiki do OpenStreetMap
options: Opcións
format: Formato
scale: Escala
fixthemap:
title: Informar dun problema/Corrixir o mapa
how_to_help:
- title: Como axudar
+ title: De que xeito axudar
join_the_community:
title: Únase á comunidade
explanation_html: |-
help:
title: Obter axuda
introduction: |-
- O OpenStreetMap ten varios recursos para aprender sobre o proxecto, para formular e responder preguntas,
+ O OpenStreetMap ten varios recursos para aprender sobre o proxecto, para formular e respostar preguntas,
así como para debater e documentar colaborativamente sobre temas de cartografía.
welcome:
url: /welcome
help:
url: https://help.openstreetmap.org/
title: help.openstreetmap.org
- description: Formule unha pregunta ou busque respostas no sitio de preguntas
+ description: Faga unha cuestión ou procure respostas no sitio de cuestións
e respostas do OSM.
mailing_lists:
- title: Listas de correo
- description: Pregunta ou conversa sobre temas interesantes nun amplo abano
- de listas de correo temáticas ou rexionais.
+ title: Listaxes de correo
+ description: Pregunta ou parola sobre temas interesantes nun amplo abano de
+ listaxes de correo temáticas ou rexionais.
forums:
title: Foros
- description: Preguntas e conversas para os que prefiren unha interface do
- estilo carteleira de anuncios.
+ description: Preguntas e parolas pra os que prefiren unha interface do estilo
+ carteleira de anuncios.
irc:
title: IRC
- description: Conversa interactiva en moitas linguaxes diferentes e sobre moitos
+ description: Parola interactiva en moitas linguaxes diferentes e sobre moitos
temas.
switch2osm:
title: Migra a OSM
where_am_i: Onde está isto?
where_am_i_title: Describa a localización actual empregando o motor de procuras
submit_text: Ir
- reverse_directions_text: Inverter as direccións
+ reverse_directions_text: Inverte-las direccións
key:
table:
entry:
- Pista do aeroporto
- vía de circulación do aeroporto
apron:
- - Terminal de aeroporto
+ - Terminal do aeroporto
- terminal
admin: Límite administrativo
forest: Bosque
commercial: Zona comercial
heathland: Breixeira
lake:
- - Lago
+ - Lagoa
- encoro
farm: Granxa
brownfield: Sitio baldío
headings: Cabeceiras
heading: Cabeceira
subheading: Subcabeceira
- unordered: Lista sen ordenar
- ordered: Lista ordenada
+ unordered: Listaxe sen ordear
+ ordered: Listaxe ordeada
first: Primeiro elemento
second: Segundo elemento
link: Ligazón
paragraph_1_html: O OpenStreetMap ten unha xerga propia. Velaquí hai unhas
palabras clave que son de utilidade.
editor_html: Un <strong>editor</strong> é un programa ou sitio web que pode
- usar para editar o mapa.
- node_html: Un <strong>nodo</strong> é un punto no mapa, como un restaurante
+ empregar para edita-lo mapa.
+ node_html: Un <strong>nó</strong> é un punto no mapa, coma un restaurante
ou unha árbore.
way_html: Un <strong>camiño</strong> é unha liña ou área, como unha estrada,
- un arroio, un lago ou un edificio.
- tag_html: Unha <strong>etiqueta</strong> é unha peza de datos sobre un nodo
+ un regato, unha lagoa ou un edificio.
+ tag_html: Unha <strong>etiqueta</strong> é unha peza de datos sobre un nó
ou un camiño, como o nome dun restaurante ou o límite de velocidade dunha
estrada.
rules:
title: Regras!
paragraph_1_html: OpenStreetMap ten poucas regras formais, pero esperamos
- que todos os participantes colaboraren e se comuniquen coa comunidade. Se
- está considerando algunha actividade que non sexa a edición manual, lea
- e siga as instrucións sobre <a href='https://wiki.openstreetmap.<a href='http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'></a>org/wiki/Import/Guidelines'>importacións</a>
+ que tódolos participantes contribúan e se comuniquen ca comunidade. Se estás
+ a estudar algunha actividade que non sexa a edición manual, le e segue as
+ instrucións sobre <a href='https://wiki.openstreetmap.<a href='http://wiki.openstreetmap.org/wiki/Automated_Edits_code_of_conduct'></a>org/wiki/Import/Guidelines'>importacións</a>
e <a href='https://wiki.openstreetmap.org/wiki/Import/Automated_Edits_code_of_conduct'>edicións
automatizadas</a>.
questions:
title: Ten algunha pregunta?
paragraph_1_html: |-
- O OpenStreetMap ten varios recursos para aprender sobre o proxecto, para formular e responder
+ O OpenStreetMap ten varios recursos para aprender sobre o proxecto, para formular e respostar
preguntas, así como para debater e documentar colaborativamente sobre temas de cartografía.
- <a href='%{help_url}'>Obteña axuda aquí</a>.
+ <a href='%{help_url}'>Obteña axuda eiquí</a>.
start_mapping: Comezar a cartografar
add_a_note:
title: Non ten tempo para editar? Engada unha nota!
no botón de gardar e os outros contribuíntes comprobaranlo.'
traces:
visibility:
- private: Privado (só compartido como anónimo; puntos desordenados)
- public: Público (amosado na listaxe de pistas e como anónimo; puntos desordeados)
+ private: Privado (só compartido coma anónimo; puntos desordenados)
+ public: Público (amosado na listaxe de pistas e coma anónimo; puntos desordeados)
trackable: Rastrexable (só compartido como anónimo; puntos ordenados coa data
e hora)
identifiable: Identificábel (amosado na listaxe de pistas e coma identificábel;
na base de datos. Isto adoita ocorrer nun período de tempo de media hora.
Recibirá un correo electrónico cando remate.
upload_failed: Desculpa, a subida GPX fallou. Avisouse a un administrador do
- erro. Inténteo de novo.
+ erro. Ténteo de novo.
traces_waiting:
one: Ten %{count} pista á espera de ser cargada. Considere agardar a que remate
antes de cargar máis para non bloquear a cola do resto de usuarios.
description: 'Descrición:'
tags: 'Etiquetas:'
tags_help: separadas por comas
- save_button: Gardar os cambios
+ save_button: Garda-los cambios
visibility: 'Visibilidade:'
visibility_help: que significa isto?
+ visibility_help_url: https://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
update:
updated: Ruta actualizada
trace_optionals:
public_traces_from: Pistas GPS públicas de %{user}
description: Explorar as pistas GPS cargadas recentemente
tagged_with: ' etiquetadas con %{tags}'
- empty_html: Aínda non hai nada por aquí. <a href='%{upload_link}'>Cargue unha
+ empty_html: Aínda non hai ren por eiquí. <a href='%{upload_link}'>Cargue unha
nova pista</a> ou obteña máis información sobre as pistas GPS na <a href='https://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>páxina
- do wiki</a>.
+ da wiki</a>.
upload_trace: Cargar unha pista
see_all_traces: Ollar todas as pistas
see_my_traces: Ollar as miñas pistas
blocked: O seu acceso á API foi bloqueado. Acceda ao sistema para atopar máis
información na interface web.
need_to_see_terms: O seu acceso á API está suspendido temporalmente. Acceda
- ao sistema para ollar os termos do colaborador. Non ten que aceptalos, pero
+ ao sistema para ollar os termos do contribuínte. Non ten que aceptalos, pero
debe coñecelos.
oauth:
authorize:
allow_to: 'Permitir á aplicación de cliente a:'
allow_read_prefs: ler as súas preferencias de usuario.
allow_write_prefs: modificar as súas preferencias de usuario.
- allow_write_diary: crear entradas de diario, comentarios e facer amigos.
+ allow_write_diary: crear entradas de diario, comentarios e facer amizades.
allow_write_api: modificar o mapa.
allow_read_gpx: ler as súas pistas GPS privadas.
allow_write_gpx: cargar pistas GPS.
- allow_write_notes: modificar as notas.
+ allow_write_notes: modifica-las notas.
grant_access: Permitir o acceso
authorize_success:
title: Aceptouse a solicitude de autorización
requests: 'Solicitar os seguintes permisos ao usuario:'
allow_read_prefs: ler as súas preferencias de usuario.
allow_write_prefs: modificar as súas preferencias de usuario.
- allow_write_diary: crear entradas de diario, comentarios e facer amigos.
+ allow_write_diary: crear entradas de diario, comentarios e facer amizades.
allow_write_api: modificar o mapa.
allow_read_gpx: ler as súas pistas GPS privadas.
allow_write_gpx: cargar pistas GPS.
- allow_write_notes: modificar as notas.
+ allow_write_notes: modifica-las notas.
index:
title: Os meus datos OAuth
my_tokens: As miñas aplicacións rexistradas
requests: 'Solicitar os seguintes permisos ao usuario:'
allow_read_prefs: ler as súas preferencias de usuario.
allow_write_prefs: modificar as súas preferencias de usuario.
- allow_write_diary: crear entradas de diario, comentarios e facer amigos.
+ allow_write_diary: crear entradas de diario, comentarios e facer amizades.
allow_write_api: modificar o mapa.
allow_read_gpx: ler as súas pistas GPS privadas.
allow_write_gpx: cargar pistas GPS.
- allow_write_notes: modificar as notas.
+ allow_write_notes: modifica-las notas.
not_found:
sorry: Sentímolo, non se puido atopar este %{type}.
create:
flash: Destruíu o rexistro da aplicación de cliente
user:
login:
- title: Rexistro
+ title: Rexistrarse
heading: Rexistro
email or username: 'Enderezo de correo electrónico ou nome de usuario:'
password: 'Contrasinal:'
openid: '%{logo} OpenID:'
remember: Lembrádeme
lost password link: Perdeu o seu contrasinal?
- login_button: Acceder ao sistema
+ login_button: Inicia-la sesión
register now: Rexístrese agora
with username: 'Xa ten unha conta no OpenStreetMap? Acceda ao sistema co seu
nome de usuario e contrasinal:'
- with external: 'O ben, utilice un servizo de terceiros para acceder:'
+ with external: 'Ou ben, empregue un servizo de terceiros para accederes:'
new to osm: É novo no OpenStreetMap?
to make changes: Para realizar as modificacións nos datos do OpenStreetMap,
cómpre ter unha conta.
- create account minute: Crear unha conta. Tan só leva un minuto.
+ create account minute: Crear unha conta. Tan só cústache un minuto.
no account: Non está rexistrado?
account not active: Sentímolo, a súa conta aínda non está activada.<br />Prema
na ligazón que hai no correo de confirmación da conta ou <a href="%{reconfirm}">solicite
openid_logo_alt: Acceder ao sistema cun OpenID
auth_providers:
openid:
- title: Acceder ao sistema co OpenID
+ title: Inicia-la sesión co OpenID
alt: Acceder ao sistema cun URL OpenID
google:
title: Acceder ao sistema co Google
alt: Acceder ao sistema cun OpenID de Google
facebook:
- title: Acceda co Facebook
+ title: Inicia-la sesión co Facebook
alt: Iniciar sesión cunha conta de Facebook
windowslive:
- title: Iniciar sesión co Windows Live
+ title: Inicia-la sesión co Windows Live
alt: Iniciar sesión cunha conta de Windows Live
github:
- title: Acceder con GitHub
+ title: Inicia-la sesión co GitHub
alt: Acceder cunha conta de GitHub
wikipedia:
- title: Iniciar sesión con Wikipedia
+ title: Inicia-la sesión ca Wikipedia
alt: Iniciar sesión cunha conta de Wikipedia
yahoo:
- title: Acceder ao sistema con Yahoo
+ title: Inicia-la sesión co Yahoo
alt: Acceder ao sistema cun OpenID de Yahoo
wordpress:
- title: Acceder ao sistema con Wordpress
+ title: Inicia-la sesión co Wordpress
alt: Acceder ao sistema cun OpenID de Wordpress
aol:
- title: Acceder ao sistema con AOL
+ title: Inicia-la sesión co AOL
alt: Acceder ao sistema cun OpenID de AOL
logout:
- title: Saír
+ title: Pecha-la sesión
heading: Saír do OpenStreetMap
- logout_button: Saír
+ logout_button: Pecha-la sesión
lost_password:
title: Contrasinal perdido
heading: Esqueceu o contrasinal?
password: 'Contrasinal:'
confirm password: 'Confirma-lo contrasinal:'
reset: Restablecer o contrasinal
- flash changed: Cambiouse o seu contrasinal.
+ flash changed: Mudouse o seu contrasinal.
flash token bad: Non se atopou o pase. Quizais debería comprobar o enderezo
URL.
new:
no_auto_account_create: Por desgraza, arestora non podemos crear automaticamente
unha conta para vostede.
contact_webmaster: Póñase en contacto co <a href="%{webmaster}">webmaster</a>
- para que cree unha conta por vostede; intentaremos xestionar a solicitude
- o máis axiña que poidamos.
+ para que cree unha conta por vostede; tentaremos xestiona-la solicitude o
+ máis axiña que poidamos.
about:
header: Libre e editable
html: |-
<p>A diferenza doutros mapas, o OpenStreetMap está completamente creado por xente coma vostede, e calquera persoa é libre de corrixilo, actualizalo, descargalo e utilizalo.</p>
<p>Rexístrese para comezar a contribuír. Enviarémoslle un correo electrónico para confirmar a súa conta.</p>
- license_agreement: Cando confirme a súa conta necesitará aceptar os <a href="https://www.osmfoundation.org/wiki/License/Contributor_Terms">termos
- do colaborador</a>.
+ license_agreement: Cando confirme a súa conta necesitará acepta-los <a href="https://www.osmfoundation.org/wiki/License/Contributor_Terms">termos
+ do contribuínte</a>.
email address: 'Enderezo de correo electrónico:'
confirm email address: Confirma-lo enderezo de correo electrónico
not displayed publicly: O seu enderezo IP non se amosa publicamente, vexa a
auth no password: Coa autenticación de terceiros non se precisa un contrasinal,
aínda que hai algunhas ferramentas e servidores que aínda a solicitan.
continue: Rexistrarse
- terms accepted: Grazas por aceptar os novos termos do colaborador!
- terms declined: Sentimos que decidise non aceptar os novos Termos do colaborador.
+ terms accepted: Grazas por acepta-los novos termos do contribuínte!
+ terms declined: Sentimos que decidise non acepta-los novos Termos do contribuínte.
Para obter máis información, consulte <a href="%{url}">esta páxina wiki</a>.
+ terms declined url: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
terms:
- title: Termos do colaborador
- heading: Termos do colaborador
+ title: Termos do contribuínte
+ heading: Termos do contribuínte
read and accept: Por favor, lea o acordo seguinte e prema no botón "Aceptar"
para confirmar que acepta os termos deste acordo para as súas contribucións
anteriores e futuras.
consider_pd: Ademais do acordo anterior, considero que as miñas contribucións
están no dominio público
consider_pd_why: que é isto?
+ consider_pd_why_url: https://www.osmfoundation.org/wiki/License/Why_would_I_want_my_contributions_to_be_public_domain
guidance: 'Información para axudar a entender estes termos: un <a href="%{summary}">resumo</a>
e algunhas <a href="%{translations}">traducións non oficiais</a>'
agree: Acepto
+ declined: https://wiki.openstreetmap.org/wiki/Contributor_Terms_Declined
decline: Rexeitar
- you need to accept or decline: Lea e, a continuación, acepte ou rexeite os novos
- Termos do colaborador para continuar.
+ you need to accept or decline: Lea e, deseguido, acepte ou rexeite os novos
+ Termos do contribuínte para proseguer.
legale_select: 'Seleccione o seu país de residencia:'
legale_names:
france: Francia
body: Non existe ningún usuario co nome "%{user}". Comprobe a ortografía ou
que a ligazón que seguiu estea ben.
deleted: borrado
- view:
+ show:
my diary: O meu diario
new diary entry: nova entrada no diario
my edits: As miñas edicións
my traces: As miñas pistas
- my notes: As miñas notas de mapa
+ my notes: As miñas notas do mapa
my messages: As miñas mensaxes
my profile: O meu perfil
my settings: Os meus axustes
diary: Diario
edits: Edicións
traces: Pistas
- notes: Notas de mapa
- remove as friend: Eliminar como amigo
- add as friend: Engadir como amigo
- mapper since: 'Cartógrafo desde:'
+ notes: Notas do mapa
+ remove as friend: Eliminar coma amizade
+ add as friend: Engadir coma amizade
+ mapper since: 'Cartógrafo dende:'
ago: (hai %{time_in_words_ago})
- ct status: 'Termos do colaborador:'
+ ct status: 'Termos do contribuínte:'
ct undecided: Indeciso
ct declined: Rexeitou
ct accepted: Aceptou hai %{ago}
description: Descrición
user location: Localización do usuario
if set location: Defina a súa localización na páxina de %{settings_link} para
- ollar usuarios de lugares próximos.
+ ollar usuarios de lugares preto de ti.
settings_link_text: axustes
- my friends: Os meus amigos
- no friends: Aínda non engadiu ningún amigo.
+ my friends: As miñas amizades
+ no friends: Aínda non engadiu ningunha amizade.
km away: a %{count}km de distancia
m away: a %{count}m de distancia
- nearby users: Outros usuarios próximos
- no nearby users: Aínda non hai usuarios que estean situados na súa proximidade.
+ nearby users: Outros usuarios preto de ti
+ no nearby users: Aínda non hai usuarios que estean situados preto de vostede.
role:
administrator: Este usuario é administrador
moderator: Este usuario é moderador
deactivate_user: Desactivar este usuario
confirm_user: Confirmar este usuario
hide_user: Agochar este usuario
- unhide_user: Descubrir este usuario
+ unhide_user: Descobrir este usuario
delete_user: Borrar este usuario
confirm: Confirmar
- friends_changesets: conxuntos de cambios dos amigos
- friends_diaries: entradas de diario dos amigos
- nearby_changesets: conxuntos de cambios dos usuarios de lugares próximos
- nearby_diaries: entradas de diario dos usuarios de lugares próximos
+ friends_changesets: conxuntos de cambios das amizades
+ friends_diaries: entradas de diario das amizades
+ nearby_changesets: conxuntos de cambios dos usuarios de lugares preto de ti
+ nearby_diaries: entradas de diario dos usuarios de lugares preto de ti
report: Denunciar este usuario
popup:
your location: A súa localización
- nearby mapper: Cartógrafo próximo
- friend: Amigo
+ nearby mapper: Cartógrafo preto de ti
+ friend: Amizade
account:
title: Edita-la conta
my settings: Os meus axustes
públicos.</li><li>Non é posíbel reverter esta acción e agora os novos usuarios
xa son públicos por defecto.</li></ul>
contributor terms:
- heading: 'Termos do colaborador:'
- agreed: Aceptou os novos termos do colaborador.
- not yet agreed: Aínda non aceptou os novos termos do colaborador.
- review link text: Siga esta ligazón para revisar e aceptar os novos termos
- do colaborador.
+ heading: 'Termos do contribuínte:'
+ agreed: Aceptou os novos termos do contribuínte.
+ not yet agreed: Aínda non aceptou os novos termos do contribuínte.
+ review link text: Siga esta ligazón para revisar e acepta-los novos termos
+ do contribuínte.
agreed_with_pd: Tamén declarou que considera que as súas edicións pertencen
ao dominio público.
+ link: https://www.osmfoundation.org/wiki/License/Contributor_Terms
link text: que é isto?
profile description: 'Descrición do perfil:'
preferred languages: 'Linguas preferidas:'
preferred editor: 'Editor preferido:'
image: 'Imaxe:'
gravatar:
- gravatar: Usar Gravatar
- link: http://wiki.openstreetmap.org/wiki/Gravatar
+ gravatar: Emprega-lo Gravatar
+ link: https://wiki.openstreetmap.org/wiki/Gravatar
link text: que é isto?
disabled: Gravatar foi desactivado.
enabled: A visualización do seu Gravatar foi activada.
new image: Engadir unha imaxe
- keep image: Manter a imaxe actual
- delete image: Eliminar a imaxe actual
- replace image: Substituír a imaxe actual
+ keep image: Mante-la imaxe actual
+ delete image: Elimina-la imaxe actual
+ replace image: Substituí-la imaxe actual
image size hint: (as imaxes cadradas de, polo menos, 100x100 funcionan mellor)
home location: 'Lugar de orixe:'
no home location: Non inseriu o seu lugar de orixe.
latitude: 'Latitude:'
longitude: 'Lonxitude:'
- update home location on click: Quere actualizar o domicilio ao premer sobre
- o mapa?
- save changes button: Gardar os cambios
+ update home location on click: Quere actualiza-lo lugar do enderezo ó premer
+ sobre o mapa?
+ save changes button: Garda-los cambios
make edits public button: Facer públicas todas as miñas edicións
- return to profile: Volver ao perfil
+ return to profile: Voltar ó perfil
flash update success confirm needed: Información de usuario actualizada correctamente.
Procura no teu correo electrónico unha mensaxe para confirma-lo teu novo enderezo.
flash update success: Información de usuario actualizada correctamente.
proceso sen problemas.
failure: Non se atopou o usuario "%{name}".
confirm_email:
- heading: Confirma-lo troco do enderezo de correo electrónico
+ heading: Confirma-lo cambio do enderezo de correo electrónico
press confirm button: Prema sobre o botón de confirmación que aparece deseguido
para confirmar o seu novo enderezo de correo electrónico.
button: Confirmar
- success: Confirmouse o cambio do seu enderezo de correo electrónico!
+ success: Confirmámoslle o cambio enderezo de enderezo electrónico!
failure: Xa se confirmou un enderezo de correo electrónico con este pase.
unknown_token: Ese código de confirmación caducou ou non existe.
set_home:
flash success: Todas as súas edicións son públicas e agora está autorizado a
editar.
make_friend:
- heading: Quere engadir a %{user} como amigo?
- button: Engadir como amigo
- success: '%{name} xa é o seu amigo!'
- failed: Houbo un erro ao engadir a %{name} como amigo.
- already_a_friend: Xa é amigo de %{name}.
+ heading: Quere engadir a %{user} coma amizade?
+ button: Engadir coma amizade
+ success: '%{name} xa é a súa amizade!'
+ failed: Houbo un erro ó engadir a %{name} coma amizade.
+ already_a_friend: Xa é amizade de %{name}.
remove_friend:
- heading: Quere eliminar a %{user} dos amigos?
- button: Eliminar como amigo
- success: '%{name} foi eliminado dos seus amigos.'
- not_a_friend: '%{name} non é un dos seus amigos.'
+ heading: Quere eliminar a %{user} das amizades?
+ button: Eliminar coma amizade
+ success: '%{name} foi eliminado das súas amizades.'
+ not_a_friend: '%{name} non é unha das súas amizades.'
filter:
not_an_administrator: Ten que ser administrador para poder levar a cabo esta
acción.
- list:
+ index:
title: Usuarios
heading: Usuarios
showing:
one: Páxina %{page} (%{first_item} de %{items})
other: Páxina %{page} (%{first_item}-%{last_item} de %{items})
- summary: '%{name} creado desde %{ip_address} o %{date}'
+ summary: '%{name} creado dende %{ip_address} o %{date}'
summary_no_ip: '%{name} creado o %{date}'
confirm: Confirma-los usuarios seleccionados
hide: Agochar os usuarios seleccionados
</p>
<p>
Axiña un administrador revisará esta decisión.
- Quizais queira contactar co %{webmaster} para conversar sobre isto.
+ Se cadra queira contactar co %{webmaster} para parolar sobre isto.
</p>
auth_failure:
connection_failed: Fallou a conexión ó proveedor de autenticación
non_moderator_revoke: Cómpre ser moderador para revogar un bloqueo.
not_found:
sorry: Non se puido atopar o bloqueo de usuario número %{id}.
- back: Volver ao índice
+ back: Voltar ó índice
new:
title: Creando un bloqueo a %{name}
heading: Creando un bloqueo a %{name}
- reason: O motivo polo que bloquea a %{name}. Permaneza tranquilo e sexa razoable,
- dando a maior cantidade de detalles sobre a situación e lembrando que a mensaxe
- será visible publicamente. Teña presente que non todos os usuarios entenden
- o argot da comunidade, de modo que intente utilizar termos comúns.
+ reason: O motivo polo que bloquea a %{name}. Fique calmo e sexa razoábel, dando
+ a maior cantidade de detalles sobre a situación e lembrando que a mensaxe
+ será visíbel publicamente. Teña presente que non tódolos usuarios entenden
+ o argot da comunidade, de modo que tente empregar termos comúns.
period: Por canto tempo, a partir de agora, o usuario terá bloqueado o uso da
API?
submit: Crear un bloqueo
tried_contacting: Púxenme en contacto co usuario e pedinlle que parase.
- tried_waiting: Deille ao usuario tempo suficiente para responder ás mensaxes.
+ tried_waiting: Dálle ó usuario tempo suficiente para respostar ás mensaxes.
needs_view: O usuario ten que acceder ao sistema antes de que o bloqueo sexa
retirado
- back: Ollar todos os bloqueos
+ back: Ollar tódolos bloqueos
edit:
title: Editando o bloqueo de %{name}
heading: Editando o bloqueo de %{name}
- reason: O motivo polo que bloquea a %{name}. Permaneza tranquilo e sexa razoable,
- dando a maior cantidade de detalles sobre a situación. Teña presente que non
- todos os usuarios entenden o argot da comunidade, de modo que intente utilizar
- termos comúns.
+ reason: O motivo polo que bloquea a %{name}. Fique calmo e sexa razoábel, dando
+ a maior cantidade de detalles sobre a situación. Teña presente que non tódolos
+ usuarios entenden o argot da comunidade, de modo que tente empregar termos
+ comúns.
period: Por canto tempo, a partir de agora, o usuario terá bloqueado o uso da
API?
- submit: Actualizar o bloqueo
+ submit: Actualiza-lo bloqueo
show: Ollar este bloqueo
- back: Ollar todos os bloqueos
+ back: Ollar tódolos bloqueos
needs_view: O usuario ten que acceder ao sistema antes de que o bloqueo sexa
retirado?
filter:
block_expired: O bloqueo xa caducou. Non se pode editar.
block_period: O período de bloqueo debe elixirse de entre os valores presentes
- na lista despregable.
+ na listaxe despregábel.
create:
- try_contacting: Intente poñerse en contacto co usuario antes de bloquealo. Déalle
- un prazo de tempo razoable para que poida responder.
- try_waiting: Intente dar ao usuario un prazo razoable para responder antes de
- bloquealo.
+ try_contacting: Tente en poñerse en contacto co usuario antes de bloquealo.
+ Déalle un prazo de tempo razoábel para que poida respostar.
+ try_waiting: Tente dar ó usuario un prazo razoábel para respostar antes de bloquealo.
flash: Bloqueo creado para o usuario %{name}.
update:
only_creator_can_edit: Só o moderador que creou o bloqueo pode editalo.
success: Bloqueo actualizado.
index:
title: Bloqueos de usuario
- heading: Lista de bloqueos de usuario
+ heading: Listaxe dos bloqueos de usuario
empty: Aínda non se fixo ningún bloqueo.
revoke:
title: Revogando o bloqueo en %{block_on}
other: '%{count} horas'
helper:
time_future: Remata en %{time}.
- until_login: Activo ata que o usuario inicie sesión.
+ until_login: Activo até que o usuario inicie sesión.
time_future_and_until_login: Remata en %{time} e despois de que o usuario iniciou
a sesión.
time_past: Rematou hai %{time}.
blocks_on:
title: Bloqueos feitos a %{name}
- heading: Lista dos bloqueos feitos a %{name}
+ heading: Listaxe dos bloqueos feitos a %{name}
empty: '%{name} aínda non foi bloqueado.'
blocks_by:
title: Bloqueos feitos por %{name}
- heading: Lista dos bloqueos feitos por %{name}
+ heading: Listaxe dos bloqueos feitos por %{name}
empty: '%{name} aínda non efectuou ningún bloqueo.'
show:
title: '%{block_on} bloqueado por %{block_by}'
revoke: Revogar!
confirm: Está seguro?
reason: 'Motivo para o bloqueo:'
- back: Ollar todos os bloqueos
+ back: Ollar tódolos bloqueos
revoker: 'Autor da revogación:'
needs_view: O usuario ten que acceder ao sistema antes de que o bloqueo sexa
retirado.
comment:
opened_at_html: Creado hai %{when}
opened_at_by_html: Creado hai %{when} por %{user}
- commented_at_html: Subido hai %{when}
- commented_at_by_html: Cargado hai %{when} por %{user}
+ commented_at_html: Actualizado hai %{when}
+ commented_at_by_html: Actualizado hai %{when} por %{user}
closed_at_html: Resolto hai %{when}
closed_at_by_html: Resolto hai %{when} por %{user}
reopened_at_html: Reactivado hai %{when}
reopened_at_by_html: Reactivado hai %{when} por %{user}
rss:
title: Notas do OpenStreetMap
- description_area: Unha lista das notas recibidas, comentadas ou pechadas na
+ description_area: Unha listaxe das notas recibidas, comentadas ou pechadas na
súa zona [(%{min_lat}|%{min_lon}) -- (%{max_lat}|%{max_lon})]
description_item: Unha fonte de novas RSS para a nota %{id}
opened: nota nova (preto de %{place})
center_marker: Centrar o mapa no marcador
paste_html: Pegue o código HTML para incluílo na páxina web
view_larger_map: Ver un mapa máis grande
- only_standard_layer: Só a capa estándar pode exportarse como unha imaxe
+ only_standard_layer: Só a capa estándar pode exportarse coma unha imaxe
embed:
report_problem: Informar sobre un problema
key:
title: Amosa-la miña localización
popup: Está a {distance} {unit} deste punto
base:
- standard: Estándar
+ standard: Mapa estándar
cycle_map: Mapa ciclista
- transport_map: Mapa de transporte
- hot: Humanitario
+ transport_map: Mapa do transporte
+ hot: Mapa humanitario
layers:
header: Capas do mapa
- notes: Notas de mapa
+ notes: Notas do mapa
data: Datos do mapa
gps: Trazas GPS públicas
- overlays: Activar a sobreposición para reparar o mapa
+ overlays: Activa-las sobreposicións para solucionares os problemas no mapa
title: Capas
copyright: © <a href='%{copyright_url}'>Contribuíntes do OpenStreetMap</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>Facer unha doazón</a>
site:
edit_tooltip: Edita-lo mapa
edit_disabled_tooltip: Achegue para edita-lo mapa
- createnote_tooltip: Engadir unha nota ao mapa
+ createnote_tooltip: Engadir unha nota ó mapa
createnote_disabled_tooltip: Achegar o mapa para engadirlle unha nota
- map_notes_zoom_in_tooltip: Achegar para ver as notas do mapa
+ map_notes_zoom_in_tooltip: Achegar para veres as notas do mapa
map_data_zoom_in_tooltip: Achegar para ver os datos do mapa
- queryfeature_tooltip: Consultar as características
+ queryfeature_tooltip: Consulta-las características
queryfeature_disabled_tooltip: Achegar para consulta-las características
changesets:
show:
comment: Comentario
subscribe: Subscribirse
- unsubscribe: Cancelar a subscrición
+ unsubscribe: Cancela-la subscrición
hide_comment: agochar
unhide_comment: amosar
notes:
new:
- intro: Atopou un erro ou descubriu que falta algún dato? Informe aos outros
+ intro: Atopou un erro ou descobriu que falla algún dato? Informe ós outros
cartógrafos para que poidamos solucionalo. Mova o marcador á posición correcta
- e escriba unha nota explicando o problema.
- advice: A túa nota será pública e poderá utilizarse para actualizar o mapa,
+ e escriba unha nota expoñendo o problema.
+ advice: A túa nota será pública e poderá empregarse para actualiza-lo mapa,
por conseguinte, non insiras información persoal, nin datos de mapas protexidos
- por dereitos de autoría ou listas de directorios.
+ por dereitos de autoría ou listaxes de directorios.
add: Engadir a nota
show:
anonymous_warning: Esta nota inclúe comentarios de usuarios anónimos que deben
tenth: 10.ª
time: Tempo
query:
- node: Nodo
+ node: Nó
way: Camiño
relation: Relación
nothing_found: Non se atoparon características
timeout: Tempo de espera esgotado ó contactar a %{server}
context:
directions_from: Indicacións dende aquí
- directions_to: Indicacións ata aquí
+ directions_to: Indicacións até aquí
add_note: Engadir unha nota aquí
show_address: Amosar enderezo
query_features: Consultar características
title: Edita-la redacción
index:
empty: Non hai ningunha redacción que amosar.
- heading: Lista de redaccións
- title: Lista de redaccións
+ heading: Listaxe das redaccións
+ title: Listaxe das redaccións
new:
description: Descrición
heading: Escriba a información da nova redacción
user: משתמש
comment: הערה
area: שטח
- list:
+ index:
title: ערכות שינויים
title_user: ערכות שינויים של %{user}
title_friend: ערכות שינויים של החברים שלי
new:
title: רשומת יומן חדשה
publish_button: פרסום
- list:
+ index:
title: יומנים של המשתמש
title_friends: יומנים של חברים
title_nearby: יומנים של משתמשים בסביבה
use_map_link: להשתמש במפה
save_button: שמירה
marker_text: מיקום רשומת היומן
- view:
+ show:
title: היומן של %{user}‏ | %{title}
user_title: היומן של %{user}
leave_a_comment: הוספת תגובה
heading: המשתמש %{user} אינו קיים
body: סליחה, אין חשבון בשם %{user}. אולי האיות לא נכון ואולי לחצת על קישור שגוי.
deleted: נמחק
- view:
+ show:
my diary: היומן שלי
new diary entry: רשומה חדשה ביומן
my edits: העריכות שלי
not_a_friend: '%{name} לא אחד מהחברים שלך.'
filter:
not_an_administrator: צריך להיות מנהל כדי לבצע את הפעולה הזאת.
- list:
+ index:
title: משתמשים
heading: משתמשים
showing:
user: Korisnik
comment: Komentar
area: Područje
- list:
+ index:
title: Setovi promjena
title_user: Setovi promjena od %{user}
title_friend: Paketi uređivanja tvojih prijatelja
new:
title: Novi zapis u dnevnik
publish_button: Objavi
- list:
+ index:
title: Dnevnici korisnika
title_friends: Dnevnici prijatelja
title_nearby: Dnevnici obližnjih članova
use_map_link: koristi kartu
save_button: Spremi
marker_text: Lokacija unosa u dnevnik
- view:
+ show:
title: Blog korisnika %{user} | %{title}
user_title: '%{user}ov dnevnik'
leave_a_comment: Ostavi komentar
body: Žao mi je, ne postoji korisnik s imenom %{user}. Molim provjerite ukucano
ili je link na koji ste kliknuli neispravan.
deleted: obrisano
- view:
+ show:
my diary: Moj dnevnik
new diary entry: novi unos u dnevnik
my edits: Moje promjene
not_a_friend: '%{name} nije tvoj prijatelj.'
filter:
not_an_administrator: Morate biti administrator za izvođenje ovih akcija.
- list:
+ index:
title: Korisnici
heading: Korisnici
showing:
user: Wužiwar
comment: Komentar
area: Wobłuk
- list:
+ index:
title: Sadźby změnow
title_user: Sadźby změnow wot %{user}
title_friend: Změny twojich přećelow
new:
title: Nowy dźenikowy zapisk
publish_button: Wozjewić
- list:
+ index:
title: Dźeniki wužiwarjow
title_friends: Dźeniki přećelow
title_nearby: Dźeniki wužiwarjow w bliskosći
use_map_link: kartu wužiwać
save_button: Składować
marker_text: Městno dźenikoweho zapiska
- view:
+ show:
title: Dźenik %{user} | %{title}
user_title: dźenik wužiwarja %{user}
leave_a_comment: Spisaj komentar
body: Bohužel žadyn wužiwar z mjenom %{user} njeje. Prošu skontroluj prawopis,
abo wotkaz, na kotryž sy kliknył, je njepłaćiwy.
deleted: zhašany
- view:
+ show:
my diary: Mój dźenik
new diary entry: nowy dźenikowy zapisk
my edits: Moje změny
not_a_friend: '%{name} twój přećel njeje.'
filter:
not_an_administrator: Dyrbiš administrator być, zo by tutu akciju wuwjedł.
- list:
+ index:
title: Wužiwarjo
heading: Wužiwarjo
showing:
user: Felhasználó
comment: Megjegyzés
area: Terület
- list:
+ index:
title: Módosításcsomagok
title_user: '%{user} módosításcsomagjai'
title_friend: Ismerőseim módosításcsomagjai
new:
title: Új naplóbejegyzés
publish_button: Publikálás
- list:
+ index:
title: Felhasználók naplói
title_friends: Ismerősök naplói
title_nearby: Közeli felhasználók naplói
use_map_link: térkép használata
save_button: Mentés
marker_text: Naplóbejegyzés helye
- view:
+ show:
title: '%{user} naplója | %{title}'
user_title: '%{user} naplója'
leave_a_comment: Hozzászólás írása
body: Sajnálom, nincs %{user} nevű felhasználó. Ellenőrizd a helyességét, vagy
lehet, hogy a link, amire kattintottál, rossz.
deleted: törölve
- view:
+ show:
my diary: Naplóm
new diary entry: új naplóbejegyzés
my edits: Szerkesztéseim
filter:
not_an_administrator: Ennek a műveletnek az elvégzéséhez adminisztrátori jogosultsággal
kell rendelkezned.
- list:
+ index:
title: Felhasználók
heading: Felhasználók
showing:
user: Usator
comment: Commento
area: Area
- list:
+ index:
title: Gruppos de modificationes
title_user: Gruppos de modificationes per %{user}
title_friend: Gruppos de modificationes facite per mi amicos
new:
title: Nove entrata de diario
publish_button: Publicar
- list:
+ index:
title: Diarios de usatores
title_friends: Diarios de amicos
title_nearby: Diarios de usatores vicin
use_map_link: usar carta
save_button: Salveguardar
marker_text: Loco de entrata de diario
- view:
+ show:
title: Diario de %{user} | %{title}
user_title: Diario de %{user}
leave_a_comment: Lassar un commento
body: Non existe un usator con le nomine %{user}. Per favor verifica le orthographia,
o pote esser que le ligamine que tu sequeva es incorrecte.
deleted: delite
- view:
+ show:
my diary: Mi diario
new diary entry: nove entrata de diario
my edits: Mi modificationes
not_a_friend: '%{name} non es un de tu amicos.'
filter:
not_an_administrator: Tu debe esser administrator pro executar iste action.
- list:
+ index:
title: Usatores
heading: Usatores
showing:
user: Pengguna
comment: Komentar
area: Area
- list:
+ index:
title: Set perubahan
title_user: Set perubahan oleh %{user}
title_friend: Set perubahan oleh teman saya
new:
title: Entri Baru Catatan Harian
publish_button: Terbitkan
- list:
+ index:
title: Catatan harian pengguna
title_friends: Catatan harian teman
title_nearby: Catatan harian pengguna terdekat
use_map_link: Gunakan peta
save_button: Simpan
marker_text: Lokasi entri catatan harian
- view:
+ show:
title: Catatan harian %{user} | %{title}
user_title: Catatan harian %{user}
leave_a_comment: Tinggalkan komentar
body: Maaf, tidak ada pengguna dengan nama %{user}. Silahkan cek kembali ejaan,
atau mungkin link yang Anda klik salah.
deleted: dihapus
- view:
+ show:
my diary: Catatan Harian Saya
new diary entry: Entri baru catatan harian
my edits: Suntingan Saya
filter:
not_an_administrator: Anda harus merupakan administrator untuk melakukan tindakan
ini.
- list:
+ index:
title: Pengguna
heading: Pengguna
showing:
user: Notandi
comment: Athugasemd
area: Svæði
- list:
+ index:
title: Breytingasett
title_user: Breytingar eftir %{user}
title_friend: Breytingar eftir vini mína
new:
title: Ný bloggfærsla
publish_button: Birta
- list:
+ index:
title: Blogg notenda
title_friends: Blogg vina
title_nearby: Blogg notenda í nágrenninu
use_map_link: finna á korti
save_button: Vista
marker_text: Staðsetning bloggfærslu
- view:
+ show:
title: Blogg | %{user}
user_title: Blogg %{user}
leave_a_comment: Bæta við athugasemd
body: Það er ekki til notandi með nafninu %{user}. Kannski slóstu nafnið rangt
inn eða fylgdir ógildum tengli.
deleted: eytt
- view:
+ show:
my diary: Bloggið mitt
new diary entry: ný bloggfærsla
my edits: Breytingarnar mínar
not_a_friend: '%{name} er ekki vinur þinn.'
filter:
not_an_administrator: Þú þarft að vera möppudýr til að framkvæma þessa aðgerð.
- list:
+ index:
title: Notendur
heading: Notendur
showing:
user: Utente
comment: Commento
area: Area
- list:
+ index:
title: Gruppi di modifiche
title_user: Gruppi di modifiche di %{user}
title_friend: Gruppi di modifiche dei miei amici
new:
title: Nuova voce del diario
publish_button: Pubblica
- list:
+ index:
title: Diari degli utenti
title_friends: Diari degli amici
title_nearby: Diari degli utenti nelle vicinanze
use_map_link: utilizza mappa
save_button: Salva
marker_text: Luogo della voce del diario
- view:
+ show:
title: Diario di %{user} | %{title}
user_title: Diario dell'utente %{user}
leave_a_comment: Lascia un commento
body: Spiacenti, non c'è alcun utente con il nome %{user}. Controllare la digitazione,
o che il collegamento sul quale hai cliccato non sia errato.
deleted: cancellato
- view:
+ show:
my diary: Il mio diario
new diary entry: nuova voce del diario
my edits: Mie modifiche
filter:
not_an_administrator: Bisogna essere amministratori per poter eseguire questa
azione.
- list:
+ index:
title: Utenti
heading: Utenti
showing:
user: 利用者
comment: コメント
area: 領域
- list:
+ index:
title: 変更セット
title_user: '%{user} によるメモ'
title_friend: 友達による変更セット
new:
title: 日記エントリの新規作成
publish_button: 公開
- list:
+ index:
title: 利用者さんの日記
title_friends: 友達の日記
title_nearby: 周辺の利用者の日記
use_map_link: 地図を使用
save_button: 保存
marker_text: 日記のロケーション
- view:
+ show:
title: '%{user}さんの日記 | %{title}'
user_title: '%{user}さんの日記'
leave_a_comment: コメントを書いてください
heading: '%{user} という利用者は存在しません'
body: 申し訳ありませんが、%{user} という名前の利用者は存在しません。スペルを確認してください。またはクリックしたリンクが間違っている可能性があります。
deleted: 削除済
- view:
+ show:
my diary: 自分の日記
new diary entry: 新しい日記エントリ
my edits: 自分の編集
not_a_friend: '%{name} は友達ではありません。'
filter:
not_an_administrator: この作業を行うには、管理者になる必要があります。
- list:
+ index:
title: 利用者
heading: ユーザー
showing:
user: მომხმარებელი
comment: კომენტარი
area: ტერიტორია
- list:
+ index:
title: ცვლილებების პაკეტი
load_more: მეტის ჩატვირთვა
rss:
new:
title: დღიურში ახალი ჩანაწერის გაკეთება
publish_button: გამოქვეყნება
- list:
+ index:
title: მომხმარებლების დღიურები
title_friends: მეგობრების დღიურები
title_nearby: მეზობელი მომხმარებლების დღიურები
longitude: 'გრძედი:'
use_map_link: რუკაზე ჩვენება
save_button: შენახვა
- view:
+ show:
title: '%{user}-ის დღიური | %{title}'
user_title: '%{user}-ის დღიური'
leave_a_comment: დატოვეთ კომენტარი
rest_of_world: დანარჩენი მსოფლიო
no_such_user:
heading: მომხმარებელი %{user} არ არსებობს
- view:
+ show:
my diary: ჩემი დღიური
new diary entry: დღიურში ახალი ჩანაწერის გაკეთება
my edits: ჩემი რედაქტირება
remove_friend:
heading: წავშალო მეგობრებიდან %{user}?
button: მეგობრებიდან წაშლა
- list:
+ index:
title: მომხმარებლები
heading: მომხმარებლები
suspended:
user: Aseqdac
comment: Awennit
area: Tamnaḍt
- list:
+ index:
title: Agraw n usnifel
title_user: Igrawen n usnifel sɣur %{user}
title_friend: Igrawen n usnifel n imdukal-ik
new:
title: Anekcam amaynut n uɣmis
publish_button: Suffeɣ-d
- list:
+ index:
title: Iɣmisen n useqdac
title_friends: Iɣmisen n imdukal
title_nearby: Iɣmisen n iseqdacen iqeṛben
use_map_link: seqdec takarḍa
save_button: Sekles
marker_text: Adig n unekcam n uɣmis
- view:
+ show:
title: Aɣmis n %{user} | %{title}
user_title: Aɣmis n %{user}
leave_a_comment: Eǧǧ-d awennit
no_such_user:
title: Ulac aseqdac
deleted: yettwakkes
- view:
+ show:
my diary: Aɣmis-iw
new diary entry: anekcam amaynut n uɣmis
my edits: Tiẓrigin-iw
not_a_friend: '%{name} ur yelli ara d amdakkel.'
filter:
not_an_administrator: Teriḍ ad tiliḍ d anedbal akken ad teggeḍ tigawt-agi.
- list:
+ index:
title: Iseqdacen
heading: Iseqdacen
showing:
display_name: ឈ្មោះអេក្រង់ (Display name)
description: បរិយាយ
languages: ភាសា
- pass_crypt: á\9e\9bá\9f\81á\9e\81â\80\8bá\9e\9fá\9e\98á\9f\92á\9e\84á\9e¶á\9e\8fá\9f\8bâ\80\8b
+ pass_crypt: á\9e\96á\9e¶á\9e\80á\9f\92á\9e\99â\80\8bá\9e\9fá\9e\98á\9f\92á\9e\84á\9e¶á\9e\8fá\9f\8b
browse:
created: បានបង្កើត
closed: បានបិទ
deleted_by_html: បានលុបចោល <abbr title='%{title}'>%{time} មុន</abbr> ដោយ %{user}
edited_by_html: បានកែប្រែ <abbr title='%{title}'>%{time} មុន</abbr> ដោយ %{user}
closed_by_html: បានបិទ <abbr title='%{title}'>%{time} មុន</abbr> ដោយ %{user}
+ version: កំណែ
in_changeset: សំណុំបន្លាស់ប្ដូរ
anonymous: អនាមិក
no_comment: (គ្មានមតិយោបល់)
way_paginated: ផ្លូវចំនួន (%{x}-%{y} ក្នុងចំណោម %{count})
relation: ទំនាក់ទំនងចំនួន (%{count})
relation_paginated: ទំនាក់ទំនងចំនួន (%{x}-%{y} ក្នុងចំណោម %{count})
+ comment: មតិយោបល់ (%{count})
changesetxml: សំណុំបន្លាស់ប្ដូរ XML
feed:
title: សំណុំបន្លាស់ប្ដូរ %{id}
- title_comment: á\9e\9fá\9f\86á\9e\93á\9e»á\9f\86â\80\8bá\9e\94á\9f\86លាស់ប្តូរ %{id} - %{comment}
+ title_comment: á\9e\9fá\9f\86á\9e\8eá\9e»á\9f\86á\9e\94á\9e\93á\9f\92លាស់ប្តូរ %{id} - %{comment}
join_discussion: កត់ឈ្មោះចូលដើម្បីចូលរួមពិភាក្សា
+ discussion: ការពិភាក្សា
node:
title: ខ្នែង៖ %{name}
history_title: ប្រវត្តិខ្នែង៖ %{name}
user: អ្នកប្រើប្រាស់
comment: មតិយោបល់
area: តំបន់
- list:
+ index:
title: សំណុំបន្លាស់ប្ដូរ
title_user: សំនុំបំលាស់ប្តូរ ដោយ %{user}
title_friend: សំណុំបន្លាស់ប្ដូរដោយមិត្តភក្ដិខ្ញុំ
new:
title: ប្រកាសកំណត់ហេតុថ្មី
publish_button: បោះផ្សាយ
- list:
+ index:
title: កំណត់ហេតុរបស់អ្នកប្រើប្រាស់
title_friends: កំណត់ហេតុរបស់មិត្តភក្ដិ
title_nearby: កំណត់ហេតុរបស់អ្នកប្រើប្រាស់នៅក្បែរៗ
use_map_link: ប្រើផែនទី
save_button: រក្សាទុក
marker_text: ទីតាំងប្រកាសន៍កំណត់ហេតុ
- view:
+ show:
title: កំណត់ហេតុរបស់ %{user} | %{title}
user_title: កំណត់ហេតុរបស់ %{user}
leave_a_comment: បញ្ចេញមតិយោបល់
geonames: លទ្ធផលពី <a href="http://www.geonames.org/">GeoNames</a>
search_osm_nominatim:
prefix:
+ aerialway:
+ cable_car: ឡានយោង
+ chair_lift: កៅអីយោង
+ pylon: ប៉មខ្សែភ្លើង
amenity:
arts_centre: មជ្ឍមណ្ឌលសិល្បៈ
atm: ATM
motorway_link: ផ្លូវល្បឿនលឿន
rest_area: កន្លែងសម្រាក
road: ផ្លូវ
+ steps: ជណ្ដើរ
stop: ផ្លាកសញ្ញាឈប់
street_lamp: ភ្លើងបំភ្លឺផ្លូវ
traffic_signals: ភ្លើងសញ្ញាចរាចរណ៍
vineyard: ចំការទំពាំងបាយជូរ
leisure:
beach_resort: ឆ្នេរកំសាន្ត
+ bird_hide: ខ្ទមមើលបក្សី
common: ដីរួម
+ firepit: ចង្ក្រាន
fishing: តំបន់ស្ទូចត្រី
fitness_centre: មណ្ឌលហាត់ប្រាណ
fitness_station: ស្ថានីយ៍ហាត់ប្រាណ
stadium: កីឡាដ្ឋាន
swimming_pool: អាងហែលទឹក
water_park: ឧទ្យានទឹក
+ man_made:
+ bridge: ស្ពាន
+ bunker_silo: ត្រង់សេ
+ chimney: បំពង់ផ្សែង
+ dyke: ទំនប់
+ flagpole: បង្គោលទង់ជាតិ
+ kiln: ឡ
+ petroleum_well: អណ្ដូងប្រេង
+ wastewater_plant: ស្ថានីយ៍សម្អាតទឹក
+ water_tower: ប៉មទឹក
+ water_well: អណ្ដូង
military:
airfield: មូលដ្ឋានទ័ពអាកាស
+ bunker: ត្រង់សេ
+ "yes": មូលដ្ឋានយោធា
+ mountain_pass:
+ "yes": ផ្លូវភ្នំ
natural:
bay: ឆកសមុទ្រ
beach: ឆ្នេរខ្សាច់
cliff: ជ្រោះ
crater: មាត់ភ្នំភ្លើង
dune: ភ្នំខ្សាច់
+ forest: ព្រៃ
hill: កូនភ្នំ
island: កោះ
land: ដី
mud: ភក់
peak: កំពូល
point: ចំនុច
+ spring: ទឹកផុស
strait: ដៃសមុទ្រ
tree: ដើមឈើ
valley: ជ្រលងភ្នំ
insurance: ការិយាល័យធានារ៉ាប់រង
it: ការិយាល័យព័តមានវិទ្យា
lawyer: មេធាវី
- ngo: ការិយាល័យ NGO
+ ngo: ការិយាល័យអង្គការ
telecommunication: ការិយាល័យទូរគមនាគមន៍
travel_agent: ភ្នាក់ងារទេសចរណ៍
"yes": ការិយាល័យ
gallery: វិចិត្រសាល
gift: ហាងវត្ថុអនុស្សាវរីយ៍
greengrocer: ហាងបន្លែនិងផ្លែឈើ
+ grocery: ហាងចំណីអាហារ
hairdresser: ហាងកាត់សក់និងអ៊ុតសក់
jewelry: ហាងលក់គ្រឿងអល័ង្ការ
laundry: ហាងបោកអ៊ុត
+ market: ផ្សារ
massage: ហាងម៉ាស្សា
mobile_phone: ហាងទូរស័ព្ទ
motorcycle: ហាងទោចក្រយានយន្ត
music: ហាងតន្ត្រី
newsagent: ហាងកាសែត
optician: ហាងវ៉ែនតា
+ pawnbroker: ហាងបញ្ចាំ
+ pet: ហាងសត្វចិញ្ចឹម
+ pharmacy: ឱសថស្ថាន
+ photo: ហាងថតរូប
+ seafood: ហាងគ្រឿងសមុទ្រ
+ second_hand: ហាងជជុះ
+ shoes: ហាងស្បែកជើង
+ sports: ហាងសម្ភារៈកីឡា
+ stationery: បណ្ណាគារ
+ supermarket: ផ្សារទំនើប
+ tailor: ហាងកាត់ដេរ
+ ticket: ហាងសំបុត្រ
+ tobacco: ហាងបារី
+ travel_agency: ភ្នាក់ងារទេសចរណ៍
+ tyres: ហាងកង់ឡាន
tourism:
camp_site: កន្លែងបោះតង់
caravan_site: កន្លែងចតឡានបោះតង់
+ guest_house: ផ្ទះសំណាក់
+ hostel: ផ្ទះសំណាក់
+ hotel: សណ្ឋាគារ
+ museum: សារមន្ទីរ
+ zoo: សួនសត្វ
+ waterway:
+ canal: ព្រែកជីក
description:
types:
cities: ក្រុង
france: ប្រទេសបារាំង
italy: ប្រទេសអ៊ីតាលី
rest_of_world: ប្រទេសផ្សេងទៀត
- view:
+ show:
my edits: កំណែប្រែរបស់ខ្ញុំ
edits: កំណែប្រែ
remove as friend: ដកចេញជាមិត្ត
user: ಬಳಕೆದಾರ
comment: ಟಿಪ್ಪಣಿ
area: ಪ್ರದೇಶ
- list:
+ index:
title: ಬದಲಾವಣೆಗಳು
title_user: ' %{user}ಅವರಿಂದಾದ ಬದಲಾವಣೆಗಳು'
title_friend: ನಿಮ್ಮ ಗೆಳೆಯರಿಂದಾದ ಬದಲಾವಣೆಗಳು
new:
title: ದಿನಚರಿಯಲ್ಲಿ ಹೊಸದಾದ ದಾಖಲೆ
publish_button: ಪ್ರಕಟಿಸು
- list:
+ index:
title: ಬಳಕೆದಾರರ ದಿನಚರಿ
title_friends: ಗೆಳೆಯರ ದಿನಚರಿ
title_nearby: ಹತ್ತಿರದ ಬಳಕೆದಾರರ ದಿನಚರಿ
use_map_link: ನಕ್ಷೆ ಬಳಸು
save_button: ಉಳಿಸಿ
marker_text: ದಿನಚರಿ ದಾಖಲೆಯ ಸ್ಥಳ
- view:
+ show:
title: '%{user}ಅವರ ದಿನಚರಿ | %{title}'
user_title: '%{user}ಅವರ ದಿನಚರಿ'
leave_a_comment: ಟಿಪ್ಪಣಿ ನೀಡಿರಿ
user: 사용자
comment: 댓글
area: 구역
- list:
+ index:
title: 바뀜집합
title_user: '%{user}님의 바뀜집합'
title_friend: 내 친구의 바뀜집합
new:
title: 새 일기 항목
publish_button: 발행
- list:
+ index:
title: 사용자의 일기
title_friends: 친구의 일기
title_nearby: 근처 사용자의 일기
use_map_link: 지도 사용
save_button: 저장
marker_text: 일기 항목 위치
- view:
+ show:
title: '%{user}의 일기 | %{title}'
user_title: '%{user}의 일기'
leave_a_comment: 댓글 남기기
heading: '%{user} 사용자는 존재하지 않습니다'
body: 죄송합니다, %{user} 이름으로 된 사용자가 없습니다. 맞춤법이나 클릭한 링크가 잘못됐는지 확인하세요.
deleted: 삭제됨
- view:
+ show:
my diary: 내 일기
new diary entry: 새 일기 항목
my edits: 내 편집
not_a_friend: '%{name}님은 친구 중 하나가 아닙니다.'
filter:
not_an_administrator: 해당 동작을 수행하려면 관리자 권한이 필요합니다.
- list:
+ index:
title: 사용자
heading: 사용자
showing:
user: Bikarhêner
comment: Şîrove
area: Herêm
- list:
+ index:
title: Desteya guhertinan
title_user: Desteyên guhertinan yên ji alî %{user} ve
title_friend: Desteyên guhertinan yên ji aliyê hevalên te ve
new:
title: Nivîsa nû yê rojane
publish_button: Biweșîne
- list:
+ index:
title: Rojnivîskên bikarhêneran
title_friends: Rojnivîskên hevalan
title_nearby: Rojnivîskên Bikarhênerên nêzîk
use_map_link: nexşeyê bikarbîne
save_button: Tomar bike
marker_text: Cihê nivîsên rojane
- view:
+ show:
title: Rojnivîska %{user} | %{title}
user_title: Nivîsên rojane yên %{user}
leave_a_comment: Şiroveyeke binivîse
body: Bibore, bikarhênerek bi navê %{user} tine. Xêra xwe kontrol bike ka te
rast nivîsandiye an na. Yan jî dibe ku lînkê te tikandiye nerast be.
deleted: hate jêbirin
- view:
+ show:
my diary: Rojnivîska min
new diary entry: nivîsa nû yê rojane
my edits: Guhertinên min
not_a_friend: '%{name} ne hevalê te ye.'
filter:
not_an_administrator: Ji bo ku tu vê kiryarê bikî divê tu bibî rêvebirek.
- list:
+ index:
title: Bikarhêner
heading: Bikarhêner
showing:
user: Benotzer
comment: Bemierkung
area: Beräich
- list:
+ index:
title: Sette vun Ännerungen
title_user: Sete vun Ännerunge vum %{user}
title_friend: Ännerunge vun Äre Frënn
diary_entry:
new:
publish_button: Verëffentlechen
- list:
+ index:
title: Blogge vun de Benotzer
user_title: Blog vum %{user}
edit:
longitude: 'Längtegrad:'
use_map_link: Kaart benotzen
save_button: Späicheren
- view:
+ show:
leave_a_comment: Eng Bemierkung maachen
login_to_leave_a_comment: '%{login_link} fir eng Bemierkung ze schreiwen'
login: Aloggen
title: Sou e Benotzer gëtt et net
heading: De Benotzer %{user} gëtt et net
deleted: geläscht
- view:
+ show:
my diary: Mäi Blog
my edits: Meng Ännerungen
my notes: Meng Notizen
filter:
not_an_administrator: Dir musst Administrateur si fir déi Aktioun maachen ze
kënnen.
- list:
+ index:
title: Benotzer
heading: Benotzer
confirm: Erausgesicht Benotzer confirméieren
user: Naudotojas
comment: Komentaras
area: Plotas
- list:
+ index:
title: Pakeitimai
title_user: Naudotojo %{user} pakeitimai
title_friend: Mano draugų pakeitimai
new:
title: Naujas dienoraščio įrašas
publish_button: Publikuoti
- list:
+ index:
title: Naudotojo dienoraščiai
title_friends: Draugų dienoraščiai
title_nearby: Netoliese esančių naudotojų dienoraščiai
use_map_link: naudoti žemėlapį
save_button: Įrašyti
marker_text: Dienoraščio įrašo pozicija
- view:
+ show:
title: '%{user} dienoraštis | %{title}'
user_title: '%{user} dienoraštis'
leave_a_comment: Palikti komentarą
body: Atsiprašome, bet čia nėra jokio naudotojo vardu „%{user}“. Pasitikrinkite
rašybą, arba nuoroda, kurią jūs paspaudėte yra klaidinga.
deleted: ištrinta
- view:
+ show:
my diary: Mano dienoraštis
new diary entry: naujas dienoraščio įrašas
my edits: Mano keitimai
not_a_friend: '%{name} nėra jūsų draugas.'
filter:
not_an_administrator: Norėdami atlikti šį veiksmą, turite būti administratoriumi.
- list:
+ index:
title: Naudotojai
heading: Naudotojai
showing:
user: Lietotājs
comment: Komentārs
area: Apgabals
- list:
+ index:
title: Izmaiņu kopas
title_user: Lietotāja %{user} izmaiņu kopas
title_friend: Tavu draugu izmaiņu kopas
new:
title: Jauns dienasgrāmatas ieraksts
publish_button: Publicēt
- list:
+ index:
title: Lietotāju dienasgrāmatas
title_friends: Draugu dienasgrāmatas
title_nearby: Tuvumā esošu lietotāju dienasgrāmatas
use_map_link: izmantot karti
save_button: Saglabāt
marker_text: Dienasgrāmatas ieraksta atrašanās vieta
- view:
+ show:
title: '%{user} dienasgrāmata | %{title}'
user_title: '%{user} dienasgrāmata'
leave_a_comment: Ierakstīt komentāru
body: Atvaino, nav lietotāja ar lietotājvārdu %{user}. Lūdzu pārbaudi pareizrakstību,
vai varbūt saite, uz kuras Tu uzspiedi, ir nepareiza.
deleted: dzēsts
- view:
+ show:
my diary: Mana dienasgrāmata
new diary entry: jauns dienasgrāmatas ieraksts
my edits: Mani labojumi
not_a_friend: '%{name} nav no jūsu draugs.'
filter:
not_an_administrator: Jums jābūt administratoram, lai veiktu šo darbību.
- list:
+ index:
title: Lietotāji
heading: Lietotāji
showing:
user: Корисник
comment: Коментар
area: Површина
- list:
+ index:
title: Измени
title_user: Измени на %{user}
title_friend: Измени на мои пријатели
new:
title: Нова дневничка ставка
publish_button: Објави
- list:
+ index:
title: Дневници на корисници
title_friends: Дневници на пријателите
title_nearby: Дневници на соседните корисници
use_map_link: покажи на карта
save_button: Зачувај
marker_text: Место на дневничкиот запис
- view:
+ show:
title: Дневникот на %{user} | %{title}
user_title: дневник на %{user}
leave_a_comment: Пиши коментар
body: Жалиме, но не постои корисник по име %{user}. Проверете да не сте згрешиле
во пишувањето, или пак да не сте стиснале на погрешна врска.
deleted: избришан
- view:
+ show:
my diary: Мојот дневник
new diary entry: нова ставка во дневникот
my edits: Мои уредувања
not_a_friend: '%{name} не е меѓу вашите пријатели.'
filter:
not_an_administrator: За да го изведете тоа, треба да сте администратор.
- list:
+ index:
title: Корисници
heading: Корисници
showing:
location: 'Ситуаре:'
latitude: 'Латитудине:'
longitude: 'Лонӂитудине:'
- view:
+ show:
login: Ынтраря ын конт
diary_entry:
confirm: Конфирмаре
heading: Аць уйтат парола?
email address: 'Адреса де поштэ електроникэ:'
new password button: Рестабилиря паролей
+ show:
+ my diary: Журналул меу
+ my messages: Месажеле меле
+ my profile: Профилул меу
+ my settings: Реглажеле меле
+ my comments: Коментарииле меле
+ my friends: Приетений мей
+ account:
+ my settings: Реглажеле меле
...
user: सदस्य
comment: अभिप्राय
area: क्षेत्र
- list:
+ index:
title: बदलसंच
title_user: '%{user}चे बदलसंच'
title_friend: आपल्या मित्रांचे बदलसंच
diary_entry:
new:
title: अनुदिनीत नवी नोंद
- list:
+ index:
title: सदस्यांच्या अनुदिनी
title_friends: मित्रांच्या अनुदिनी
title_nearby: जवळपासच्या सदस्यांच्या अनुदिनी
use_map_link: नकाशा वापरा
save_button: जतन करा
marker_text: रोजनिशीतील नोंदीचे ठिकाण
- view:
+ show:
title: '%{user}ची रोजनिशी | %{title}'
user_title: '%{user}ची रोजनिशी'
leave_a_comment: टिप्पणी टाका
heading: सदस्य %{user} अस्तित्वात नाही
body: क्षमा असावी, %{user} नामक सदस्य अस्तित्वात नाही. कृपया आपले वर्णलेखन तपासा,
किंवा कदाचित आपण चुकीच्या दुव्यावर टिचकी दिली असेल.
- view:
+ show:
my diary: माझी अनुदिनी
new diary entry: अनुदिनीत नवी नोंद
my edits: माझी संपादने
टिचकी मारा</a>.
confirm_resend:
failure: सदस्य %{name} सापडला नाही.
- list:
+ index:
title: सदस्य
heading: सदस्य
showing:
user: Pengguna
comment: Komen
area: Kawasan
- list:
+ index:
title: Set Ubah
title_user: Set Ubah oleh %{user}
title_friend: Set ubah oleh kawan anda
new:
title: Catatan Diari Baru
publish_button: Terbitkan
- list:
+ index:
title: Diari pengguna
title_friends: Diari kawan
title_nearby: Diari pengguna berdekatan
use_map_link: gunakan peta
save_button: Simpan
marker_text: Lokasi catatan diari
- view:
+ show:
title: Diari %{user} | %{title}
user_title: Diari %{user}
leave_a_comment: Tinggalkan komen
heading: Pengguna %{user} tidak wujud
body: Maaf, tiada pengguna dengan nama %{user}. Sila semak ejaan anda, atau
mungkin pautan yang anda klik itu tidak betul.
- view:
+ show:
my diary: Diari Saya
new diary entry: catatan diari baru
my edits: Suntingan Saya
filter:
not_an_administrator: Anda perlu menjadi pentadbir untuk melakukan tindakan
itu.
- list:
+ index:
title: Pengguna
heading: Pengguna
showing:
# Author: Laaknor
# Author: Macofe
# Author: MarkusHD
+# Author: Mathias-S
# Author: Nemo bis
# Author: Nghtwlkr
# Author: Oyvind
user: Bruker
comment: Kommentar
area: Område
- list:
+ index:
title: Endringssett
title_user: Endringssett av %{user}
title_friend: Endringssett fra mine venner
new:
title: Ny dagbokoppføring
publish_button: Publiser
- list:
+ index:
title: Brukernes dagbøker
title_friends: Dagbøkene til vennene dine
title_nearby: Dagbøkene til nærliggende brukere
use_map_link: bruk kart
save_button: Lagre
marker_text: Lokalisasjonen for dagbokoppføring
- view:
+ show:
title: '%{user} sin dagbok | %{title}'
user_title: Dagboken til %{user}
leave_a_comment: Legg igjen en kommentar
not_just_mistake: Du er sikker på at problemet ikke er basert på en misforståelse
unable_to_fix: Du er ikke i stand til å fikse problemet selv eller med hjelp
fra dine kolleger
+ resolve_with_user: Du har allerede prøvd å løse problemet med berørt bruker
+ categories:
+ diary_entry:
+ spam_label: Dette dagbokinnlegget er/inneholder spam
+ offensive_label: Dette dagbokinnlegget er uanstendig
+ threat_label: Dette dagbokinnlegget inneholder en trussel
+ other_label: Annet
+ diary_comment:
+ spam_label: Denne dagbokkommentaren er/inneholder spam
+ offensive_label: Denne dagbokkommentaren er uanstendig
+ threat_label: Denne dagbokkommenataren inneholder en trussel
+ other_label: Annet
+ user:
+ spam_label: Denne brukerprofilen er/inneholder spam
+ offensive_label: Denne brukerprofilen er uanstendig
+ threat_label: Denne brukerprofilen inneholder en trussel
+ vandal_label: Denne brukeren er en vandal
+ other_label: Annet
+ note:
+ spam_label: Dette notatet er spam
+ personal_label: Dette notatet inneholder personlige data
+ abusive_label: Dette notatet er krenkende
+ other_label: Annet
+ create:
+ successful_report: Din rapport har blitt vellykket registrert
+ provide_details: Vær vennlig å angi de påkrevde detaljer
layouts:
project_name:
title: OpenStreetMap
edit: Rediger
history: Historikk
export: Eksporter
+ issues: Problemer
data: Data
export_data: Eksporter data
gps_traces: GPS-spor
(<a href="http://www.and.com">www.and.com</a>)
contributors_nz_html: |-
<strong>New Zealand</strong>: Inneholder data hentet fra
- Land Information New Zealand. Crown Copyright reservert.
+ <a href="https://data.linz.govt.nz/">LINZ Data Service</a> og
+ lisensiert for gjenbruk under
+ <a href="https://creativecommons.org/licenses/by/4.0/">CC BY 4.0</a>.
contributors_si_html: |-
<strong>Slovenia</strong>: Inneholder data fra
<a href="http://www.gu.gov.si/en/">Geologisk undersøkelse og kartmyndighet</a> and
Du kan gjøre dine redigeringer offentlige fra din %{user_page}.
user_page_link: brukerside
anon_edits_link_text: Finn ut hvorfor dette er tilfellet.
- flash_player_required: Du trenger en Flash-spiller for å kunne bruke Potlatch,
- Flasheditoren for OpenStreetMap. Du kan <a href="http://www.adobe.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">laste
- ned Flash Player fra Adobe.com</a>. <a href="http://wiki.openstreetmap.org/wiki/Editing">Flere
- andre alternativ</a> er også tilgjengelig for redigering av OpenStreetMap.
+ flash_player_required: Du trenger en Flash-spiller for å kunne bruke Potlatch
+ som er Flasheditoren for OpenStreetMap. Du kan <a href="https://get.adobe.com/flashplayer">laste
+ ned Flash Player fra Adobe.com</a>. <a href="https://wiki.openstreetmap.org/wiki/Editing">Det
+ finnes flere alternativer</a> for å redigere OpenStreetMap.
potlatch_unsaved_changes: Du har ulagrede endringer. (For å lagre i Potlatch,
må du fjerne markeringen av gjeldende vei eller punkt hvis du redigerer i
live-modues eller klikke lagre hvis du har en lagreknapp.)
- potlatch2_not_configured: Potlatch 2 har ikke blitt konfigurert - se http://wiki.openstreetmap.org/wiki/The_Rails_Port
+ potlatch2_not_configured: Potlatch 2 har ikke blitt konfigurert - se https://wiki.openstreetmap.org/wiki/The_Rails_Port#Potlatch_2
+ for mer informasjon
potlatch2_unsaved_changes: Du har endringer som ikke er lagret. (For å lagre
i Potlatch 2, må du klikke lagre.)
id_not_configured: iD er ikke satt opp
where_am_i: Hvor er dette?
where_am_i_title: Bruke søkemotoren til å beskrive gjeldende lokasjon.
submit_text: Gå
+ reverse_directions_text: Motsatte retninger
key:
table:
entry:
edit: Rediger
preview: Forhåndsvisning
markdown_help:
- title_html: Tolket med <a href="http://daringfireball.net/projects/markdown/">Markdown</a>
+ title_html: Tolket med <a href="https://daringfireball.net/projects/markdown/">Markdown</a>
headings: Overskrifter
heading: Overskrift
subheading: Underoverskrift
tags_help: kommaseparert
visibility: 'Synlighet:'
visibility_help: hva betyr dette?
+ visibility_help_url: https://wiki.openstreetmap.org/wiki/Visibility_of_GPS_traces
upload_button: Last opp
help: Hjelp
+ help_url: https://wiki.openstreetmap.org/wiki/Upload
create:
upload_trace: Last opp GPS-spor
trace_uploaded: Din GPX-fil er lastet opp og venter på å bli satt inn i databasen.
Dette skjer vanligvis innen en halvtime og en e-post blir sendt til deg når
det er gjort.
+ upload_failed: Beklager, GPX-opplastingen mislyktes. En administrator har blitt
+ varslet om feilen. Prøv på nytt
traces_waiting:
one: Du har %{count} spor som venter på opplasting. Du bør vurdere å la dette
bli ferdig før du laster opp flere spor slik at du ikke blokkerer køa for
save_button: Lagre endringer
visibility: 'Synlighet:'
visibility_help: hva betyr dette?
+ update:
+ updated: Sporet ble oppdatert
trace_optionals:
tags: Merkelapper
show:
delete_trace: Slett dette sporet
trace_not_found: Sporet ble ikke funnet!
visibility: 'Synlighet:'
+ confirm_delete: Slett dette sporet?
trace_paging_nav:
showing_page: Side %{page}
older: Eldre spor
eller lær å lage GPS-spor på <a href='http://wiki.openstreetmap.org/wiki/Beginners_Guide_1.2'>wiki-siden</a>.
upload_trace: Last opp et GPS-spor
see_all_traces: Se alle spor
+ see_my_traces: Se alle mine spor
delete:
scheduled_for_deletion: Spor planlagt slettet
make_public:
require_cookies:
cookies_needed: Du ser ut til å ha deaktivert informasjonskapsler. Aktiver informasjonskapsler
i nettleseren din før du fortsetter.
+ require_admin:
+ not_an_admin: Du må være administrator for å kunne utføre denne handlingen.
require_moderator:
not_a_moderator: Du må være en moderator for å utføre den handlinga.
+ require_moderator_or_admin:
+ not_a_moderator_or_admin: Du må være en moderator for kunne å utføre den handlingen.
setup_user_auth:
blocked_zero_hour: Du har en viktig beskjed på OpenStreetMap-nettsida. Du må
lese beskjeden før du vil kunne lagre redigeringene dine.
html: |-
<p>I motsetning til andre kart, er OpenStreetMap laget av folk som deg, og det er fritt for alle å rette, oppdatere, laste ned og bruke kartet.</p>
<p>Registrer deg for å komme i gang med å bidra. Vi vil sende en e-mail for å bekrefte din konto.</p>
- license_agreement: Når du bekrefter kontoen din må du godkjenne <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">bidragsytervilkårene</a>.
+ license_agreement: Når du bekrefter kontoen din må du godkjenne <a href="https://www.osmfoundation.org/wiki/License/Contributor_Terms">betingelsene
+ for bidragsytere</a>.
email address: 'E-postadresse:'
confirm email address: 'Bekreft e-postadresse:'
- not displayed publicly: Adressa di vises ikke offentlig, se <a href="http://wiki.openstreetmap.org/wiki/Privacy_Policy"
- title="Personvernpolitikk for Wiki-en inklusiv avsnitt om e-postadressser">vår
+ not displayed publicly: Adressen din vises ikke offentlig, se <a href="https://wiki.openstreetmap.org/wiki/Privacy_Policy"
+ title="OSMF personvernpolitikk for wiki-en, inklusive avsnitt om e-postadressser">vår
personvernpolitikk</a> for mer informasjon.
display name: 'Visningsnavn:'
display name description: Ditt offentlig fremviste brukernavn. Du kan endre
body: Det er ingen bruker med navnet %{user}. Sjekk om du har skrevet navnet
feil eller om lenka du klikket er feil.
deleted: slettet
- view:
+ show:
my diary: Min dagbok
new diary entry: ny dagbokoppføring
my edits: Mine redigeringer
friends_diaries: venners dagbokoppføringer
nearby_changesets: endringssett av brukere i nærheten
nearby_diaries: dagbokoppføringer av brukere i nærheten
+ report: Rapporter denne brukeren
popup:
your location: Din posisjon
nearby mapper: Bruker i nærheten
email never displayed publicly: ' (vises aldri offentlig)'
external auth: 'Ekstern bekreftelse:'
openid:
- link: http://wiki.openstreetmap.org/wiki/OpenID
+ link: https://wiki.openstreetmap.org/wiki/OpenID
link text: hva er dette?
public editing:
heading: 'Offentlig redigering:'
enabled: Aktivert. Ikke anonym og kan redigere data.
- enabled link: http://wiki.openstreetmap.org/wiki/Anonymous_edits
+ enabled link: https://wiki.openstreetmap.org/wiki/Anonymous_edits
enabled link text: hva er dette?
disabled: Deaktivert og kan ikke redigere data. Alle tidligere redigeringer
er anonyme.
deg meldinger eller se posisjonen din. For å vise hva du redigerte og tillate
folk å kontakte deg gjennom nettsiden, klikk på knappen nedenfor. <b>Siden
overgangen til 0.6 API-et, kan kun offentlige brukere redigere kartdata.</b>
- ( <a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">Finn ut hvorfor</a>
- ). <ul><li> Din e-postadresse vil ikke bli avslørt ved å bli offentlig.
- </li><li> Denne handlingen kan ikke angres, og alle nye brukere er nå offentlige
- som standard. </li></ul>
+ (<a href="http://wiki.openstreetmap.org/wiki/Anonymous_edits">Finn ut hvorfor</a>
+ ). <ul><li>Din e-postadresse vil ikke bli avslørt ved å bli offentlig.</li><li>Denne
+ handlingen kan ikke angres, og alle nye brukere er nå offentlige som standard.</li></ul>
contributor terms:
heading: 'Bidragsytervilkår:'
agreed: Du har godkjent de nye Bidragsytervilkårene.
not_a_friend: '%{name} er ikke en av dine venner.'
filter:
not_an_administrator: Du må være administrator for å gjøre det.
- list:
+ index:
title: Brukere
heading: Brukere
showing:
edit_help: Flytt kartet og forstørr utvalg til et sted du vil redigere, og klikk
så her.
directions:
- ascend: Tiltagende
+ ascend: Stigning
engines:
graphhopper_bicycle: Sykkel (GraphHopper)
graphhopper_car: Bil (GraphHopper)
mapquest_car: Bil (MapQuest)
mapquest_foot: Til fots (MapQuest)
osrm_car: Bil (OSRM)
- descend: Avtagende
+ descend: Fall
directions: Veianvisninger
distance: Avstand
errors:
no_route: Kunne ikke finne veien mellom de to stedene.
- no_place: Beklager - kunne ikke finne det stedet.
+ no_place: Fant ikke '%{place}'.
instructions:
continue_without_exit: Fortsett på %{name}
slight_right_without_exit: Slak høyre inn på %{name}
+ offramp_right: Ta rampen til høyre
+ offramp_right_with_exit: Ta avkjøringen %{exit} til høyre
+ offramp_right_with_exit_name: '%{exit}Ta avkjøringen %{exit} til høyre inn
+ på %{name}'
+ offramp_right_with_exit_directions: Ta avkjøringen %{exit} til høyre mot %{directions}
+ offramp_right_with_exit_name_directions: Ta avkjøringen %{exit} til høyre
+ inn på %{name}, mot %{directions}
offramp_right_with_name: Ta rampen til høyre til %{name}
+ offramp_right_with_directions: Ta rampen til høyre mot %{directions}
+ offramp_right_with_name_directions: Ta rampen til høyre inn på %{name}, mot
+ %{directions}
onramp_right_without_exit: Ta til høyre til rampen til %{name}
+ onramp_right_with_directions: Kjør til høyre inn på rampen mot %{directions}
+ onramp_right_with_name_directions: Kjør til høyre på rampen inn på %{name},
+ mot %{directions}
+ onramp_right_without_directions: Ta til høyre inn på rampen
+ onramp_right: Ta til høyre inn på rampen
endofroad_right_without_exit: Ved slutten av veien, ta til høyre inn på %{name}
merge_right_without_exit: Flett til høyre til %{name}
fork_right_without_exit: Ved veiskillet, ta til høyre inn på %{name}
uturn_without_exit: Helomvending på %{name}
sharp_left_without_exit: Skarp venstresving inn på %{name}
turn_left_without_exit: Ta til venstre inn på %{name}
+ offramp_left: Ta rampen til venstre
+ offramp_left_with_exit: Ta avkjøring %{exit} til venstre
+ offramp_left_with_exit_name: Ta avkjøring %{exit} til venstre inn på %{name}
+ offramp_left_with_exit_directions: Ta avkjøring %{exit} til venstre mot %{directions}
+ offramp_left_with_exit_name_directions: Ta avkjøring %{exit} til venstre inn
+ på %{name}, mot %{directions}
offramp_left_with_name: Ta rampen til venstre til %{name}
+ offramp_left_with_directions: Ta rampen til venstre mot %{directions}
+ offramp_left_with_name_directions: Ta rampen til venstre inn på %{name}, mot
+ %{directions}
onramp_left_without_exit: Ta til venstre til rampen til %{name}
+ onramp_left_with_directions: Kjør til venstre inn på rampen mot %{directions}
+ onramp_left_with_name_directions: Sving til venstre på rampen inn på %{name},
+ mot %{directions}
+ onramp_left_without_directions: Kjør til venstre inn på rampen
+ onramp_left: Sving til venstre inn på rampen
endofroad_left_without_exit: Ved slutten av veien, ta til venstre inn på %{name}
merge_left_without_exit: Flett til venstre til %{name}
fork_left_without_exit: Ved veiskillet, ta til venstre inn på %{name}
slight_left_without_exit: Slak venstre inn på %{name}
via_point_without_exit: (via punkt)
follow_without_exit: Følg %{name}
- roundabout_without_exit: Ved rundkjøringen, ta til %{name}
+ roundabout_without_exit: Ved rundkjøringen, ta av til %{name}
leave_roundabout_without_exit: Forlat rundkjøringen - %{name}
stay_roundabout_without_exit: Bli i rundkjøringen - %{name}
- start_without_exit: Begynn ved slutten av %{name}
+ start_without_exit: Start på %{name}
destination_without_exit: Nå mål
against_oneway_without_exit: Kjør mot enveiskjøring på %{name}
end_oneway_without_exit: Slutt på enveiskjøring på %{name}
roundabout_with_exit: Ved rundkjøring, ta utvei %{exit} mot %{name}
+ roundabout_with_exit_ordinal: Ved rundkjøring, ta utvei %{exit} inn på %{name}
+ exit_roundabout: Kjør ut av rundkjøringen inn på %{name}
unnamed: ikke navngitt
courtesy: Veianvisninger gitt av %{link}
+ exit_counts:
+ first: første
+ second: andre
+ third: tredje
+ fourth: fjerde
+ fifth: femte
+ sixth: sjette
+ seventh: syvende
+ eighth: åttende
+ ninth: niende
+ tenth: tiende
time: Tid
query:
node: Node
diary_entry:
new:
title: Ne’en Dagbook-Indrag
- list:
+ index:
title: Bruker-Dagböker
user_title: '%{user} sien Dagbook'
in_language_title: Dagbook-Indrääg op %{language}
use_map_link: Koort bruken
save_button: Spiekern
marker_text: Oort von’n Indrag
- view:
+ show:
title: Bruker-Dagbook | %{user}
user_title: '%{user} sien Dagbook'
leave_a_comment: Kommentar schrieven
title: Naricht sennen
send_button: Versennen
back_to_inbox: Trüch na’t Postfack Ingang
+ create:
message_sent: Naricht afsennt
outbox:
title: Postfack Utgang
save_button: Ännern spiekern
visibility: 'Sichtborkeit:'
visibility_help: wat bedüüdt dat?
- view:
+ show:
filename: 'Dateinaam:'
download: dalladen
map: Koort
no_such_user:
title: Bruker nich funnen
heading: Den Bruker %{user} gifft dat nich
- view:
+ show:
my diary: mien Dagbook
new diary entry: Nee Dagbook-Indrag
my edits: mien Ännern
user: प्रयोगकर्ता
comment: टिप्पणी
area: क्षेत्र
- list:
+ index:
title: चेन्जसेटहरू
title_user: '%{user}द्वरा गरिएका परिवर्तनहरू'
title_friend: तपाईंको मित्रहरूद्वारा गरिएका परिवर्तनहरू
new:
title: नयाँ दैनिकी
publish_button: प्रकाशन गर्नुहोस्
- list:
+ index:
title: प्रयोगकर्ताका डायरीहरू
title_friends: साथीहरूका डायरीहरू
title_nearby: नजिकका प्रयोगकर्ताहरूका डायरीहरू
use_map_link: नक्सा प्रयोगर्ने
save_button: सङ्ग्रह गर्नुहोस्
marker_text: दैनिकी प्रविष्ठी स्थान
- view:
+ show:
title: '%{user}को डायरी | %{title}'
user_title: '%{user}को डायरी'
leave_a_comment: टिप्पणी छोड्ने
italy: इटाली
no_such_user:
deleted: मेटाइयो
- view:
+ show:
my diary: मेरो डायरी
new diary entry: नयाँ दैनिकी प्रविष्टी
my edits: मेरा सम्पादनहरू
button: साथीबाट हटाउने
filter:
not_an_administrator: यो कार्य गर्न तपाईं प्रबन्धक हुनुपर्छ .
- list:
+ index:
title: प्रयोगकर्ताहरू
heading: प्रयोगकर्ताहरू
user_role:
user: Gebruiker
comment: Opmerking
area: Gebied
- list:
+ index:
title: Wijzigingensets
title_user: Wijzigingensets door %{user}
title_friend: Wijzigingensets van uw vrienden
new:
title: Nieuw dagboekbericht
publish_button: Publiceren
- list:
+ index:
title: Gebruikersdagboeken
title_friends: Dagboeken van vrienden
title_nearby: Dagboeken van gebruikers in de buurt
user_title: Dagboek van %{user}
in_language_title: Dagboekberichten in het %{language}
new: Nieuw dagboekbericht
- new_title: Nieuw bericht in uw dagboek schrijven
+ new_title: Nieuw bericht in mijn dagboek schrijven
no_entries: Het dagboek is leeg
recent_entries: Recente dagboekberichten
older_entries: Oudere berichten
use_map_link: kaart gebruiken
save_button: Opslaan
marker_text: Locatie van bericht
- view:
+ show:
title: Dagboek van %{user} | %{title}
user_title: Dagboek van %{user}
leave_a_comment: Reactie achterlaten
place:
allotments: Volkstuinen
city: Plaats
+ city_block: Woonblok
country: Land
county: District
farm: Boerderij
body: Er is geen gebruiker met de naam %{user}. Controleer de spelling, of misschien
is de koppeling waarop u hebt geklikt onjuist.
deleted: verwijderd
- view:
+ show:
my diary: Dagboek
new diary entry: nieuw dagboekbericht
my edits: Bewerkingen
filter:
not_an_administrator: U moet beheerder zijn om deze handeling uit te kunnen
voeren.
- list:
+ index:
title: Gebruikers
heading: Gebruikers
showing:
user: Brukar
comment: Kommentar
area: Område
- list:
+ index:
title: Endringssett
title_user: Endringssett av %{user}
title_friend: Endringssett av venene dine
new:
title: Ny dagbokoppføring
publish_button: Publiser
- list:
+ index:
title: Brukarane sine dagbøker
title_friends: Dagbøkene til venene dine
title_nearby: Dagbøkene til naboar
use_map_link: bruk kart
save_button: Lagre
marker_text: Lokasjon for dagbokoppføring
- view:
+ show:
title: '%{user} sin dagbok | %{title}'
user_title: '%{user} si dagbok'
leave_a_comment: Legg igjen ein kommentar
body: Det er ingen brukar med namnet %{user}. Sjekk om du har skrive namnet
feil eller om lenkja du klikket er feil.
deleted: sletta
- view:
+ show:
my diary: Mi dagbok
new diary entry: ny dagbokoppføring
my edits: Mine endringar
not_a_friend: '%{name} er ikkje ein av venene dine.'
filter:
not_an_administrator: Du må vere administrator for å gjere det.
- list:
+ index:
title: Brukarar
heading: Brukarar
showing:
user: Utilizaire
comment: Comentari
area: Zòna
- list:
+ index:
title: Gropes de modificacions
title_user: Gropes de modificacions per %{user}
title_friend: Grops de modificacions peus amics
new:
title: Novèla entrada del jornal
publish_button: Publicar
- list:
+ index:
title: Jornals dels utilizaires
title_friends: Jornals dels amics
title_nearby: Jornals dels utilizaires a proximitat
use_map_link: Utilizar la mapa
save_button: Salvar
marker_text: Emplaçament de l'entrada del jornal
- view:
+ show:
title: Jornal de %{user} | %{title}
user_title: Jornal de %{user}
leave_a_comment: Apondre un comentari
title: Utilizaire inexistent
heading: L'utilizaire %{user} existís pas
deleted: suprimit
- view:
+ show:
my diary: Mon jornal
new diary entry: novèla entrada dins lo jornal
my edits: Mas modificacions
not_a_friend: '%{name} es pas demest vòstres amics.'
filter:
not_an_administrator: Vos cal èsser administrator per efectuar aquesta accion.
- list:
+ index:
title: Utilizaires
heading: Utilizaires
showing:
user: ਵਰਤੋਂਕਾਰ
comment: ਟਿੱਪਣੀ
area: ਇਲਾਕਾ
- list:
+ index:
title: ਤਬਦੀਲੀਆਂ
load_more: ਹੋਰ ਲੋਡ ਕਰੋ
diary_entry:
longitude: 'ਰੇਖਾਂਸ਼:'
use_map_link: ਨਕਸ਼ਾ ਵਰਤੋ
save_button: ਸਾਂਭੋ
- view:
+ show:
leave_a_comment: ਕੋਈ ਟਿੱਪਣੀ ਛੱਡੋ
login_to_leave_a_comment: ਟਿੱਪਣੀ ਛੱਡਣ ਵਾਸਤੇ %{login_link}
login: ਦਾਖ਼ਲਾ
rest_of_world: ਬਾਕੀ ਦੁਨੀਆਂ
no_such_user:
title: ਕੋਈ ਅਜਿਹਾ ਵਰਤੋਂਕਾਰ ਨਹੀਂ
- view:
+ show:
my diary: ਮੇਰਾ ਰੋਜ਼ਨਾਮਚਾ
new diary entry: ਰੋਜ਼ਨਾਮਚੇ 'ਚ ਨਵਾਂ ਇੰਦਰਾਜ
my edits: ਮੇਰੀਆਂ ਸੋਧਾਂ
remove_friend:
heading: '%{user} ਨਾਲ਼ ਯਾਰੀ ਤੋੜਨੀ ਹੈ?'
button: ਯਾਰੀ ਤੋੜੋ
- list:
+ index:
title: ਵਰਤੋਂਕਾਰ
heading: ਵਰਤੋਂਕਾਰ
confirm: ਚੁਣੇ ਹੋਏ ਵਰਤੋਂਕਾਰਾਂ ਦੀ ਤਸਦੀਕ ਕਰੋ
user: Użytkownik
comment: Komentarz
area: Obszar
- list:
+ index:
title: Zestawy zmian
title_user: Zestawy zmian użytkownika %{user}
title_friend: Zestawy zmian moich znajomych
new:
title: Nowy wpis do dziennika
publish_button: Opublikuj
- list:
+ index:
title: Dzienniki użytkowników
title_friends: Dzienniki znajomych
title_nearby: Dzienniki pobliskich użytkowników
use_map_link: na mapie
save_button: Zapisz
marker_text: Umiejscowienie wpisu dziennika
- view:
+ show:
title: Dziennik użytkownika %{user} | %{title}
user_title: Dziennik użytkownika %{user}
leave_a_comment: Zostaw komentarz
body: Niestety nie znaleziono użytkownika o nazwie %{user}, sprawdź pisownię. Być
może skorzystano z nieprawidłowego odnośnika.
deleted: usunięty
- view:
+ show:
my diary: Dziennik
new diary entry: nowy wpis w dzienniku
my edits: Zmiany
filter:
not_an_administrator: Musisz mieć uprawnienia administratora do wykonania tego
działania.
- list:
+ index:
title: Użytkownicy
heading: Użytkownicy
showing:
user: Usuário
comment: Comentário
area: Área
- list:
+ index:
title: Conjuntos de alterações
title_user: Conjuntos de alterações de %{user}
title_friend: Conjuntos de alterações feitos pelos meus amigos
new:
title: Nova Publicação no Diário
publish_button: Publicar
- list:
+ index:
title: Diários dos Usuários
title_friends: Diários dos amigos
title_nearby: Diários dos usuários próximos
use_map_link: usar mapa
save_button: Salvar
marker_text: Localização da publicação no diário
- view:
+ show:
title: Diário de %{user} | %{title}
user_title: Diário de %{user}
leave_a_comment: Deixe um comentário
body: Não há um usuário com o nome %{user}. Confira a digitação, ou talvez o
link em que você clicou esteja errado.
deleted: excluído
- view:
+ show:
my diary: Meu Diário
new diary entry: nova publicação no diário
my edits: Minhas Edições
not_a_friend: '%{name} não é um dos seus amigos.'
filter:
not_an_administrator: Você precisa ser um administrador para executar essa ação.
- list:
+ index:
title: Usuários
heading: Usuários
showing:
user: Utilizador
comment: Comentário
area: Área
- list:
+ index:
title: Conjuntos de alterações
title_user: Conjuntos de alterações de %{user}
title_friend: Conjuntos de alterações feitos pelos meus amigos
new:
title: Nova entrada no diário
publish_button: Publicar
- list:
+ index:
title: Diários dos utilizadores
title_friends: Diários dos amigos
title_nearby: Diários dos utilizadores próximos
use_map_link: usar mapa
save_button: Gravar
marker_text: Localização da entrada do diário
- view:
+ show:
title: Diário de %{user} | %{title}
user_title: Diário de %{user}
leave_a_comment: Deixar um comentário
body: Não existe nenhum utilizador com o nome %{user}. Verifique se o endereço
está correto ou talvez a hiperligação que clicou esteja errada.
deleted: eliminado
- view:
+ show:
my diary: Meu diário
new diary entry: adicionar entrada no meu diário
my edits: As minhas edições
not_a_friend: '%{name} não está na lista de seus amigos.'
filter:
not_an_administrator: É necessário ser administrador para realizar esta operação.
- list:
+ index:
title: Utilizadores
heading: Utilizadores
showing:
user: Utilizator
comment: Comentariu
area: Zonă
- list:
+ index:
title: Set de modificări
title_user: Seturi de modificări făcute de %{user}
title_friend: Seturi de modificări de la prietenii mei
new:
title: O nouă înregistrare în jurnal
publish_button: Publică
- list:
+ index:
title: Jurnalele utilizatorilor
title_friends: Jurnalele prietenilor
title_nearby: Jurnalele utilizatorilor aflați în apropiere
use_map_link: utilizează harta
save_button: Salvează
marker_text: Poziția înregistrării din jurnal
- view:
+ show:
title: Jurnalul utilizatorului %{user} | %{title}
user_title: Jurnalul utilizatorului %{user}
leave_a_comment: Adaugă un comentariu
confirm password: 'Confirmați parola:'
terms:
consider_pd_why: Ce este aceasta?
- view:
+ show:
my messages: Mesajele mele
my profile: Profilul meu
my settings: Setările mele
user: Пользователь
comment: Комментарий
area: Область
- list:
+ index:
title: Пакет правок
title_user: Пакеты правок пользователя %{user}
title_friend: Пакеты правок моих друзей
new:
title: Новая запись в дневнике
publish_button: Опубликовать
- list:
+ index:
title: Дневники
title_friends: Дневники друзей
title_nearby: Дневники соседних участников
use_map_link: Указать на карте
save_button: Сохранить
marker_text: Место написания заметки
- view:
+ show:
title: Дневник пользователя %{user} | %{title}
user_title: Дневник пользователя %{user}
leave_a_comment: Оставить комментарий
visibility: 'Видимость:'
visibility_help: Что это значит?
visibility_help_url: http://wiki.openstreetmap.org/wiki/RU:%D0%92%D0%B8%D0%B4%D0%B8%D0%BC%D0%BE%D1%81%D1%82%D1%8C_GPS-%D1%82%D1%80%D0%B5%D0%BA%D0%BE%D0%B2?uselang=ru
+ update:
+ updated: Трек обновлён
trace_optionals:
tags: 'Теги:'
show:
body: Извините, нет пользователя с именем %{user}. Пожалуйста, проверьте правильность
ввода. Возможно, вы перешли по ошибочной ссылке.
deleted: удалено
- view:
+ show:
my diary: Мой дневник
new diary entry: новая запись
my edits: Мои правки
not_a_friend: '%{name} не является вашим другом.'
filter:
not_an_administrator: Только администратор может выполнить это действие.
- list:
+ index:
title: Пользователи
heading: Пользователи
showing:
notes: Заметки
data: Данные карты
gps: Общедоступные GPS-треки
- overlays: Включите наложения для поиска и исправления неисправностей на карта
+ overlays: Включить наложения для устранения неисправностей карты
title: Слои
copyright: © <a href='%{copyright_url}'>Участники OpenStreetMap</a>
donate_link_text: <a class='donate-attr' href='%{donate_url}'>Сделать пожертвование</a>
user: Utenti
comment: Cummentu
area: Ària
- list:
+ index:
title: Gruppi di canciamenti
title_user: Gruppi di canciamenti di %{user}
title_friend: Gruppi di canciamenti dî tò amici
new:
title: Vuci nova dû diariu
publish_button: Pùbblica
- list:
+ index:
title: Diarî di l'utenti
title_friends: Diarî di l'amici
title_nearby: Diarî di l'utenti vicini
use_map_link: adòpira la cartina
save_button: Sarva
marker_text: Locu dâ vuci dû diariu
- view:
+ show:
title: Diariu di %{user} | %{title}
user_title: Diariu di %{user}
leave_a_comment: Lassa nu cummentu
heading: L’utenti %{user} nun esisti
body: Purtroppu nun c'è nuddu utenti chi si chiama %{user}. Pi favuri cuntrolla
chi scrivisti bonu, o puru pò èssiri chi lu culligamentu chi cliccasti è sbagghiatu.
- view:
+ show:
my diary: Lu mè diariu
new diary entry: vuci nova dû diariu
my edits: Li mè canciamenti
not_a_friend: '%{name} nun è amicu tò.'
filter:
not_an_administrator: Hai a èssiri n'amministraturi pi fari st'opirazzioni.
- list:
+ index:
title: Utenti
heading: Utenti
showing:
user: Uiser
comment: Comment
area: Aurie
- list:
+ index:
title: Chyngesets
title_user: Chyngesets bi %{user}
title_friend: Chyngesets bi yer friends
diary_entry:
new:
title: New Diary Entry
- list:
+ index:
title: Uisers' diaries
title_friends: Friends' diaries
title_nearby: Nearbi Uisers' diaries
use_map_link: uise map
save_button: Hain
marker_text: Diary entry location
- view:
+ show:
title: '%{user}''s diary | %{title}'
user_title: '%{user}''s diary'
leave_a_comment: Leave a comment
lost_password:
title: Lost password
heading: Forgotten Passwird?
- view:
+ show:
edits: Eedits
created from: 'Creautit frae:'
user location: Uiser location
user: Používateľ
comment: Komentár
area: Oblasť
- list:
+ index:
title: Sady zmien
title_user: Sady zmien používateľa %{user}
title_friend: Sady zmien vašich priateľov
diary_entry:
new:
title: Nový záznam denníka
- list:
+ index:
title: Denníky používateľov
title_friends: Denníky priateľov
title_nearby: Denníky používateľov v okolí
use_map_link: použiť mapu
save_button: Uložiť
marker_text: Poloha k položke denníka
- view:
+ show:
title: Denník používateľa %{user} | %{title}
user_title: Denník používateľa %{user}
leave_a_comment: Zanechať komentár
heading: Používateľ %{user} neexistuje
body: Ľutujeme, používateľ %{user} neexistuje. Prosím skontrolujte váš text,
alebo ste možno klikli na nesprávny odkaz.
- view:
+ show:
my diary: Môj denník
new diary entry: nový záznam denníka
my edits: Moje úpravy
not_a_friend: '%{name} nie je nikto z vašich priateľov.'
filter:
not_an_administrator: Potrebujete byť administrátor na vykonanie tejto akcie.
- list:
+ index:
title: Používatelia
heading: Používatelia
showing:
user: Uporabnik
comment: Komentar
area: Območje
- list:
+ index:
title: Paketi sprememb
title_user: Paketi sprememb uporabnika %{user}
title_friend: Paketi sprememb mojih prijateljev
new:
title: Nov zapis v dnevnik uporabnikov
publish_button: Objavi
- list:
+ index:
title: Dnevniki uporabnikov
title_friends: Dnevniki vaših prijateljev
title_nearby: Dnevniki bližnjih uporabnikov
use_map_link: uporabi zemljevid
save_button: Shrani
marker_text: Lokacija, na katero se nanaša zapis
- view:
+ show:
title: Dnevnik uporabnika %{user} | %{title}
user_title: Dnevnik uporabnika %{user}
leave_a_comment: Napiši komentar
body: Oprostite, uporabnika z imenom %{user} ni. Prosimo, preverite črkovanje
in povezavo, ki ste jo kliknili.
deleted: izbrisano
- view:
+ show:
my diary: Moj dnevnik
new diary entry: nov vnos v dnevnik
my edits: Moji prispevki
not_a_friend: Uporabnika %{name} ni med vašimi prijatelji.
filter:
not_an_administrator: Morate biti administrator za izvedbo tega dejanja.
- list:
+ index:
title: Uporabniki
heading: Uporabniki
showing:
user: Përdoruesi
comment: Koment
area: Zona
- list:
+ index:
title: Grupi i ndryshimeve
title_user: Ndryshime fjalish nga %{user}
title_friend: Ndryshime nga miqtë e tu
new:
title: Shënim i ri në ditar
publish_button: Publiko
- list:
+ index:
title: Ditarët e përdoruesve
title_friends: Ditarë të miqve
title_nearby: Ditarët e përdoruesve këtu pranë
use_map_link: përdor hartën
save_button: Ruaj
marker_text: Lokacioni i shënimit në ditar
- view:
+ show:
title: Ditari i %{user} | %{title}
user_title: Ditari i %{user}
leave_a_comment: Lëre ndonjë koment
heading: Përdoruesi %{user} nuk ekziston
body: Na vjen keq, nuk ka përdorues me emrin %{user}. Të lutem kontrollo drejtshkrimin,
ose ndoshta linku që ke klikuar është gabim.
- view:
+ show:
my diary: Ditari im
new diary entry: shënim i ri në ditar
my edits: Redaktimet e mia
not_a_friend: '%{name} nuk është një nga miqtë tuaj.'
filter:
not_an_administrator: Ju duhet të jetë një administrator për të kryer këtë veprim.
- list:
+ index:
title: Përdoruesi
heading: Përdorues
showing:
user: Korisnik
comment: Komentar
area: Područje
- list:
+ index:
title: Skupovi izmena
title_user: Skupovi izmena korisnika %{user}
title_friend: Izmene vaših prijatelja
diary_entry:
new:
title: Novi unos u dnevniku
- list:
+ index:
title: Korisnički dnevnici
title_friends: Dnevnici prijatelja
title_nearby: Dnevnici okolnih korisnika
use_map_link: koristi mapu
save_button: Sačuvaj
marker_text: Lokacija unosa u dnevniku
- view:
+ show:
title: Dnevnik korisnika %{user} | %{title}
user_title: Dnevnik korisnika %{user}
leave_a_comment: Ostavite komentar
heading: Korisnik %{user} ne postoji
body: Ne postoji korisnik s imenom %{user}. Proverite ispravnost upisa ili veze
koju ste kliknuli.
- view:
+ show:
my diary: moj dnevnik
new diary entry: novi unos u dnevniku
my edits: moje izmene
not_a_friend: '%{name} nije vaš prijatelj.'
filter:
not_an_administrator: Treba da budete administrator da biste izvršili ovu radnju.
- list:
+ index:
title: Korisnici
heading: Korisnici
showing:
feed:
title: Скуп измена %{id}
title_comment: Скуп измена %{id} – %{comment}
- join_discussion: Пријавите се да бисте се укључили у разговор
- discussion: РазговоÑ\80
+ join_discussion: Пријавите се да бисте се придружили дискусији
+ discussion: Ð\94иÑ\81кÑ\83Ñ\81иÑ\98а
node:
title: 'Тачка: %{name}'
history_title: 'Историја тачака: %{name}'
user: Корисник
comment: Коментар
area: Област
- list:
+ index:
title: Скупови измена
title_user: Скупови измена корисника %{user}
title_friend: Скупови измена мојих пријатеља
timeout:
sorry: Нажалост, преузимање траженог списка измена предуго траје.
rss:
- title_all: РазговоÑ\80 о скупу измена OpenStreetMap-а
- title_particular: 'РазговоÑ\80 о скупу измена #%{changeset_id} OpenStreetMap-а'
+ title_all: Ð\94иÑ\81кÑ\83Ñ\81иÑ\98а о скупу измена OpenStreetMap-а
+ title_particular: 'Ð\94иÑ\81кÑ\83Ñ\81иÑ\98а о скупу измена #%{changeset_id} OpenStreetMap-а'
comment: Нови коментар на скуп измена бр. %{changeset_id} корисника %{author}
commented_at_html: Ажурирано пре %{when}
commented_at_by_html: Ажурирао %{user} пре %{when}
- full: ЦелокÑ\83пан Ñ\80азговоÑ\80
+ full: Цела диÑ\81кÑ\83Ñ\81иÑ\98а
diary_entry:
new:
title: Нови дневнички запис
publish_button: Објави
- list:
+ index:
title: Дневници корисника
title_friends: Дневници пријатеља
title_nearby: Дневници корисника у близини
use_map_link: Прикажи на мапи
save_button: Сачувај
marker_text: Локација писања белешке
- view:
+ show:
title: Дневник корисника %{user} | %{title}
user_title: Дневник корисника %{user}
leave_a_comment: Остави коментар
contributors_nl_html: |-
<strong>Холандија</strong>: садржи © AND подаци, 2007
(<a href="https://www.and.com">www.and.com</a>)
- contributors_nz_html: |-
- <strong>Нови Зеланд</strong>: садржи податке који потичу од
- Land Information New Zealand. Крунска ауторска права задржана.
+ contributors_nz_html: "<strong>Нови Зеланд</strong>: Садржи податке које потичу
+ из \n<a href=\"https://data.linz.govt.nz/\">Услуге са подацима LINZ</a>,
+ а\nлиценциране за поновну употребу под лиценцом\n<a href=\"https://creativecommons.org/licenses/by/4.0/\">CC
+ BY 4.0</a>."
contributors_si_html: |-
<strong>Словенија</strong>: Садржи податке са
<a href="http://www.gu.gov.si/en/">Ауторитета за истраживање и мапирање</a> те од
potlatch_unsaved_changes: Имате несачуване измене. (Да бисте их сачували у Potlatch-у,
демаркирајте тренутни пут или тачку, ако уређујете у „живом“ режиму, или кликните
на дугме за чување, ако постоји.)
- potlatch2_not_configured: Потлач 2 није подешен. Погледајте http://wiki.openstreetmap.org/wiki/The_Rails_Port
+ potlatch2_not_configured: Потлач 2 није конфигурисан — погледајте https://wiki.openstreetmap.org/wiki/The_Rails_Port#Potlatch_2
+ за више информација
potlatch2_unsaved_changes: Нисте сачували измене. Да бисте то урадили, кликните
на дугме за чување.
id_not_configured: iD није конфигурисан
табле.
irc:
title: IRC
- description: Интерактивни разговор на многим језицима и на многе теме.
+ description: Интерактивно ћаскање на много различитих језицима и на многе
+ теме.
switch2osm:
title: switch2osm
description: Помоћ за компаније и организације које прелазе на мапе засноване
edit: Уреди
preview: Преглед
markdown_help:
- title_html: Рашчлањено са <a href="http://daringfireball.net/projects/markdown/">маркдауном</a>
+ title_html: Рашчлањено са <<a href="https://daringfireball.net/projects/markdown/">Markdown-ом</a>
headings: Наслови
heading: Наслов
subheading: Поднаслов
<p>За разлику од осталих мапа, OpenStreetMap у потпуности стварају људи као Ви,
и бесплатан је за свакога да поправља, ажурира, преузима и користи.</p>
<p>Пријавите се да бисте почели да доприносите. Послаћемо Вам имејл за потврду Вашег налога.</p>
- license_agreement: Ð\9dакон Ñ\88Ñ\82о поÑ\82вÑ\80диÑ\82е налог, моÑ\80аÑ\9bеÑ\82е да пÑ\80иÑ\85ваÑ\82иÑ\82е <a href="http://www.osmfoundation.org/wiki/License/Contributor_Terms">услове
- Ñ\83Ñ\80еÑ\92иваÑ\9aа</a>.
+ license_agreement: Ð\9aада поÑ\82вÑ\80диÑ\82е налог, моÑ\80аÑ\9bеÑ\82е да пÑ\80иÑ\85ваÑ\82иÑ\82е <a href="https://www.osmfoundation.org/wiki/License/Contributor_Terms">услове
+ Ñ\81аÑ\80адника</a>.
email address: 'Имејл адреса:'
confirm email address: 'Потврдите имејл адресу:'
not displayed publicly: Ваша адреса се не приказује јавно, погледајте <a href="https://wiki.osmfoundation.org/wiki/Privacy_Policy"
body: Не постоји корисник с именом %{user}. Проверите исправност уписа или везе
коју сте кликнули.
deleted: обрисано
- view:
+ show:
my diary: Мој дневник
new diary entry: нови дневнички запис
my edits: Моје измене
not_a_friend: '%{name} није ваш пријатељ.'
filter:
not_an_administrator: Треба да будете администратор да бисте извршили ову радњу.
- list:
+ index:
title: Корисници
heading: Корисници
showing:
user: Användare
comment: Kommentar
area: Område
- list:
+ index:
title: Ändringsset
title_user: Ändringsset av %{user}
title_friend: Ändringsset av mina vänner
new:
title: Nytt dagboksinlägg
publish_button: Publicera
- list:
+ index:
title: Användardagböcker
title_friends: Vänners dagböcker
title_nearby: Närbelägna användares dagböcker
use_map_link: använd karta
save_button: Spara
marker_text: Plats för dagboksinlägg
- view:
+ show:
title: '%{user}s dagbok | %{title}'
user_title: '%{user}s dagbok'
leave_a_comment: Lämna en kommentar
trace_uploaded: Din GPX-fil har laddats upp och väntar på att lagras i databasen.
Detta sker vanligtvis inom en halvtimme. När den är klar skickas en e-post
till dig.
+ upload_failed: Tyvärr, GPX-uppladdningen misslyckades. En administratör har
+ meddelats om felet. Försök igen
traces_waiting:
one: Du har %{count} GPS-spår som håller på att laddas upp. Vänta gärna på
att detta blir klart innan du laddar upp fler, så att du inte blockerar
save_button: Spara ändringar
visibility: 'Synlighet:'
visibility_help: vad betyder detta?
+ update:
+ updated: Spår uppdaterades
trace_optionals:
tags: Taggar
show:
body: Det finns ingen användare med namnet %{user}. Kontrollera stavningen,
eller så kanske länken är trasig.
deleted: raderad
- view:
+ show:
my diary: Min dagbok
new diary entry: nytt dagboksinlägg
my edits: Mina redigeringar
not_a_friend: '%{name} är inte en av dina vänner.'
filter:
not_an_administrator: Du måste vara administratör för att få göra det.
- list:
+ index:
title: Användare
heading: Användare
showing:
# Author: ElangoRamanujam
# Author: Karthi.dr
# Author: Krishnaprasaths
+# Author: Mahir78
# Author: Rakeshonwiki
# Author: Sank
# Author: Shanmugamp7
start_rjs:
loading: ஏற்றப்படுகிறது ...
tag_details:
- tags: 'à®\95à¯\81றிபà¯\8dபà¯\81à®\95்கள்:'
+ tags: 'à®\95à¯\81றிà®\9aà¯\8dà®\9aà¯\8aà®±்கள்:'
wiki_link:
key: விக்கி விளக்கப்பக்கம் %{key} குறிச்சொல்லுக்காக
note:
new_note: புதுக் குறிப்பு
+ description: விளக்கம்
changeset:
changeset_paging_nav:
next: அடுத்து »
user: பயனர்
comment: கருத்து
area: பகுதி
- list:
+ index:
title: மாற்றங்கள்
load_more: மேலும் படிக்க
rss:
new:
title: புதிய டைரி உள்ளீடு
publish_button: வெளியிடு
- list:
+ index:
title: பயனரின் நாட்குறிப்பேடுகள்
title_friends: நண்பர்களின் நாட்குறிப்பேடுகள்
title_nearby: அருகிலுள்ள பயனர்களின் நாட்குறிப்பேடுகள்
use_map_link: வரைப்படத்தை பயன்படுத்தவும்
save_button: சேமி
marker_text: டைரி உள்ளீடு பகுதி
- view:
+ show:
title: '%{user}''ன் நாட்குறிப்பேடு| %{title}'
user_title: '%{user}ன் நாட்குறிப்பேடு'
leave_a_comment: ஒரு குறிப்பை இடவும்
"yes": பாலம்
building:
"yes": கட்டிடம்
+ craft:
+ tailor: தையற்காரர்
+ "yes": கைவினைப் பொருள் அங்காடி
+ emergency:
+ ambulance_station: அவசர ஊர்தி நிலையம்
+ "yes": அவசரம்
highway:
abandoned: கைவிடப்பட்ட நெடுஞ்சாலை
bus_guideway: வழிநடத்தப்பட்ட பேருந்து தடம்
results:
no_results: முடிவுகள் எதுவும் காணப்படவில்லை
more_results: மேலும் முடிவுகள்
+ reports:
+ new:
+ categories:
+ user:
+ other_label: மற்றவை
+ note:
+ spam_label: இந்தக் குறிப்பு ஒரு எரிதம்
+ personal_label: இந்தக் குறிப்பில் தனிநபர் தகவல்கள் உள்ளன
layouts:
home: முகப்பு
logout: விடுபதிகை
title: அப்படியொரு தகவல் இல்லை
heading: அப்படியொரு தகவல் இல்லை
outbox:
+ title: அனுப்பியவை
inbox: உள்பெட்டி
outbox: வெளிப்பெட்டி
subject: பொருள்
date: நாள்
reply_button: பதில் அளி
unread_button: வாசிக்கப்படாததாக குறியிடு
+ destroy_button: நீக்குக
to: பெறுநர்
sent_message_summary:
destroy_button: நீக்கு
construction: சாலைகளில் கட்டுமானப் பணிகள் நடந்து வருகின்றன.
toilets: கழிவறைகள்
welcome:
+ title: வருக!
rules:
title: விதிமுறைகள்!
traces:
no_such_user:
title: அப்படியொரு பயனர் இல்லை.
heading: பயனர் %{user} இல்லை
- view:
+ show:
my diary: எனது நாட்குறிப்பேடு
new diary entry: புதிய நாட்குறிப்பேடு உள்ளீடு
my edits: என் திருத்தங்கள்
description: விளக்கம்
user location: பயனர் அமைவிடம்
settings_link_text: அமைப்புகள்
+ my friends: எனது நண்பர்கள்
no friends: நீங்கள் இதுவரை எந்த நண்பர்களையும் சேர்க்கவில்லை
km away: '%{count}கிமீ தாண்டி'
m away: '%{count}மீ தாண்டி'
keep image: நடப்பு படத்தை வைத்திரு
delete image: நடப்பு படத்தை நீக்கு
save changes button: மாற்றங்களைச் சேமி
- list:
+ index:
title: பயனர்கள்
heading: பயனர்கள்
suspended:
user: వాడుకరి
comment: వ్యాఖ్య
area: ప్రదేశం
- list:
+ index:
title_user: '%{user} చేసిన మార్పులు'
load_more: మరిన్ని చూపించు
rss:
new:
title: కొత్త దినచర్య పద్దు
publish_button: ప్రచురించు
- list:
+ index:
title: వాడుకరుల డైరీలు
title_friends: స్నేహితుల దినచర్యలు
title_nearby: చుట్టుపక్కల వాడుకరుల డైరీలు
longitude: 'రేఖాంశం:'
use_map_link: పటాన్ని వాడు
save_button: భద్రపరచు
- view:
+ show:
title: వాడుకరుల డైరీలు | %{user}
user_title: '%{user} యొక్క డైరీ'
leave_a_comment: వ్యాఖ్యానించండి
italy: ఇటలీ
no_such_user:
heading: '%{user} వాడుకరి లేనే లేరు'
- view:
+ show:
my diary: నా డైరీ
my edits: నా మార్పులు
my notes: నా గమనికలు
make_friend:
success: '%{name} ఇప్పుడు మీ మిత్రులు!'
already_a_friend: '%{name} మీకు ఇప్పటికే స్నేహితులు.'
- list:
+ index:
title: వాడుకరులు
heading: వాడుకరులు
user_role:
report: แจ้งปัญหาเกี่ยวกับหมายเหตุนี้
query:
title: ส่วนประกอบในพื้นที่
- introduction: à¸\84ลิà¸\81à¸\97ีà¹\88à¹\81à¸\9cà¸\99à¸\97ีà¹\88à¹\80à¸\9eืà¹\88à¸à¸\84à¹\89à¸\99หาà¸\84ุà¸\93สมà¸\9aัà¸\95ิà¸\95à¹\88าà¸\87 ๆ ที่อยู่ใกล้เคียง
+ introduction: à¸\84ลิà¸\81à¸\9aà¸\99à¹\81à¸\9cà¸\99à¸\97ีà¹\88à¹\80à¸\9eืà¹\88à¸à¸\84à¹\89à¸\99หาสà¹\88วà¸\99à¸\9bระà¸\81à¸à¸\9aà¸\95à¹\88าà¸\87ๆ ที่อยู่ใกล้เคียง
nearby: ส่วนประกอบที่อยู่ใกล้เคียง
enclosing: ส่วนประกอบที่ปิดล้อม
changeset:
user: ผู้ใช้
comment: ความเห็น
area: พื้นที่
- list:
+ index:
title: ชุดการเปลี่ยนแปลง
title_user: ชุดการเปลี่ยนแปลงที่ทำโดย %{user}
title_friend: ชุดการเปลี่ยนแปลงที่ทำโดยเพื่อนของฉัน
new:
title: สร้างบันทึกใหม่
publish_button: เผยแพร่
- list:
+ index:
title: บันทึกของผู้ใช้
title_friends: บันทึกของเพื่อน
title_nearby: บันทึกของผู้ใช้ที่อยู่ใกล้เคียง
use_map_link: ใช้แผนที่
save_button: บันทึก
marker_text: ที่ตั้งของรายการบันทึก
- view:
+ show:
title: บันทึกของ %{user} | %{title}
user_title: บันทึกของ %{user}
leave_a_comment: แสดงความคิดเห็น
remember: จดจำฉันไว้ในระบบ
lost password link: ลืมรหัสผ่านหรือ?
login_button: ลงชื่อเข้าใช้
- register now: ลà¸\87à¸\97ะà¹\80à¸\9aียà¸\99à¸\81à¹\88à¸à¸\99à¹\80ลย
+ register now: สมัà¸\84รà¹\80ลย!
with username: มีบัญชี OpenStreetMap แล้วหรือยัง? ถ้ามีโปรดเข้าระบบด้วยชื่อผู้ใช้และรหัสผ่านที่ท่านมี
with external: นอกจากนี้ ท่านสามารถใช้บัญชีผู้ใช้จากเว็บอื่นในการเข้าใช้งานได้
new to osm: เพิ่งเริ่มใช้ OpenStreetMap หรือ?
title: ไม่มีผู้ใช้ที่ระบุ
heading: ไม่พบผู้ใช้ชื่อ %{user}
deleted: ลบแล้ว
- view:
+ show:
my diary: บันทึกของฉัน
new diary entry: สร้างบันทึกใหม่
my edits: การแก้ไขของฉัน
not_a_friend: ผู้ใช้ %{name} ไม่ได้อยู่ในรายการเพื่อนของท่าน
filter:
not_an_administrator: ท่านต้องเป็นผู้ดูแลระบบจึงจะสามารกระทำสิ่งนี้ได้
- list:
+ index:
title: ผู้ใช้
heading: ผู้ใช้
showing:
user: Tagagamit
comment: Puna/Kumento
area: Pook
- list:
+ index:
title: Mga pangkat ng pagbabago
title_user: Mga pangkat ng pagbabago ayon sa %{user}
title_friend: Mga pangkat ng pagbabago ng mga kaibigan mo
new:
title: Bagong Pagpapasok sa Talaarawan
publish_button: Ilathala
- list:
+ index:
title: Mga talaarawan ng mga tagagamit
title_friends: Mga talaarawan ng mga kaibigan
title_nearby: Mga talaarawan ng Kanugnog na mga Tagagamit
use_map_link: gamitin ang mapa
save_button: Sagipin
marker_text: Kinalalagay ng ipinasok sa talaarawan
- view:
+ show:
title: Talaarawan ni %{user} | %{title}
user_title: Talaarawan ni %{user}
leave_a_comment: Mag-iwan ng puna
heading: Hindi umiiral ang tagagamit na %{user}
body: Paumanhin, walang tagagamit na may pangalang %{user}. Mangyaring pakisuri
ang pagbabaybay mo, o kaya ay mali ang kawing na pinindot mo.
- view:
+ show:
my diary: talaarawan ko
new diary entry: Bagong pagpapasok sa talaarawan
my edits: mga pamamatnugot ko
filter:
not_an_administrator: Kailangan mong maging isang tagapangasiwa upang maisagawa
ang galaw na iyan.
- list:
+ index:
title: Mga tagagamit
heading: Mga tagagamit
showing:
# Exported from translatewiki.net
# Export driver: phpyaml
# Author: Alerque
+# Author: Alidemirtas
# Author: Alpkant
# Author: Archaeodontosaurus
# Author: Captantrips
user: Kullanıcı
comment: Yorum
area: Alan
- list:
+ index:
title: Değişiklik Setleri
title_user: '%{user} tarafından değişiklik setleri'
title_friend: Arkadaşlarımın değişiklik kayıtları
new:
title: Yeni Günlük Girdisi
publish_button: Yayınla
- list:
+ index:
title: Kullanıcıların günlükleri
title_friends: Arkadaşlarının günlükleri
title_nearby: Yakındaki kullanıcıların günlükleri
use_map_link: Haritayı kullanarak belirt
save_button: Kaydet
marker_text: Girdisinin konumu
- view:
+ show:
title: '%{user} (günlük) | %{title}'
user_title: '%{user} (Günlük)'
leave_a_comment: Yorum yaz
trace_uploaded: GPX dosya yüklendi ve veritabanına eklemek için bekliyor. Bu
işlem genellikle yarım saat içinde gerçekleşir ve tamamlandığında sana bir
e-posta gönderiliyor.
+ upload_failed: Üzgünüz, GPX yüklemesi başarısız oldu. Bir yönetici hatayla ilgili
+ bilgilendirildi. Lütfen tekrar deneyin
traces_waiting:
one: Yüklemeyi bekleyen %{count} iz var. Diğer kullanıcıların kuyruklarını
engellememek için lütfen bunları yüklemeden önce öncekilerin bitmesini bekleyin.
save_button: Değişiklikleri Kaydet
visibility: Görünürlük
visibility_help: Bu ne demek?
+ update:
+ updated: İzleme güncellendi
trace_optionals:
tags: Etiketler
show:
body: Üzgünüz, %{user} adlı bir kullanıcı yok. Lütfen yazımınızı denetleyin
veya tıkladığınız bağlantı belki yanlış idi.
deleted: silindi
- view:
+ show:
my diary: Günlüğüm
new diary entry: yeni kayıt
my edits: Katkılarım
filter:
not_an_administrator: Bu eylemi gerçekleştirebilmek için bir yönetici olmanız
gerekiyor.
- list:
+ index:
title: Kullanıcılar
heading: Kullanıcılar
showing:
sharp_left_without_exit: '%{name} üstünden sola keskin dönüş'
turn_left_without_exit: '%{name} üstünden sola dönün'
offramp_left: Rampaya doğru sola dönün
+ offramp_left_with_exit: Soldaki %{exit} çıkışa girin
+ offramp_left_with_exit_name: '%{name} yerine %{exit} çıkışından sola dönün'
+ offramp_left_with_exit_directions: '%{directions} yönünde soldaki %{exit}
+ çıkışını yapın.'
+ offramp_left_with_exit_name_directions: '%{exit}''den çıkış yap soldaki %{name}
+ %{directions} yönüne doğru'
offramp_left_with_name: Soldaki rampayı kullanarak %{name} girin
+ offramp_left_with_directions: '%{directions} yönünde soldaki rampadan'
onramp_left_without_exit: Rampadan sola dönerek %{name} girin
+ onramp_left_with_directions: '%{directions} doğru rampadan sola dönün'
onramp_left_without_directions: Rampaya doğru sola dönün
onramp_left: Rampaya doğru sola dönün
endofroad_left_without_exit: Yolun sonunda sola %{name} yönünde dönün
stay_roundabout_without_exit: Kavşakta kal - %{name}
start_without_exit: '%{name} bitişinden başlayın'
destination_without_exit: Hedefe ulaş
+ against_oneway_without_exit: '%{name}X üzerinde tek yönlü git'
end_oneway_without_exit: '%{name} için tek yönün sonu'
roundabout_with_exit: Dönel kavşakta %{exit}. çıkışı kullanarak %{name} üzerine
unnamed: adsız yol
+ courtesy: Yolculuğun izniyle %{link}x
exit_counts:
first: birinci
second: ikinci
user: Користувач
comment: Коментар
area: Ділянка
- list:
+ index:
title: Набір змін
title_user: Набори змін від %{user}
title_friend: Набори змін моїх друзів
new:
title: Створити новий запис у щоденнику
publish_button: Опублікувати
- list:
+ index:
title: Щоденник користувача
title_friends: Щоденники друзів
title_nearby: Щоденники користувачів поряд з вами
use_map_link: Вказати на мапі
save_button: Зберегти
marker_text: Місце написання нотатки
- view:
+ show:
title: Щоденник користувача %{user} | %{title}
user_title: Щоденник користувача %{user}
leave_a_comment: Лишити коментар
body: Вибачте, немає користувача з ім'ям %{user}. Будь ласка, перевірте правильність
його введення. Можливо, ви перейшли з помилкового посилання.
deleted: вилучено
- view:
+ show:
my diary: Мій щоденник
new diary entry: новий запис
my edits: Мої правки
not_a_friend: '%{name} не є вашим другом.'
filter:
not_an_administrator: Тільки адміністратор може виконати цю дію.
- list:
+ index:
title: Користувачі
heading: Користувачі
showing:
user: Người dùng
comment: Miêu tả
area: Vùng
- list:
+ index:
title: Các bộ thay đổi
title_user: Những bộ thay đổi của %{user}
title_friend: Những bộ thay đổi của bạn bè
new:
title: Mục Nhật ký Mới
publish_button: Đăng
- list:
+ index:
title: Các Nhật ký Cá nhân
title_friends: Các nhật ký của bạn bè
title_nearby: Các nhật ký của người dùng ở gần
use_map_link: sử dụng bản đồ
save_button: Lưu
marker_text: Vị trí của mục nhật ký
- view:
+ show:
title: Nhật ký của %{user} | %{title}
user_title: Nhật ký của %{user}
leave_a_comment: Bình luận
body: Rất tiếc, không có người dùng với tên %{user}. Xin hãy kiểm tra chính
tả, hoặc có lẽ bạn đã theo một liên kết sai.
deleted: đã xóa
- view:
+ show:
my diary: Nhật ký của Tôi
new diary entry: mục nhật ký mới
my edits: Đóng góp của Tôi
not_a_friend: '%{name} đã không phải người bạn.'
filter:
not_an_administrator: Chỉ các quản lý viên có quyền thực hiện tác vụ đó.
- list:
+ index:
title: Người dùng
heading: Người dùng
showing:
user: 用户
comment: 注解
area: 区域
- list:
+ index:
title: 修改集合
title_user: '%{user} 的修改集合'
title_friend: 由我的朋友所做的修改集合
new:
title: 新日记文章
publish_button: 发布
- list:
+ index:
title: 用户日记
title_friends: 朋友的日记
title_nearby: 附近用户的日记
use_map_link: 使用地图
save_button: 保存
marker_text: 日记文章位置
- view:
+ show:
title: '%{user} 的日记 | %{title}'
user_title: '%{user} 的日记'
leave_a_comment: 留下评论
heading: 用户 %{user} 不存在
body: 对不起,没有名为 %{user} 的用户。请检查您的拼写,或者可能是点击了错误的链接。
deleted: 已删除
- view:
+ show:
my diary: 我的日记
new diary entry: 新日记文章
my edits: 我的编辑
not_a_friend: '%{name} 不是您的朋友。'
filter:
not_an_administrator: 您必须是管理员才能执行该操作。
- list:
+ index:
title: 用户
heading: 用户
showing:
user: 使用者
comment: 評論
area: 區域
- list:
+ index:
title: 變更集
title_user: '%{user} 的變更集'
title_friend: 我的好友之變更集
new:
title: 新日記項目
publish_button: 發佈
- list:
+ index:
title: 日記
title_friends: 好友的日記
title_nearby: 附近的使用者的日記
use_map_link: 使用地圖
save_button: 儲存
marker_text: 日記項目位置
- view:
+ show:
title: '%{user} 的日記 | %{title}'
user_title: '%{user} 的日記'
leave_a_comment: 留下評論
heading: 使用者 %{user} 不存在
body: 抱歉,沒有名為 %{user} 的使用者。請檢查您的拼字,或者可能是您按到錯誤的連結。
deleted: 已刪除
- view:
+ show:
my diary: 我的日記
new diary entry: 新增日記項目
my edits: 我的編輯
not_a_friend: '%{name} 並不是您的好友。'
filter:
not_an_administrator: 您需要是管理員才可執行此操作。
- list:
+ index:
title: 使用者
heading: 使用者
showing:
get "/changeset/:id/comments/feed" => "changeset#comments_feed", :as => :changeset_comments_feed, :id => /\d*/, :defaults => { :format => "rss" }
get "/note/:id" => "browse#note", :id => /\d+/, :as => "browse_note"
get "/note/new" => "browse#new_note"
- get "/user/:display_name/history" => "changeset#list"
+ get "/user/:display_name/history" => "changeset#index"
get "/user/:display_name/history/feed" => "changeset#feed", :defaults => { :format => :atom }
get "/user/:display_name/notes" => "notes#mine"
- get "/history/friends" => "changeset#list", :friends => true, :as => "friend_changesets", :defaults => { :format => :html }
- get "/history/nearby" => "changeset#list", :nearby => true, :as => "nearby_changesets", :defaults => { :format => :html }
+ get "/history/friends" => "changeset#index", :friends => true, :as => "friend_changesets", :defaults => { :format => :html }
+ get "/history/nearby" => "changeset#index", :nearby => true, :as => "nearby_changesets", :defaults => { :format => :html }
get "/browse/way/:id", :to => redirect(:path => "/way/%{id}")
get "/browse/way/:id/history", :to => redirect(:path => "/way/%{id}/history")
get "/fixthemap" => "site#fixthemap"
get "/help" => "site#help"
get "/about" => "site#about"
- get "/history" => "changeset#list"
+ get "/history" => "changeset#index"
get "/history/feed" => "changeset#feed", :defaults => { :format => :atom }
get "/history/comments/feed" => "changeset#comments_feed", :as => :changesets_comments_feed, :defaults => { :format => "rss" }
get "/export" => "site#export"
get "/traces/mine/tag/:tag" => "traces#mine"
get "/traces/mine/page/:page" => "traces#mine"
get "/traces/mine" => "traces#mine"
- post "/trace/create" => "traces#create" # remove after deployment
get "/trace/create", :to => redirect(:path => "/traces/new")
get "/trace/:id/data" => "traces#data", :id => /\d+/, :as => "trace_data"
- post "trace/:id/edit" => "traces#update" # remove after deployment
get "/trace/:id/edit", :to => redirect(:path => "/traces/%{id}/edit")
post "/trace/:id/delete" => "traces#delete", :id => /\d+/
# diary pages
match "/diary/new" => "diary_entry#new", :via => [:get, :post]
- get "/diary/friends" => "diary_entry#list", :friends => true, :as => "friend_diaries"
- get "/diary/nearby" => "diary_entry#list", :nearby => true, :as => "nearby_diaries"
+ get "/diary/friends" => "diary_entry#index", :friends => true, :as => "friend_diaries"
+ get "/diary/nearby" => "diary_entry#index", :nearby => true, :as => "nearby_diaries"
get "/user/:display_name/diary/rss" => "diary_entry#rss", :defaults => { :format => :rss }
get "/diary/:language/rss" => "diary_entry#rss", :defaults => { :format => :rss }
get "/diary/rss" => "diary_entry#rss", :defaults => { :format => :rss }
get "/user/:display_name/diary/comments/:page" => "diary_entry#comments", :page => /[1-9][0-9]*/
get "/user/:display_name/diary/comments/" => "diary_entry#comments"
- get "/user/:display_name/diary" => "diary_entry#list"
- get "/diary/:language" => "diary_entry#list"
- get "/diary" => "diary_entry#list"
- get "/user/:display_name/diary/:id" => "diary_entry#view", :id => /\d+/, :as => :diary_entry
+ get "/user/:display_name/diary" => "diary_entry#index"
+ get "/diary/:language" => "diary_entry#index"
+ get "/diary" => "diary_entry#index"
+ get "/user/:display_name/diary/:id" => "diary_entry#show", :id => /\d+/, :as => :diary_entry
post "/user/:display_name/diary/:id/newcomment" => "diary_entry#comment", :id => /\d+/
match "/user/:display_name/diary/:id/edit" => "diary_entry#edit", :via => [:get, :post], :id => /\d+/
post "/user/:display_name/diary/:id/hide" => "diary_entry#hide", :id => /\d+/, :as => :hide_diary_entry
post "/user/:display_name/diary/:id/unsubscribe" => "diary_entry#unsubscribe", :as => :diary_entry_unsubscribe, :id => /\d+/
# user pages
- get "/user/:display_name" => "user#view", :as => "user"
+ get "/user/:display_name" => "user#show", :as => "user"
match "/user/:display_name/make_friend" => "user#make_friend", :via => [:get, :post], :as => "make_friend"
match "/user/:display_name/remove_friend" => "user#remove_friend", :via => [:get, :post], :as => "remove_friend"
match "/user/:display_name/account" => "user#account", :via => [:get, :post]
get "/user/:display_name/delete" => "user#delete", :as => :delete_user
# user lists
- match "/users" => "user#list", :via => [:get, :post]
- match "/users/:status" => "user#list", :via => [:get, :post]
+ match "/users" => "user#index", :via => [:get, :post]
+ match "/users/:status" => "user#index", :via => [:get, :post]
# geocoder
get "/search" => "geocoder#search"
natural=heath: Bg:Tag:natural=heath
railway=crossing: Bg:Tag:railway=crossing
railway=level_crossing: Bg:Tag:railway=level crossing
+bn:
+ key:
+ highway: Bn:Key:highway
+ tag:
+ highway=residential: Bn:Tag:highway=residential
ca:
key:
amenity: Ca:Key:amenity
operator:type: Ca:Key:operator:type
phone: Ca:Key:phone
tag:
+ amenity=post_box: Ca:Tag:amenity=post box
landuse=farmland: Ca:Tag:landuse=farmland
leisure=swimming_pool: Ca:Tag:leisure=swimming pool
+ office=notary: Ca:Tag:office=notary
place=isolated_dwelling: Ca:Tag:place=isolated dwelling
shop=frozen_food: Ca:Tag:shop=frozen food
cs:
abandoned:amenity: Cs:Key:abandoned:amenity
abutters: Cs:Key:abutters
access: Cs:Key:access
+ access:conditional: Cs:Key:access:conditional
access:lanes: Cs:Key:access:lanes
addr: Cs:Key:addr
addr:city: Cs:Key:addr:city
amenity=townhall: Cs:Tag:amenity=townhall
amenity=university: Cs:Tag:amenity=university
amenity=vacuum_cleaner: Cs:Tag:amenity=vacuum cleaner
+ amenity=vehicle_inspection: Cs:Tag:amenity=vehicle inspection
amenity=vending_machine: Cs:Tag:amenity=vending machine
amenity=veterinary: Cs:Tag:amenity=veterinary
amenity=waste_basket: Cs:Tag:amenity=waste basket
place=suburb: Cs:Tag:place=suburb
place=town: Cs:Tag:place=town
place=village: Cs:Tag:place=village
+ power=catenary_mast: Cs:Tag:power=catenary mast
power=generator: Cs:Tag:power=generator
power=heliostat: Cs:Tag:power=heliostat
power=terminal: Cs:Tag:power=terminal
shop=pharmacy: Cs:Tag:shop=pharmacy
shop=photo: Cs:Tag:shop=photo
shop=photography: Cs:Tag:shop=photography
- shop=piercing: Cs:Tag:shop=piercing
shop=pottery: Cs:Tag:shop=pottery
shop=printing: Cs:Tag:shop=printing
shop=pyrotechnics: Cs:Tag:shop=pyrotechnics
amenity=place_of_worship: Da:Tag:amenity=place of worship
amenity=veterinary: Da:Tag:amenity=veterinary
highway=bridleway: Da:Tag:highway=bridleway
+ highway=cycleway: Da:Tag:highway=cycleway
highway=ford: Da:Tag:highway=ford
highway=road: Da:Tag:highway=road
highway=tertiary: Da:Tag:highway=tertiary
place=village: Da:Tag:place=village
route=ferry: Da:Tag:route=ferry
service=driveway: Da:Tag:service=driveway
+ shop=charity: Da:Tag:shop=charity
de:
key:
AlpinRes_ID: DE:Key:AlpinRes ID
Annotations: DE:Key:Annotations
FIXME: DE:Key:FIXME
TODO: DE:Key:TODO
+ VRS:ref: DE:Key:VRS:ref
WDPA_ID:ref: DE:Key:WDPA ID:ref
'abandoned:': 'DE:Key:abandoned:'
abandoned:*: DE:Key:abandoned:*
advertising: DE:Key:advertising
aerialway: DE:Key:aerialway
aerialway:drag_lift: DE:Key:aerialway:drag lift
+ aerodrome:type: DE:Key:aerodrome:type
aeroway: DE:Key:aeroway
after_school: DE:Key:after school
agricultural: DE:Key:agricultural
automated: DE:Key:automated
backcountry: DE:Key:backcountry
backrest: DE:Key:backrest
+ backward: DE:Key:backward
barrier: DE:Key:barrier
basin: DE:Key:basin
+ bath:type: DE:Key:bath:type
bdouble: DE:Key:bdouble
beacon:type: DE:Key:beacon:type
beds: DE:Key:beds
carriage: DE:Key:carriage
castle_type: DE:Key:castle type
cemetery: DE:Key:cemetery
+ check_date: DE:Key:check date
circuits: DE:Key:circuits
circumference: DE:Key:circumference
city_limit: DE:Key:city limit
diaper: DE:Key:diaper
diet: DE:Key:diet
diet:*: DE:Key:diet:*
+ diet:vegan: DE:Key:diet:vegan
+ diet:vegetarian: DE:Key:diet:vegetarian
diplomatic: DE:Key:diplomatic
direction: DE:Key:direction
display: DE:Key:display
ferry:cable: DE:Key:ferry:cable
fetish: DE:Key:fetish
fire_hydrant: DE:Key:fire hydrant
- fire_hydrant:type: DE:Key:fire hydrant:type
fireplace: DE:Key:fireplace
fixme: DE:Key:fixme
floating: DE:Key:floating
foot: DE:Key:foot
footway: DE:Key:footway
ford: DE:Key:ford
+ format: DE:Key:format
fortification_type: DE:Key:fortification type
+ forward: DE:Key:forward
frequency: DE:Key:frequency
from: DE:Key:from
fuel: DE:Key:fuel
+ fuel:LH2: DE:Key:fuel:LH2
+ garden:style: DE:Key:garden:style
+ garden:type: DE:Key:garden:type
gauge: DE:Key:gauge
generator:method: DE:Key:generator:method
generator:output: DE:Key:generator:output
geological: DE:Key:geological
golf:course: DE:Key:golf:course
government: DE:Key:government
+ group_only: DE:Key:group only
guest_house: DE:Key:guest house
hazard: DE:Key:hazard
hazmat: DE:Key:hazmat
hgv: DE:Key:hgv
highspeed: DE:Key:highspeed
highway: DE:Key:highway
+ hiking: DE:Key:hiking
historic: DE:Key:historic
historic:civilization: DE:Key:historic:civilization
historic:period: DE:Key:historic:period
kids_area: DE:Key:kids area
kms: DE:Key:kms
kneipp_water_cure: DE:Key:kneipp water cure
+ landfill:waste: DE:Key:landfill:waste
landuse: DE:Key:landuse
lanes: DE:Key:lanes
lanes:bus: DE:Key:lanes:bus
lock: DE:Key:lock
lock_name: DE:Key:lock name
lock_ref: DE:Key:lock ref
+ lockable: DE:Key:lockable
lottery: DE:Key:lottery
love_locks: DE:Key:love locks
man_made: DE:Key:man made
manhole: DE:Key:manhole
manufacturer: DE:Key:manufacturer
manufacturer:type: DE:Key:manufacturer:type
+ mapillary: DE:Key:mapillary
+ massage: DE:Key:massage
material: DE:Key:material
max_age: DE:Key:max age
maxaxleload: DE:Key:maxaxleload
maxheight: DE:Key:maxheight
maxlength: DE:Key:maxlength
maxspeed: DE:Key:maxspeed
+ maxspeed:type: DE:Key:maxspeed:type
maxstay: DE:Key:maxstay
maxweight: DE:Key:maxweight
maxwidth: DE:Key:maxwidth
megalith_type: DE:Key:megalith type
memorial: DE:Key:memorial
memorial:type: DE:Key:memorial:type
+ milestone_type: DE:Key:milestone type
military: DE:Key:military
min_age: DE:Key:min age
mineshaft_type: DE:Key:mineshaft type
motorcycle: DE:Key:motorcycle
motorcycle:clothes: DE:Key:motorcycle:clothes
motorcycle:conditional: DE:Key:motorcycle:conditional
+ motorcycle:parking: DE:Key:motorcycle:parking
motorcycle:parts: DE:Key:motorcycle:parts
motorcycle:rental: DE:Key:motorcycle:rental
motorcycle:repair: DE:Key:motorcycle:repair
note: DE:Key:note
nudism: DE:Key:nudism
nursery: DE:Key:nursery
+ observatory:type: DE:Key:observatory:type
office: DE:Key:office
+ official_name: DE:Key:official name
offshore: DE:Key:offshore
+ old_name: DE:Key:old name
oneway: DE:Key:oneway
oneway:bicycle: DE:Key:oneway:bicycle
oneway:moped: DE:Key:oneway:moped
onkz: DE:Key:onkz
openfire: DE:Key:openfire
opening_hours: DE:Key:opening hours
+ opening_hours:kitchen: DE:Key:opening hours:kitchen
operator: DE:Key:operator
operator:MNC: DE:Key:operator:MNC
+ operator:type: DE:Key:operator:type
organic: DE:Key:organic
osak: DE:Key:osak
osmc:status: DE:Key:osmc:status
placement: DE:Key:placement
plant: DE:Key:plant
plant:output: DE:Key:plant:output
+ plant:output:electricity: DE:Key:plant:output:electricity
+ plant:output:hot_water: DE:Key:plant:output:hot water
+ plant:source: DE:Key:plant:source
playground: DE:Key:playground
'playground:': 'DE:Key:playground:'
population: DE:Key:population
seamark: DE:Key:seamark
seamark:fixme: DE:Key:seamark:fixme
seamark:type: DE:Key:seamark:type
+ seasonal: DE:Key:seasonal
seats: DE:Key:seats
second_hand: DE:Key:second hand
segregated: DE:Key:segregated
shelter_type: DE:Key:shelter type
shooting: DE:Key:shooting
shop: DE:Key:shop
+ short_protection_title: DE:Key:short protection title
shower: DE:Key:shower
sidewalk: DE:Key:sidewalk
site_type: DE:Key:site type
surface: DE:Key:surface
surveillance: DE:Key:surveillance
surveillance:zone: DE:Key:surveillance:zone
+ survey:date: DE:Key:survey:date
+ swimming_pool: DE:Key:swimming pool
symbol: DE:Key:symbol
tactile_paving: DE:Key:tactile paving
tactile_writing: DE:Key:tactile writing
takeaway: DE:Key:takeaway
target: DE:Key:target
+ telescope:type: DE:Key:telescope:type
tidal: DE:Key:tidal
to: DE:Key:to
todo: DE:Key:todo
toll: DE:Key:toll
tomb: DE:Key:tomb
tourism: DE:Key:tourism
+ tower:construction: DE:Key:tower:construction
tower:type: DE:Key:tower:type
tracks: DE:Key:tracks
tracktype: DE:Key:tracktype
voltage: DE:Key:voltage
waste: DE:Key:waste
water: DE:Key:water
+ water_characteristic: DE:Key:water characteristic
waterway: DE:Key:waterway
website: DE:Key:website
wetland: DE:Key:wetland
abandoned:amenity=prison_camp: DE:Tag:abandoned:amenity=prison camp
abandoned=yes: DE:Tag:abandoned=yes
access=designated: DE:Tag:access=designated
+ access=destination: DE:Tag:access=destination
access=private: DE:Tag:access=private
admin_level=2: DE:Tag:admin level=2
advertising=column: DE:Tag:advertising=column
aerialway=magic_carpet: DE:Tag:aerialway=magic carpet
aerialway=pylon: DE:Tag:aerialway=pylon
aerialway=station: DE:Tag:aerialway=station
+ aerodrome:type=gliding: DE:Tag:aerodrome:type=gliding
+ aerodrome:type=international: DE:Tag:aerodrome:type=international
+ aerodrome:type=regional: DE:Tag:aerodrome:type=regional
aeroway=aerodrome: DE:Tag:aeroway=aerodrome
aeroway=apron: DE:Tag:aeroway=apron
aeroway=gate: DE:Tag:aeroway=gate
aeroway=helipad: DE:Tag:aeroway=helipad
aeroway=heliport: DE:Tag:aeroway=heliport
aeroway=navigationaid: DE:Tag:aeroway=navigationaid
+ aeroway=parking_position: DE:Tag:aeroway=parking position
aeroway=runway: DE:Tag:aeroway=runway
aeroway=spaceport: DE:Tag:aeroway=spaceport
aeroway=taxiway: DE:Tag:aeroway=taxiway
amenity=school: DE:Tag:amenity=school
amenity=shelter: DE:Tag:amenity=shelter
amenity=shower: DE:Tag:amenity=shower
+ amenity=ski_school: DE:Tag:amenity=ski school
amenity=smoking_area: DE:Tag:amenity=smoking area
amenity=social_facility: DE:Tag:amenity=social facility
amenity=stables: DE:Tag:amenity=stables
atm=yes: DE:Tag:atm=yes
attraction=animal: DE:Tag:attraction=animal
attraction=train: DE:Tag:attraction=train
+ attraction=water_slide: DE:Tag:attraction=water slide
barrier=block: DE:Tag:barrier=block
barrier=bollard: DE:Tag:barrier=bollard
barrier=cattle_grid: DE:Tag:barrier=cattle grid
barrier=city_wall: DE:Tag:barrier=city wall
barrier=cycle_barrier: DE:Tag:barrier=cycle barrier
barrier=ditch: DE:Tag:barrier=ditch
+ barrier=entrance: DE:Tag:barrier=entrance
barrier=fence: DE:Tag:barrier=fence
barrier=gate: DE:Tag:barrier=gate
barrier=hedge: DE:Tag:barrier=hedge
barrier=hedge_bank: DE:Tag:barrier=hedge bank
+ barrier=height_restrictor: DE:Tag:barrier=height restrictor
barrier=kissing_gate: DE:Tag:barrier=kissing gate
barrier=lift_gate: DE:Tag:barrier=lift gate
barrier=retaining_wall: DE:Tag:barrier=retaining wall
barrier=sally_port: DE:Tag:barrier=sally port
barrier=toll_booth: DE:Tag:barrier=toll booth
barrier=wall: DE:Tag:barrier=wall
+ bath:type=hammam: DE:Tag:bath:type=hammam
+ bath:type=thermal: DE:Tag:bath:type=thermal
+ bay=fjord: DE:Tag:bay=fjord
bicycle=designated: DE:Tag:bicycle=designated
bicycle=use_sidepath: DE:Tag:bicycle=use sidepath
biosphärenwirt=yes: DE:Tag:biosphärenwirt=yes
boundary=national_park: DE:Tag:boundary=national park
boundary=postal_code: DE:Tag:boundary=postal code
boundary=protected_area: DE:Tag:boundary=protected area
+ boundary=religious_administration: DE:Tag:boundary=religious administration
boundary=water_protection_area: DE:Tag:boundary=water protection area
bridge:movable=bascule: DE:Tag:bridge:movable=bascule
bridge:movable=drawbridge: DE:Tag:bridge:movable=drawbridge
bridge=viaduct: DE:Tag:bridge=viaduct
building=apartments: DE:Tag:building=apartments
building=barn: DE:Tag:building=barn
+ building=boathouse: DE:Tag:building=boathouse
building=bungalow: DE:Tag:building=bungalow
building=cathedral: DE:Tag:building=cathedral
building=chapel: DE:Tag:building=chapel
building=church: DE:Tag:building=church
building=civic: DE:Tag:building=civic
building=commercial: DE:Tag:building=commercial
+ building=container: DE:Tag:building=container
building=detached: DE:Tag:building=detached
building=dormitory: DE:Tag:building=dormitory
building=entrance: DE:Tag:building=entrance
building=shed: DE:Tag:building=shed
building=shrine: DE:Tag:building=shrine
building=slurry_tank: DE:Tag:building=slurry tank
+ building=sports_hall: DE:Tag:building=sports hall
building=stable: DE:Tag:building=stable
building=static_caravan: DE:Tag:building=static caravan
building=sty: DE:Tag:building=sty
building=synagogue: DE:Tag:building=synagogue
building=tech_cab: DE:Tag:building=tech cab
+ building=temple: DE:Tag:building=temple
building=terrace: DE:Tag:building=terrace
building=train_station: DE:Tag:building=train station
building=university: DE:Tag:building=university
club=fan: DE:Tag:club=fan
club=scout: DE:Tag:club=scout
club=sport: DE:Tag:club=sport
+ communication=line: DE:Tag:communication=line
craft=agricultural_engines: DE:Tag:craft=agricultural engines
craft=basket_maker: DE:Tag:craft=basket maker
craft=beekeeper: DE:Tag:craft=beekeeper
craft=blacksmith: DE:Tag:craft=blacksmith
craft=boatbuilder: DE:Tag:craft=boatbuilder
craft=bookbinder: DE:Tag:craft=bookbinder
+ craft=builder: DE:Tag:craft=builder
craft=car_repair: DE:Tag:craft=car repair
craft=carpenter: DE:Tag:craft=carpenter
craft=carpet_layer: DE:Tag:craft=carpet layer
+ craft=caterer: DE:Tag:craft=caterer
craft=chimney_sweeper: DE:Tag:craft=chimney sweeper
craft=cooper: DE:Tag:craft=cooper
+ craft=dental_technician: DE:Tag:craft=dental technician
craft=distillery: DE:Tag:craft=distillery
craft=dressmaker: DE:Tag:craft=dressmaker
craft=electrican: DE:Tag:craft=electrican
craft=scaffolder: DE:Tag:craft=scaffolder
craft=shoemaker: DE:Tag:craft=shoemaker
craft=stonemason: DE:Tag:craft=stonemason
+ craft=sun_protection: DE:Tag:craft=sun protection
+ craft=tailor: DE:Tag:craft=tailor
craft=tiler: DE:Tag:craft=tiler
craft=tinsmith: DE:Tag:craft=tinsmith
craft=toolmaker: DE:Tag:craft=toolmaker
emergency=emergency_ward_entrance: DE:Tag:emergency=emergency ward entrance
emergency=fire_hydrant: DE:Tag:emergency=fire hydrant
emergency=fire_water_pond: DE:Tag:emergency=fire water pond
+ emergency=first_aid: DE:Tag:emergency=first aid
+ emergency=first_aid_kit: DE:Tag:emergency=first aid kit
emergency=life_ring: DE:Tag:emergency=life ring
+ emergency=lifeguard_base: DE:Tag:emergency=lifeguard base
+ emergency=lifeguard_place: DE:Tag:emergency=lifeguard place
emergency=lifeguard_tower: DE:Tag:emergency=lifeguard tower
+ emergency=mountain_rescue: DE:Tag:emergency=mountain rescue
emergency=phone: DE:Tag:emergency=phone
emergency=siren: DE:Tag:emergency=siren
emergency=suction_point: DE:Tag:emergency=suction point
emergency_service=technical: DE:Tag:emergency service=technical
entrance=main: DE:Tag:entrance=main
entrance=yes: DE:Tag:entrance=yes
- food=gourmet: DE:Tag:food=gourmet
foot=designated: DE:Tag:foot=designated
+ footway=crossing: DE:Tag:footway=crossing
footway=sidewalk: DE:Tag:footway=sidewalk
+ ford=stepping_stones: DE:Tag:ford=stepping stones
+ ford=yes: DE:Tag:ford=yes
fortification_type=hill_fort: DE:Tag:fortification type=hill fort
fortification_type=limes: DE:Tag:fortification type=limes
fortification_type=ringfort: DE:Tag:fortification type=ringfort
golf=rough: DE:Tag:golf=rough
golf=tee: DE:Tag:golf=tee
golf=water_hazard: DE:Tag:golf=water hazard
+ government=cadaster: DE:Tag:government=cadaster
+ government=customs: DE:Tag:government=customs
+ government=healthcare: DE:Tag:government=healthcare
government=ministry: DE:Tag:government=ministry
government=prosecutor: DE:Tag:government=prosecutor
government=register_office: DE:Tag:government=register office
+ government=statistics: DE:Tag:government=statistics
government=tax: DE:Tag:government=tax
+ government=youth_welfare_department: DE:Tag:government=youth welfare department
hazmat:water=permissive: DE:Tag:hazmat:water=permissive
healthcare=blood_donation: DE:Tag:healthcare=blood donation
+ healthcare=laboratory: DE:Tag:healthcare=laboratory
highway=abandoned: DE:Tag:highway=abandoned
highway=access: DE:Tag:highway=access
highway=bridleway: DE:Tag:highway=bridleway
highway=bus_guideway: DE:Tag:highway=bus guideway
highway=bus_stop: DE:Tag:highway=bus stop
+ highway=byway: DE:Tag:highway=byway
highway=corridor: DE:Tag:highway=corridor
highway=crossing: DE:Tag:highway=crossing
highway=cycleway: DE:Tag:highway=cycleway
highway=give_way: DE:Tag:highway=give way
highway=kerb: DE:Tag:highway=kerb
highway=living_street: DE:Tag:highway=living street
+ highway=milestone: DE:Tag:highway=milestone
highway=mini_roundabout: DE:Tag:highway=mini roundabout
highway=motorway: DE:Tag:highway=motorway
highway=motorway_junction: DE:Tag:highway=motorway junction
historic=wayside_shrine: DE:Tag:historic=wayside shrine
historic=wreck: DE:Tag:historic=wreck
horse=designated: DE:Tag:horse=designated
+ industrial=bakery: DE:Tag:industrial=bakery
industrial=scrap_yard: DE:Tag:industrial=scrap yard
information=audioguide: DE:Tag:information=audioguide
information=board: DE:Tag:information=board
leisure=tanning_salon: DE:Tag:leisure=tanning salon
leisure=track: DE:Tag:leisure=track
leisure=water_park: DE:Tag:leisure=water park
+ leisure=wildlife_hide: DE:Tag:leisure=wildlife hide
level_crossing=automatic_barrier: DE:Tag:level crossing=automatic barrier
level_crossing=traffic_signals: DE:Tag:level crossing=traffic signals
level_crossing=uncontrolled: DE:Tag:level crossing=uncontrolled
military=range: DE:Tag:military=range
military=training_area: DE:Tag:military=training area
motorcycle:type=scooter: DE:Tag:motorcycle:type=scooter
+ museum=history: DE:Tag:museum=history
+ museum=local: DE:Tag:museum=local
+ museum=railway: DE:Tag:museum=railway
natural=anthill: DE:Tag:natural=anthill
natural=arete: DE:Tag:natural=arete
natural=bare_rock: DE:Tag:natural=bare rock
natural=geyser: DE:Tag:natural=geyser
natural=glacier: DE:Tag:natural=glacier
natural=grassland: DE:Tag:natural=grassland
+ natural=gully: DE:Tag:natural=gully
natural=heath: DE:Tag:natural=heath
natural=hot_spring: DE:Tag:natural=hot spring
natural=moor: DE:Tag:natural=moor
network=rcn: DE:Tag:network=rcn
network=rhn: DE:Tag:network=rhn
network=rwn: DE:Tag:network=rwn
+ observatory:type=astronomical: DE:Tag:observatory:type=astronomical
office=accountant: DE:Tag:office=accountant
office=administrative: DE:Tag:office=administrative
office=advertising_agency: DE:Tag:office=advertising agency
office=energy_supplier: DE:Tag:office=energy supplier
office=estate_agent: DE:Tag:office=estate agent
office=forestry: DE:Tag:office=forestry
+ office=geodesist: DE:Tag:office=geodesist
office=government: DE:Tag:office=government
office=guide: DE:Tag:office=guide
office=insurance: DE:Tag:office=insurance
office=lawyer: DE:Tag:office=lawyer
office=moving_company: DE:Tag:office=moving company
office=newspaper: DE:Tag:office=newspaper
+ office=ngo: DE:Tag:office=ngo
office=parish: DE:Tag:office=parish
office=political_party: DE:Tag:office=political party
office=religion: DE:Tag:office=religion
office=research: DE:Tag:office=research
+ office=surveyor: DE:Tag:office=surveyor
office=tax_advisor: DE:Tag:office=tax advisor
office=therapist: DE:Tag:office=therapist
office=travel_agent: DE:Tag:office=travel agent
operator=cambio: DE:Tag:operator=cambio
operator=stadtmobil: DE:Tag:operator=stadtmobil
operator=teilAuto: DE:Tag:operator=teilAuto
+ park_ride: DE:Tag:park ride
parking:lane:hgv=on_street: DE:Tag:parking:lane:hgv=on street
pipeline=marker: DE:Tag:pipeline=marker
pipeline=substation: DE:Tag:pipeline=substation
railway=halt: DE:Tag:railway=halt
railway=level_crossing: DE:Tag:railway=level crossing
railway=light_rail: DE:Tag:railway=light rail
+ railway=milestone: DE:Tag:railway=milestone
railway=miniature: DE:Tag:railway=miniature
railway=monorail: DE:Tag:railway=monorail
railway=narrow_gauge: DE:Tag:railway=narrow gauge
railway=traverser: DE:Tag:railway=traverser
railway=turntable: DE:Tag:railway=turntable
railway=wash: DE:Tag:railway=wash
+ railway=water_tower: DE:Tag:railway=water tower
railway=yard: DE:Tag:railway=yard
religion=buddhist: DE:Tag:religion=buddhist
religion=christian: DE:Tag:religion=christian
service=siding: DE:Tag:service=siding
service=spur: DE:Tag:service=spur
service=yard: DE:Tag:service=yard
+ shelter_type=basic_hut: DE:Tag:shelter type=basic hut
shelter_type=lean_to: DE:Tag:shelter type=lean to
shop=agrarian: DE:Tag:shop=agrarian
shop=alcohol: DE:Tag:shop=alcohol
shop=boutique: DE:Tag:shop=boutique
shop=butcher: DE:Tag:shop=butcher
shop=camera: DE:Tag:shop=camera
+ shop=candles: DE:Tag:shop=candles
shop=car: DE:Tag:shop=car
shop=car_parts: DE:Tag:shop=car parts
shop=car_repair: DE:Tag:shop=car repair
shop=carpet: DE:Tag:shop=carpet
+ shop=ceramics: DE:Tag:shop=ceramics
shop=charity: DE:Tag:shop=charity
shop=cheese: DE:Tag:shop=cheese
shop=chemist: DE:Tag:shop=chemist
shop=doityourself: DE:Tag:shop=doityourself
shop=dry_cleaning: DE:Tag:shop=dry cleaning
shop=electronics: DE:Tag:shop=electronics
+ shop=equestrian: DE:Tag:shop=equestrian
shop=erotic: DE:Tag:shop=erotic
shop=fabric: DE:Tag:shop=fabric
shop=farm: DE:Tag:shop=farm
shop=flooring: DE:Tag:shop=flooring
shop=florist: DE:Tag:shop=florist
shop=frame: DE:Tag:shop=frame
+ shop=frozen_food: DE:Tag:shop=frozen food
shop=funeral_directors: DE:Tag:shop=funeral directors
shop=furniture: DE:Tag:shop=furniture
shop=garden_centre: DE:Tag:shop=garden centre
shop=hairdresser: DE:Tag:shop=hairdresser
shop=hairdresser_supply: DE:Tag:shop=hairdresser supply
shop=hardware: DE:Tag:shop=hardware
+ shop=health_food: DE:Tag:shop=health food
shop=hearing_aids: DE:Tag:shop=hearing aids
shop=herbalist: DE:Tag:shop=herbalist
shop=hifi: DE:Tag:shop=hifi
shop=perfumery: DE:Tag:shop=perfumery
shop=pet: DE:Tag:shop=pet
shop=photo: DE:Tag:shop=photo
+ shop=religion: DE:Tag:shop=religion
+ shop=robot: DE:Tag:shop=robot
shop=scuba_diving: DE:Tag:shop=scuba diving
shop=seafood: DE:Tag:shop=seafood
shop=second_hand: DE:Tag:shop=second hand
+ shop=sewing: DE:Tag:shop=sewing
shop=shoes: DE:Tag:shop=shoes
shop=spare_parts: DE:Tag:shop=spare parts
shop=spices: DE:Tag:shop=spices
shop=vacant: DE:Tag:shop=vacant
shop=variety_store: DE:Tag:shop=variety store
shop=video: DE:Tag:shop=video
+ shop=video_games: DE:Tag:shop=video games
shop=watches: DE:Tag:shop=watches
shop=weapons: DE:Tag:shop=weapons
shop=wholesale: DE:Tag:shop=wholesale
sport=10pin: DE:Tag:sport=10pin
sport=9pin: DE:Tag:sport=9pin
sport=archery: DE:Tag:sport=archery
+ sport=athletics: DE:Tag:sport=athletics
sport=baseball: DE:Tag:sport=baseball
sport=basketball: DE:Tag:sport=basketball
sport=bobsleigh: DE:Tag:sport=bobsleigh
substation=transmission: DE:Tag:substation=transmission
summit:cross=yes: DE:Tag:summit:cross=yes
surface=asphalt: DE:Tag:surface=asphalt
+ telescope:type=radio: DE:Tag:telescope:type=radio
tourism=alpine_hut: DE:Tag:tourism=alpine hut
tourism=apartment: DE:Tag:tourism=apartment
tourism=aquarium: DE:Tag:tourism=aquarium
tourism=wilderness_hut: DE:Tag:tourism=wilderness hut
tourism=wine_cellar: DE:Tag:tourism=wine cellar
tourism=zoo: DE:Tag:tourism=zoo
+ tower:construction=dish: DE:Tag:tower:construction=dish
+ tower:construction=dome: DE:Tag:tower:construction=dome
+ tower:construction=freestanding: DE:Tag:tower:construction=freestanding
+ tower:construction=guyed_lattice: DE:Tag:tower:construction=guyed lattice
+ tower:construction=guyed_tube: DE:Tag:tower:construction=guyed tube
+ tower:construction=lattice: DE:Tag:tower:construction=lattice
tower:type=bell_tower: DE:Tag:tower:type=bell tower
tower:type=bridge: DE:Tag:tower:type=bridge
tower:type=communication: DE:Tag:tower:type=communication
tower:type=watchtower: DE:Tag:tower:type=watchtower
traffic_sign=city_limit: DE:Tag:traffic sign=city limit
tunnel=culvert: DE:Tag:tunnel=culvert
+ vending: DE:Tag:vending
vending=animal_feed: DE:Tag:vending=animal feed
vending=bicycle_tube: DE:Tag:vending=bicycle tube
vending=bottle_return: DE:Tag:vending=bottle return
vending=parcel_pickup: DE:Tag:vending=parcel pickup
vending=parcel_pickup;parcel_mail_in: DE:Tag:vending=parcel pickup;parcel mail
in
+ vending=parking_tickets: DE:Tag:vending=parking tickets
vending=public_transport_tickets: DE:Tag:vending=public transport tickets
vending=sex_toys: DE:Tag:vending=sex toys
vending=stamps: DE:Tag:vending=stamps
vending=toys: DE:Tag:vending=toys
vending=water: DE:Tag:vending=water
vending_machine=fuel: DE:Tag:vending machine=fuel
+ water=canal: DE:Tag:water=canal
+ water=lagoon: DE:Tag:water=lagoon
water=lake: DE:Tag:water=lake
water=lock: DE:Tag:water=lock
+ water=oxbow: DE:Tag:water=oxbow
+ water=pond: DE:Tag:water=pond
water=reservoir: DE:Tag:water=reservoir
+ water=river: DE:Tag:water=river
+ water=wastewater: DE:Tag:water=wastewater
waterway=boat_lift: DE:Tag:waterway=boat lift
waterway=boatyard: DE:Tag:waterway=boatyard
waterway=canal: DE:Tag:waterway=canal
building:architecture: El:Key:building:architecture
building:levels: El:Key:building:levels
height: El:Key:height
+ shop: El:Key:shop
tag:
amenity=bar: El:Tag:amenity=bar
amenity=bbq: El:Tag:amenity=bbq
amenity=university: El:Tag:amenity=university
en:
key:
+ 3dmr: Key:3dmr
3dr:type: Key:3dr:type
4wd_only: Key:4wd only
:lanes: Key::lanes
AND_nosr_r: Key:AND nosr r
AlpinRes_ID: Key:AlpinRes ID
CEMT: Key:CEMT
+ CLC:code: Key:CLC:code
DGPS_correction: Key:DGPS correction
EHAK:code: Key:EHAK:code
EH_ref: Key:EH ref
Fetish: Key:Fetish
Finance_agent: Key:Finance agent
HE_ref: Key:HE ref
+ HU:ed_direction: Key:HU:ed direction
HU:hu-go:length: Key:HU:hu-go:length
HU:hu-go:milestone: Key:HU:hu-go:milestone
HU:hu-go:road: Key:HU:hu-go:road
addr:city:de: Key:addr:city:de
addr:city:en: Key:addr:city:en
addr:city:it: Key:addr:city:it
+ addr:city:simc: Key:addr:city:simc
addr:conscriptionnumber: Key:addr:conscriptionnumber
addr:country: Key:addr:country
addr:district: Key:addr:district
aerialway:drag_lift: Key:aerialway:drag lift
aerialway:duration: Key:aerialway:duration
aerodrome: Key:aerodrome
+ aerodrome:type: Key:aerodrome:type
aeroway: Key:aeroway
after_school: Key:after school
agricultural: Key:agricultural
air_conditioning: Key:air conditioning
+ airconditioned: Key:airconditioned
alt_name: Key:alt name
alt_name:ar: Key:alt name:ar
+ alt_name:be: Key:alt name:be
alt_name:en: Key:alt name:en
alt_name:ko: Key:alt name:ko
alt_name:mg: Key:alt name:mg
+ alt_name:pl: Key:alt name:pl
+ alt_name:ru: Key:alt name:ru
alt_name:th: Key:alt name:th
alt_name_1: Key:alt name 1
amenity: Key:amenity
animal: Key:animal
animated: Key:animated
architect: Key:architect
+ architect:wikipedia: Key:architect:wikipedia
area: Key:area
area:highway: Key:area:highway
artist_name: Key:artist name
barrier:personnel: Key:barrier:personnel
baseball: Key:baseball
basin: Key:basin
+ bath:type: Key:bath:type
bdouble: Key:bdouble
beacon: Key:beacon
beacon:colour: Key:beacon:colour
beacon:function: Key:beacon:function
beacon:type: Key:beacon:type
beds: Key:beds
+ bell_tower: Key:bell tower
bench: Key:bench
bicycle: Key:bicycle
bicycle:class:mtb: Key:bicycle:class:mtb
board_type: Key:board type
boat: Key:boat
bollard: Key:bollard
+ booking: Key:booking
books: Key:books
border_type: Key:border type
both: Key:both
bottom:material: Key:bottom:material
boundary: Key:boundary
- boundary_type: Key:boundary type
branch: Key:branch
brand: Key:brand
brand:wikidata: Key:brand:wikidata
bridge:name: Key:bridge:name
bridge:official_name: Key:bridge:official name
bridge:old_name: Key:bridge:old name
+ bridge:ref: Key:bridge:ref
bridge:short_name: Key:bridge:short name
bridge:structure: Key:bridge:structure
bridge:support: Key:bridge:support
building:obm: Key:building:obm
building:part: Key:building:part
building:place: Key:building:place
+ building:roof: Key:building:roof
building:roof:colour: Key:building:roof:colour
building:ruian:type: Key:building:ruian:type
building:type: Key:building:type
canoe: Key:canoe
capacity: Key:capacity
capacity:disabled: Key:capacity:disabled
+ capacity:parent: Key:capacity:parent
+ capacity:women: Key:capacity:women
capital: Key:capital
capital_city: Key:capital city
car_wash: Key:car wash
center_turn_lane: Key:center turn lane
centralkey: Key:centralkey
centre_turn_lane: Key:centre turn lane
- cep: Key:cep
change: Key:change
changesets_count: Key:changesets count
charge: Key:charge
circuits: Key:circuits
circumference: Key:circumference
city_limit: Key:city limit
+ clacks_overhead: Key:clacks overhead
class: Key:class
class:bicycle: Key:class:bicycle
class:bicycle:commute: Key:class:bicycle:commute
class:bicycle:roadcycling: Key:class:bicycle:roadcycling
class:bicycle:touring: Key:class:bicycle:touring
class:bicycle:trailer: Key:class:bicycle:trailer
+ climbing: Key:climbing
+ climbing:*: Key:climbing:*
+ climbing:rock: Key:climbing:rock
clli: Key:clli
clothes: Key:clothes
club: Key:club
club-mate: Key:club-mate
+ coach: Key:coach
coastline:survey_quality: Key:coastline:survey quality
cocktails: Key:cocktails
coffee: Key:coffee
communication:amateur_radio: Key:communication:amateur radio
communication:amateur_radio:repeater: Key:communication:amateur radio:repeater
communication:bos: Key:communication:bos
+ communication:gsm-r: Key:communication:gsm-r
communication:microwave: Key:communication:microwave
communication:mobile_phone: Key:communication:mobile phone
communication:radio: Key:communication:radio
community_centre:for: Key:community centre:for
condition: Key:condition
conditional: Key:conditional
+ condo: Key:condo
construction: Key:construction
construction:website: Key:construction:website
construction_end_expected: Key:construction end expected
+ construction_start_expected: Key:construction start expected
contact: Key:contact
contact:diaspora: Key:contact:diaspora
contact:email: Key:contact:email
contact:facebook: Key:contact:facebook
contact:fax: Key:contact:fax
contact:flickr: Key:contact:flickr
+ contact:foursquare: Key:contact:foursquare
contact:gnusocial: Key:contact:gnusocial
contact:google_plus: Key:contact:google plus
contact:instagram: Key:contact:instagram
contact:mastodon: Key:contact:mastodon
contact:phone: Key:contact:phone
contact:skype: Key:contact:skype
+ contact:telegram: Key:contact:telegram
contact:twitter: Key:contact:twitter
contact:vhf: Key:contact:vhf
+ contact:viber: Key:contact:viber
contact:vk: Key:contact:vk
contact:webcam: Key:contact:webcam
contact:website: Key:contact:website
+ contact:whatsapp: Key:contact:whatsapp
contact:xing: Key:contact:xing
+ contact:xmpp: Key:contact:xmpp
contact:youtube: Key:contact:youtube
content: Key:content
conveying: Key:conveying
currency:EUR: Key:currency:EUR
currency:GBP: Key:currency:GBP
currency:PLN: Key:currency:PLN
+ currency:RUB: Key:currency:RUB
currency:USD: Key:currency:USD
currency:XXX: Key:currency:XXX
currency:others: Key:currency:others
cyclability: Key:cyclability
cycle: Key:cycle
cycle_network: Key:cycle network
+ cyclestreet: Key:cyclestreet
cyclestreets_id: Key:cyclestreets id
cycleway: Key:cycleway
cycleway:both: Key:cycleway:both
cycleway:buffer: Key:cycleway:buffer
+ cycleway:lane: Key:cycleway:lane
cycleway:left: Key:cycleway:left
cycleway:left=backward: Key:cycleway:left=backward
cycleway:right: Key:cycleway:right
de:regionalschluessel: Key:de:regionalschluessel
de:strassenschluessel: Key:de:strassenschluessel
deanery: Key:deanery
+ default_language: Key:default language
dehoga: Key:dehoga
delivery: Key:delivery
+ delivery_point: Key:delivery point
+ delivery_point:access: Key:delivery point:access
+ delivery_point:type: Key:delivery point:type
demolished: Key:demolished
'demolished:': 'Key:demolished:'
denomination: Key:denomination
denotation: Key:denotation
+ departures_board: Key:departures board
depth: Key:depth
depth:clearance: Key:depth:clearance
depth:dangerous: Key:depth:dangerous
description: Key:description
description:restrictions: Key:description:restrictions
descriptions:restrictions: Key:descriptions:restrictions
+ design: Key:design
design:ref: Key:design:ref
designation: Key:designation
destination: Key:destination
destination:lanes:backward: Key:destination:lanes:backward
destination:lanes:forward: Key:destination:lanes:forward
detour: Key:detour
+ devices: Key:devices
dhm_id: Key:dhm id
diameter: Key:diameter
diaper: Key:diaper
dibavod:id: Key:dibavod:id
diet: Key:diet
+ 'diet:': 'Key:diet:'
diet:*: Key:diet:*
diet:dairy_free: Key:diet:dairy free
diet:gluten_free: Key:diet:gluten free
+ diet:halal: Key:diet:halal
+ diet:kosher: Key:diet:kosher
diet:lactose_free: Key:diet:lactose free
diet:vegan: Key:diet:vegan
diet:vegetarian: Key:diet:vegetarian
dispensing: Key:dispensing
display: Key:display
distance: Key:distance
+ distillery: Key:distillery
disused: Key:disused
'disused:': 'Key:disused:'
disused:amenity: Key:disused:amenity
drive_through: Key:drive through
drive_thru: Key:drive thru
driving_side: Key:driving side
+ dryer: Key:dryer
duration: Key:duration
earthquake: Key:earthquake
earthquake:damage: Key:earthquake:damage
ele: Key:ele
ele:NHN: Key:ele:NHN
ele:local: Key:ele:local
+ electricity: Key:electricity
electrified: Key:electrified
email: Key:email
embankment: Key:embankment
finance_agent: Key:finance agent
fire_boundary: Key:fire boundary
fire_hydrant: Key:fire hydrant
- fire_hydrant:type: Key:fire hydrant:type
fire_object:type: Key:fire object:type
fire_operator: Key:fire operator
fire_rank: Key:fire rank
flood_mark: Key:flood mark
flood_prone: Key:flood prone
floor:material: Key:floor:material
+ flow_rate: Key:flow rate
foot: Key:foot
footway: Key:footway
ford: Key:ford
forestry: Key:forestry
format: Key:format
+ format:top: Key:format:top
fortification_type: Key:fortification type
forward: Key:forward
+ fountain: Key:fountain
+ free_refill: Key:free refill
frequency: Key:frequency
fridge: Key:fridge
from: Key:from
fuel:E10: Key:fuel:E10
fuel:GTL_diesel: Key:fuel:GTL diesel
fuel:HGV_diesel: Key:fuel:HGV diesel
+ fuel:LH2: Key:fuel:LH2
fuel:adblue: Key:fuel:adblue
fuel:alcohol: Key:fuel:alcohol
fuel:biodiesel: Key:fuel:biodiesel
garden:style: Key:garden:style
garden:type: Key:garden:type
gauge: Key:gauge
+ gender_segregated: Key:gender segregated
generator:method: Key:generator:method
generator:output: Key:generator:output
generator:output:biogas: Key:generator:output:biogas
generator:type: Key:generator:type
genus: Key:genus
genus:de: Key:genus:de
+ genus:ru: Key:genus:ru
geocodigo: Key:geocodigo
geological: Key:geological
geothermal: Key:geothermal
gun_emplacement_type: Key:gun emplacement type
gun_turret: Key:gun turret
gvr:code: Key:gvr:code
+ handicap: Key:handicap
handrail: Key:handrail
+ handrail:center: Key:handrail:center
+ handrail:left: Key:handrail:left
+ handrail:right: Key:handrail:right
happy_hours: Key:happy hours
harbour: Key:harbour
harbour:category: Key:harbour:category
healthcare: Key:healthcare
healthcare:speciality: Key:healthcare:speciality
height: Key:height
+ height:hub: Key:height:hub
heritage: Key:heritage
hgv: Key:hgv
+ hgv_articulated: Key:hgv articulated
high_water_mark: Key:high water mark
+ highchair: Key:highchair
highspeed: Key:highspeed
highway: Key:highway
highway:category: Key:highway:category
indoormark: Key:indoormark
industrial: Key:industrial
industry:isic_code: Key:industry:isic code
+ infant_bed: Key:infant bed
informal: Key:informal
information: Key:information
inline_skates: Key:inline skates
is_in:region: Key:is in:region
is_in:sea: Key:is in:sea
is_in:state: Key:is in:state
+ is_in:state_code: Key:is in:state code
is_in:ward: Key:is in:ward
+ isced:level: Key:isced:level
it:fvg:ctrn:code: Key:it:fvg:ctrn:code
jel: Key:jel
jetski:sales: Key:jetski:sales
label: Key:label
lacounty:ain: Key:lacounty:ain
lacounty:bld_id: Key:lacounty:bld id
- lactose_free: Key:lactose free
ladder: Key:ladder
lamp_mount: Key:lamp mount
lamp_type: Key:lamp type
+ landfill:waste: Key:landfill:waste
landmark: Key:landmark
landuse: Key:landuse
- lane_hint: Key:lane hint
lanes: Key:lanes
lanes:backward: Key:lanes:backward
lanes:both_ways: Key:lanes:both ways
lanes:psv: Key:lanes:psv
lanes:psv:backward: Key:lanes:psv:backward
lanes:psv:forward: Key:lanes:psv:forward
+ language:LL: Key:language:LL
lawyer: Key:lawyer
layer: Key:layer
lcn_ref: Key:lcn ref
long_name:ar: Key:long name:ar
lottery: Key:lottery
love_locks: Key:love locks
+ luminous: Key:luminous
lunch: Key:lunch
lunch:specials: Key:lunch:specials
maintained: Key:maintained
maxlength: Key:maxlength
maxspeed: Key:maxspeed
maxspeed:advisory: Key:maxspeed:advisory
+ maxspeed:backward: Key:maxspeed:backward
maxspeed:conditional: Key:maxspeed:conditional
+ maxspeed:forward: Key:maxspeed:forward
+ maxspeed:hgv: Key:maxspeed:hgv
maxspeed:practical: Key:maxspeed:practical
maxspeed:source: Key:maxspeed:source
maxspeed:type: Key:maxspeed:type
maxweight: Key:maxweight
maxwidth: Key:maxwidth
maxwidth:physical: Key:maxwidth:physical
+ mcrb:criteria: Key:mcrb:criteria
mdb_id: Key:mdb id
measurement: Key:measurement
medical_supply: Key:medical supply
megalith_type: Key:megalith type
+ membership: Key:membership
memorial: Key:memorial
memorial:type: Key:memorial:type
message: Key:message
+ mhs:inscription_date: Key:mhs:inscription date
microbrewery: Key:microbrewery
+ milestone_type: Key:milestone type
military: Key:military
min_age: Key:min age
min_height: Key:min height
motorcycle: Key:motorcycle
motorcycle:clothes: Key:motorcycle:clothes
motorcycle:conditional: Key:motorcycle:conditional
+ motorcycle:lanes: Key:motorcycle:lanes
+ motorcycle:parking: Key:motorcycle:parking
motorcycle:parts: Key:motorcycle:parts
motorcycle:rental: Key:motorcycle:rental
motorcycle:repair: Key:motorcycle:repair
motorcycle:sales: Key:motorcycle:sales
+ motorcycle:scale: Key:motorcycle:scale
motorcycle:type: Key:motorcycle:type
motorcycle:tyres: Key:motorcycle:tyres
motorhome: Key:motorhome
name:be: Key:name:be
name:be-tarask: Key:name:be-tarask
name:ber: Key:name:ber
+ name:bn: Key:name:bn
name:botanical: Key:name:botanical
name:br: Key:name:br
name:ca: Key:name:ca
name:cs: Key:name:cs
name:cy: Key:name:cy
+ name:da: Key:name:da
name:de: Key:name:de
name:dv: Key:name:dv
name:el: Key:name:el
name:en: Key:name:en
name:eo: Key:name:eo
name:es: Key:name:es
+ name:et: Key:name:et
name:etymology: Key:name:etymology
name:etymology:wikipedia: Key:name:etymology:wikipedia
name:eu: Key:name:eu
+ name:fa: Key:name:fa
name:fi: Key:name:fi
name:fr: Key:name:fr
name:fy: Key:name:fy
name:gd: Key:name:gd
name:he: Key:name:he
name:hi: Key:name:hi
+ name:hr: Key:name:hr
name:hu: Key:name:hu
+ name:hy: Key:name:hy
name:io: Key:name:io
name:it: Key:name:it
name:ja: Key:name:ja
name:ja-Hira: Key:name:ja-Hira
name:jbo: Key:name:jbo
+ name:ka: Key:name:ka
name:kab: Key:name:kab
name:kn: Key:name:kn
name:kn:iso15919: Key:name:kn:iso15919
name:ko: Key:name:ko
+ name:ko-Latn: Key:name:ko-Latn
name:ko_rm: Key:name:ko rm
name:ku: Key:name:ku
name:left: Key:name:left
name:left:ar: Key:name:left:ar
name:left:fr: Key:name:left:fr
name:lg: Key:name:lg
+ name:lt: Key:name:lt
+ name:lv: Key:name:lv
name:mg: Key:name:mg
name:mk: Key:name:mk
name:ml: Key:name:ml
name:nov: Key:name:nov
name:pl: Key:name:pl
name:prefix: Key:name:prefix
+ name:prefix:be: Key:name:prefix:be
name:pronunciation: Key:name:pronunciation
name:pt: Key:name:pt
name:right: Key:name:right
name:right:ar: Key:name:right:ar
+ name:ro: Key:name:ro
name:ru: Key:name:ru
name:ru:word_stress: Key:name:ru:word stress
name:sc: Key:name:sc
name:sk: Key:name:sk
name:sl: Key:name:sl
+ name:sr: Key:name:sr
+ name:sr-Latn: Key:name:sr-Latn
name:suffix: Key:name:suffix
name:sv: Key:name:sv
name:ta: Key:name:ta
name:tr: Key:name:tr
name:tzl: Key:name:tzl
name:uk: Key:name:uk
+ name:ur: Key:name:ur
name:vo: Key:name:vo
+ name:wikipedia: Key:name:wikipedia
+ name:yue: Key:name:yue
name:zh: Key:name:zh
+ name:zh-sg: Key:name:zh-sg
name_1: Key:name 1
narrow: Key:narrow
nat_name: Key:nat name
ncn_milepost: Key:ncn milepost
ncn_ref: Key:ncn ref
network: Key:network
+ network:wikidata: Key:network:wikidata
no-barnehage:nsrid: Key:no-barnehage:nsrid
noaddress: Key:noaddress
noexit: Key:noexit
nursery: Key:nursery
nvdb:date: Key:nvdb:date
nvdb:id: Key:nvdb:id
+ observatory:type: Key:observatory:type
obstacle: Key:obstacle
occurrence: Key:occurrence
office: Key:office
official_name: Key:official name
official_name:ar: Key:official name:ar
+ official_name:be: Key:official name:be
official_ref: Key:official ref
offshore: Key:offshore
ois:fixme: Key:ois:fixme
old_name: Key:old name
old_name:ar: Key:old name:ar
+ old_name:be: Key:old name:be
old_name:etymology:wikidata: Key:old name:etymology:wikidata
+ old_name:pl: Key:old name:pl
+ old_name:ru: Key:old name:ru
+ old_name:uk: Key:old name:uk
old_railway_operator: Key:old railway operator
old_ref: Key:old ref
+ old_ref:legislative: Key:old ref:legislative
old_ref_legislative: Key:old ref legislative
oneclass: Key:oneclass
oneway: Key:oneway
openfire: Key:openfire
opening_date: Key:opening date
opening_hours: Key:opening hours
+ opening_hours:atm: Key:opening hours:atm
opening_hours:kitchen: Key:opening hours:kitchen
openplaques:id: Key:openplaques:id
openplaques_plaque: Key:openplaques plaque
opensource: Key:opensource
operator: Key:operator
operator:MNC: Key:operator:MNC
+ operator:be: Key:operator:be
+ operator:en: Key:operator:en
+ operator:ru: Key:operator:ru
operator:type: Key:operator:type
operator:wikipedia: Key:operator:wikipedia
organic: Key:organic
orientation: Key:orientation
orienteering: Key:orienteering
origin: Key:origin
+ orv: Key:orv
osak: Key:osak
osak:identifier: Key:osak:identifier
osak:municipality_no: Key:osak:municipality no
ownership: Key:ownership
par: Key:par
parish: Key:parish
+ park:type: Key:park:type
parking: Key:parking
parking:condition: Key:parking:condition
parking:condition:both: Key:parking:condition:both
paved:date: Key:paved:date
payment: Key:payment
payment:account_cards: Key:payment:account cards
+ payment:american_express: Key:payment:american express
payment:cash: Key:payment:cash
payment:coins: Key:payment:coins
+ payment:contactless: Key:payment:contactless
payment:credit_cards: Key:payment:credit cards
+ payment:debit_cards: Key:payment:debit cards
payment:electronic_purses: Key:payment:electronic purses
payment:foo: Key:payment:foo
+ payment:girocard: Key:payment:girocard
+ payment:maestro: Key:payment:maestro
payment:mastercard: Key:payment:mastercard
payment:mir: Key:payment:mir
payment:none: Key:payment:none
'playground:': 'Key:playground:'
playground:theme: Key:playground:theme
point: Key:point
+ pole:type: Key:pole:type
police: Key:police
population: Key:population
+ population:date: Key:population:date
population_rank: Key:population rank
post_box:type: Key:post box:type
post_office:type: Key:post office:type
power_supply: Key:power supply
power_supply:schedule: Key:power supply:schedule
preschool: Key:preschool
+ pressure: Key:pressure
previous: Key:previous
previous:access: Key:previous:access
previous:vehicle: Key:previous:vehicle
protected: Key:protected
protection_title: Key:protection title
prow_ref: Key:prow ref
+ pruning: Key:pruning
psv: Key:psv
public_bookcase:type: Key:public bookcase:type
public_transport: Key:public transport
ramp:stroller: Key:ramp:stroller
ramp:wheelchair: Key:ramp:wheelchair
ramsar: Key:ramsar
+ razed: Key:razed
+ 'razed:': 'Key:razed:'
rcn_ref: Key:rcn ref
real_ale: Key:real ale
real_cider: Key:real cider
ref:IFOPT: Key:ref:IFOPT
ref:INSEE: Key:ref:INSEE
ref:ISTAT: Key:ref:ISTAT
+ ref:NLPG:UPRN:1: Key:ref:NLPG:UPRN:1
ref:NPLG:UPRN:1: Key:ref:NPLG:UPRN:1
ref:TECB: Key:ref:TECB
ref:TECC: Key:ref:TECC
ref:isil: Key:ref:isil
ref:kmb: Key:ref:kmb
ref:lor: Key:ref:lor
+ ref:mcrb: Key:ref:mcrb
ref:mhs: Key:ref:mhs
ref:miaaddr: Key:ref:miaaddr
ref:miabldg: Key:ref:miabldg
+ ref:mise: Key:ref:mise
ref:mobil-parken.de: Key:ref:mobil-parken.de
ref:ortsnetz: Key:ref:ortsnetz
ref:penndot: Key:ref:penndot
+ ref:raa: Key:ref:raa
ref:ruian: Key:ref:ruian
ref:ruian:addr: Key:ref:ruian:addr
ref:ruian:building: Key:ref:ruian:building
ref:sitp: Key:ref:sitp
ref:taskey: Key:ref:taskey
ref:vatin: Key:ref:vatin
+ ref:vatin:hu: Key:ref:vatin:hu
ref:vorwahl: Key:ref:vorwahl
ref:wawa: Key:ref:wawa
ref:whc: Key:ref:whc
reservation: Key:reservation
residential: Key:residential
resource: Key:resource
+ restaurant: Key:restaurant
restriction:conditional: Key:restriction:conditional
retreat: Key:retreat
retroreflecting: Key:retroreflecting
roof:colour: Key:roof:colour
roof:direction: Key:roof:direction
roof:material: Key:roof:material
+ roof:shape: Key:roof:shape
room: Key:room
rooms: Key:rooms
rotor:diameter: Key:rotor:diameter
roundtrip: Key:roundtrip
route: Key:route
+ route_availability: Key:route availability
route_master: Key:route master
route_ref: Key:route ref
route_ref:De_Lijn: Key:route ref:De Lijn
sagns_id: Key:sagns id
salt: Key:salt
sanitary_dump_station: Key:sanitary dump station
+ sauna: Key:sauna
+ sauna:fuel: Key:sauna:fuel
+ sauna:heating: Key:sauna:heating
+ sauna:temperature: Key:sauna:temperature
+ sauna:water:description: Key:sauna:water:description
scenic: Key:scenic
school: Key:school
seamark: Key:seamark
sidewalk: Key:sidewalk
sidewalk_orientation: Key:sidewalk orientation
sign: Key:sign
+ sinkhole: Key:sinkhole
site_type: Key:site type
size: Key:size
ski: Key:ski
socket: Key:socket
sorting_name: Key:sorting name
sorting_name:ar: Key:sorting name:ar
+ sorting_name:be: Key:sorting name:be
+ sorting_name:ru: Key:sorting name:ru
source: Key:source
source:ProRail: Key:source:ProRail
source:addr: Key:source:addr
source:ja: Key:source:ja
source:loc: Key:source:loc
source:maxspeed: Key:source:maxspeed
+ source:maxspeed:backward: Key:source:maxspeed:backward
+ source:maxspeed:forward: Key:source:maxspeed:forward
source:name: Key:source:name
+ source:population: Key:source:population
source:position: Key:source:position
source:postcode: Key:source:postcode
source:ref: Key:source:ref
species:cs: Key:species:cs
species:de: Key:species:de
species:en: Key:species:en
+ species:ru: Key:species:ru
+ species:wikidata: Key:species:wikidata
speech_input: Key:speech input
speech_input:lg: Key:speech input:lg
speech_output: Key:speech output
stop: Key:stop
storage_area: Key:storage area
stranded: Key:stranded
+ strapline: Key:strapline
stream: Key:stream
stroller: Key:stroller
+ structure: Key:structure
sub_sea: Key:sub sea
subject: Key:subject
+ subject:wikipedia: Key:subject:wikipedia
subsea: Key:subsea
substance: Key:substance
substation: Key:substation
technical_type: Key:technical type
technology: Key:technology
telecom: Key:telecom
+ telescope:type: Key:telescope:type
temporary: Key:temporary
tenant: Key:tenant
tents: Key:tents
toilets:type: Key:toilets:type
toilets:wheelchair: Key:toilets:wheelchair
toll: Key:toll
+ toll:hgv: Key:toll:hgv
+ toll:motorcycle: Key:toll:motorcycle
topmark: Key:topmark
topmark:colour: Key:topmark:colour
touring: Key:touring
tourism: Key:tourism
tourist_bus: Key:tourist bus
+ tower:construction: Key:tower:construction
tower:type: Key:tower:type
+ townhall:type: Key:townhall:type
tracks: Key:tracks
tracktype: Key:tracktype
traffic: Key:traffic
traffic_signals:turn:forward: Key:traffic signals:turn:forward
traffic_signals:vibration: Key:traffic signals:vibration
trail_visibility: Key:trail visibility
+ trailblazed: Key:trailblazed
trailer: Key:trailer
train: Key:train
tram: Key:tram
+ transformer:devices: Key:transformer:devices
trees: Key:trees
+ trench: Key:trench
trolley_wire: Key:trolley wire
trolleybus: Key:trolleybus
tsunami: Key:tsunami
usage: Key:usage
user_defined_other: Key:user defined other
utahagrc:parcelid: Key:utahagrc:parcelid
+ validate:ants:yellow: Key:validate:ants:yellow
validate:no_name: Key:validate:no name
validate:no_ref: Key:validate:no ref
+ vegan: Key:vegan
+ vegetarian: Key:vegetarian
vehicle: Key:vehicle
vehicle:conditional: Key:vehicle:conditional
verge: Key:verge
visibility: Key:visibility
voltage: Key:voltage
wall:material: Key:wall:material
+ washing_machine: Key:washing machine
waste: Key:waste
waste_basket: Key:waste basket
water: Key:water
+ water_characteristic: Key:water characteristic
water_point: Key:water point
+ water_system: Key:water system
waterway: Key:waterway
way_area: Key:way area
website: Key:website
wikimedia_commons: Key:wikimedia commons
wikipedia: Key:wikipedia
wikipedia:ar: Key:wikipedia:ar
+ wikipedia:be: Key:wikipedia:be
+ wikipedia:de: Key:wikipedia:de
wikipedia:en: Key:wikipedia:en
+ wikipedia:fr: Key:wikipedia:fr
+ wikipedia:pl: Key:wikipedia:pl
+ windings: Key:windings
+ windings:configuration: Key:windings:configuration
+ windings:primary: Key:windings:primary
+ windings:secondary: Key:windings:secondary
+ windings:tertiary: Key:windings:tertiary
+ wine:grape: Key:wine:grape
+ wine:region: Key:wine:region
+ wine:type: Key:wine:type
+ wine:vineyard: Key:wine:vineyard
+ winery: Key:winery
winter_road: Key:winter road
+ winter_service: Key:winter service
+ winter_service:gritting: Key:winter service:gritting
+ winter_service:priority: Key:winter service:priority
+ winter_service:salting: Key:winter service:salting
wires: Key:wires
woeid: Key:woeid
wood: Key:wood
workrules: Key:workrules
www.prezzibenzina.it: Key:www.prezzibenzina.it
xmas:feature: Key:xmas:feature
+ xmpp: Key:xmpp
year_of_construction: Key:year of construction
yh:LINE_NAME: Key:yh:LINE NAME
yh:LINE_NUM: Key:yh:LINE NUM
aerialway=station: Tag:aerialway=station
aerialway=t-bar: Tag:aerialway=t-bar
aerialway=zip_line: Tag:aerialway=zip line
+ aerodrome:type=airfield: Tag:aerodrome:type=airfield
+ aerodrome:type=gliding: Tag:aerodrome:type=gliding
+ aerodrome:type=international: Tag:aerodrome:type=international
+ aerodrome:type=private: Tag:aerodrome:type=private
+ aerodrome:type=regional: Tag:aerodrome:type=regional
aeroway=aerodrome: Tag:aeroway=aerodrome
aeroway=airport: Tag:aeroway=airport
aeroway=airstrip: Tag:aeroway=airstrip
aeroway=hangar: Tag:aeroway=hangar
aeroway=helipad: Tag:aeroway=helipad
aeroway=heliport: Tag:aeroway=heliport
+ aeroway=highway_strip: Tag:aeroway=highway strip
aeroway=holding_position: Tag:aeroway=holding position
aeroway=landingpad: Tag:aeroway=landingpad
aeroway=launchpad: Tag:aeroway=launchpad
amenity=bicycle_repair_station: Tag:amenity=bicycle repair station
amenity=bicycle_trailer_sharing: Tag:amenity=bicycle trailer sharing
amenity=biergarten: Tag:amenity=biergarten
- amenity=bikeshed: Tag:amenity=bikeshed
amenity=boat_rental: Tag:amenity=boat rental
amenity=boat_sharing: Tag:amenity=boat sharing
amenity=boat_storage: Tag:amenity=boat storage
amenity=bus_station: Tag:amenity=bus station
amenity=bus_stop: Tag:amenity=bus stop
amenity=cafe: Tag:amenity=cafe
- amenity=canoe_hire: Tag:amenity=canoe hire
amenity=car_pooling: Tag:amenity=car pooling
amenity=car_rental: Tag:amenity=car rental
amenity=car_repair: Tag:amenity=car repair
amenity=cinema: Tag:amenity=cinema
amenity=citymap_post: Tag:amenity=citymap post
amenity=clinic: Tag:amenity=clinic
+ amenity=cloakroom: Tag:amenity=cloakroom
amenity=clock: Tag:amenity=clock
amenity=club: Tag:amenity=club
amenity=coast_guard: Tag:amenity=coast guard
amenity=community_centre: Tag:amenity=community centre
amenity=compressed_air: Tag:amenity=compressed air
amenity=concert_hall: Tag:amenity=concert hall
+ amenity=concession_stand: Tag:amenity=concession stand
amenity=conference_centre: Tag:amenity=conference centre
amenity=courthouse: Tag:amenity=courthouse
amenity=coworking_space: Tag:amenity=coworking space
amenity=dancing_school: Tag:amenity=dancing school
amenity=dead_pub: Tag:amenity=dead pub
amenity=dentist: Tag:amenity=dentist
+ amenity=device_charging_station: Tag:amenity=device charging station
amenity=disused: Tag:amenity=disused
amenity=dive_centre: Tag:amenity=dive centre
amenity=doctor: Tag:amenity=doctor
amenity=dog_bin: Tag:amenity=dog bin
amenity=dog_waste_bin: Tag:amenity=dog waste bin
amenity=dojo: Tag:amenity=dojo
+ amenity=dressing_room: Tag:amenity=dressing room
amenity=drinking_water: Tag:amenity=drinking water
amenity=driving_school: Tag:amenity=driving school
amenity=dryer: Tag:amenity=dryer
amenity=education: Tag:amenity=education
amenity=embassy: Tag:amenity=embassy
amenity=emergency_phone: Tag:amenity=emergency phone
- amenity=emergency_service: Tag:amenity=emergency service
amenity=ev_charging: Tag:amenity=ev charging
amenity=events_venue: Tag:amenity=events venue
amenity=exercise_point: Tag:amenity=exercise point
amenity=ice_cream: Tag:amenity=ice cream
amenity=internet_cafe: Tag:amenity=internet cafe
amenity=jobcentre: Tag:amenity=jobcentre
+ amenity=juice_bar: Tag:amenity=juice bar
amenity=kindergarten: Tag:amenity=kindergarten
amenity=kiosk: Tag:amenity=kiosk
amenity=kitchen: Tag:amenity=kitchen
amenity=life_ring: Tag:amenity=life ring
amenity=lifeboat_station: Tag:amenity=lifeboat station
amenity=loading_dock: Tag:amenity=loading dock
+ amenity=lounger: Tag:amenity=lounger
amenity=love_hotel: Tag:amenity=love hotel
amenity=marae: Tag:amenity=marae
amenity=marketplace: Tag:amenity=marketplace
amenity=parking_space: Tag:amenity=parking space
amenity=parkink: Tag:amenity=parkink
amenity=payment_centre: Tag:amenity=payment centre
+ amenity=payment_terminal: Tag:amenity=payment terminal
amenity=pharmacy: Tag:amenity=pharmacy
amenity=photo_booth: Tag:amenity=photo booth
amenity=place_of_worship: Tag:amenity=place of worship
amenity=public_bath: Tag:amenity=public bath
amenity=public_bookcase: Tag:amenity=public bookcase
amenity=public_building: Tag:amenity=public building
- amenity=public_hall: Tag:amenity=public hall
amenity=ranger_station: Tag:amenity=ranger station
amenity=reception_desk: Tag:amenity=reception desk
amenity=recycling: Tag:amenity=recycling
amenity=ski_rental: Tag:amenity=ski rental
amenity=ski_school: Tag:amenity=ski school
amenity=smoking_area: Tag:amenity=smoking area
+ amenity=snow_removal_station: Tag:amenity=snow removal station
amenity=social_centre: Tag:amenity=social centre
amenity=social_facility: Tag:amenity=social facility
amenity=spa: Tag:amenity=spa
amenity=swingerclub: Tag:amenity=swingerclub
amenity=table: Tag:amenity=table
amenity=taxi: Tag:amenity=taxi
- amenity=taxi_point: Tag:amenity=taxi point
amenity=telephone: Tag:amenity=telephone
amenity=television: Tag:amenity=television
amenity=theatre: Tag:amenity=theatre
amenity=toilets: Tag:amenity=toilets
amenity=townhall: Tag:amenity=townhall
amenity=trolley_bay: Tag:amenity=trolley bay
+ amenity=tuition: Tag:amenity=tuition
amenity=university: Tag:amenity=university
amenity=vacuum_cleaner: Tag:amenity=vacuum cleaner
amenity=vehicle_inspection: Tag:amenity=vehicle inspection
amenity=yacht_club: Tag:amenity=yacht club
amenity=youth_centre: Tag:amenity=youth centre
aminety=sceptic_tank: Tag:aminety=sceptic tank
+ animal=horse_walker: Tag:animal=horse walker
animal=school: Tag:animal=school
animated=trivision_blades: Tag:animated=trivision blades
animated=winding_posters: Tag:animated=winding posters
+ area:highway=cycleway: Tag:area:highway=cycleway
+ area:highway=footway: Tag:area:highway=footway
+ area:highway=path: Tag:area:highway=path
+ area:highway=pedestrian: Tag:area:highway=pedestrian
artwork_type=sculpture: Tag:artwork type=sculpture
artwork_type=statue: Tag:artwork type=statue
atm=no: Tag:atm=no
attraction=animal: Tag:attraction=animal
attraction=maze: Tag:attraction=maze
attraction=train: Tag:attraction=train
+ attraction=water_slide: Tag:attraction=water slide
baby_hatch=yes: Tag:baby hatch=yes
bakehouse: Tag:bakehouse
baking_oven: Tag:baking oven
barrier=turnstile: Tag:barrier=turnstile
barrier=wall: Tag:barrier=wall
baseball=softball: Tag:baseball=softball
+ bath:type=hammam: Tag:bath:type=hammam
+ bath:type=hot_spring: Tag:bath:type=hot spring
+ bath:type=onsen: Tag:bath:type=onsen
+ bath:type=thermal: Tag:bath:type=thermal
bay=fjord: Tag:bay=fjord
bicycle=designated: Tag:bicycle=designated
bicycle=official: Tag:bicycle=official
boundary=protected_area: Tag:boundary=protected area
boundary=regional_park: Tag:boundary=regional park
boundary=timezone: Tag:boundary=timezone
+ boundary=urban: Tag:boundary=urban
boundary=vice_county: Tag:boundary=vice county
boundary=water_protection_area: Tag:boundary=water protection area
+ brand=Harley-Davidson: Tag:brand=Harley-Davidson
brand=KTM: Tag:brand=KTM
+ brand=Moto_Guzzi: Tag:brand=Moto Guzzi
brand=Zero: Tag:brand=Zero
bridge:movable=bascule: Tag:bridge:movable=bascule
bridge:movable=drawbridge: Tag:bridge:movable=drawbridge
bridge:movable=lift: Tag:bridge:movable=lift
+ bridge:movable=retractable: Tag:bridge:movable=retractable
bridge:movable=submersible: Tag:bridge:movable=submersible
bridge:movable=swing: Tag:bridge:movable=swing
+ bridge:movable=tilt: Tag:bridge:movable=tilt
bridge:movable=transporter: Tag:bridge:movable=transporter
bridge:structure=arch: Tag:bridge:structure=arch
bridge:structure=beam: Tag:bridge:structure=beam
building=font: Tag:building=font
building=garage: Tag:building=garage
building=garages: Tag:building=garages
+ building=government: Tag:building=government
building=grandstand: Tag:building=grandstand
building=greenhouse: Tag:building=greenhouse
building=ground_station: Tag:building=ground station
building=ruins: Tag:building=ruins
building=school: Tag:building=school
building=semi: Tag:building=semi
+ building=semidetached_house: Tag:building=semidetached house
building=service: Tag:building=service
building=shed: Tag:building=shed
building=shrine: Tag:building=shrine
building=slurry_tank: Tag:building=slurry tank
+ building=sports_centre: Tag:building=sports centre
+ building=sports_hall: Tag:building=sports hall
building=stable: Tag:building=stable
building=stadium: Tag:building=stadium
building=static_caravan: Tag:building=static caravan
building=tech_cab: Tag:building=tech cab
building=temple: Tag:building=temple
building=terrace: Tag:building=terrace
+ building=toilets: Tag:building=toilets
building=train_station: Tag:building=train station
building=transformer_tower: Tag:building=transformer tower
building=transportation: Tag:building=transportation
building=warehouse: Tag:building=warehouse
building=water_tower: Tag:building=water tower
building=yes: Tag:building=yes
+ bunker_type=gun_emplacement: Tag:bunker type=gun emplacement
bunker_type=hardened_aircraft_shelter: Tag:bunker type=hardened aircraft shelter
bunker_type=munitions: Tag:bunker type=munitions
bunker_type=pillbox: Tag:bunker type=pillbox
+ bunker_type=technical: Tag:bunker type=technical
busway:left=lane: Tag:busway:left=lane
busway:right=lane: Tag:busway:right=lane
busway=lane: Tag:busway=lane
clothes=motorcycle: Tag:clothes=motorcycle
clothes=sports: Tag:clothes=sports
clothes=underwear: Tag:clothes=underwear
+ club=amateur_radio: Tag:club=amateur radio
club=automobile: Tag:club=automobile
club=fan: Tag:club=fan
club=scout: Tag:club=scout
craft=clockmaker: Tag:craft=clockmaker
craft=confectionery: Tag:craft=confectionery
craft=cooper: Tag:craft=cooper
+ craft=dental_technician: Tag:craft=dental technician
craft=distillery: Tag:craft=distillery
craft=dressmaker: Tag:craft=dressmaker
craft=electrican: Tag:craft=electrican
craft=electrician: Tag:craft=electrician
craft=electronics_repair: Tag:craft=electronics repair
+ craft=embroiderer: Tag:craft=embroiderer
craft=engraver: Tag:craft=engraver
craft=floorer: Tag:craft=floorer
craft=gardener: Tag:craft=gardener
craft=key_cutter: Tag:craft=key cutter
craft=locksmith: Tag:craft=locksmith
craft=metal_construction: Tag:craft=metal construction
+ craft=mint: Tag:craft=mint
craft=musical_instrument: Tag:craft=musical instrument
craft=oil_mill: Tag:craft=oil mill
craft=optician: Tag:craft=optician
craft=plasterer: Tag:craft=plasterer
craft=plumber: Tag:craft=plumber
craft=pottery: Tag:craft=pottery
+ craft=printmaker: Tag:craft=printmaker
craft=rigger: Tag:craft=rigger
craft=roofer: Tag:craft=roofer
craft=saddler: Tag:craft=saddler
cuisine=tea_shop: Tag:cuisine=tea shop
cycle_network=US:CA:SF: Tag:cycle network=US:CA:SF
cycle_network=US:GA: Tag:cycle network=US:GA
+ cycle_network=US:LA:NO: Tag:cycle network=US:LA:NO
cycle_network=US:NC: Tag:cycle network=US:NC
cycle_network=US:NM: Tag:cycle network=US:NM
cycle_network=US:NY: Tag:cycle network=US:NY
defensive=bergfried: Tag:defensive=bergfried
defensive=donjon: Tag:defensive=donjon
defensive=keep: Tag:defensive=keep
+ demolished=yes: Tag:demolished=yes
dennert_fir_tree=yes: Tag:dennert fir tree=yes
denomination=mormon: Tag:denomination=mormon
denomination=reformed: Tag:denomination=reformed
denotation=cluster: Tag:denotation=cluster
+ destroyed=yes: Tag:destroyed=yes
diplomatic=ambassadors_residence: Tag:diplomatic=ambassadors residence
diplomatic=consulate: Tag:diplomatic=consulate
diplomatic=consulate_general: Tag:diplomatic=consulate general
dock=drydock: Tag:dock=drydock
dock=floating: Tag:dock=floating
dock=tidal: Tag:dock=tidal
+ electrified=contact_line: Tag:electrified=contact line
+ electrified=rail: Tag:electrified=rail
emergency=access_point: Tag:emergency=access point
emergency=aed: Tag:emergency=aed
emergency=ambulance_station: Tag:emergency=ambulance station
emergency=coast_guard: Tag:emergency=coast guard
emergency=defibrilator: Tag:emergency=defibrilator
emergency=defibrillator: Tag:emergency=defibrillator
+ emergency=disaster_response: Tag:emergency=disaster response
emergency=dry_riser: Tag:emergency=dry riser
emergency=dry_riser_inlet: Tag:emergency=dry riser inlet
emergency=emergency_ward_entrance: Tag:emergency=emergency ward entrance
+ emergency=fire_alarm: Tag:emergency=fire alarm
+ emergency=fire_alarm_box: Tag:emergency=fire alarm box
emergency=fire_extinguisher: Tag:emergency=fire extinguisher
emergency=fire_flapper: Tag:emergency=fire flapper
emergency=fire_hose: Tag:emergency=fire hose
emergency=fire_hydrant: Tag:emergency=fire hydrant
+ emergency=fire_point_stand: Tag:emergency=fire point stand
+ emergency=fire_sand_bin: Tag:emergency=fire sand bin
emergency=fire_water_pond: Tag:emergency=fire water pond
+ emergency=first_aid: Tag:emergency=first aid
+ emergency=first_aid_kit: Tag:emergency=first aid kit
emergency=landing_site: Tag:emergency=landing site
emergency=life_ring: Tag:emergency=life ring
emergency=lifeboat_station: Tag:emergency=lifeboat station
+ emergency=lifeguard: Tag:emergency=lifeguard
emergency=lifeguard_base: Tag:emergency=lifeguard base
emergency=lifeguard_place: Tag:emergency=lifeguard place
emergency=lifeguard_platform: Tag:emergency=lifeguard platform
emergency=lifeguard_tower: Tag:emergency=lifeguard tower
emergency=marine_refuge: Tag:emergency=marine refuge
+ emergency=mountain_rescue: Tag:emergency=mountain rescue
emergency=phone: Tag:emergency=phone
+ emergency=rescue_box: Tag:emergency=rescue box
emergency=ses_station: Tag:emergency=ses station
emergency=siamese: Tag:emergency=siamese
emergency=siren: Tag:emergency=siren
esperanto=esperanto: Tag:esperanto=esperanto
estuary=yes: Tag:estuary=yes
fast_food=cafeteria: Tag:fast food=cafeteria
- food=gourmet: Tag:food=gourmet
+ flood_mark=painting: Tag:flood mark=painting
+ flood_mark=plaque: Tag:flood mark=plaque
foot=designated: Tag:foot=designated
foot=official: Tag:foot=official
footway=crossing: Tag:footway=crossing
footway=sidewalk: Tag:footway=sidewalk
+ ford=boat: Tag:ford=boat
+ ford=stepping_stones: Tag:ford=stepping stones
+ ford=yes: Tag:ford=yes
fortification_type=hill_fort: Tag:fortification type=hill fort
fortification_type=limes: Tag:fortification type=limes
fortification_type=ring_ditch: Tag:fortification type=ring ditch
golf=tee: Tag:golf=tee
golf=water_hazard: Tag:golf=water hazard
government=audit: Tag:government=audit
+ government=cadaster: Tag:government=cadaster
+ government=customs: Tag:government=customs
+ government=healthcare: Tag:government=healthcare
government=ministry: Tag:government=ministry
government=prosecutor: Tag:government=prosecutor
government=register_office: Tag:government=register office
government=statistics: Tag:government=statistics
government=tax: Tag:government=tax
+ government=youth_welfare_department: Tag:government=youth welfare department
grit_bin: Tag:grit bin
guidepost=simple: Tag:guidepost=simple
harbour:category=RoRo: Tag:harbour:category=RoRo
historic=boundary_stone: Tag:historic=boundary stone
historic=cannon: Tag:historic=cannon
historic=castle: Tag:historic=castle
+ historic=castle_wall: Tag:historic=castle wall
historic=charcoal_pile: Tag:historic=charcoal pile
+ historic=church: Tag:historic=church
historic=city_gate: Tag:historic=city gate
historic=city_wall: Tag:historic=city wall
historic=citywalls: Tag:historic=citywalls
historic=event: Tag:historic=event
historic=farm: Tag:historic=farm
+ historic=flood_mark: Tag:historic=flood mark
historic=fort: Tag:historic=fort
historic=gallows: Tag:historic=gallows
historic=heritage: Tag:historic=heritage
historic=memorial: Tag:historic=memorial
historic=milestone: Tag:historic=milestone
historic=mine: Tag:historic=mine
+ historic=mine_shaft: Tag:historic=mine shaft
historic=monastery: Tag:historic=monastery
historic=monument: Tag:historic=monument
historic=optical_telegraph: Tag:historic=optical telegraph
historic=wreck: Tag:historic=wreck
horse=designated: Tag:horse=designated
hunting=raised_hide: Tag:hunting=raised hide
+ indoor=area: Tag:indoor=area
+ indoor=corridor: Tag:indoor=corridor
+ indoor=room: Tag:indoor=room
+ indoor=wall: Tag:indoor=wall
indoormark=beacon: Tag:indoormark=beacon
industrial=aluminium_smelting: Tag:industrial=aluminium smelting
industrial=auto_wrecker: Tag:industrial=auto wrecker
industrial=oil: Tag:industrial=oil
industrial=oil_mill: Tag:industrial=oil mill
industrial=port: Tag:industrial=port
+ industrial=rice_mill: Tag:industrial=rice mill
industrial=salt_pond: Tag:industrial=salt pond
industrial=sawmill: Tag:industrial=sawmill
industrial=scrap_yard: Tag:industrial=scrap yard
information=tactile_model: Tag:information=tactile model
information=terminal: Tag:information=terminal
internet_access=wlan: Tag:internet access=wlan
+ irrigation=pivot: Tag:irrigation=pivot
junction=circular: Tag:junction=circular
junction=crossing: Tag:junction=crossing
junction=filter: Tag:junction=filter
landmark=large_rock: Tag:landmark=large rock
landmark=mast: Tag:landmark=mast
landmark=memorial_plaque: Tag:landmark=memorial plaque
- landmark=monument: Tag:landmark=monument
landmark=obelisk: Tag:landmark=obelisk
landmark=pillar: Tag:landmark=pillar
landmark=radar_scanner: Tag:landmark=radar scanner
landmark=windsock: Tag:landmark=windsock
landuse=agriculture: Tag:landuse=agriculture
landuse=allotments: Tag:landuse=allotments
+ landuse=animal_keeping: Tag:landuse=animal keeping
landuse=apiary: Tag:landuse=apiary
landuse=aquaculture: Tag:landuse=aquaculture
landuse=basin: Tag:landuse=basin
landuse=cemetery: Tag:landuse=cemetery
landuse=churchyard: Tag:landuse=churchyard
landuse=commercial: Tag:landuse=commercial
+ landuse=conservation: Tag:landuse=conservation
landuse=construction: Tag:landuse=construction
landuse=depot: Tag:landuse=depot
landuse=farm: Tag:landuse=farm
landuse=grave_yard: Tag:landuse=grave yard
landuse=greenfield: Tag:landuse=greenfield
landuse=greenhouse_horticulture: Tag:landuse=greenhouse horticulture
+ landuse=harbour: Tag:landuse=harbour
landuse=highway: Tag:landuse=highway
landuse=hop_garden: Tag:landuse=hop garden
landuse=industrial: Tag:landuse=industrial
landuse=traffic_island: Tag:landuse=traffic island
landuse=trees: Tag:landuse=trees
landuse=turbary: Tag:landuse=turbary
- landuse=utility: Tag:landuse=utility
landuse=village_green: Tag:landuse=village green
landuse=vineyard: Tag:landuse=vineyard
landuse=well: Tag:landuse=well
level_crossing=uncontrolled: Tag:level crossing=uncontrolled
line=bay: Tag:line=bay
line=busbar: Tag:line=busbar
+ line=substation: Tag:line=substation
lines=phone: Tag:lines=phone
locality=subtownland: Tag:locality=subtownland
locality=townland: Tag:locality=townland
maintenance=gritting: Tag:maintenance=gritting
man_made=MDF: Tag:man made=MDF
man_made=adit: Tag:man made=adit
+ man_made=animal_trap: Tag:man made=animal trap
man_made=antenna: Tag:man made=antenna
man_made=archimedes_screw: Tag:man made=archimedes screw
man_made=beacon: Tag:man made=beacon
man_made=bunker_silo: Tag:man made=bunker silo
man_made=cairn: Tag:man made=cairn
man_made=campanile: Tag:man made=campanile
+ man_made=carpet_hanger: Tag:man made=carpet hanger
man_made=chimney: Tag:man made=chimney
man_made=clearcut: Tag:man made=clearcut
man_made=communications_tower: Tag:man made=communications tower
man_made=flagpole: Tag:man made=flagpole
man_made=flare: Tag:man made=flare
man_made=floating_storage: Tag:man made=floating storage
+ man_made=footwear_decontamination: Tag:man made=footwear decontamination
man_made=frost_fan: Tag:man made=frost fan
man_made=gasometer: Tag:man made=gasometer
man_made=geoglyph: Tag:man made=geoglyph
memorial=stele: Tag:memorial=stele
memorial=stolperstein: Tag:memorial=stolperstein
memorial=stone: Tag:memorial=stone
+ memorial=storm_surge_post: Tag:memorial=storm surge post
memorial=war_memorial: Tag:memorial=war memorial
microbrewery=yes: Tag:microbrewery=yes
military=airfield: Tag:military=airfield
mooring=sbm: Tag:mooring=sbm
mooring=spm: Tag:mooring=spm
mooring=visitor: Tag:mooring=visitor
+ motorcycle:theme=yes: Tag:motorcycle:theme=yes
motorcycle:type=electric: Tag:motorcycle:type=electric
motorcycle:type=sportbike: Tag:motorcycle:type=sportbike
- motorcycle_friendly: Tag:motorcycle friendly
+ motorcycle_friendly=customary: Tag:motorcycle friendly=customary
+ museum=archaeological: Tag:museum=archaeological
+ museum=art: Tag:museum=art
+ museum=history: Tag:museum=history
+ museum=living_history: Tag:museum=living history
+ museum=local: Tag:museum=local
+ museum=military: Tag:museum=military
+ museum=nature: Tag:museum=nature
+ museum=open_air: Tag:museum=open air
+ museum=railway: Tag:museum=railway
+ museum=technology: Tag:museum=technology
+ museum=transport: Tag:museum=transport
name=7-Eleven: Tag:name=7-Eleven
name=BMO: Tag:name=BMO
name=BMO_Bank_of_Montreal: Tag:name=BMO Bank of Montreal
natural=bay: Tag:natural=bay
natural=beach: Tag:natural=beach
natural=bedrock: Tag:natural=bedrock
+ natural=birds_nest: Tag:natural=birds nest
natural=blowhole: Tag:natural=blowhole
natural=breaker: Tag:natural=breaker
natural=cape: Tag:natural=cape
natural=grassland: Tag:natural=grassland
natural=gully: Tag:natural=gully
natural=heath: Tag:natural=heath
- natural=herb: Tag:natural=herb
+ natural=hill: Tag:natural=hill
natural=hot_spring: Tag:natural=hot spring
natural=lake: Tag:natural=lake
natural=land: Tag:natural=land
natural=termite_mound: Tag:natural=termite mound
natural=tree: Tag:natural=tree
natural=tree_row: Tag:natural=tree row
+ natural=tree_stump: Tag:natural=tree stump
natural=tundra: Tag:natural=tundra
natural=valley: Tag:natural=valley
natural=volcano: Tag:natural=volcano
network=US:TX:NASA: Tag:network=US:TX:NASA
network=US:TX:RM: Tag:network=US:TX:RM
network=US:TX:Spur: Tag:network=US:TX:Spur
+ network=US:TX:Wood: Tag:network=US:TX:Wood
network=US:US: Tag:network=US:US
network=US:UT: Tag:network=US:UT
network=US:VA: Tag:network=US:VA
network=jp:prefectural:nagano: Tag:network=jp:prefectural:nagano
network=lcn: Tag:network=lcn
network=lhn: Tag:network=lhn
+ network=lpn: Tag:network=lpn
network=lwn: Tag:network=lwn
network=ncn: Tag:network=ncn
network=nextbike: Tag:network=nextbike
network=nwn: Tag:network=nwn
network=rcn: Tag:network=rcn
network=rhn: Tag:network=rhn
+ network=rin: Tag:network=rin
+ network=rmn: Tag:network=rmn
+ network=rpn: Tag:network=rpn
network=rwn: Tag:network=rwn
noexit=no: Tag:noexit=no
+ observatory:type=astronomical: Tag:observatory:type=astronomical
odbl=clean: Tag:odbl=clean
office:realtor: Tag:office:realtor
office=accountant: Tag:office=accountant
office=educational_institution: Tag:office=educational institution
office=employment_agency: Tag:office=employment agency
office=energy_supplier: Tag:office=energy supplier
+ office=engineer: Tag:office=engineer
office=estate_agent: Tag:office=estate agent
office=financial: Tag:office=financial
office=forestry: Tag:office=forestry
office=foundation: Tag:office=foundation
+ office=geodesist: Tag:office=geodesist
office=government: Tag:office=government
office=guide: Tag:office=guide
office=insurance: Tag:office=insurance
office=parish: Tag:office=parish
office=political_party: Tag:office=political party
office=private_investigator: Tag:office=private investigator
+ office=property_management: Tag:office=property management
office=quango: Tag:office=quango
office=real_estate_agent: Tag:office=real estate agent
office=realtor: Tag:office=realtor
office=tax_advisor: Tag:office=tax advisor
office=telecommunication: Tag:office=telecommunication
office=therapist: Tag:office=therapist
+ office=tourist_accommodation: Tag:office=tourist accommodation
office=travel_agent: Tag:office=travel agent
office=water_utility: Tag:office=water utility
office=yes: Tag:office=yes
pilotage=office: Tag:pilotage=office
pipeline=marker: Tag:pipeline=marker
pipeline=substation: Tag:pipeline=substation
+ pipeline=surge_tank: Tag:pipeline=surge tank
pipeline=valve: Tag:pipeline=valve
piste:type=connection: Tag:piste:type=connection
piste:type=downhill: Tag:piste:type=downhill
place=quarter: Tag:place=quarter
place=region: Tag:place=region
place=sea: Tag:place=sea
+ place=shieling: Tag:place=shieling
place=square: Tag:place=square
place=state: Tag:place=state
place=suburb: Tag:place=suburb
placement=right_of:1: Tag:placement=right of:1
placement=transition: Tag:placement=transition
pole=transition: Tag:pole=transition
+ power=busbar: Tag:power=busbar
power=cable: Tag:power=cable
power=cable_distribution_cabinet: Tag:power=cable distribution cabinet
power=catenary_mast: Tag:power=catenary mast
power=heliostat: Tag:power=heliostat
power=insulator: Tag:power=insulator
power=line: Tag:power=line
+ power=marker: Tag:power=marker
power=minor_line: Tag:power=minor line
power=outlet: Tag:power=outlet
power=plant: Tag:power=plant
priority=national: Tag:priority=national
priority=regional: Tag:priority=regional
prison_camp=concentration_camp: Tag:prison camp=concentration camp
+ prison_camp=extermination_camp: Tag:prison camp=extermination camp
psv=designated: Tag:psv=designated
public_transport=pay_scale_area: Tag:public transport=pay scale area
public_transport=platform: Tag:public transport=platform
railway=abandoned: Tag:railway=abandoned
railway=buffer_stop: Tag:railway=buffer stop
railway=crossing: Tag:railway=crossing
+ railway=crossing_controller: Tag:railway=crossing controller
railway=derail: Tag:railway=derail
railway=diamond: Tag:railway=diamond
railway=disused: Tag:railway=disused
railway=traverser: Tag:railway=traverser
railway=turntable: Tag:railway=turntable
railway=wash: Tag:railway=wash
+ railway=water_crane: Tag:railway=water crane
+ railway=water_tower: Tag:railway=water tower
railway=yard: Tag:railway=yard
recycling_type=container: Tag:recycling type=container
religion=buddhist: Tag:religion=buddhist
religion=multifaith: Tag:religion=multifaith
religion=muslim: Tag:religion=muslim
religion=pagan: Tag:religion=pagan
+ religion=self-realization_fellowship: Tag:religion=self-realization fellowship
religion=shinto: Tag:religion=shinto
religion=sikh: Tag:religion=sikh
religion=taoist: Tag:religion=taoist
route=bicycle: Tag:route=bicycle
route=bus: Tag:route=bus
route=canal: Tag:route=canal
+ route=canoe: Tag:route=canoe
route=coach: Tag:route=coach
route=detour: Tag:route=detour
+ route=evacuation: Tag:route=evacuation
+ route=ferrata: Tag:route=ferrata
route=ferry: Tag:route=ferry
route=fitness_trail: Tag:route=fitness trail
route=foot: Tag:route=foot
route=light_rail: Tag:route=light rail
route=minibus: Tag:route=minibus
route=monorail: Tag:route=monorail
+ route=motorboat: Tag:route=motorboat
route=ncn: Tag:route=ncn
route=nordic_walking: Tag:route=nordic walking
route=pipeline: Tag:route=pipeline
route=tracks: Tag:route=tracks
route=train: Tag:route=train
route=tram: Tag:route=tram
+ route=transhumance: Tag:route=transhumance
route=trolleybus: Tag:route=trolleybus
seamark:beacon_cardinal:colour_pattern=horizontal: Tag:seamark:beacon cardinal:colour
pattern=horizontal
service=spur: Tag:service=spur
service=yard: Tag:service=yard
shelter_type=basic_hut: Tag:shelter type=basic hut
+ shelter_type=field_shelter: Tag:shelter type=field shelter
shelter_type=lean_to: Tag:shelter type=lean to
shelter_type=public_transport: Tag:shelter type=public transport
shop=*: Tag:shop=*
shop=anime: Tag:shop=anime
shop=antique: Tag:shop=antique
shop=antiques: Tag:shop=antiques
+ shop=appliance: Tag:shop=appliance
shop=art: Tag:shop=art
shop=atv: Tag:shop=atv
shop=audiologist: Tag:shop=audiologist
shop=betting: Tag:shop=betting
shop=beverages: Tag:shop=beverages
shop=bicycle: Tag:shop=bicycle
+ shop=board: Tag:shop=board
shop=boat: Tag:shop=boat
shop=bookmaker: Tag:shop=bookmaker
shop=books: Tag:shop=books
shop=butcher: Tag:shop=butcher
shop=camera: Tag:shop=camera
shop=candles: Tag:shop=candles
- shop=canoe_hire: Tag:shop=canoe hire
+ shop=cannabis: Tag:shop=cannabis
shop=car: Tag:shop=car
- shop=car_bodyshop: Tag:shop=car bodyshop
shop=car_parts: Tag:shop=car parts
shop=car_repair: Tag:shop=car repair
shop=car_service: Tag:shop=car service
shop=carpet: Tag:shop=carpet
shop=cell_phones: Tag:shop=cell phones
+ shop=ceramics: Tag:shop=ceramics
shop=chandler: Tag:shop=chandler
shop=charity: Tag:shop=charity
shop=cheese: Tag:shop=cheese
shop=electrical: Tag:shop=electrical
shop=electronics: Tag:shop=electronics
shop=energy: Tag:shop=energy
+ shop=equestrian: Tag:shop=equestrian
shop=erotic: Tag:shop=erotic
shop=estate_agent: Tag:shop=estate agent
shop=fabric: Tag:shop=fabric
shop=herbalist: Tag:shop=herbalist
shop=hifi: Tag:shop=hifi
shop=hobby: Tag:shop=hobby
- shop=household: Tag:shop=household
+ shop=hookah: Tag:shop=hookah
shop=houseware: Tag:shop=houseware
shop=hunting: Tag:shop=hunting
shop=ice_cream: Tag:shop=ice cream
shop=photo: Tag:shop=photo
shop=photo_studio: Tag:shop=photo studio
shop=photography: Tag:shop=photography
- shop=piercing: Tag:shop=piercing
shop=pottery: Tag:shop=pottery
shop=printer_ink: Tag:shop=printer ink
shop=printing: Tag:shop=printing
shop=tickets: Tag:shop=tickets
shop=tiles: Tag:shop=tiles
shop=tobacco: Tag:shop=tobacco
+ shop=tool_hire: Tag:shop=tool hire
shop=toy: Tag:shop=toy
shop=toys: Tag:shop=toys
shop=trade: Tag:shop=trade
shop=winery: Tag:shop=winery
shop=wool: Tag:shop=wool
shop=yes: Tag:shop=yes
- sign=no: Tag:sign=no
- sign=yes: Tag:sign=yes
signal_station=bridge: Tag:signal station=bridge
signal_station=control: Tag:signal station=control
signal_station=distress: Tag:signal station=distress
social_facility=shelter: Tag:social facility=shelter
social_facility=soup_kitchen: Tag:social facility=soup kitchen
social_facility=workshop: Tag:social facility=workshop
+ source:addr=GURS: Tag:source:addr=GURS
source:ele=barometric: Tag:source:ele=barometric
source:geometry=ACT2016: Tag:source:geometry=ACT2016
source:geometry=ACTMapiRoads: Tag:source:geometry=ACTMapiRoads
source:geometry=ACTMapiTP: Tag:source:geometry=ACTMapiTP
source:geometry=Bing: Tag:source:geometry=Bing
+ source:geometry=NPWS_Estate: Tag:source:geometry=NPWS Estate
source:geometry=NSW_LPI_Base_Map: Tag:source:geometry=NSW LPI Base Map
source:geometry=NSW_LPI_Imagery: Tag:source:geometry=NSW LPI Imagery
source:maxspeed=implicit: Tag:source:maxspeed=implicit
source:name=LPI_NSW_Base_Map: Tag:source:name=LPI NSW Base Map
+ source:name=NPWS_Estate: Tag:source:name=NPWS Estate
source:name=NSW_LPI_Base_Map: Tag:source:name=NSW LPI Base Map
+ source:position=NPWS_Estate: Tag:source:position=NPWS Estate
source=ACT2016: Tag:source=ACT2016
+ source=ACT2017: Tag:source=ACT2017
source=ACTMapiRoads: Tag:source=ACTMapiRoads
source=ACTMapiTP: Tag:source=ACTMapiTP
source=Bymiljøetaten: Tag:source=Bymiljøetaten
source=LPI_NSW_Base_Map: Tag:source=LPI NSW Base Map
source=LPI_NSW_Imagery: Tag:source=LPI NSW Imagery
source=NAIP: Tag:source=NAIP
+ source=NPWS_Estate: Tag:source=NPWS Estate
source=NSW_LPI_Base_Map: Tag:source=NSW LPI Base Map
source=NSW_LPI_Imagery: Tag:source=NSW LPI Imagery
source=Naturbase: Tag:source=Naturbase
source=PGS: Tag:source=PGS
source=RABA-KGZ: Tag:source=RABA-KGZ
+ source=Schadow1_Expeditions: Tag:source=Schadow1 Expeditions
source=YahooJapan/ALPSMAP: Tag:source=YahooJapan/ALPSMAP
source=gurs: Tag:source=gurs
sport=10pin: Tag:sport=10pin
sport=base: Tag:sport=base
sport=baseball: Tag:sport=baseball
sport=basketball: Tag:sport=basketball
+ sport=batting_cage: Tag:sport=batting cage
sport=beachvolleyball: Tag:sport=beachvolleyball
sport=billards: Tag:sport=billards
sport=billiards: Tag:sport=billiards
sport=ice_skating: Tag:sport=ice skating
sport=ice_stock: Tag:sport=ice stock
sport=judo: Tag:sport=judo
+ sport=karate: Tag:sport=karate
sport=karting: Tag:sport=karting
sport=kitesurfing: Tag:sport=kitesurfing
sport=korfball: Tag:sport=korfball
+ sport=lacrosse: Tag:sport=lacrosse
sport=laser_tag: Tag:sport=laser tag
sport=model_aerodrome: Tag:sport=model aerodrome
sport=motocross: Tag:sport=motocross
sport=obstacle_course: Tag:sport=obstacle course
sport=orienteering: Tag:sport=orienteering
sport=paddle_tennis: Tag:sport=paddle tennis
+ sport=padel: Tag:sport=padel
sport=paintball: Tag:sport=paintball
sport=parachuting: Tag:sport=parachuting
sport=paragliding: Tag:sport=paragliding
sport=yoga: Tag:sport=yoga
sports=aikido: Tag:sports=aikido
sports=athletics: Tag:sports=athletics
+ spring:type=hot: Tag:spring:type=hot
station=light_rail: Tag:station=light rail
station=subway: Tag:station=subway
substation=compensation: Tag:substation=compensation
telecom=datacenter: Tag:telecom=datacenter
telecom=remote_digital_terminal: Tag:telecom=remote digital terminal
telecom=remote_terminal: Tag:telecom=remote terminal
+ telescope:type=optical: Tag:telescope:type=optical
+ telescope:type=radio: Tag:telescope:type=radio
+ tourism=accommodation: Tag:tourism=accommodation
tourism=alpine_hut: Tag:tourism=alpine hut
tourism=apartment: Tag:tourism=apartment
tourism=aquarium: Tag:tourism=aquarium
tower:construction=dish: Tag:tower:construction=dish
tower:construction=dome: Tag:tower:construction=dome
tower:construction=freestanding: Tag:tower:construction=freestanding
+ tower:construction=guyed_lattice: Tag:tower:construction=guyed lattice
+ tower:construction=guyed_tube: Tag:tower:construction=guyed tube
tower:construction=lattice: Tag:tower:construction=lattice
tower:type: Tag:tower:type
tower:type=bell_tower: Tag:tower:type=bell tower
tower:type=intake: Tag:tower:type=intake
tower:type=lattice: Tag:tower:type=lattice
tower:type=lighting: Tag:tower:type=lighting
+ tower:type=minaret: Tag:tower:type=minaret
tower:type=monitoring: Tag:tower:type=monitoring
tower:type=monument: Tag:tower:type=monument
tower:type=observation: Tag:tower:type=observation
transformer=traction: Tag:transformer=traction
transformer=yes: Tag:transformer=yes
tunnel=culvert: Tag:tunnel=culvert
+ tunnel=flooded: Tag:tunnel=flooded
two_sided=yes: Tag:two sided=yes
type=AutoPASS: Tag:type=AutoPASS
type=autopass: Tag:type=autopass
type=observation_spot: Tag:type=observation spot
type=public_transport: Tag:type=public transport
type=triangulation: Tag:type=triangulation
+ usage=distribution: Tag:usage=distribution
+ usage=facility: Tag:usage=facility
+ usage=flare_header: Tag:usage=flare header
+ usage=flowline: Tag:usage=flowline
+ usage=gathering: Tag:usage=gathering
+ usage=headrace: Tag:usage=headrace
+ usage=injection: Tag:usage=injection
+ usage=irrigation: Tag:usage=irrigation
+ usage=penstock: Tag:usage=penstock
+ usage=spillway: Tag:usage=spillway
+ usage=tailrace: Tag:usage=tailrace
+ usage=transmission: Tag:usage=transmission
+ vending: Tag:vending
vending=SIM-cards: Tag:vending=SIM-cards
vending=SIM_cards: Tag:vending=SIM cards
vending=admission_tickets: Tag:vending=admission tickets
vending=animal_feed: Tag:vending=animal feed
+ vending=art: Tag:vending=art
vending=bicycle_tube: Tag:vending=bicycle tube
vending=books: Tag:vending=books
vending=bottle_return: Tag:vending=bottle return
wall=seawall: Tag:wall=seawall
wall=training_wall: Tag:wall=training wall
waste=dog_excrement: Tag:waste=dog excrement
+ water=canal: Tag:water=canal
water=intermittent: Tag:water=intermittent
+ water=lagoon: Tag:water=lagoon
water=lake: Tag:water=lake
water=lock: Tag:water=lock
+ water=oxbow: Tag:water=oxbow
+ water=pond: Tag:water=pond
water=reservoir: Tag:water=reservoir
+ water=river: Tag:water=river
water=tidal: Tag:water=tidal
+ water=wastewater: Tag:water=wastewater
waterway=boat_lift: Tag:waterway=boat lift
waterway=boatyard: Tag:waterway=boatyard
waterway=brook: Tag:waterway=brook
waterway=milestone: Tag:waterway=milestone
waterway=mooring: Tag:waterway=mooring
waterway=offshore_field: Tag:waterway=offshore field
+ waterway=pressurised: Tag:waterway=pressurised
waterway=rapids: Tag:waterway=rapids
waterway=river: Tag:waterway=river
waterway=riverbank: Tag:waterway=riverbank
waterway=sanitary_dump_station: Tag:waterway=sanitary dump station
waterway=seaway: Tag:waterway=seaway
+ waterway=spillway: Tag:waterway=spillway
waterway=stream: Tag:waterway=stream
waterway=stream_end: Tag:waterway=stream end
waterway=swept_area: Tag:waterway=swept area
eo:
key:
esperanto: Eo:Key:esperanto
- esperanto=yes: Eo:Key:esperanto=yes
+ tag:
+ esperanto=yes: Eo:Tag:esperanto=yes
es:
key:
abandoned: ES:Key:abandoned
addr:subdistrict: ES:Key:addr:subdistrict
addr:suburb: ES:Key:addr:suburb
aerialway: ES:Key:aerialway
+ aeroway: ES:Key:aeroway
amenity: ES:Key:amenity
+ area:highway: ES:Key:area:highway
artist_name: ES:Key:artist name
artwork_subject: ES:Key:artwork subject
barrier: ES:Key:barrier
bicycle_parking: ES:Key:bicycle parking
bicycle_road: ES:Key:bicycle road
+ branch: ES:Key:branch
brand: ES:Key:brand
brewery: ES:Key:brewery
bridge:structure: ES:Key:bridge:structure
building: ES:Key:building
building:levels: ES:Key:building:levels
+ building:material: ES:Key:building:material
+ building:part: ES:Key:building:part
bus_bay: ES:Key:bus bay
busway: ES:Key:busway
cemetery: ES:Key:cemetery
+ check_date: ES:Key:check date
circumference: ES:Key:circumference
clothes: ES:Key:clothes
+ club: ES:Key:club
comment: ES:Key:comment
construction: ES:Key:construction
contact: ES:Key:contact
+ content: ES:Key:content
conveying: ES:Key:conveying
craft: ES:Key:craft
+ crossing: ES:Key:crossing
cuisine: ES:Key:cuisine
cutting: ES:Key:cutting
cycleway: ES:Key:cycleway
footway: ES:Key:footway
ford: ES:Key:ford
fuel:diesel_G2: ES:Key:fuel:diesel G2
+ garden:style: ES:Key:garden:style
+ garden:type: ES:Key:garden:type
generator:output: ES:Key:generator:output
generator:source: ES:Key:generator:source
geological: ES:Key:geological
historic: ES:Key:historic
historic:civilization: ES:Key:historic:civilization
image: ES:Key:image
+ imagery_used: ES:Key:imagery used
+ incline: ES:Key:incline
indoor: ES:Key:indoor
+ industrial: ES:Key:industrial
intermittent: ES:Key:intermittent
is_in: ES:Key:is in
+ kerb: ES:Key:kerb
ladder: ES:Key:ladder
landuse: ES:Key:landuse
lanes: ES:Key:lanes
leisure: ES:Key:leisure
local_ref: ES:Key:local ref
locale: ES:Key:locale
+ location: ES:Key:location
man_made: ES:Key:man made
manufacturer: ES:Key:manufacturer
mapillary: ES:Key:mapillary
material: ES:Key:material
maxheight: ES:Key:maxheight
maxspeed: ES:Key:maxspeed
+ maxspeed:advisory: ES:Key:maxspeed:advisory
+ maxspeed:practical: ES:Key:maxspeed:practical
memorial: ES:Key:memorial
monitoring:galileo: ES:Key:monitoring:galileo
monitoring:glonass: ES:Key:monitoring:glonass
public_transport:version: ES:Key:public transport:version
pump: ES:Key:pump
railway: ES:Key:railway
+ railway:preserved: ES:Key:railway:preserved
+ ramp: ES:Key:ramp
ref: ES:Key:ref
ref:bic: ES:Key:ref:bic
ref:color: ES:Key:ref:color
ref:colour: ES:Key:ref:colour
ref:isil: ES:Key:ref:isil
religion: ES:Key:religion
+ 'removed:': 'ES:Key:removed:'
resource: ES:Key:resource
roof:direction: ES:Key:roof:direction
+ roof:material: ES:Key:roof:material
+ roundtrip: ES:Key:roundtrip
route: ES:Key:route
route_master: ES:Key:route master
+ route_ref: ES:Key:route ref
ruins: ES:Key:ruins
'ruins:': 'ES:Key:ruins:'
rungs: ES:Key:rungs
todo: ES:Key:todo
tourism: ES:Key:tourism
tracktype: ES:Key:tracktype
+ traffic: ES:Key:traffic
traffic_calming: ES:Key:traffic calming
traffic_sign: ES:Key:traffic sign
traffic_signals: ES:Key:traffic signals
tunnel: ES:Key:tunnel
turn: ES:Key:turn
type: ES:Key:type
+ unnamed: ES:Key:unnamed
url: ES:Key:url
water: ES:Key:water
waterway: ES:Key:waterway
aerialway=cable_car: ES:Tag:aerialway=cable car
aerialway=gondola: ES:Tag:aerialway=gondola
aerialway=station: ES:Tag:aerialway=station
+ aerodrome:type=regional: ES:Tag:aerodrome:type=regional
aeroway=apron: ES:Tag:aeroway=apron
aeroway=helipad: ES:Tag:aeroway=helipad
aeroway=heliport: ES:Tag:aeroway=heliport
+ aeroway=navigationaid: ES:Tag:aeroway=navigationaid
aeroway=terminal: ES:Tag:aeroway=terminal
aeroway=windsock: ES:Tag:aeroway=windsock
airmark=beacon: ES:Tag:airmark=beacon
amenity=atm: ES:Tag:amenity=atm
amenity=bank: ES:Tag:amenity=bank
amenity=bar: ES:Tag:amenity=bar
+ amenity=bbq: ES:Tag:amenity=bbq
amenity=bench: ES:Tag:amenity=bench
amenity=bicycle_parking: ES:Tag:amenity=bicycle parking
amenity=bicycle_rental: ES:Tag:amenity=bicycle rental
amenity=biergarten: ES:Tag:amenity=biergarten
+ amenity=boat_storage: ES:Tag:amenity=boat storage
amenity=brothel: ES:Tag:amenity=brothel
amenity=bus_station: ES:Tag:amenity=bus station
amenity=cafe: ES:Tag:amenity=cafe
amenity=car_rental: ES:Tag:amenity=car rental
amenity=car_wash: ES:Tag:amenity=car wash
amenity=clinic: ES:Tag:amenity=clinic
+ amenity=clock: ES:Tag:amenity=clock
amenity=college: ES:Tag:amenity=college
amenity=community_centre: ES:Tag:amenity=community centre
+ amenity=compressed_air: ES:Tag:amenity=compressed air
amenity=courthouse: ES:Tag:amenity=courthouse
+ amenity=coworking_space: ES:Tag:amenity=coworking space
amenity=crematorium: ES:Tag:amenity=crematorium
amenity=crypt: ES:Tag:amenity=crypt
amenity=dentist: ES:Tag:amenity=dentist
amenity=exhibition_centre: ES:Tag:amenity=exhibition centre
amenity=fast_food: ES:Tag:amenity=fast food
amenity=ferry_terminal: ES:Tag:amenity=ferry terminal
+ amenity=food_court: ES:Tag:amenity=food court
amenity=fountain: ES:Tag:amenity=fountain
amenity=fuel: ES:Tag:amenity=fuel
amenity=grave_yard: ES:Tag:amenity=grave yard
amenity=love_hotel: ES:Tag:amenity=love hotel
amenity=marketplace: ES:Tag:amenity=marketplace
amenity=mobile_library: ES:Tag:amenity=mobile library
+ amenity=mortuary: ES:Tag:amenity=mortuary
amenity=music_school: ES:Tag:amenity=music school
amenity=nightclub: ES:Tag:amenity=nightclub
amenity=parking: ES:Tag:amenity=parking
+ amenity=parking_entrance: ES:Tag:amenity=parking entrance
amenity=parking_space: ES:Tag:amenity=parking space
amenity=payment_centre: ES:Tag:amenity=payment centre
amenity=payment_terminal: ES:Tag:amenity=payment terminal
amenity=pharmacy: ES:Tag:amenity=pharmacy
amenity=photo_booth: ES:Tag:amenity=photo booth
amenity=place_of_worship: ES:Tag:amenity=place of worship
+ amenity=planetarium: ES:Tag:amenity=planetarium
amenity=police: ES:Tag:amenity=police
amenity=prison_camp: ES:Tag:amenity=prison camp
amenity=pub: ES:Tag:amenity=pub
amenity=public_building: ES:Tag:amenity=public building
amenity=recycling: ES:Tag:amenity=recycling
amenity=refugee_housing: ES:Tag:amenity=refugee housing
+ amenity=research_institute: ES:Tag:amenity=research institute
amenity=restaurant: ES:Tag:amenity=restaurant
amenity=school: ES:Tag:amenity=school
amenity=shelter: ES:Tag:amenity=shelter
amenity=shower: ES:Tag:amenity=shower
+ amenity=social_facility: ES:Tag:amenity=social facility
amenity=stripclub: ES:Tag:amenity=stripclub
amenity=taxi: ES:Tag:amenity=taxi
amenity=theatre: ES:Tag:amenity=theatre
amenity=water_point: ES:Tag:amenity=water point
amenity=watering_place: ES:Tag:amenity=watering place
amenity=youth_centre: ES:Tag:amenity=youth centre
+ animal=school: ES:Tag:animal=school
+ area:highway=cycleway: ES:Tag:area:highway=cycleway
+ area:highway=footway: ES:Tag:area:highway=footway
+ area:highway=path: ES:Tag:area:highway=path
+ area:highway=pedestrian: ES:Tag:area:highway=pedestrian
barrier=block: ES:Tag:barrier=block
barrier=bollard: ES:Tag:barrier=bollard
barrier=cable_barrier: ES:Tag:barrier=cable barrier
barrier=chain: ES:Tag:barrier=chain
+ barrier=city_wall: ES:Tag:barrier=city wall
+ barrier=debris: ES:Tag:barrier=debris
barrier=entrance: ES:Tag:barrier=entrance
barrier=fence: ES:Tag:barrier=fence
barrier=gate: ES:Tag:barrier=gate
barrier=guard_rail: ES:Tag:barrier=guard rail
barrier=hedge: ES:Tag:barrier=hedge
+ barrier=height_restrictor: ES:Tag:barrier=height restrictor
barrier=jersey_barrier: ES:Tag:barrier=jersey barrier
barrier=kerb: ES:Tag:barrier=kerb
barrier=lift_gate: ES:Tag:barrier=lift gate
barrier=retaining_wall: ES:Tag:barrier=retaining wall
barrier=rope: ES:Tag:barrier=rope
barrier=swing_gate: ES:Tag:barrier=swing gate
+ barrier=toll_booth: ES:Tag:barrier=toll booth
barrier=wall: ES:Tag:barrier=wall
bicycle=use_sidepath: ES:Tag:bicycle=use sidepath
boundary=national_park: ES:Tag:boundary=national park
bridge=aqueduct: ES:Tag:bridge=aqueduct
building=apartments: ES:Tag:building=apartments
building=barn: ES:Tag:building=barn
+ building=boathouse: ES:Tag:building=boathouse
building=brewery: ES:Tag:building=brewery
building=bungalow: ES:Tag:building=bungalow
+ building=carport: ES:Tag:building=carport
building=cathedral: ES:Tag:building=cathedral
building=chapel: ES:Tag:building=chapel
building=church: ES:Tag:building=church
building=civic: ES:Tag:building=civic
building=commercial: ES:Tag:building=commercial
building=construction: ES:Tag:building=construction
+ building=container: ES:Tag:building=container
+ building=detached: ES:Tag:building=detached
+ building=dormitory: ES:Tag:building=dormitory
building=farm: ES:Tag:building=farm
building=garage: ES:Tag:building=garage
building=garages: ES:Tag:building=garages
building=greenhouse: ES:Tag:building=greenhouse
building=hospital: ES:Tag:building=hospital
building=house: ES:Tag:building=house
+ building=houseboat: ES:Tag:building=houseboat
building=hut: ES:Tag:building=hut
+ building=industrial: ES:Tag:building=industrial
building=kiosk: ES:Tag:building=kiosk
building=office: ES:Tag:building=office
building=public: ES:Tag:building=public
building=roof: ES:Tag:building=roof
building=ruins: ES:Tag:building=ruins
building=school: ES:Tag:building=school
+ building=service: ES:Tag:building=service
building=shed: ES:Tag:building=shed
+ building=sports_hall: ES:Tag:building=sports hall
building=sty: ES:Tag:building=sty
+ building=terrace: ES:Tag:building=terrace
building=university: ES:Tag:building=university
building=warehouse: ES:Tag:building=warehouse
cemetery=grave: ES:Tag:cemetery=grave
club=scout: ES:Tag:club=scout
+ club=sport: ES:Tag:club=sport
craft=agricultural_engines: ES:Tag:craft=agricultural engines
craft=bakery: ES:Tag:craft=bakery
+ craft=basket_maker: ES:Tag:craft=basket maker
craft=beekeeper: ES:Tag:craft=beekeeper
+ craft=blacksmith: ES:Tag:craft=blacksmith
+ craft=boatbuilder: ES:Tag:craft=boatbuilder
+ craft=bookbinder: ES:Tag:craft=bookbinder
craft=brewery: ES:Tag:craft=brewery
+ craft=builder: ES:Tag:craft=builder
+ craft=carpet_layer: ES:Tag:craft=carpet layer
+ craft=caterer: ES:Tag:craft=caterer
+ craft=chimney_sweeper: ES:Tag:craft=chimney sweeper
craft=clockmaker: ES:Tag:craft=clockmaker
+ craft=confectionery: ES:Tag:craft=confectionery
+ craft=dental_technician: ES:Tag:craft=dental technician
+ craft=distillery: ES:Tag:craft=distillery
craft=electrician: ES:Tag:craft=electrician
+ craft=electronics_repair: ES:Tag:craft=electronics repair
+ craft=engraver: ES:Tag:craft=engraver
+ craft=gardener: ES:Tag:craft=gardener
craft=handicraft: ES:Tag:craft=handicraft
+ craft=hvac: ES:Tag:craft=hvac
craft=jeweller: ES:Tag:craft=jeweller
craft=oil_mill: ES:Tag:craft=oil mill
craft=optician: ES:Tag:craft=optician
craft=photographer: ES:Tag:craft=photographer
craft=plumber: ES:Tag:craft=plumber
+ craft=pottery: ES:Tag:craft=pottery
+ craft=tailor: ES:Tag:craft=tailor
craft=tiler: ES:Tag:craft=tiler
craft=watchmaker: ES:Tag:craft=watchmaker
cycleway=lane: ES:Tag:cycleway=lane
cycleway=track: ES:Tag:cycleway=track
emergency=ambulance_station: ES:Tag:emergency=ambulance station
emergency=defibrillator: ES:Tag:emergency=defibrillator
+ emergency=dry_riser: ES:Tag:emergency=dry riser
emergency=fire_extinguisher: ES:Tag:emergency=fire extinguisher
emergency=fire_hydrant: ES:Tag:emergency=fire hydrant
emergency=landing_site: ES:Tag:emergency=landing site
highway=platform: ES:Tag:highway=platform
highway=primary: ES:Tag:highway=primary
highway=raceway: ES:Tag:highway=raceway
+ highway=razed: ES:Tag:highway=razed
highway=residential: ES:Tag:highway=residential
highway=road: ES:Tag:highway=road
highway=secondary: ES:Tag:highway=secondary
highway=turning_circle: ES:Tag:highway=turning circle
highway=turning_loop: ES:Tag:highway=turning loop
highway=unclassified: ES:Tag:highway=unclassified
+ historic=archaeological_site: ES:Tag:historic=archaeological site
+ historic=boundary_stone: ES:Tag:historic=boundary stone
historic=farm: ES:Tag:historic=farm
historic=heritage: ES:Tag:historic=heritage
historic=memorial: ES:Tag:historic=memorial
historic=ruins: ES:Tag:historic=ruins
historic=tomb: ES:Tag:historic=tomb
historic=wayside_shrine: ES:Tag:historic=wayside shrine
+ historic=wreck: ES:Tag:historic=wreck
+ industrial=factory: ES:Tag:industrial=factory
information=board: ES:Tag:information=board
information=guidepost: ES:Tag:information=guidepost
information=map: ES:Tag:information=map
information=tactile_map: ES:Tag:information=tactile map
internet_access=wlan: ES:Tag:internet access=wlan
+ junction=circular: ES:Tag:junction=circular
junction=roundabout: ES:Tag:junction=roundabout
landcover=grass: ES:Tag:landcover=grass
landcover=trees: ES:Tag:landcover=trees
landuse=recreation_ground: ES:Tag:landuse=recreation ground
landuse=reservoir: ES:Tag:landuse=reservoir
landuse=residential: ES:Tag:landuse=residential
+ landuse=retail: ES:Tag:landuse=retail
landuse=salt_pond: ES:Tag:landuse=salt pond
landuse=traffic_island: ES:Tag:landuse=traffic island
landuse=village_green: ES:Tag:landuse=village green
leisure=bandstand: ES:Tag:leisure=bandstand
leisure=bird_hide: ES:Tag:leisure=bird hide
leisure=bleachers: ES:Tag:leisure=bleachers
+ leisure=bowling_alley: ES:Tag:leisure=bowling alley
leisure=common: ES:Tag:leisure=common
leisure=dog_park: ES:Tag:leisure=dog park
leisure=firepit: ES:Tag:leisure=firepit
leisure=pitch: ES:Tag:leisure=pitch
leisure=playground: ES:Tag:leisure=playground
leisure=sports_centre: ES:Tag:leisure=sports centre
+ leisure=swimming_pool: ES:Tag:leisure=swimming pool
+ leisure=track: ES:Tag:leisure=track
leisure=water_park: ES:Tag:leisure=water park
man_made=adit: ES:Tag:man made=adit
man_made=archimedes_screw: ES:Tag:man made=archimedes screw
man_made=mast: ES:Tag:man made=mast
man_made=monitoring_station: ES:Tag:man made=monitoring station
man_made=nesting_site: ES:Tag:man made=nesting site
+ man_made=observatory: ES:Tag:man made=observatory
man_made=pier: ES:Tag:man made=pier
man_made=power_wind: ES:Tag:man made=power wind
man_made=pumping_rig: ES:Tag:man made=pumping rig
man_made=reservoir_covered: ES:Tag:man made=reservoir covered
man_made=storage_tank: ES:Tag:man made=storage tank
man_made=survey_point: ES:Tag:man made=survey point
+ man_made=telescope: ES:Tag:man made=telescope
man_made=wastewater_plant: ES:Tag:man made=wastewater plant
man_made=water_tap: ES:Tag:man made=water tap
man_made=water_tower: ES:Tag:man made=water tower
natural=cave_entrance: ES:Tag:natural=cave entrance
natural=cliff: ES:Tag:natural=cliff
natural=coastline: ES:Tag:natural=coastline
+ natural=esker: ES:Tag:natural=esker
natural=fell: ES:Tag:natural=fell
natural=geyser: ES:Tag:natural=geyser
natural=glacier: ES:Tag:natural=glacier
natural=mud: ES:Tag:natural=mud
natural=peak: ES:Tag:natural=peak
natural=ridge: ES:Tag:natural=ridge
+ natural=riverbed: ES:Tag:natural=riverbed
natural=rock: ES:Tag:natural=rock
natural=saddle: ES:Tag:natural=saddle
natural=sand: ES:Tag:natural=sand
natural=water: ES:Tag:natural=water
natural=wetland: ES:Tag:natural=wetland
natural=wood: ES:Tag:natural=wood
+ office=administrative: ES:Tag:office=administrative
office=advertising_agency: ES:Tag:office=advertising agency
office=association: ES:Tag:office=association
office=company: ES:Tag:office=company
+ office=engineer: ES:Tag:office=engineer
+ office=estate_agent: ES:Tag:office=estate agent
office=foundation: ES:Tag:office=foundation
office=government: ES:Tag:office=government
office=insurance: ES:Tag:office=insurance
+ office=it: ES:Tag:office=it
office=lawyer: ES:Tag:office=lawyer
office=logistics: ES:Tag:office=logistics
office=moving_company: ES:Tag:office=moving company
office=ngo: ES:Tag:office=ngo
office=notary: ES:Tag:office=notary
office=occupational_safety: ES:Tag:office=occupational safety
+ office=parish: ES:Tag:office=parish
+ office=political_party: ES:Tag:office=political party
office=private_investigator: ES:Tag:office=private investigator
office=quango: ES:Tag:office=quango
office=religion: ES:Tag:office=religion
office=research: ES:Tag:office=research
+ office=surveyor: ES:Tag:office=surveyor
office=tax: ES:Tag:office=tax
office=therapist: ES:Tag:office=therapist
+ office=water_utility: ES:Tag:office=water utility
passenger=yes: ES:Tag:passenger=yes
place=borough: ES:Tag:place=borough
place=city: ES:Tag:place=city
railway=subway_entrance: ES:Tag:railway=subway entrance
railway=yard: ES:Tag:railway=yard
route=bus: ES:Tag:route=bus
+ route=transhumance: ES:Tag:route=transhumance
service=crossover: ES:Tag:service=crossover
+ service=driveway: ES:Tag:service=driveway
service=parking_aisle: ES:Tag:service=parking aisle
+ service=siding: ES:Tag:service=siding
+ shelter_type=lean_to: ES:Tag:shelter type=lean to
shop=alcohol: ES:Tag:shop=alcohol
shop=baby_goods: ES:Tag:shop=baby goods
shop=bakery: ES:Tag:shop=bakery
shop=bookmaker: ES:Tag:shop=bookmaker
shop=books: ES:Tag:shop=books
shop=butcher: ES:Tag:shop=butcher
+ shop=car: ES:Tag:shop=car
shop=car_parts: ES:Tag:shop=car parts
shop=car_repair: ES:Tag:shop=car repair
shop=chocolate: ES:Tag:shop=chocolate
shop=craft: ES:Tag:shop=craft
shop=doityourself: ES:Tag:shop=doityourself
shop=electrical: ES:Tag:shop=electrical
+ shop=electronics: ES:Tag:shop=electronics
shop=florist: ES:Tag:shop=florist
shop=funeral_directors: ES:Tag:shop=funeral directors
shop=games: ES:Tag:shop=games
shop=garden_centre: ES:Tag:shop=garden centre
+ shop=gas: ES:Tag:shop=gas
shop=gift: ES:Tag:shop=gift
shop=greengrocer: ES:Tag:shop=greengrocer
shop=hairdresser: ES:Tag:shop=hairdresser
shop=ice_cream: ES:Tag:shop=ice cream
shop=jewelry: ES:Tag:shop=jewelry
shop=kiosk: ES:Tag:shop=kiosk
+ shop=kitchen: ES:Tag:shop=kitchen
shop=laundry: ES:Tag:shop=laundry
shop=locksmith: ES:Tag:shop=locksmith
shop=lottery: ES:Tag:shop=lottery
+ shop=mobile_phone: ES:Tag:shop=mobile phone
shop=model: ES:Tag:shop=model
shop=motorcycle: ES:Tag:shop=motorcycle
+ shop=nuts: ES:Tag:shop=nuts
shop=optician: ES:Tag:shop=optician
shop=outdoor: ES:Tag:shop=outdoor
shop=paint: ES:Tag:shop=paint
shop=pastry: ES:Tag:shop=pastry
shop=pawnbroker: ES:Tag:shop=pawnbroker
shop=pet: ES:Tag:shop=pet
+ shop=pottery: ES:Tag:shop=pottery
shop=seafood: ES:Tag:shop=seafood
+ shop=sewing: ES:Tag:shop=sewing
shop=shoes: ES:Tag:shop=shoes
shop=sports: ES:Tag:shop=sports
shop=stationery: ES:Tag:shop=stationery
+ shop=storage_rental: ES:Tag:shop=storage rental
+ shop=supermarket: ES:Tag:shop=supermarket
shop=tattoo: ES:Tag:shop=tattoo
shop=tea: ES:Tag:shop=tea
shop=ticket: ES:Tag:shop=ticket
shop=water: ES:Tag:shop=water
shop=window_blind: ES:Tag:shop=window blind
social_facility=clothing_bank: ES:Tag:social facility=clothing bank
+ social_facility=food_bank: ES:Tag:social facility=food bank
+ social_facility=nursing_home: ES:Tag:social facility=nursing home
source:geometry=Bing: ES:Tag:source:geometry=Bing
sport=boules: ES:Tag:sport=boules
+ sport=chess: ES:Tag:sport=chess
sport=cycling: ES:Tag:sport=cycling
sport=equestrian: ES:Tag:sport=equestrian
sport=futsal: ES:Tag:sport=futsal
sport=model_aerodrome: ES:Tag:sport=model aerodrome
sport=motocross: ES:Tag:sport=motocross
+ sport=motor: ES:Tag:sport=motor
+ sport=paddle_tennis: ES:Tag:sport=paddle tennis
+ sport=padel: ES:Tag:sport=padel
+ sport=paintball: ES:Tag:sport=paintball
sport=shooting: ES:Tag:sport=shooting
sport=soccer: ES:Tag:sport=soccer
tourism=alpine_hut: ES:Tag:tourism=alpine hut
tourism=artwork: ES:Tag:tourism=artwork
tourism=attraction: ES:Tag:tourism=attraction
tourism=camp_site: ES:Tag:tourism=camp site
+ tourism=chalet: ES:Tag:tourism=chalet
+ tourism=guest_house: ES:Tag:tourism=guest house
+ tourism=hostel: ES:Tag:tourism=hostel
tourism=hotel: ES:Tag:tourism=hotel
tourism=motel: ES:Tag:tourism=motel
+ tourism=museum: ES:Tag:tourism=museum
tourism=picnic_site: ES:Tag:tourism=picnic site
tourism=trail_riding_station: ES:Tag:tourism=trail riding station
tourism=viewpoint: ES:Tag:tourism=viewpoint
building=roof: Et:Tag:building=roof
fa:
key:
+ area: Fa:Key:area
+ bridge: Fa:Key:bridge
+ enforcement: Fa:Key:enforcement
highway: Fa:Key:highway
level: Fa:Key:level
- name: FA:Key:name
+ name: Fa:Key:name
+ noexit: Fa:Key:noexit
+ source: Fa:Key:source
+ traffic_calming: Fa:Key:traffic calming
tag:
amenity=fountain: Fa:Tag:amenity=fountain
+ highway=footway: Fa:Tag:highway=footway
+ highway=service: Fa:Tag:highway=service
+ shop=garden_centre: Fa:Tag:shop=garden centre
+ waterway=drain: Fa:Tag:waterway=drain
fi:
key:
addr: Fi:Key:addr
fr:
key:
CEMT: FR:Key:CEMT
+ FIXME: FR:Key:FIXME
abutters: FR:Key:abutters
access: FR:Key:access
addr: FR:Key:addr
addr:place: FR:Key:addr:place
addr:street: FR:Key:addr:street
addr:suburb: FR:Key:addr:suburb
+ admin_level: FR:Key:admin level
advertising: FR:Key:advertising
aeroway: FR:Key:aeroway
alt_name: FR:Key:alt name
amenity: FR:Key:amenity
+ animal: FR:Key:animal
animated: FR:Key:animated
area: FR:Key:area
+ artist_name: FR:Key:artist name
artwork_type: FR:Key:artwork type
backrest: FR:Key:backrest
backward: FR:Key:backward
barrier: FR:Key:barrier
+ baseball: FR:Key:baseball
basin: FR:Key:basin
bench: FR:Key:bench
bicycle: FR:Key:bicycle
boat: FR:Key:boat
bollard: FR:Key:bollard
books: FR:Key:books
- boundary: FR:Key:boundary
brand: FR:Key:brand
brewery: FR:Key:brewery
bridge: FR:Key:bridge
bridge:movable: FR:Key:bridge:movable
building: FR:Key:building
+ building:flats: FR:Key:building:flats
building:levels: FR:Key:building:levels
building:material: FR:Key:building:material
building:part: FR:Key:building:part
+ building:use: FR:Key:building:use
bulk_purchase: FR:Key:bulk purchase
bus: FR:Key:bus
capacity: FR:Key:capacity
capacity:disabled: FR:Key:capacity:disabled
+ check_date: FR:Key:check date
class:bicycle:commute: FR:Key:class:bicycle:commute
clothes: FR:Key:clothes
club: FR:Key:club
contact:vhf: FR:Key:contact:vhf
contact:webcam: FR:Key:contact:webcam
contact:website: FR:Key:contact:website
+ content: FR:Key:content
covered: FR:Key:covered
craft: FR:Key:craft
crop: FR:Key:crop
currency: FR:Key:currency
cutting: FR:Key:cutting
cycleway: FR:Key:cycleway
+ cycleway:lane: FR:Key:cycleway:lane
delivery: FR:Key:delivery
denomination: FR:Key:denomination
description: FR:Key:description
enforcement: FR:Key:enforcement
entrance: FR:Key:entrance
est_width: FR:Key:est width
+ fair_trade: FR:Key:fair trade
fax: FR:Key:fax
fee: FR:Key:fee
+ female: FR:Key:female
fishing: FR:Key:fishing
fixme: FR:Key:fixme
flood_prone: FR:Key:flood prone
ford: FR:Key:ford
format: FR:Key:format
forward: FR:Key:forward
+ fuel: FR:Key:fuel
garden:style: FR:Key:garden:style
garden:type: FR:Key:garden:type
generator:method: FR:Key:generator:method
generator:plant: FR:Key:generator:plant
generator:source: FR:Key:generator:source
geological: FR:Key:geological
+ grande_circulation: FR:Key:grande circulation
healthcare: FR:Key:healthcare
height: FR:Key:height
heritage: FR:Key:heritage
highway: FR:Key:highway
historic: FR:Key:historic
historic:civilization: FR:Key:historic:civilization
+ horse: FR:Key:horse
hov: FR:Key:hov
incline: FR:Key:incline
information: FR:Key:information
intermittent: FR:Key:intermittent
junction: FR:Key:junction
kindergarten:FR: FR:Key:kindergarten:FR
+ ladder: FR:Key:ladder
landuse: FR:Key:landuse
lanes: FR:Key:lanes
layer: FR:Key:layer
lock: FR:Key:lock
lock_name: FR:Key:lock name
lock_ref: FR:Key:lock ref
+ male: FR:Key:male
man_made: FR:Key:man made
manhole: FR:Key:manhole
manufacturer: FR:Key:manufacturer
maxwidth: FR:Key:maxwidth
memorial: FR:Key:memorial
message: FR:Key:message
+ microbrewery: FR:Key:microbrewery
military: FR:Key:military
min_age: FR:Key:min age
minage: FR:Key:minage
monitoring:meteoric_activity: FR:Key:monitoring:meteoric activity
mooring: FR:Key:mooring
motorboat: FR:Key:motorboat
+ motorcycle:parking: FR:Key:motorcycle:parking
mountain_pass: FR:Key:mountain pass
mtb:scale: FR:Key:mtb:scale
name: FR:Key:name
+ name:oc: FR:Key:name:oc
nat_name: FR:Key:nat name
natural: FR:Key:natural
network: FR:Key:network
old_name: FR:Key:old name
oneway: FR:Key:oneway
oneway:bicycle: FR:Key:oneway:bicycle
+ openfire: FR:Key:openfire
+ opening_date: FR:Key:opening date
opening_hours: FR:Key:opening hours
operator: FR:Key:operator
operator:type: FR:Key:operator:type
+ organic: FR:Key:organic
outdoor_seating: FR:Key:outdoor seating
overtaking: FR:Key:overtaking
parking: FR:Key:parking
smoothness: FR:Key:smoothness
social_facility: FR:Key:social facility
source: FR:Key:source
+ source:date: FR:Key:source:date
source:maxspeed: FR:Key:source:maxspeed
source:maxwidth: FR:Key:source:maxwidth
species: FR:Key:species
step:condition: FR:Key:step:condition
step:contrast: FR:Key:step:contrast
step_count: FR:Key:step count
+ support: FR:Key:support
surface: FR:Key:surface
surveillance: FR:Key:surveillance
+ survey:date: FR:Key:survey:date
switch: FR:Key:switch
+ symbol: FR:Key:symbol
tactile_paving: FR:Key:tactile paving
takeaway: FR:Key:takeaway
tidal: FR:Key:tidal
traffic_calming: FR:Key:traffic calming
traffic_sign: FR:Key:traffic sign
traffic_signals:direction: FR:Key:traffic signals:direction
+ traffic_signals:sound: FR:Key:traffic signals:sound
trail_visibility: FR:Key:trail visibility
trees: FR:Key:trees
tunnel: FR:Key:tunnel
turning_radius: FR:Key:turning radius
type: FR:Key:type
type:FR:FINESS: FR:Key:type:FR:FINESS
+ unisex: FR:Key:unisex
url: FR:Key:url
usage: FR:Key:usage
visibility: FR:Key:visibility
wikidata: FR:Key:wikidata
wikimedia_commons: FR:Key:wikimedia commons
wikipedia: FR:Key:wikipedia
+ windings: FR:Key:windings
xmas:feature: FR:Key:xmas:feature
tag:
Bascule_publique: FR:Tag:Bascule publique
FIXME=Position_estimated: FR:Tag:FIXME=Position estimated
abandoned=yes: FR:Tag:abandoned=yes
+ access=designated: FR:Tag:access=designated
+ access=no: FR:Tag:access=no
access=private: FR:Tag:access=private
advertising=billboard: FR:Tag:advertising=billboard
advertising=board: FR:Tag:advertising=board
amenity=arts_centre: FR:Tag:amenity=arts centre
amenity=atm: FR:Tag:amenity=atm
amenity=bank: FR:Tag:amenity=bank
+ amenity=bar: FR:Tag:amenity=bar
+ amenity=bbq: FR:Tag:amenity=bbq
amenity=bench: FR:Tag:amenity=bench
amenity=bicycle_parking: FR:Tag:amenity=bicycle parking
amenity=bicycle_rental: FR:Tag:amenity=bicycle rental
+ amenity=bicycle_repair_station: FR:Tag:amenity=bicycle repair station
amenity=biergarten: FR:Tag:amenity=biergarten
+ amenity=brothel: FR:Tag:amenity=brothel
+ amenity=bus_station: FR:Tag:amenity=bus station
amenity=cafe: FR:Tag:amenity=cafe
amenity=car_rental: FR:Tag:amenity=car rental
amenity=car_sharing: FR:Tag:amenity=car sharing
amenity=driving_school: FR:Tag:amenity=driving school
amenity=embassy: FR:Tag:amenity=embassy
amenity=fast_food: FR:Tag:amenity=fast food
+ amenity=feeding_place: FR:Tag:amenity=feeding place
amenity=fire_station: FR:Tag:amenity=fire station
amenity=food_court: FR:Tag:amenity=food court
amenity=fountain: FR:Tag:amenity=fountain
amenity=fuel: FR:Tag:amenity=fuel
amenity=grave_yard: FR:Tag:amenity=grave yard
+ amenity=hookah_lounge: FR:Tag:amenity=hookah lounge
amenity=hospital: FR:Tag:amenity=hospital
amenity=hunting_stand: FR:Tag:amenity=hunting stand
amenity=kindergarten: FR:Tag:amenity=kindergarten
+ amenity=lavoir: FR:Tag:amenity=lavoir
amenity=letter_box: FR:Tag:amenity=letter box
amenity=library: FR:Tag:amenity=library
+ amenity=love_hotel: FR:Tag:amenity=love hotel
amenity=marketplace: FR:Tag:amenity=marketplace
amenity=motorcycle_parking: FR:Tag:amenity=motorcycle parking
amenity=nightclub: FR:Tag:amenity=nightclub
amenity=parking: FR:Tag:amenity=parking
+ amenity=parking_entrance: FR:Tag:amenity=parking entrance
amenity=parking_space: FR:Tag:amenity=parking space
amenity=pharmacy: FR:Tag:amenity=pharmacy
amenity=photo_booth: FR:Tag:amenity=photo booth
amenity=shelter: FR:Tag:amenity=shelter
amenity=social_centre: FR:Tag:amenity=social centre
amenity=social_facility: FR:Tag:amenity=social facility
+ amenity=stripclub: FR:Tag:amenity=stripclub
+ amenity=swingerclub: FR:Tag:amenity=swingerclub
amenity=taxi: FR:Tag:amenity=taxi
amenity=telephone: FR:Tag:amenity=telephone
amenity=theatre: FR:Tag:amenity=theatre
amenity=townhall: FR:Tag:amenity=townhall
amenity=university: FR:Tag:amenity=university
amenity=vacuum_cleaner: FR:Tag:amenity=vacuum cleaner
+ amenity=vehicle_inspection: FR:Tag:amenity=vehicle inspection
amenity=vending_machine: FR:Tag:amenity=vending machine
amenity=veterinary: FR:Tag:amenity=veterinary
amenity=waste_basket: FR:Tag:amenity=waste basket
amenity=waste_disposal: FR:Tag:amenity=waste disposal
+ amenity=water_point: FR:Tag:amenity=water point
+ amenity=watering_place: FR:Tag:amenity=watering place
amenity=weighbridge: FR:Tag:amenity=weighbridge
+ animal=horse_walker: FR:Tag:animal=horse walker
+ atm=yes: FR:Tag:atm=yes
barrier=block: FR:Tag:barrier=block
barrier=bollard: FR:Tag:barrier=bollard
barrier=city_wall: FR:Tag:barrier=city wall
barrier=cycle_barrier: FR:Tag:barrier=cycle barrier
+ barrier=entrance: FR:Tag:barrier=entrance
+ barrier=fence: FR:Tag:barrier=fence
barrier=gate: FR:Tag:barrier=gate
+ barrier=guard_rail: FR:Tag:barrier=guard rail
barrier=hedge: FR:Tag:barrier=hedge
+ barrier=hedge_bank: FR:Tag:barrier=hedge bank
+ barrier=horse_stile: FR:Tag:barrier=horse stile
barrier=lift_gate: FR:Tag:barrier=lift gate
barrier=retaining_wall: FR:Tag:barrier=retaining wall
+ barrier=rope: FR:Tag:barrier=rope
barrier=select_acces: FR:Tag:barrier=select acces
barrier=wall: FR:Tag:barrier=wall
+ bicycle=use_sidepath: FR:Tag:bicycle=use sidepath
+ boundary=administrative: FR:Tag:boundary=administrative
brand=Trilib': FR:Tag:brand=Trilib'
building=apartments: FR:Tag:building=apartments
building=barn: FR:Tag:building=barn
building=cabin: FR:Tag:building=cabin
+ building=chapel: FR:Tag:building=chapel
+ building=church: FR:Tag:building=church
building=commercial: FR:Tag:building=commercial
+ building=construction: FR:Tag:building=construction
building=farm: FR:Tag:building=farm
building=garage: FR:Tag:building=garage
building=garages: FR:Tag:building=garages
building=kiosk: FR:Tag:building=kiosk
building=public: FR:Tag:building=public
building=residential: FR:Tag:building=residential
+ building=riding_hall: FR:Tag:building=riding hall
building=roof: FR:Tag:building=roof
building=ruins: FR:Tag:building=ruins
building=shed: FR:Tag:building=shed
building=warehouse: FR:Tag:building=warehouse
club=sport: FR:Tag:club=sport
construction=yes: FR:Tag:construction=yes
+ craft=agricultural_engines: FR:Tag:craft=agricultural engines
+ craft=bakery: FR:Tag:craft=bakery
+ craft=basket_maker: FR:Tag:craft=basket maker
craft=beekeeper: FR:Tag:craft=beekeeper
craft=brewery: FR:Tag:craft=brewery
craft=builder: FR:Tag:craft=builder
craft=cabinet_maker: FR:Tag:craft=cabinet maker
craft=car_repair: FR:Tag:craft=car repair
+ craft=carpenter: FR:Tag:craft=carpenter
+ craft=carpet_layer: FR:Tag:craft=carpet layer
+ craft=caterer: FR:Tag:craft=caterer
+ craft=chimney_sweeper: FR:Tag:craft=chimney sweeper
+ craft=distillery: FR:Tag:craft=distillery
+ craft=electrician: FR:Tag:craft=electrician
+ craft=floorer: FR:Tag:craft=floorer
+ craft=gardener: FR:Tag:craft=gardener
+ craft=handicraft: FR:Tag:craft=handicraft
+ craft=hvac: FR:Tag:craft=hvac
+ craft=insulation: FR:Tag:craft=insulation
+ craft=jeweller: FR:Tag:craft=jeweller
craft=joiner: FR:Tag:craft=joiner
+ craft=key_cutter: FR:Tag:craft=key cutter
+ craft=locksmith: FR:Tag:craft=locksmith
+ craft=metal_construction: FR:Tag:craft=metal construction
+ craft=photographer: FR:Tag:craft=photographer
cuisine=coffee_shop: FR:Tag:cuisine=coffee shop
cycleway=asl: FR:Tag:cycleway=asl
cycleway=bike_box: FR:Tag:cycleway=bike box
generator:source=solar: FR:Tag:generator:source=solar
generator:source=tidal: FR:Tag:generator:source=tidal
generator:source=wind: FR:Tag:generator:source=wind
+ healthcare=laboratory: FR:Tag:healthcare=laboratory
highway=bridleway: FR:Tag:highway=bridleway
highway=bus_guideway: FR:Tag:highway=bus guideway
highway=bus_stop: FR:Tag:highway=bus stop
highway=stop: FR:Tag:highway=stop
highway=tertiary: FR:Tag:highway=tertiary
highway=track: FR:Tag:highway=track
+ highway=traffic_mirror: FR:Tag:highway=traffic mirror
highway=traffic_signals: FR:Tag:highway=traffic signals
highway=trunk: FR:Tag:highway=trunk
highway=turning_circle: FR:Tag:highway=turning circle
historic=wayside_shrine: FR:Tag:historic=wayside shrine
historic=wreck: FR:Tag:historic=wreck
industrial=brewery: FR:Tag:industrial=brewery
+ information=guidepost: FR:Tag:information=guidepost
+ information=map: FR:Tag:information=map
junction=roundabout: FR:Tag:junction=roundabout
+ landcover=grass: FR:Tag:landcover=grass
landuse=allotments: FR:Tag:landuse=allotments
+ landuse=animal_keeping: FR:Tag:landuse=animal keeping
landuse=basin: FR:Tag:landuse=basin
landuse=cemetery: FR:Tag:landuse=cemetery
landuse=commercial: FR:Tag:landuse=commercial
landuse=garages: FR:Tag:landuse=garages
landuse=grass: FR:Tag:landuse=grass
landuse=greenhouse_horticulture: FR:Tag:landuse=greenhouse horticulture
+ landuse=industrial: FR:Tag:landuse=industrial
landuse=meadow: FR:Tag:landuse=meadow
landuse=orchard: FR:Tag:landuse=orchard
landuse=plant_nursery: FR:Tag:landuse=plant nursery
landuse=salt_pond: FR:Tag:landuse=salt pond
landuse=village_green: FR:Tag:landuse=village green
leaf_cycle=deciduous: FR:Tag:leaf cycle=deciduous
+ leisure=bandstand: FR:Tag:leisure=bandstand
leisure=dog_park: FR:Tag:leisure=dog park
+ leisure=escape_game: FR:Tag:leisure=escape game
+ leisure=firepit: FR:Tag:leisure=firepit
leisure=fishing: FR:Tag:leisure=fishing
leisure=fitness_centre: FR:Tag:leisure=fitness centre
leisure=garden: FR:Tag:leisure=garden
leisure=track: FR:Tag:leisure=track
leisure=water_park: FR:Tag:leisure=water park
man_made=adit: FR:Tag:man made=adit
+ man_made=carpet_hanger: FR:Tag:man made=carpet hanger
man_made=cutline: FR:Tag:man made=cutline
man_made=dovecote: FR:Tag:man made=dovecote
man_made=flagpole: FR:Tag:man made=flagpole
+ man_made=insect_hotel: FR:Tag:man made=insect hotel
man_made=kiln: FR:Tag:man made=kiln
man_made=lighthouse: FR:Tag:man made=lighthouse
+ man_made=mast: FR:Tag:man made=mast
man_made=mineshaft: FR:Tag:man made=mineshaft
man_made=monitoring_station: FR:Tag:man made=monitoring station
man_made=pier: FR:Tag:man made=pier
+ man_made=reservoir_covered: FR:Tag:man made=reservoir covered
man_made=street_cabinet: FR:Tag:man made=street cabinet
man_made=surveillance: FR:Tag:man made=surveillance
man_made=survey_point: FR:Tag:man made=survey point
man_made=windmill: FR:Tag:man made=windmill
man_made=windpump: FR:Tag:man made=windpump
medical=aed: FR:Tag:medical=aed
+ memorial=plaque: FR:Tag:memorial=plaque
microbrewery=yes: FR:Tag:microbrewery=yes
military=bunker: FR:Tag:military=bunker
natural=bare_rock: FR:Tag:natural=bare rock
+ natural=beach: FR:Tag:natural=beach
natural=cave_entrance: FR:Tag:natural=cave entrance
natural=cliff: FR:Tag:natural=cliff
natural=coastline: FR:Tag:natural=coastline
natural=volcano: FR:Tag:natural=volcano
natural=water: FR:Tag:natural=water
natural=wetland: FR:Tag:natural=wetland
+ office=association: FR:Tag:office=association
+ office=company: FR:Tag:office=company
office=employment_agency: FR:Tag:office=employment agency
office=estate_agent: FR:Tag:office=estate agent
+ office=foundation: FR:Tag:office=foundation
+ office=government: FR:Tag:office=government
+ office=insurance: FR:Tag:office=insurance
office=lawyer: FR:Tag:office=lawyer
office=ngo: FR:Tag:office=ngo
place=city: FR:Tag:place=city
power=transformer: FR:Tag:power=transformer
public_transport=platform: FR:Tag:public transport=platform
public_transport=station: FR:Tag:public transport=station
+ public_transport=stop_area: FR:Tag:public transport=stop area
+ public_transport=stop_position: FR:Tag:public transport=stop position
pump=powered: FR:Tag:pump=powered
railway=crossing: FR:Tag:railway=crossing
railway=disused: FR:Tag:railway=disused
religion=sikh: FR:Tag:religion=sikh
religion=taoist: FR:Tag:religion=taoist
religion=zoroastrian: FR:Tag:religion=zoroastrian
+ route=bicycle: FR:Tag:route=bicycle
route=coach: FR:Tag:route=coach
+ route=fitness_trail: FR:Tag:route=fitness trail
route=piste: FR:Tag:route=piste
+ route=railway: FR:Tag:route=railway
+ route=transhumance: FR:Tag:route=transhumance
service=alley: FR:Tag:service=alley
service=driveway: FR:Tag:service=driveway
service=parking_aisle: FR:Tag:service=parking aisle
shelter_type=basic_hut: FR:Tag:shelter type=basic hut
+ shelter_type=lean_to: FR:Tag:shelter type=lean to
+ shop=agrarian: FR:Tag:shop=agrarian
shop=alcohol: FR:Tag:shop=alcohol
shop=anime: FR:Tag:shop=anime
shop=baby_goods: FR:Tag:shop=baby goods
shop=department_store: FR:Tag:shop=department store
shop=dive: FR:Tag:shop=dive
shop=doityourself: FR:Tag:shop=doityourself
+ shop=dry_cleaning: FR:Tag:shop=dry cleaning
shop=electronics: FR:Tag:shop=electronics
+ shop=erotic: FR:Tag:shop=erotic
shop=farm: FR:Tag:shop=farm
+ shop=fashion: FR:Tag:shop=fashion
shop=florist: FR:Tag:shop=florist
shop=frame: FR:Tag:shop=frame
shop=frozen_food: FR:Tag:shop=frozen food
shop=hairdresser: FR:Tag:shop=hairdresser
shop=hardware: FR:Tag:shop=hardware
shop=hunting: FR:Tag:shop=hunting
+ shop=interior_decoration: FR:Tag:shop=interior decoration
shop=jewelry: FR:Tag:shop=jewelry
shop=kiosk: FR:Tag:shop=kiosk
shop=kitchen: FR:Tag:shop=kitchen
shop=motorcycle: FR:Tag:shop=motorcycle
shop=newsagent: FR:Tag:shop=newsagent
shop=optician: FR:Tag:shop=optician
+ shop=outdoor: FR:Tag:shop=outdoor
shop=pastry: FR:Tag:shop=pastry
shop=pet: FR:Tag:shop=pet
shop=pharmacy: FR:Tag:shop=pharmacy
shop=photo: FR:Tag:shop=photo
shop=second_hand: FR:Tag:shop=second hand
+ shop=sewing: FR:Tag:shop=sewing
shop=shoes: FR:Tag:shop=shoes
shop=supermarket: FR:Tag:shop=supermarket
shop=ticket: FR:Tag:shop=ticket
shop=toys: FR:Tag:shop=toys
shop=trade: FR:Tag:shop=trade
+ shop=vacant: FR:Tag:shop=vacant
shop=video: FR:Tag:shop=video
+ shop=video_games: FR:Tag:shop=video games
sport=8pin: FR:Tag:sport=8pin
+ sport=archery: FR:Tag:sport=archery
sport=boules: FR:Tag:sport=boules
sport=climbing: FR:Tag:sport=climbing
+ sport=equestrian: FR:Tag:sport=equestrian
sport=free_flying: FR:Tag:sport=free flying
+ sport=horse_racing: FR:Tag:sport=horse racing
sport=shooting: FR:Tag:sport=shooting
sport=soccer: FR:Tag:sport=soccer
switch=circuit_breaker: FR:Tag:switch=circuit breaker
tourism=museum: FR:Tag:tourism=museum
tourism=picnic_site: FR:Tag:tourism=picnic site
tourism=theme_park: FR:Tag:tourism=theme park
+ tourism=trail_riding_station: FR:Tag:tourism=trail riding station
tourism=viewpoint: FR:Tag:tourism=viewpoint
tourism=wilderness_hut: FR:Tag:tourism=wilderness hut
tourism=zoo: FR:Tag:tourism=zoo
+ tower:type=communication: FR:Tag:tower:type=communication
traffic_sign=city_limit: FR:Tag:traffic sign=city limit
tunnel=culvert: FR:Tag:tunnel=culvert
+ tunnel=flooded: FR:Tag:tunnel=flooded
+ usage=headrace: FR:Tag:usage=headrace
+ usage=irrigation: FR:Tag:usage=irrigation
+ usage=penstock: FR:Tag:usage=penstock
+ usage=spillway: FR:Tag:usage=spillway
+ usage=tailrace: FR:Tag:usage=tailrace
+ vending=bread: FR:Tag:vending=bread
vending=chemist: FR:Tag:vending=chemist
+ vending=coffee: FR:Tag:vending=coffee
vending=condoms: FR:Tag:vending=condoms
+ vending=drinks: FR:Tag:vending=drinks
+ vending=electronics: FR:Tag:vending=electronics
vending=excrement_bags: FR:Tag:vending=excrement bags
+ vending=fishing_bait: FR:Tag:vending=fishing bait
+ vending=flowers: FR:Tag:vending=flowers
+ vending=food: FR:Tag:vending=food
+ vending=ice_cream: FR:Tag:vending=ice cream
+ vending=milk: FR:Tag:vending=milk
vending=parcel_pickup: FR:Tag:vending=parcel pickup
+ vending=parking_tickets: FR:Tag:vending=parking tickets
+ vending=sweets: FR:Tag:vending=sweets
+ vending=water: FR:Tag:vending=water
wall=no: FR:Tag:wall=no
+ water=reservoir: FR:Tag:water=reservoir
waterway=boatyard: FR:Tag:waterway=boatyard
waterway=canal: FR:Tag:waterway=canal
waterway=dam: FR:Tag:waterway=dam
waterway=drain: FR:Tag:waterway=drain
waterway=fish_pass: FR:Tag:waterway=fish pass
waterway=lock_gate: FR:Tag:waterway=lock gate
+ waterway=pressurised: FR:Tag:waterway=pressurised
waterway=river: FR:Tag:waterway=river
waterway=riverbank: FR:Tag:waterway=riverbank
waterway=stream: FR:Tag:waterway=stream
wetland=swamp: FR:Tag:wetland=swamp
gl:
key:
+ imagery_used: Gl:Key:imagery used
+ locale: Gl:Key:locale
+ name: Gl:Key:name
+ route: Gl:Key:route
+ sport: Gl:Key:sport
+ tourism: Gl:Key:tourism
+ tunnel: Gl:Key:tunnel
wheelchair: Gl:Key:wheelchair
tag:
amenity=recycling: Gl:Tag:amenity=recycling
+ railway=tram: Gl:Tag:railway=tram
+ social_facility=nursing_home: Gl:Tag:social facility=nursing home
+ sport=padel: Gl:Tag:sport=padel
+ waterway=dock: Gl:Tag:waterway=dock
hr:
key:
amenity: Hr:Key:amenity
pump: Ht:Key:pump
hu:
key:
+ HU:ed_direction: Hu:Key:HU:ed direction
HU:hu-go:length: Hu:Key:HU:hu-go:length
HU:hu-go:milestone: Hu:Key:HU:hu-go:milestone
HU:hu-go:road: Hu:Key:HU:hu-go:road
wood: Hu:Key:wood
tag:
boundary=administrative: Hu:Tag:boundary=administrative
+ highway=street_lamp: Hu:Tag:highway=street lamp
natural=wallow: Hu:Tag:natural=wallow
railway=level_crossing: Hu:Tag:railway=level crossing
id:
tag:
highway=track: Id:Tag:highway=track
+ shop=pawnbroker: Id:Tag:shop=pawnbroker
it:
key:
abutters: IT:Key:abutters
access: IT:Key:access
addr: IT:Key:addr
+ addr:housenumber: IT:Key:addr:housenumber
+ addr:postcode: IT:Key:addr:postcode
+ addr:street: IT:Key:addr:street
aerialway: IT:Key:aerialway
aeroway: IT:Key:aeroway
+ alt_name: IT:Key:alt name
amenity: IT:Key:amenity
artwork_type: IT:Key:artwork type
backrest: IT:Key:backrest
bicycle_parking: IT:Key:bicycle parking
boundary: IT:Key:boundary
bridge: IT:Key:bridge
+ bridge:structure: IT:Key:bridge:structure
building: IT:Key:building
building:levels: IT:Key:building:levels
cables: IT:Key:cables
maxwidth: IT:Key:maxwidth
military: IT:Key:military
mooring: IT:Key:mooring
+ motorcycle:clothes: IT:Key:motorcycle:clothes
+ motorcycle:parts: IT:Key:motorcycle:parts
+ motorcycle:rental: IT:Key:motorcycle:rental
+ motorcycle:repair: IT:Key:motorcycle:repair
+ motorcycle:sales: IT:Key:motorcycle:sales
+ motorcycle:type: IT:Key:motorcycle:type
+ motorcycle:tyres: IT:Key:motorcycle:tyres
mountain_pass: IT:Key:mountain pass
mtb:scale: IT:Key:mtb:scale
mtb:scale:imba: IT:Key:mtb:scale:imba
noexit: IT:Key:noexit
note: IT:Key:note
office: IT:Key:office
+ oneway: IT:Key:oneway
opening_hours: IT:Key:opening hours
operator: IT:Key:operator
organic: IT:Key:organic
proposed: IT:Key:proposed
railway: IT:Key:railway
ref: IT:Key:ref
+ ref:mise: IT:Key:ref:mise
ref:vatin: IT:Key:ref:vatin
religion: IT:Key:religion
residential: IT:Key:residential
route: IT:Key:route
sac_scale: IT:Key:sac scale
+ second_hand: IT:Key:second hand
service: IT:Key:service
+ service:bicycle:diy: IT:Key:service:bicycle:diy
+ service:bicycle:rental: IT:Key:service:bicycle:rental
+ service:bicycle:repair: IT:Key:service:bicycle:repair
+ service:bicycle:retail: IT:Key:service:bicycle:retail
+ service:bicycle:second_hand: IT:Key:service:bicycle:second hand
shop: IT:Key:shop
+ sidewalk: IT:Key:sidewalk
smoothness: IT:Key:smoothness
sport: IT:Key:sport
stop: IT:Key:stop
surface: IT:Key:surface
surveillance: IT:Key:surveillance
+ tank_trap: IT:Key:tank trap
tourism: IT:Key:tourism
tracktype: IT:Key:tracktype
traffic_calming: IT:Key:traffic calming
wires: IT:Key:wires
zone:maxspeed: IT:Key:zone:maxspeed
tag:
+ aeroway=aerodrome: IT:Tag:aeroway=aerodrome
+ aeroway=airstrip: IT:Tag:aeroway=airstrip
+ aeroway=apron: IT:Tag:aeroway=apron
+ aeroway=gate: IT:Tag:aeroway=gate
+ aeroway=hangar: IT:Tag:aeroway=hangar
+ aeroway=helipad: IT:Tag:aeroway=helipad
+ aeroway=heliport: IT:Tag:aeroway=heliport
+ aeroway=holding_position: IT:Tag:aeroway=holding position
+ aeroway=navigationaid: IT:Tag:aeroway=navigationaid
+ aeroway=parking_position: IT:Tag:aeroway=parking position
+ aeroway=runway: IT:Tag:aeroway=runway
+ aeroway=spaceport: IT:Tag:aeroway=spaceport
+ aeroway=taxilane: IT:Tag:aeroway=taxilane
+ aeroway=taxiway: IT:Tag:aeroway=taxiway
+ aeroway=terminal: IT:Tag:aeroway=terminal
+ aeroway=windsock: IT:Tag:aeroway=windsock
amenity=animal_boarding: IT:Tag:amenity=animal boarding
amenity=animal_breeding: IT:Tag:amenity=animal breeding
amenity=animal_shelter: IT:Tag:amenity=animal shelter
+ amenity=bank: IT:Tag:amenity=bank
amenity=bar: IT:Tag:amenity=bar
+ amenity=bbq: IT:Tag:amenity=bbq
amenity=bench: IT:Tag:amenity=bench
amenity=bicycle_rental: IT:Tag:amenity=bicycle rental
amenity=cafe: IT:Tag:amenity=cafe
amenity=spa: IT:Tag:amenity=spa
amenity=university: IT:Tag:amenity=university
amenity=waste_basket: IT:Tag:amenity=waste basket
+ barrier=block: IT:Tag:barrier=block
+ barrier=bollard: IT:Tag:barrier=bollard
+ barrier=border_control: IT:Tag:barrier=border control
+ barrier=bump_gate: IT:Tag:barrier=bump gate
+ barrier=cable_barrier: IT:Tag:barrier=cable barrier
+ barrier=city_wall: IT:Tag:barrier=city wall
barrier=ditch: IT:Tag:barrier=ditch
barrier=fence: IT:Tag:barrier=fence
+ barrier=guard_rail: IT:Tag:barrier=guard rail
+ barrier=handrail: IT:Tag:barrier=handrail
+ barrier=hedge: IT:Tag:barrier=hedge
barrier=jersey_barrier: IT:Tag:barrier=jersey barrier
+ barrier=kerb: IT:Tag:barrier=kerb
barrier=retaining_wall: IT:Tag:barrier=retaining wall
+ barrier=tank_trap: IT:Tag:barrier=tank trap
barrier=toll_booth: IT:Tag:barrier=toll booth
+ barrier=wall: IT:Tag:barrier=wall
building=residential: IT:Tag:building=residential
building=train_station: IT:Tag:building=train station
+ craft=agricultural_engines: IT:Tag:craft=agricultural engines
+ craft=bakery: IT:Tag:craft=bakery
+ craft=basket_maker: IT:Tag:craft=basket maker
+ craft=beekeeper: IT:Tag:craft=beekeeper
+ craft=blacksmith: IT:Tag:craft=blacksmith
+ craft=boatbuilder: IT:Tag:craft=boatbuilder
+ craft=bookbinder: IT:Tag:craft=bookbinder
+ craft=brewery: IT:Tag:craft=brewery
+ craft=builder: IT:Tag:craft=builder
+ craft=cabinet_maker: IT:Tag:craft=cabinet maker
+ craft=car_repair: IT:Tag:craft=car repair
+ craft=carpenter: IT:Tag:craft=carpenter
+ craft=carpet_layer: IT:Tag:craft=carpet layer
+ craft=caterer: IT:Tag:craft=caterer
+ craft=chimney_sweeper: IT:Tag:craft=chimney sweeper
+ craft=clockmaker: IT:Tag:craft=clockmaker
+ craft=confectionery: IT:Tag:craft=confectionery
+ craft=cooper: IT:Tag:craft=cooper
+ craft=dental_technician: IT:Tag:craft=dental technician
+ craft=distillery: IT:Tag:craft=distillery
+ craft=dressmaker: IT:Tag:craft=dressmaker
+ craft=electrician: IT:Tag:craft=electrician
+ craft=electronics_repair: IT:Tag:craft=electronics repair
+ craft=embroiderer: IT:Tag:craft=embroiderer
+ craft=engraver: IT:Tag:craft=engraver
+ craft=floorer: IT:Tag:craft=floorer
+ craft=gardener: IT:Tag:craft=gardener
+ craft=glaziery: IT:Tag:craft=glaziery
+ craft=grinding_mill: IT:Tag:craft=grinding mill
+ craft=handicraft: IT:Tag:craft=handicraft
+ craft=hvac: IT:Tag:craft=hvac
+ craft=insulation: IT:Tag:craft=insulation
+ craft=jeweller: IT:Tag:craft=jeweller
+ craft=joiner: IT:Tag:craft=joiner
+ craft=key_cutter: IT:Tag:craft=key cutter
+ craft=locksmith: IT:Tag:craft=locksmith
+ craft=metal_construction: IT:Tag:craft=metal construction
+ craft=mint: IT:Tag:craft=mint
+ craft=musical_instrument: IT:Tag:craft=musical instrument
+ craft=oil_mill: IT:Tag:craft=oil mill
+ craft=optician: IT:Tag:craft=optician
+ craft=organ_builder: IT:Tag:craft=organ builder
+ craft=painter: IT:Tag:craft=painter
+ craft=parquet_layer: IT:Tag:craft=parquet layer
+ craft=photographer: IT:Tag:craft=photographer
+ craft=photographic_laboratory: IT:Tag:craft=photographic laboratory
+ craft=piano_tuner: IT:Tag:craft=piano tuner
+ craft=plasterer: IT:Tag:craft=plasterer
+ craft=plumber: IT:Tag:craft=plumber
+ craft=pottery: IT:Tag:craft=pottery
+ craft=printmaker: IT:Tag:craft=printmaker
+ craft=rigger: IT:Tag:craft=rigger
+ craft=roofer: IT:Tag:craft=roofer
+ craft=saddler: IT:Tag:craft=saddler
+ craft=sailmaker: IT:Tag:craft=sailmaker
+ craft=sawmill: IT:Tag:craft=sawmill
+ craft=scaffolder: IT:Tag:craft=scaffolder
+ craft=sculptor: IT:Tag:craft=sculptor
+ craft=shoemaker: IT:Tag:craft=shoemaker
+ craft=stand_builder: IT:Tag:craft=stand builder
+ craft=stonemason: IT:Tag:craft=stonemason
+ craft=sun_protection: IT:Tag:craft=sun protection
+ craft=tailor: IT:Tag:craft=tailor
+ craft=tiler: IT:Tag:craft=tiler
+ craft=tinsmith: IT:Tag:craft=tinsmith
+ craft=toolmaker: IT:Tag:craft=toolmaker
+ craft=turner: IT:Tag:craft=turner
+ craft=upholsterer: IT:Tag:craft=upholsterer
+ craft=watchmaker: IT:Tag:craft=watchmaker
+ craft=window_construction: IT:Tag:craft=window construction
+ craft=winery: IT:Tag:craft=winery
emergency=fire_hydrant: IT:Tag:emergency=fire hydrant
footway=crossing: IT:Tag:footway=crossing
footway=sidewalk: IT:Tag:footway=sidewalk
+ geological=moraine: IT:Tag:geological=moraine
+ geological=outcrop: IT:Tag:geological=outcrop
geological=palaeontological_site: IT:Tag:geological=palaeontological site
+ highway=bus_stop: IT:Tag:highway=bus stop
highway=crossing: IT:Tag:highway=crossing
highway=cycleway: IT:Tag:highway=cycleway
highway=footway: IT:Tag:highway=footway
highway=living_street: IT:Tag:highway=living street
highway=mini_roundabout: IT:Tag:highway=mini roundabout
highway=motorway: IT:Tag:highway=motorway
+ highway=motorway_junction: IT:Tag:highway=motorway junction
highway=motorway_link: IT:Tag:highway=motorway link
highway=path: IT:Tag:highway=path
highway=pedestrian: IT:Tag:highway=pedestrian
landuse=cemetery: IT:Tag:landuse=cemetery
landuse=construction: IT:Tag:landuse=construction
landuse=greenhouse_horticulture: IT:Tag:landuse=greenhouse horticulture
+ landuse=salt_pond: IT:Tag:landuse=salt pond
leisure=beach_resort: IT:Tag:leisure=beach resort
leisure=dog_park: IT:Tag:leisure=dog park
+ leisure=garden: IT:Tag:leisure=garden
leisure=marina: IT:Tag:leisure=marina
+ leisure=nature_reserve: IT:Tag:leisure=nature reserve
leisure=playground: IT:Tag:leisure=playground
leisure=swimming_pool: IT:Tag:leisure=swimming pool
+ leisure=track: IT:Tag:leisure=track
man_made=mast: IT:Tag:man made=mast
man_made=works: IT:Tag:man made=works
natural=bare_rock: IT:Tag:natural=bare rock
natural=spring: IT:Tag:natural=spring
natural=tree_row: IT:Tag:natural=tree row
natural=wetland: IT:Tag:natural=wetland
+ office=foundation: IT:Tag:office=foundation
+ office=it: IT:Tag:office=it
oneway=alternating: IT:Tag:oneway=alternating
place=village: IT:Tag:place=village
power=cable: IT:Tag:power=cable
power=substation: IT:Tag:power=substation
power=tower: IT:Tag:power=tower
power=transformer: IT:Tag:power=transformer
+ public_transport=platform: IT:Tag:public transport=platform
+ public_transport=station: IT:Tag:public transport=station
+ public_transport=stop_area: IT:Tag:public transport=stop area
+ public_transport=stop_position: IT:Tag:public transport=stop position
railway=level_crossing: IT:Tag:railway=level crossing
residential=rural: IT:Tag:residential=rural
residential=urban: IT:Tag:residential=urban
shop=bicycle: IT:Tag:shop=bicycle
shop=butcher: IT:Tag:shop=butcher
shop=car: IT:Tag:shop=car
+ shop=car_parts: IT:Tag:shop=car parts
+ shop=car_repair: IT:Tag:shop=car repair
shop=chemist: IT:Tag:shop=chemist
shop=clothes: IT:Tag:shop=clothes
shop=coffee: IT:Tag:shop=coffee
shop=confectionery: IT:Tag:shop=confectionery
shop=convenience: IT:Tag:shop=convenience
shop=deli: IT:Tag:shop=deli
+ shop=electrical: IT:Tag:shop=electrical
+ shop=electronics: IT:Tag:shop=electronics
shop=farm: IT:Tag:shop=farm
shop=florist: IT:Tag:shop=florist
shop=greengrocer: IT:Tag:shop=greengrocer
+ shop=hardware: IT:Tag:shop=hardware
shop=hifi: IT:Tag:shop=hifi
shop=kiosk: IT:Tag:shop=kiosk
shop=mall: IT:Tag:shop=mall
shop=supermarket: IT:Tag:shop=supermarket
shop=tea: IT:Tag:shop=tea
shop=tobacco: IT:Tag:shop=tobacco
+ shop=tyres: IT:Tag:shop=tyres
shop=wine: IT:Tag:shop=wine
+ sport=balle_pelote: IT:Tag:sport=balle pelote
sport=climbing: IT:Tag:sport=climbing
sport=surfing: IT:Tag:sport=surfing
summit:cross=yes: IT:Tag:summit:cross=yes
+ tourism=aquarium: IT:Tag:tourism=aquarium
tourism=artwork: IT:Tag:tourism=artwork
tourism=museum: IT:Tag:tourism=museum
waterway=ditch: IT:Tag:waterway=ditch
+ waterway=river: IT:Tag:waterway=river
waterway=stream: IT:Tag:waterway=stream
ja:
key:
border_type: JA:Key:border type
both: JA:Key:both
boundary: JA:Key:boundary
+ branch: JA:Key:branch
brand: JA:Key:brand
+ brand:wikidata: JA:Key:brand:wikidata
+ breakfast: JA:Key:breakfast
brewery: JA:Key:brewery
bridge: JA:Key:bridge
bridge:alt_name: JA:Key:bridge:alt name
cemetery: JA:Key:cemetery
change: JA:Key:change
check_date: JA:Key:check date
+ checkpoint: JA:Key:checkpoint
circumference: JA:Key:circumference
clothes: JA:Key:clothes
club: JA:Key:club
parking: JA:Key:parking
parking:condition: JA:Key:parking:condition
parking:lane: JA:Key:parking:lane
+ passenger_information_display: JA:Key:passenger information display
passing_places: JA:Key:passing places
payment: JA:Key:payment
payment:coins: JA:Key:payment:coins
geological=outcrop: JA:Tag:geological=outcrop
geological=palaeontological_site: JA:Tag:geological=palaeontological site
golf=bunker: JA:Tag:golf=bunker
+ golf=driving_range: JA:Tag:golf=driving range
golf=fairway: JA:Tag:golf=fairway
government=ministry: JA:Tag:government=ministry
government=prosecutor: JA:Tag:government=prosecutor
leisure=common: JA:Tag:leisure=common
leisure=dance: JA:Tag:leisure=dance
leisure=dog_park: JA:Tag:leisure=dog park
+ leisure=escape_game: JA:Tag:leisure=escape game
leisure=firepit: JA:Tag:leisure=firepit
leisure=fishing: JA:Tag:leisure=fishing
leisure=fitness_centre: JA:Tag:leisure=fitness centre
man_made=cross: JA:Tag:man made=cross
man_made=cutline: JA:Tag:man made=cutline
man_made=dike: JA:Tag:man made=dike
+ man_made=dovecote: JA:Tag:man made=dovecote
man_made=dyke: JA:Tag:man made=dyke
man_made=embankment: JA:Tag:man made=embankment
man_made=flagpole: JA:Tag:man made=flagpole
natural=stone: JA:Tag:natural=stone
natural=tree: JA:Tag:natural=tree
natural=tree_row: JA:Tag:natural=tree row
+ natural=tree_stump: JA:Tag:natural=tree stump
natural=valley: JA:Tag:natural=valley
natural=volcano: JA:Tag:natural=volcano
natural=water: JA:Tag:natural=water
shop=pawnbroker: JA:Tag:shop=pawnbroker
shop=perfumery: JA:Tag:shop=perfumery
shop=pet: JA:Tag:shop=pet
+ shop=pet_grooming: JA:Tag:shop=pet grooming
shop=pharmacy: JA:Tag:shop=pharmacy
shop=photo: JA:Tag:shop=photo
shop=printing: JA:Tag:shop=printing
shop=spices: JA:Tag:shop=spices
shop=sports: JA:Tag:shop=sports
shop=stationery: JA:Tag:shop=stationery
+ shop=storage_rental: JA:Tag:shop=storage rental
shop=supermarket: JA:Tag:shop=supermarket
shop=swimming_pool: JA:Tag:shop=swimming pool
shop=tailor: JA:Tag:shop=tailor
vending=excrement_bags: JA:Tag:vending=excrement bags
vending=fuel: JA:Tag:vending=fuel
vending=milk: JA:Tag:vending=milk
+ vending=parcel_pickup: JA:Tag:vending=parcel pickup
+ vending=parcel_pickup;parcel_mail_in: JA:Tag:vending=parcel pickup;parcel mail
+ in
vending=parking_tickets: JA:Tag:vending=parking tickets
vending=photo: JA:Tag:vending=photo
wall=no: JA:Tag:wall=no
key:
aerialway: Ko:Key:aerialway
amenity: Ko:Key:amenity
+ crossing: Ko:Key:crossing
ele: Ko:Key:ele
+ emergency: Ko:Key:emergency
highway: Ko:Key:highway
+ intermittent: Ko:Key:intermittent
+ leisure: Ko:Key:leisure
+ local_ref: Ko:Key:local ref
name: Ko:Key:name
+ operator:type: Ko:Key:operator:type
+ tracktype: Ko:Key:tracktype
+ wheelchair: Ko:Key:wheelchair
wikipedia: Ko:Key:wikipedia
tag:
aerialway=cable_car: Ko:Tag:aerialway=cable car
+ amenity=fuel: Ko:Tag:amenity=fuel
+ barrier=kerb: Ko:Tag:barrier=kerb
craft=tailor: Ko:Tag:craft=tailor
+ ford=stepping_stones: Ko:Tag:ford=stepping stones
+ highway=bus_stop: Ko:Tag:highway=bus stop
+ highway=elevator: Ko:Tag:highway=elevator
highway=motorway: Ko:Tag:highway=motorway
+ highway=motorway_link: Ko:Tag:highway=motorway link
+ highway=service: Ko:Tag:highway=service
+ highway=services: Ko:Tag:highway=services
+ highway=stop: Ko:Tag:highway=stop
highway=track: Ko:Tag:highway=track
highway=trunk: Ko:Tag:highway=trunk
+ landuse=farmland: Ko:Tag:landuse=farmland
+ landuse=retail: Ko:Tag:landuse=retail
+ landuse=traffic_island: Ko:Tag:landuse=traffic island
+ leisure=disc_golf_course: Ko:Tag:leisure=disc golf course
+ man_made=mast: Ko:Tag:man made=mast
+ place=hamlet: Ko:Tag:place=hamlet
+ shop=convenience: Ko:Tag:shop=convenience
shop=garden_centre: Ko:Tag:shop=garden centre
shop=gift: Ko:Tag:shop=gift
lt:
highway=tertiary: Ms:Tag:highway=tertiary
highway=trunk: Ms:Tag:highway=trunk
highway=unclassified: Ms:Tag:highway=unclassified
+my:
+ tag:
+ craft=agricultural_engines: My:Tag:craft=agricultural engines
ne:
tag:
landuse=meadow: Ne:Tag:landuse=meadow
natural: NL:Key:natural
office: NL:Key:office
place: NL:Key:place
+ population: NL:Key:population
power_supply:schedule: NL:Key:power supply:schedule
public_transport: NL:Key:public transport
+ ref:bag: NL:Key:ref:bag
religion: NL:Key:religion
route_master: NL:Key:route master
scenic: NL:Key:scenic
amenity=parking: NL:Tag:amenity=parking
amenity=post_office: NL:Tag:amenity=post office
amenity=toilets: NL:Tag:amenity=toilets
+ amenity=vending_machine: NL:Tag:amenity=vending machine
amenity=waste_basket: NL:Tag:amenity=waste basket
barrier=bollard: NL:Tag:barrier=bollard
barrier=fence: NL:Tag:barrier=fence
landuse=garages: NL:Tag:landuse=garages
landuse=grass: NL:Tag:landuse=grass
landuse=industrial: NL:Tag:landuse=industrial
+ leaf_cycle=deciduous: NL:Tag:leaf cycle=deciduous
man_made=windmill: NL:Tag:man made=windmill
natural=tree: NL:Tag:natural=tree
public_transport=platform: NL:Tag:public transport=platform
shop=department_store: NL:Tag:shop=department store
shop=greengrocer: NL:Tag:shop=greengrocer
tourism=chalet: NL:Tag:tourism=chalet
+ vending=parking_tickets: NL:Tag:vending=parking tickets
zoo=petting_zoo: NL:Tag:zoo=petting zoo
no:
key:
boundary: No:Key:boundary
building: No:Key:building
fenced: No:Key:fenced
+ highway: No:Key:highway
maxheight:legal: No:Key:maxheight:legal
maxheight:marine: No:Key:maxheight:marine
maxheight:physical: No:Key:maxheight:physical
amenity=pharmacy: No:Tag:amenity=pharmacy
amenity=place_of_worship: No:Tag:amenity=place of worship
boundary=maritime: No:Tag:boundary=maritime
+ building=construction: No:Tag:building=construction
+ landuse=farmland: No:Tag:landuse=farmland
leisure=park: No:Tag:leisure=park
natural=tree: No:Tag:natural=tree
+oc:
+ key:
+ name:oc: Oc:Key:name:oc
pl:
key:
4wd_only: Pl:Key:4wd only
CEMT: Pl:Key:CEMT
+ FIXME: Pl:Key:FIXME
+ 'abandoned:': 'Pl:Key:abandoned:'
abutters: Pl:Key:abutters
access: Pl:Key:access
addr: Pl:Key:addr
addr:city: Pl:Key:addr:city
- addr:country: Pl:Key:addr:country
addr:county: Pl:Key:addr:county
- addr:district: Pl:Key:addr:district
addr:flats: Pl:Key:addr:flats
- addr:hamlet: Pl:Key:addr:hamlet
- addr:housenumber: Pl:Key:addr:housenumber
addr:municipality: Pl:Key:addr:municipality
addr:place: Pl:Key:addr:place
- addr:postcode: Pl:Key:addr:postcode
- addr:province: Pl:Key:addr:province
- addr:state: Pl:Key:addr:state
- addr:street: Pl:Key:addr:street
- addr:subdistrict: Pl:Key:addr:subdistrict
addr:suburb: Pl:Key:addr:suburb
addr:village: Pl:Key:addr:village
+ adr_les: Pl:Key:adr les
advertising: Pl:Key:advertising
aerialway: Pl:Key:aerialway
aeroway: Pl:Key:aeroway
+ agricultural: Pl:Key:agricultural
alt_name: Pl:Key:alt name
amenity: Pl:Key:amenity
area: Pl:Key:area
area:highway: Pl:Key:area:highway
artwork_type: Pl:Key:artwork type
+ automated: Pl:Key:automated
automatic_door: Pl:Key:automatic door
backrest: Pl:Key:backrest
bar: Pl:Key:bar
bridge:movable: Pl:Key:bridge:movable
bridge:structure: Pl:Key:bridge:structure
bridge:support: Pl:Key:bridge:support
+ budynek: Pl:Key:budynek
building: Pl:Key:building
building:architecture: Pl:Key:building:architecture
+ building:condition: Pl:Key:building:condition
building:cullis:height: Pl:Key:building:cullis:height
building:flats: Pl:Key:building:flats
building:levels: Pl:Key:building:levels
building:material: Pl:Key:building:material
building:min_level: Pl:Key:building:min level
building:part: Pl:Key:building:part
+ building:usage:pl: Pl:Key:building:usage:pl
+ building:use: Pl:Key:building:use
bunker_type: Pl:Key:bunker type
bus: Pl:Key:bus
busway: Pl:Key:busway
comment: Pl:Key:comment
communication:mobile_phone: Pl:Key:communication:mobile phone
construction: Pl:Key:construction
+ construction_end_expected: Pl:Key:construction end expected
+ construction_start_expected: Pl:Key:construction start expected
contact: Pl:Key:contact
+ country: Pl:Key:country
covered: Pl:Key:covered
craft: Pl:Key:craft
crop: Pl:Key:crop
crossing: Pl:Key:crossing
+ currency: Pl:Key:currency
cutting: Pl:Key:cutting
+ cycleway: Pl:Key:cycleway
deanery: Pl:Key:deanery
denomination: Pl:Key:denomination
denotation: Pl:Key:denotation
description: Pl:Key:description
designation: Pl:Key:designation
destination: Pl:Key:destination
+ diet: Pl:Key:diet
+ 'diet:': 'Pl:Key:diet:'
+ diet:halal: Pl:Key:diet:halal
+ diet:kosher: Pl:Key:diet:kosher
diocese: Pl:Key:diocese
+ diplomatic: Pl:Key:diplomatic
direction: Pl:Key:direction
dispensing: Pl:Key:dispensing
distance: Pl:Key:distance
+ drink: Pl:Key:drink
+ drinking_water: Pl:Key:drinking water
+ driving_side: Pl:Key:driving side
+ dryer: Pl:Key:dryer
duration: Pl:Key:duration
ele: Pl:Key:ele
electrified: Pl:Key:electrified
fee: Pl:Key:fee
fence_type: Pl:Key:fence type
fire_boundary: Pl:Key:fire boundary
+ fishing: Pl:Key:fishing
fixme: Pl:Key:fixme
flood_mark: Pl:Key:flood mark
flood_prone: Pl:Key:flood prone
fuel: Pl:Key:fuel
gauge: Pl:Key:gauge
generator:output: Pl:Key:generator:output
+ genus: Pl:Key:genus
handrail: Pl:Key:handrail
+ healthcare: Pl:Key:healthcare
height: Pl:Key:height
+ hgv: Pl:Key:hgv
highway: Pl:Key:highway
+ highway_(propozycja_zmian): Pl:Key:highway (propozycja zmian)
historic: Pl:Key:historic
+ horse: Pl:Key:horse
+ ice_road: Pl:Key:ice road
+ incline: Pl:Key:incline
industrial: Pl:Key:industrial
information: Pl:Key:information
inscription: Pl:Key:inscription
man_made: Pl:Key:man made
manhole: Pl:Key:manhole
max_age: Pl:Key:max age
- maxage: Pl:Key:maxage
maxaxleload: Pl:Key:maxaxleload
maxheight: Pl:Key:maxheight
maxheight:legal: Pl:Key:maxheight:legal
maxwidth: Pl:Key:maxwidth
maxwidth:physical: Pl:Key:maxwidth:physical
memorial:type: Pl:Key:memorial:type
+ military: Pl:Key:military
min_age: Pl:Key:min age
min_height: Pl:Key:min height
- minage: Pl:Key:minage
minspeed: Pl:Key:minspeed
mofa: Pl:Key:mofa
monitoring:air_quality: Pl:Key:monitoring:air quality
moped: Pl:Key:moped
motorboat: Pl:Key:motorboat
motorcycle: Pl:Key:motorcycle
+ motorroad: Pl:Key:motorroad
+ mountain_pass: Pl:Key:mountain pass
name: Pl:Key:name
natural: Pl:Key:natural
+ network: Pl:Key:network
noexit: Pl:Key:noexit
note: Pl:Key:note
office: Pl:Key:office
overtaking: Pl:Key:overtaking
owner: Pl:Key:owner
ownership: Pl:Key:ownership
+ parish: Pl:Key:parish
parking: Pl:Key:parking
parking:lane: Pl:Key:parking:lane
+ passing_places: Pl:Key:passing places
place: Pl:Key:place
place_name: Pl:Key:place name
playground: Pl:Key:playground
priority: Pl:Key:priority
produce: Pl:Key:produce
product: Pl:Key:product
+ proposed: Pl:Key:proposed
protect_class: Pl:Key:protect class
psv: Pl:Key:psv
public_transport: Pl:Key:public transport
railway: Pl:Key:railway
railway:area: Pl:Key:railway:area
ramp: Pl:Key:ramp
+ razed: Pl:Key:razed
+ 'razed:': 'Pl:Key:razed:'
recycling_type: Pl:Key:recycling type
religion: Pl:Key:religion
+ 'removed:': 'Pl:Key:removed:'
repair: Pl:Key:repair
resource: Pl:Key:resource
roof:material: Pl:Key:roof:material
route: Pl:Key:route
route_master: Pl:Key:route master
+ 'ruined:': 'Pl:Key:ruined:'
ruins: Pl:Key:ruins
+ 'ruins:': 'Pl:Key:ruins:'
sac_scale: Pl:Key:sac scale
seamark:fixme: Pl:Key:seamark:fixme
second_hand: Pl:Key:second hand
social_facility:for: Pl:Key:social facility:for
source:date: Pl:Key:source:date
source:maxspeed: Pl:Key:source:maxspeed
+ species: Pl:Key:species
sport: Pl:Key:sport
start_date: Pl:Key:start date
step_count: Pl:Key:step count
+ strapline: Pl:Key:strapline
surface: Pl:Key:surface
surveillance: Pl:Key:surveillance
surveillance:type: Pl:Key:surveillance:type
surveillance:zone: Pl:Key:surveillance:zone
+ symbol: Pl:Key:symbol
+ tactile_paving: Pl:Key:tactile paving
+ target: Pl:Key:target
+ taxon: Pl:Key:taxon
+ toilets: Pl:Key:toilets
+ toilets:wheelchair: Pl:Key:toilets:wheelchair
toll: Pl:Key:toll
tomb: Pl:Key:tomb
tourism: Pl:Key:tourism
traffic_signals:minimap: Pl:Key:traffic signals:minimap
traffic_signals:sound: Pl:Key:traffic signals:sound
traffic_signals:vibration: Pl:Key:traffic signals:vibration
+ trail_visibility: Pl:Key:trail visibility
+ trailer: Pl:Key:trailer
train: Pl:Key:train
tram: Pl:Key:tram
trolleybus: Pl:Key:trolleybus
usage: Pl:Key:usage
vehicle: Pl:Key:vehicle
voltage: Pl:Key:voltage
+ washing_machine: Pl:Key:washing machine
+ water: Pl:Key:water
waterway: Pl:Key:waterway
website: Pl:Key:website
wetland: Pl:Key:wetland
wheelchair: Pl:Key:wheelchair
+ wholesale: Pl:Key:wholesale
width: Pl:Key:width
wikipedia: Pl:Key:wikipedia
+ winter_road: Pl:Key:winter road
wood: Pl:Key:wood
zone:traffic: Pl:Key:zone:traffic
zoo: Pl:Key:zoo
advertising=totem: Pl:Tag:advertising=totem
advertising=wall_painting: Pl:Tag:advertising=wall painting
aeroway=hangar: Pl:Tag:aeroway=hangar
+ aeroway=helipad: Pl:Tag:aeroway=helipad
allotments=plot: Pl:Tag:allotments=plot
amenity=administration: Pl:Tag:amenity=administration
+ amenity=animal_boarding: Pl:Tag:amenity=animal boarding
+ amenity=archive: Pl:Tag:amenity=archive
amenity=atm: Pl:Tag:amenity=atm
+ amenity=audiologist: Pl:Tag:amenity=audiologist
amenity=baby_hatch: Pl:Tag:amenity=baby hatch
amenity=bank: Pl:Tag:amenity=bank
+ amenity=bar: Pl:Tag:amenity=bar
amenity=bbq: Pl:Tag:amenity=bbq
amenity=bench: Pl:Tag:amenity=bench
amenity=bicycle_parking: Pl:Tag:amenity=bicycle parking
amenity=bicycle_rental: Pl:Tag:amenity=bicycle rental
+ amenity=bicycle_repair_station: Pl:Tag:amenity=bicycle repair station
+ amenity=biergarten: Pl:Tag:amenity=biergarten
+ amenity=boat_rental: Pl:Tag:amenity=boat rental
+ amenity=boat_storage: Pl:Tag:amenity=boat storage
amenity=brothel: Pl:Tag:amenity=brothel
+ amenity=bureau_de_change: Pl:Tag:amenity=bureau de change
+ amenity=bus_station: Pl:Tag:amenity=bus station
+ amenity=cafe: Pl:Tag:amenity=cafe
+ amenity=car_pooling: Pl:Tag:amenity=car pooling
amenity=car_wash: Pl:Tag:amenity=car wash
amenity=casino: Pl:Tag:amenity=casino
+ amenity=clinic: Pl:Tag:amenity=clinic
+ amenity=college: Pl:Tag:amenity=college
amenity=compressed_air: Pl:Tag:amenity=compressed air
+ amenity=conference_centre: Pl:Tag:amenity=conference centre
+ amenity=coworking_space: Pl:Tag:amenity=coworking space
+ amenity=crematorium: Pl:Tag:amenity=crematorium
amenity=crypt: Pl:Tag:amenity=crypt
+ amenity=dentist: Pl:Tag:amenity=dentist
amenity=doctors: Pl:Tag:amenity=doctors
amenity=drinking_water: Pl:Tag:amenity=drinking water
amenity=driving_school: Pl:Tag:amenity=driving school
+ amenity=dryer: Pl:Tag:amenity=dryer
+ amenity=embassy: Pl:Tag:amenity=embassy
amenity=events_venue: Pl:Tag:amenity=events venue
+ amenity=exhibition_centre: Pl:Tag:amenity=exhibition centre
amenity=fast_food: Pl:Tag:amenity=fast food
+ amenity=feeding_place: Pl:Tag:amenity=feeding place
amenity=ferry_terminal: Pl:Tag:amenity=ferry terminal
amenity=fire_station: Pl:Tag:amenity=fire station
amenity=food_court: Pl:Tag:amenity=food court
amenity=fuel: Pl:Tag:amenity=fuel
amenity=game_feeding: Pl:Tag:amenity=game feeding
amenity=grave_yard: Pl:Tag:amenity=grave yard
+ amenity=hookah_lounge: Pl:Tag:amenity=hookah lounge
+ amenity=hospital: Pl:Tag:amenity=hospital
amenity=hunting_stand: Pl:Tag:amenity=hunting stand
amenity=ice_cream: Pl:Tag:amenity=ice cream
+ amenity=kindergarten: Pl:Tag:amenity=kindergarten
+ amenity=lavoir: Pl:Tag:amenity=lavoir
+ amenity=library: Pl:Tag:amenity=library
+ amenity=lounger: Pl:Tag:amenity=lounger
amenity=marketplace: Pl:Tag:amenity=marketplace
amenity=mortuary: Pl:Tag:amenity=mortuary
amenity=music_venue: Pl:Tag:amenity=music venue
+ amenity=nightclub: Pl:Tag:amenity=nightclub
amenity=parking: Pl:Tag:amenity=parking
amenity=parking_entrance: Pl:Tag:amenity=parking entrance
amenity=parking_space: Pl:Tag:amenity=parking space
+ amenity=payment_centre: Pl:Tag:amenity=payment centre
amenity=pharmacy: Pl:Tag:amenity=pharmacy
amenity=place_of_worship: Pl:Tag:amenity=place of worship
amenity=post_box: Pl:Tag:amenity=post box
amenity=post_office: Pl:Tag:amenity=post office
+ amenity=prison: Pl:Tag:amenity=prison
+ amenity=pub: Pl:Tag:amenity=pub
+ amenity=public_bookcase: Pl:Tag:amenity=public bookcase
amenity=recycling: Pl:Tag:amenity=recycling
amenity=restaurant: Pl:Tag:amenity=restaurant
amenity=school: Pl:Tag:amenity=school
amenity=shelter: Pl:Tag:amenity=shelter
+ amenity=shower: Pl:Tag:amenity=shower
+ amenity=snow_removal_station: Pl:Tag:amenity=snow removal station
amenity=social_facility: Pl:Tag:amenity=social facility
amenity=taxi: Pl:Tag:amenity=taxi
+ amenity=toilets: Pl:Tag:amenity=toilets
+ amenity=university: Pl:Tag:amenity=university
+ amenity=vehicle_inspection: Pl:Tag:amenity=vehicle inspection
amenity=vehicle_ramp: Pl:Tag:amenity=vehicle ramp
amenity=vending_machine: Pl:Tag:amenity=vending machine
+ amenity=veterinary: Pl:Tag:amenity=veterinary
+ amenity=washing_machine: Pl:Tag:amenity=washing machine
amenity=waste_disposal: Pl:Tag:amenity=waste disposal
amenity=water_point: Pl:Tag:amenity=water point
+ area:highway=cycleway: Pl:Tag:area:highway=cycleway
+ area:highway=footway: Pl:Tag:area:highway=footway
+ area:highway=path: Pl:Tag:area:highway=path
+ area:highway=pedestrian: Pl:Tag:area:highway=pedestrian
atm=no: Pl:Tag:atm=no
atm=yes: Pl:Tag:atm=yes
attraction=animal: Pl:Tag:attraction=animal
barrier=guard_rail: Pl:Tag:barrier=guard rail
barrier=handrail: Pl:Tag:barrier=handrail
barrier=hedge: Pl:Tag:barrier=hedge
+ barrier=height_restrictor: Pl:Tag:barrier=height restrictor
barrier=kerb: Pl:Tag:barrier=kerb
barrier=lift_gate: Pl:Tag:barrier=lift gate
barrier=retaining_wall: Pl:Tag:barrier=retaining wall
+ barrier=spikes: Pl:Tag:barrier=spikes
barrier=toll_booth: Pl:Tag:barrier=toll booth
barrier=turnstile: Pl:Tag:barrier=turnstile
barrier=wall: Pl:Tag:barrier=wall
building=bridge: Pl:Tag:building=bridge
building=bunker: Pl:Tag:building=bunker
building=cabin: Pl:Tag:building=cabin
+ building=carport: Pl:Tag:building=carport
building=cathedral: Pl:Tag:building=cathedral
building=chapel: Pl:Tag:building=chapel
building=church: Pl:Tag:building=church
building=civic: Pl:Tag:building=civic
building=commercial: Pl:Tag:building=commercial
building=construction: Pl:Tag:building=construction
+ building=cowshed: Pl:Tag:building=cowshed
building=detached: Pl:Tag:building=detached
building=dormitory: Pl:Tag:building=dormitory
building=entrance: Pl:Tag:building=entrance
+ building=farm: Pl:Tag:building=farm
building=farm_auxiliary: Pl:Tag:building=farm auxiliary
building=garage: Pl:Tag:building=garage
building=garages: Pl:Tag:building=garages
+ building=grandstand: Pl:Tag:building=grandstand
building=greenhouse: Pl:Tag:building=greenhouse
building=hangar: Pl:Tag:building=hangar
building=hospital: Pl:Tag:building=hospital
building=public: Pl:Tag:building=public
building=residential: Pl:Tag:building=residential
building=retail: Pl:Tag:building=retail
+ building=riding_hall: Pl:Tag:building=riding hall
building=roof: Pl:Tag:building=roof
building=ruins: Pl:Tag:building=ruins
building=school: Pl:Tag:building=school
+ building=service: Pl:Tag:building=service
building=shed: Pl:Tag:building=shed
building=stable: Pl:Tag:building=stable
building=sty: Pl:Tag:building=sty
building=supermarket: Pl:Tag:building=supermarket
building=synagogue: Pl:Tag:building=synagogue
building=terrace: Pl:Tag:building=terrace
+ building=toilets: Pl:Tag:building=toilets
building=train_station: Pl:Tag:building=train station
building=transportation: Pl:Tag:building=transportation
building=university: Pl:Tag:building=university
building=warehouse: Pl:Tag:building=warehouse
+ bunker_type=gun_emplacement: Pl:Tag:bunker type=gun emplacement
+ bunker_type=technical: Pl:Tag:bunker type=technical
+ busway=lane: Pl:Tag:busway=lane
castle_type=castrum: Pl:Tag:castle type=castrum
castle_type=defensive: Pl:Tag:castle type=defensive
castle_type=fortress: Pl:Tag:castle type=fortress
craft=brewery: Pl:Tag:craft=brewery
craft=builder: Pl:Tag:craft=builder
craft=cabinet_maker: Pl:Tag:craft=cabinet maker
+ craft=caterer: Pl:Tag:craft=caterer
+ craft=embroiderer: Pl:Tag:craft=embroiderer
craft=engraver: Pl:Tag:craft=engraver
craft=grinding_mill: Pl:Tag:craft=grinding mill
+ craft=hvac: Pl:Tag:craft=hvac
craft=oil_mill: Pl:Tag:craft=oil mill
+ craft=painter: Pl:Tag:craft=painter
+ craft=roofer: Pl:Tag:craft=roofer
craft=sawmill: Pl:Tag:craft=sawmill
+ craft=shoemaker: Pl:Tag:craft=shoemaker
craft=stonemason: Pl:Tag:craft=stonemason
craft=winery: Pl:Tag:craft=winery
- crossing=island: Pl:Tag:crossing=island
+ cycleway=lane: Pl:Tag:cycleway=lane
+ cycleway=opposite: Pl:Tag:cycleway=opposite
+ cycleway=opposite_lane: Pl:Tag:cycleway=opposite lane
+ cycleway=opposite_track: Pl:Tag:cycleway=opposite track
+ cycleway=share_busway: Pl:Tag:cycleway=share busway
+ cycleway=track: Pl:Tag:cycleway=track
emergency=aed: Pl:Tag:emergency=aed
emergency=defibrillator: Pl:Tag:emergency=defibrillator
emergency=fire_extinguisher: Pl:Tag:emergency=fire extinguisher
emergency=lifeguard_place: Pl:Tag:emergency=lifeguard place
emergency=lifeguard_platform: Pl:Tag:emergency=lifeguard platform
emergency=lifeguard_tower: Pl:Tag:emergency=lifeguard tower
+ emergency=phone: Pl:Tag:emergency=phone
emergency=suction_point: Pl:Tag:emergency=suction point
emergency=water_tank: Pl:Tag:emergency=water tank
footway=crossing: Pl:Tag:footway=crossing
footway=sidewalk: Pl:Tag:footway=sidewalk
+ ford=stepping_stones: Pl:Tag:ford=stepping stones
government=ministry: Pl:Tag:government=ministry
government=prosecutor: Pl:Tag:government=prosecutor
healthcare=laboratory: Pl:Tag:healthcare=laboratory
+ highway=abandoned: Pl:Tag:highway=abandoned
highway=bridleway: Pl:Tag:highway=bridleway
+ highway=bus_guideway: Pl:Tag:highway=bus guideway
highway=bus_stop: Pl:Tag:highway=bus stop
+ highway=corridor: Pl:Tag:highway=corridor
highway=crossing: Pl:Tag:highway=crossing
highway=cycleway: Pl:Tag:highway=cycleway
+ highway=elevator: Pl:Tag:highway=elevator
+ highway=emergency_access_point: Pl:Tag:highway=emergency access point
+ highway=emergency_bay: Pl:Tag:highway=emergency bay
+ highway=escape: Pl:Tag:highway=escape
highway=footway: Pl:Tag:highway=footway
+ highway=ford: Pl:Tag:highway=ford
highway=give_way: Pl:Tag:highway=give way
highway=living_street: Pl:Tag:highway=living street
highway=milestone: Pl:Tag:highway=milestone
highway=mini_roundabout: Pl:Tag:highway=mini roundabout
highway=motorway: Pl:Tag:highway=motorway
+ highway=motorway_(propozycja_zmian): Pl:Tag:highway=motorway (propozycja zmian)
+ highway=motorway_junction: Pl:Tag:highway=motorway junction
+ highway=motorway_link: Pl:Tag:highway=motorway link
+ highway=passing_place: Pl:Tag:highway=passing place
highway=path: Pl:Tag:highway=path
highway=pedestrian: Pl:Tag:highway=pedestrian
+ highway=platform: Pl:Tag:highway=platform
highway=primary: Pl:Tag:highway=primary
highway=proposed: Pl:Tag:highway=proposed
highway=raceway: Pl:Tag:highway=raceway
+ highway=razed: Pl:Tag:highway=razed
highway=residential: Pl:Tag:highway=residential
highway=rest_area: Pl:Tag:highway=rest area
highway=road: Pl:Tag:highway=road
highway=service: Pl:Tag:highway=service
highway=services: Pl:Tag:highway=services
highway=speed_camera: Pl:Tag:highway=speed camera
+ highway=speed_display: Pl:Tag:highway=speed display
highway=steps: Pl:Tag:highway=steps
highway=stop: Pl:Tag:highway=stop
highway=street_lamp: Pl:Tag:highway=street lamp
highway=tertiary: Pl:Tag:highway=tertiary
highway=track: Pl:Tag:highway=track
+ highway=traffic_mirror: Pl:Tag:highway=traffic mirror
highway=traffic_signals: Pl:Tag:highway=traffic signals
highway=trunk: Pl:Tag:highway=trunk
+ highway=trunk_link: Pl:Tag:highway=trunk link
highway=turning_circle: Pl:Tag:highway=turning circle
+ highway=turning_loop: Pl:Tag:highway=turning loop
highway=unclassified: Pl:Tag:highway=unclassified
historic=battlefield: Pl:Tag:historic=battlefield
historic=city_gate: Pl:Tag:historic=city gate
industrial=salt_pond: Pl:Tag:industrial=salt pond
industrial=sawmill: Pl:Tag:industrial=sawmill
industrial=shipyard: Pl:Tag:industrial=shipyard
+ information=board: Pl:Tag:information=board
information=guidepost: Pl:Tag:information=guidepost
+ information=map: Pl:Tag:information=map
+ information=office: Pl:Tag:information=office
+ information=terminal: Pl:Tag:information=terminal
junction=roundabout: Pl:Tag:junction=roundabout
landuse=allotments: Pl:Tag:landuse=allotments
+ landuse=animal_keeping: Pl:Tag:landuse=animal keeping
landuse=apiary: Pl:Tag:landuse=apiary
landuse=brownfield: Pl:Tag:landuse=brownfield
landuse=cemetery: Pl:Tag:landuse=cemetery
landuse=industrial: Pl:Tag:landuse=industrial
landuse=landfill: Pl:Tag:landuse=landfill
landuse=meadow: Pl:Tag:landuse=meadow
+ landuse=military: Pl:Tag:landuse=military
landuse=plant_nursery: Pl:Tag:landuse=plant nursery
landuse=quarry: Pl:Tag:landuse=quarry
landuse=railway: Pl:Tag:landuse=railway
landuse=village_green: Pl:Tag:landuse=village green
leisure=adult_gaming_centre: Pl:Tag:leisure=adult gaming centre
leisure=amusement_arcade: Pl:Tag:leisure=amusement arcade
- leisure=arena: Pl:Tag:leisure=arena
leisure=bandstand: Pl:Tag:leisure=bandstand
leisure=bathing_place: Pl:Tag:leisure=bathing place
leisure=bbq: Pl:Tag:leisure=bbq
- leisure=beach: Pl:Tag:leisure=beach
leisure=beach_resort: Pl:Tag:leisure=beach resort
leisure=bird_hide: Pl:Tag:leisure=bird hide
leisure=bleachers: Pl:Tag:leisure=bleachers
leisure=bowling_alley: Pl:Tag:leisure=bowling alley
- leisure=casino: Pl:Tag:leisure=casino
- leisure=club: Pl:Tag:leisure=club
leisure=common: Pl:Tag:leisure=common
leisure=dance: Pl:Tag:leisure=dance
leisure=disc_golf_course: Pl:Tag:leisure=disc golf course
leisure=dog_park: Pl:Tag:leisure=dog park
+ leisure=escape_game: Pl:Tag:leisure=escape game
leisure=firepit: Pl:Tag:leisure=firepit
leisure=fishing: Pl:Tag:leisure=fishing
leisure=fitness_centre: Pl:Tag:leisure=fitness centre
man_made=adit: Pl:Tag:man made=adit
man_made=beacon: Pl:Tag:man made=beacon
man_made=beehive: Pl:Tag:man made=beehive
+ man_made=bridge: Pl:Tag:man made=bridge
man_made=bunker_silo: Pl:Tag:man made=bunker silo
+ man_made=campanile: Pl:Tag:man made=campanile
man_made=chimney: Pl:Tag:man made=chimney
+ man_made=clearcut: Pl:Tag:man made=clearcut
man_made=cross: Pl:Tag:man made=cross
man_made=cutline: Pl:Tag:man made=cutline
man_made=dyke: Pl:Tag:man made=dyke
man_made=windmill: Pl:Tag:man made=windmill
man_made=windpump: Pl:Tag:man made=windpump
man_made=works: Pl:Tag:man made=works
- maxspeed=none: Pl:Tag:maxspeed=none
- maxspeed=signals: Pl:Tag:maxspeed=signals
military=bunker: Pl:Tag:military=bunker
+ military=danger_area: Pl:Tag:military=danger area
+ military=nuclear_explosion_site: Pl:Tag:military=nuclear explosion site
+ military=range: Pl:Tag:military=range
military=trench: Pl:Tag:military=trench
mooring=ferry: Pl:Tag:mooring=ferry
natural=arete: Pl:Tag:natural=arete
natural=water: Pl:Tag:natural=water
natural=wetland: Pl:Tag:natural=wetland
natural=wood: Pl:Tag:natural=wood
+ network=lhn: Pl:Tag:network=lhn
+ network=rhn: Pl:Tag:network=rhn
+ office=accountant: Pl:Tag:office=accountant
+ office=adoption_agency: Pl:Tag:office=adoption agency
+ office=advertising_agency: Pl:Tag:office=advertising agency
+ office=architect: Pl:Tag:office=architect
+ office=association: Pl:Tag:office=association
+ office=charity: Pl:Tag:office=charity
+ office=company: Pl:Tag:office=company
+ office=educational_institution: Pl:Tag:office=educational institution
+ office=employment_agency: Pl:Tag:office=employment agency
+ office=energy_supplier: Pl:Tag:office=energy supplier
+ office=estate_agent: Pl:Tag:office=estate agent
+ office=forestry: Pl:Tag:office=forestry
+ office=foundation: Pl:Tag:office=foundation
+ office=geodesist: Pl:Tag:office=geodesist
office=government: Pl:Tag:office=government
+ office=guide: Pl:Tag:office=guide
+ office=insurance: Pl:Tag:office=insurance
+ office=it: Pl:Tag:office=it
+ office=lawyer: Pl:Tag:office=lawyer
office=logistics: Pl:Tag:office=logistics
+ office=moving_company: Pl:Tag:office=moving company
+ office=newspaper: Pl:Tag:office=newspaper
+ office=ngo: Pl:Tag:office=ngo
+ office=notary: Pl:Tag:office=notary
+ office=political_party: Pl:Tag:office=political party
+ office=private_investigator: Pl:Tag:office=private investigator
+ office=property_management: Pl:Tag:office=property management
+ office=quango: Pl:Tag:office=quango
office=religion: Pl:Tag:office=religion
+ office=research: Pl:Tag:office=research
+ office=tax_advisor: Pl:Tag:office=tax advisor
+ office=telecommunication: Pl:Tag:office=telecommunication
+ office=therapist: Pl:Tag:office=therapist
+ office=tourist_accommodation: Pl:Tag:office=tourist accommodation
+ office=water_utility: Pl:Tag:office=water utility
+ parking:lane:hgv=on_street: Pl:Tag:parking:lane:hgv=on street
place=allotments: Pl:Tag:place=allotments
place=city: Pl:Tag:place=city
place=farm: Pl:Tag:place=farm
power=tower: Pl:Tag:power=tower
power=transformer: Pl:Tag:power=transformer
public_transport=platform: Pl:Tag:public transport=platform
+ public_transport=station: Pl:Tag:public transport=station
public_transport=stop_area: Pl:Tag:public transport=stop area
public_transport=stop_position: Pl:Tag:public transport=stop position
railway=abandoned: Pl:Tag:railway=abandoned
railway=buffer_stop: Pl:Tag:railway=buffer stop
railway=crossing: Pl:Tag:railway=crossing
railway=crossing_controller: Pl:Tag:railway=crossing controller
+ railway=disused: Pl:Tag:railway=disused
railway=level_crossing: Pl:Tag:railway=level crossing
railway=rail: Pl:Tag:railway=rail
railway=tram_stop: Pl:Tag:railway=tram stop
religion=jewish: Pl:Tag:religion=jewish
religion=muslim: Pl:Tag:religion=muslim
religion=pagan: Pl:Tag:religion=pagan
+ route=hiking: Pl:Tag:route=hiking
+ route=horse: Pl:Tag:route=horse
service=alley: Pl:Tag:service=alley
service=drive-through: Pl:Tag:service=drive-through
service=driveway: Pl:Tag:service=driveway
service=spur: Pl:Tag:service=spur
service=yard: Pl:Tag:service=yard
shop=agrarian: Pl:Tag:shop=agrarian
+ shop=alcohol: Pl:Tag:shop=alcohol
+ shop=appliance: Pl:Tag:shop=appliance
shop=baby_goods: Pl:Tag:shop=baby goods
+ shop=bag: Pl:Tag:shop=bag
shop=bakery: Pl:Tag:shop=bakery
shop=bathroom_furnishing: Pl:Tag:shop=bathroom furnishing
shop=beauty: Pl:Tag:shop=beauty
shop=bed: Pl:Tag:shop=bed
+ shop=beverages: Pl:Tag:shop=beverages
shop=bicycle: Pl:Tag:shop=bicycle
shop=boutique: Pl:Tag:shop=boutique
+ shop=brewing_supplies: Pl:Tag:shop=brewing supplies
shop=butcher: Pl:Tag:shop=butcher
+ shop=camera: Pl:Tag:shop=camera
shop=car: Pl:Tag:shop=car
shop=car_repair: Pl:Tag:shop=car repair
+ shop=cheese: Pl:Tag:shop=cheese
+ shop=chocolate: Pl:Tag:shop=chocolate
shop=clothes: Pl:Tag:shop=clothes
+ shop=coffee: Pl:Tag:shop=coffee
+ shop=collector: Pl:Tag:shop=collector
shop=confectionery: Pl:Tag:shop=confectionery
shop=convenience: Pl:Tag:shop=convenience
+ shop=copyshop: Pl:Tag:shop=copyshop
+ shop=curtain: Pl:Tag:shop=curtain
+ shop=dairy: Pl:Tag:shop=dairy
+ shop=deli: Pl:Tag:shop=deli
shop=department_store: Pl:Tag:shop=department store
shop=doityourself: Pl:Tag:shop=doityourself
+ shop=dry_cleaning: Pl:Tag:shop=dry cleaning
+ shop=equestrian: Pl:Tag:shop=equestrian
shop=erotic: Pl:Tag:shop=erotic
+ shop=fabric: Pl:Tag:shop=fabric
+ shop=farm: Pl:Tag:shop=farm
shop=fishing: Pl:Tag:shop=fishing
shop=fishmonger: Pl:Tag:shop=fishmonger
shop=florist: Pl:Tag:shop=florist
shop=garden_centre: Pl:Tag:shop=garden centre
shop=gas: Pl:Tag:shop=gas
shop=general: Pl:Tag:shop=general
+ shop=greengrocer: Pl:Tag:shop=greengrocer
shop=haberdashery: Pl:Tag:shop=haberdashery
shop=hairdresser: Pl:Tag:shop=hairdresser
+ shop=health_food: Pl:Tag:shop=health food
shop=herbalist: Pl:Tag:shop=herbalist
shop=houseware: Pl:Tag:shop=houseware
+ shop=hunting: Pl:Tag:shop=hunting
shop=ice_cream: Pl:Tag:shop=ice cream
shop=kiosk: Pl:Tag:shop=kiosk
shop=kitchen: Pl:Tag:shop=kitchen
+ shop=laundry: Pl:Tag:shop=laundry
+ shop=leather: Pl:Tag:shop=leather
+ shop=lighting: Pl:Tag:shop=lighting
shop=mall: Pl:Tag:shop=mall
+ shop=medical_supply: Pl:Tag:shop=medical supply
+ shop=optician: Pl:Tag:shop=optician
shop=pastry: Pl:Tag:shop=pastry
+ shop=pet: Pl:Tag:shop=pet
+ shop=pet_grooming: Pl:Tag:shop=pet grooming
+ shop=pyrotechnics: Pl:Tag:shop=pyrotechnics
+ shop=religion: Pl:Tag:shop=religion
+ shop=rental: Pl:Tag:shop=rental
+ shop=seafood: Pl:Tag:shop=seafood
shop=second_hand: Pl:Tag:shop=second hand
+ shop=sewing: Pl:Tag:shop=sewing
+ shop=shoes: Pl:Tag:shop=shoes
+ shop=spices: Pl:Tag:shop=spices
+ shop=stationery: Pl:Tag:shop=stationery
shop=supermarket: Pl:Tag:shop=supermarket
+ shop=tattoo: Pl:Tag:shop=tattoo
shop=tea: Pl:Tag:shop=tea
shop=ticket: Pl:Tag:shop=ticket
shop=travel_agency: Pl:Tag:shop=travel agency
shop=tyres: Pl:Tag:shop=tyres
shop=vacant: Pl:Tag:shop=vacant
shop=variety_store: Pl:Tag:shop=variety store
+ shop=water: Pl:Tag:shop=water
+ shop=wholesale: Pl:Tag:shop=wholesale
+ shop=wine: Pl:Tag:shop=wine
shop=yes: Pl:Tag:shop=yes
social_facility=outreach: Pl:Tag:social facility=outreach
+ sport=10pin: Pl:Tag:sport=10pin
+ sport=9pin: Pl:Tag:sport=9pin
sport=aikido: Pl:Tag:sport=aikido
+ sport=american_football: Pl:Tag:sport=american football
sport=climbing: Pl:Tag:sport=climbing
+ sport=equestrian: Pl:Tag:sport=equestrian
+ sport=ice_hockey: Pl:Tag:sport=ice hockey
+ sport=soccer: Pl:Tag:sport=soccer
tourism=alpine_hut: Pl:Tag:tourism=alpine hut
tourism=apartment: Pl:Tag:tourism=apartment
tourism=aquarium: Pl:Tag:tourism=aquarium
tourism=viewpoint: Pl:Tag:tourism=viewpoint
tourism=wilderness_hut: Pl:Tag:tourism=wilderness hut
tourism=wine_cellar: Pl:Tag:tourism=wine cellar
- tourism=yes: Pl:Tag:tourism=yes
tourism=zoo: Pl:Tag:tourism=zoo
tower:type=bell_tower: Pl:Tag:tower:type=bell tower
+ tower:type=communication: Pl:Tag:tower:type=communication
+ tower:type=cooling: Pl:Tag:tower:type=cooling
+ tower:type=defensive: Pl:Tag:tower:type=defensive
+ tower:type=lighting: Pl:Tag:tower:type=lighting
+ tower:type=minaret: Pl:Tag:tower:type=minaret
+ tower:type=observation: Pl:Tag:tower:type=observation
traffic_calming=island: Pl:Tag:traffic calming=island
traffic_calming=table: Pl:Tag:traffic calming=table
traffic_sign=city_limit: Pl:Tag:traffic sign=city limit
type=public_transport: Pl:Tag:type=public transport
vending=bottle_return: Pl:Tag:vending=bottle return
vending=candles: Pl:Tag:vending=candles
+ vending=food: Pl:Tag:vending=food
+ vending=fuel: Pl:Tag:vending=fuel
+ vending=milk: Pl:Tag:vending=milk
wall=noise_barrier: Pl:Tag:wall=noise barrier
water=lake: Pl:Tag:water=lake
water=lock: Pl:Tag:water=lock
+ water=reservoir: Pl:Tag:water=reservoir
waterway=boat_lift: Pl:Tag:waterway=boat lift
waterway=boatyard: Pl:Tag:waterway=boatyard
waterway=brook: Pl:Tag:waterway=brook
building:part: Pt:Key:building:part
button_operated: Pt:Key:button operated
cables: Pt:Key:cables
- cep: Pt:Key:cep
+ capacity: Pt:Key:capacity
construction: Pt:Key:construction
contact: Pt:Key:contact
country: Pt:Key:country
electrified: Pt:Key:electrified
embankment: Pt:Key:embankment
emergency: Pt:Key:emergency
+ fence_type: Pt:Key:fence type
fenced: Pt:Key:fenced
fishing: Pt:Key:fishing
foot: Pt:Key:foot
frequency: Pt:Key:frequency
generator:method: Pt:Key:generator:method
geological: Pt:Key:geological
+ group_only: Pt:Key:group only
happy_hours: Pt:Key:happy hours
height: Pt:Key:height
heritage: Pt:Key:heritage
maxheight:marine: Pt:Key:maxheight:marine
maxheight:physical: Pt:Key:maxheight:physical
maxspeed: Pt:Key:maxspeed
+ maxspeed:advisory: Pt:Key:maxspeed:advisory
maxweight: Pt:Key:maxweight
military: Pt:Key:military
min_height: Pt:Key:min height
population: Pt:Key:population
postal_code: Pt:Key:postal code
power: Pt:Key:power
+ product: Pt:Key:product
psv: Pt:Key:psv
public_transport: Pt:Key:public transport
public_transport:version: Pt:Key:public transport:version
sidewalk: Pt:Key:sidewalk
ski: Pt:Key:ski
smoothness: Pt:Key:smoothness
+ social_facility: Pt:Key:social facility
source: Pt:Key:source
sport: Pt:Key:sport
substance: Pt:Key:substance
wires: Pt:Key:wires
tag:
aerialway=cable_car: Pt:Tag:aerialway=cable car
+ aerialway=chair_lift: Pt:Tag:aerialway=chair lift
+ aerialway=drag_lift: Pt:Tag:aerialway=drag lift
+ aerialway=gondola: Pt:Tag:aerialway=gondola
+ aerialway=j-bar: Pt:Tag:aerialway=j-bar
+ aerialway=magic_carpet: Pt:Tag:aerialway=magic carpet
+ aerialway=mixed_lift: Pt:Tag:aerialway=mixed lift
+ aerialway=platter: Pt:Tag:aerialway=platter
+ aerialway=pylon: Pt:Tag:aerialway=pylon
+ aerialway=rope_tow: Pt:Tag:aerialway=rope tow
aerialway=station: Pt:Tag:aerialway=station
+ aerialway=t-bar: Pt:Tag:aerialway=t-bar
+ aerialway=zip_line: Pt:Tag:aerialway=zip line
aeroway=aerodrome: Pt:Tag:aeroway=aerodrome
aeroway=apron: Pt:Tag:aeroway=apron
aeroway=gate: Pt:Tag:aeroway=gate
aeroway=hangar: Pt:Tag:aeroway=hangar
aeroway=helipad: Pt:Tag:aeroway=helipad
+ aeroway=heliport: Pt:Tag:aeroway=heliport
aeroway=holding_position: Pt:Tag:aeroway=holding position
+ aeroway=navigationaid: Pt:Tag:aeroway=navigationaid
aeroway=parking_position: Pt:Tag:aeroway=parking position
aeroway=runway: Pt:Tag:aeroway=runway
+ aeroway=taxilane: Pt:Tag:aeroway=taxilane
aeroway=taxiway: Pt:Tag:aeroway=taxiway
aeroway=terminal: Pt:Tag:aeroway=terminal
aeroway=windsock: Pt:Tag:aeroway=windsock
building=residential: Pt:Tag:building=residential
building=roof: Pt:Tag:building=roof
building=school: Pt:Tag:building=school
+ building=shed: Pt:Tag:building=shed
+ building=university: Pt:Tag:building=university
building=yes: Pt:Tag:building=yes
craft=agricultural_engines: Pt:Tag:craft=agricultural engines
craft=basket_maker: Pt:Tag:craft=basket maker
addr:suburb: RU:Key:addr:suburb
aerialway: RU:Key:aerialway
aeroway: RU:Key:aeroway
+ agricultural: RU:Key:agricultural
alt_name: RU:Key:alt name
amenity: RU:Key:amenity
+ anthropogenic: RU:Key:anthropogenic
+ architect: RU:Key:architect
area: RU:Key:area
area:highway: RU:Key:area:highway
+ artist_name: RU:Key:artist name
artwork_type: RU:Key:artwork type
+ backcountry: RU:Key:backcountry
barrier: RU:Key:barrier
bench: RU:Key:bench
bicycle: RU:Key:bicycle
border_type: RU:Key:border type
boundary: RU:Key:boundary
brand: RU:Key:brand
+ brand:wikidata: RU:Key:brand:wikidata
bridge: RU:Key:bridge
+ bridge:support: RU:Key:bridge:support
building: RU:Key:building
building:architecture: RU:Key:building:architecture
building:height: RU:Key:building:height
building:levels: RU:Key:building:levels
+ building:levels:underground: RU:Key:building:levels:underground
building:material: RU:Key:building:material
building:min_level: RU:Key:building:min level
building:part: RU:Key:building:part
bus: RU:Key:bus
cafe: RU:Key:cafe
capacity: RU:Key:capacity
+ cemetery: RU:Key:cemetery
check_date: RU:Key:check date
checkpoint: RU:Key:checkpoint
clothes: RU:Key:clothes
club: RU:Key:club
colour: RU:Key:colour
comment: RU:Key:comment
+ community_centre: RU:Key:community centre
construction: RU:Key:construction
contact: RU:Key:contact
contact:facebook: RU:Key:contact:facebook
crossing: RU:Key:crossing
cuisine: RU:Key:cuisine
cutting: RU:Key:cutting
+ cycleway: RU:Key:cycleway
delivery: RU:Key:delivery
denomination: RU:Key:denomination
description: RU:Key:description
grassland: RU:Key:grassland
gvr:code: RU:Key:gvr:code
handrail: RU:Key:handrail
+ healthcare: RU:Key:healthcare
height: RU:Key:height
hgv: RU:Key:hgv
highway: RU:Key:highway
internet_access: RU:Key:internet access
junction: RU:Key:junction
kerb: RU:Key:kerb
+ lamp_mount: RU:Key:lamp mount
landmark: RU:Key:landmark
landuse: RU:Key:landuse
lanes: RU:Key:lanes
living_street: RU:Key:living street
loc_name: RU:Key:loc name
loc_ref: RU:Key:loc ref
+ location: RU:Key:location
lock: RU:Key:lock
man_made: RU:Key:man made
managed: RU:Key:managed
oneway: RU:Key:oneway
opening_date: RU:Key:opening date
opening_hours: RU:Key:opening hours
+ opening_hours:kitchen: RU:Key:opening hours:kitchen
operator: RU:Key:operator
+ operator:ref:inn: RU:Key:operator:ref:inn
operator:type: RU:Key:operator:type
origin: RU:Key:origin
overtaking: RU:Key:overtaking
previous:access: RU:Key:previous:access
previous:vehicle: RU:Key:previous:vehicle
priority_road: RU:Key:priority road
+ product: RU:Key:product
psv: RU:Key:psv
public_bookcase:type: RU:Key:public bookcase:type
pump: RU:Key:pump
recycling_type: RU:Key:recycling type
ref: RU:Key:ref
reference: RU:Key:reference
+ refitted: RU:Key:refitted
reg_name: RU:Key:reg name
reg_ref: RU:Key:reg ref
religion: RU:Key:religion
resource: RU:Key:resource
+ roof:direction: RU:Key:roof:direction
roof:material: RU:Key:roof:material
+ room: RU:Key:room
rooms: RU:Key:rooms
route: RU:Key:route
rtsa_scale: RU:Key:rtsa scale
ruined: RU:Key:ruined
'ruined:': 'RU:Key:ruined:'
ruins: RU:Key:ruins
+ sac_scale: RU:Key:sac scale
salt: RU:Key:salt
sanitary_dump_station: RU:Key:sanitary dump station
seasonal: RU:Key:seasonal
shop: RU:Key:shop
side_road: RU:Key:side road
sidewalk: RU:Key:sidewalk
+ sinkhole: RU:Key:sinkhole
smoking: RU:Key:smoking
smoothness: RU:Key:smoothness
snowplowing: RU:Key:snowplowing
survey:date: RU:Key:survey:date
tactile_paving: RU:Key:tactile paving
todo: RU:Key:todo
+ toilets: RU:Key:toilets
toilets:wheelchair: RU:Key:toilets:wheelchair
toll: RU:Key:toll
tourism: RU:Key:tourism
turn: RU:Key:turn
turn:lanes: RU:Key:turn:lanes
type: RU:Key:type
+ usage: RU:Key:usage
vehicle: RU:Key:vehicle
voltage: RU:Key:voltage
waste: RU:Key:waste
amenity=cinema: RU:Tag:amenity=cinema
amenity=clinic: RU:Tag:amenity=clinic
amenity=clock: RU:Tag:amenity=clock
+ amenity=clothes_dryer: RU:Tag:amenity=clothes dryer
amenity=college: RU:Tag:amenity=college
amenity=community_centre: RU:Tag:amenity=community centre
amenity=compressed_air: RU:Tag:amenity=compressed air
amenity=place_of_worship: RU:Tag:amenity=place of worship
amenity=planetarium: RU:Tag:amenity=planetarium
amenity=police: RU:Tag:amenity=police
+ amenity=polling_station: RU:Tag:amenity=polling station
amenity=post_box: RU:Tag:amenity=post box
amenity=post_office: RU:Tag:amenity=post office
amenity=prison: RU:Tag:amenity=prison
amenity=recycling: RU:Tag:amenity=recycling
amenity=register_office: RU:Tag:amenity=register office
amenity=rescue_station: RU:Tag:amenity=rescue station
+ amenity=research_institute: RU:Tag:amenity=research institute
amenity=restaurant: RU:Tag:amenity=restaurant
amenity=sanatorium: RU:Tag:amenity=sanatorium
amenity=sanitary_dump_station: RU:Tag:amenity=sanitary dump station
barrier=ditch: RU:Tag:barrier=ditch
barrier=entrance: RU:Tag:barrier=entrance
barrier=fence: RU:Tag:barrier=fence
+ barrier=full-height_turnstile: RU:Tag:barrier=full-height turnstile
barrier=gate: RU:Tag:barrier=gate
barrier=handrail: RU:Tag:barrier=handrail
barrier=hedge: RU:Tag:barrier=hedge
bridge=covered: RU:Tag:bridge=covered
building=apartments: RU:Tag:building=apartments
building=barn: RU:Tag:building=barn
+ building=boathouse: RU:Tag:building=boathouse
building=bridge: RU:Tag:building=bridge
building=bungalow: RU:Tag:building=bungalow
building=bunker: RU:Tag:building=bunker
building=kindergarten: RU:Tag:building=kindergarten
building=kiosk: RU:Tag:building=kiosk
building=mosque: RU:Tag:building=mosque
+ building=office: RU:Tag:building=office
building=public: RU:Tag:building=public
building=residential: RU:Tag:building=residential
building=retail: RU:Tag:building=retail
building=transportation: RU:Tag:building=transportation
building=university: RU:Tag:building=university
building=warehouse: RU:Tag:building=warehouse
+ building=water_tower: RU:Tag:building=water tower
bunker_type=pillbox: RU:Tag:bunker type=pillbox
cafe=time-cafe: RU:Tag:cafe=time-cafe
+ cemetery=grave: RU:Tag:cemetery=grave
craft=agricultural_engines: RU:Tag:craft=agricultural engines
craft=basket_maker: RU:Tag:craft=basket maker
craft=beekeeper: RU:Tag:craft=beekeeper
craft=handicraft: RU:Tag:craft=handicraft
craft=key_cutter: RU:Tag:craft=key cutter
craft=photographer: RU:Tag:craft=photographer
+ craft=roofer: RU:Tag:craft=roofer
craft=shoemaker: RU:Tag:craft=shoemaker
craft=stonemason: RU:Tag:craft=stonemason
craft=tailor: RU:Tag:craft=tailor
craft=window_construction: RU:Tag:craft=window construction
crop=grape: RU:Tag:crop=grape
crop=hop: RU:Tag:crop=hop
+ cycleway=opposite_lane: RU:Tag:cycleway=opposite lane
emergency=ambulance_station: RU:Tag:emergency=ambulance station
emergency=fire_extinguisher: RU:Tag:emergency=fire extinguisher
emergency=fire_hose: RU:Tag:emergency=fire hose
generator:type=boiler: RU:Tag:generator:type=boiler
geological=palaeontological_site: RU:Tag:geological=palaeontological site
healthcare=blood_donation: RU:Tag:healthcare=blood donation
+ healthcare=laboratory: RU:Tag:healthcare=laboratory
highway=bridleway: RU:Tag:highway=bridleway
highway=bus_guideway: RU:Tag:highway=bus guideway
highway=bus_stop: RU:Tag:highway=bus stop
highway=platform: RU:Tag:highway=platform
highway=primary: RU:Tag:highway=primary
highway=primary_link: RU:Tag:highway=primary link
+ highway=proposed: RU:Tag:highway=proposed
highway=raceway: RU:Tag:highway=raceway
highway=residential: RU:Tag:highway=residential
highway=rest_area: RU:Tag:highway=rest area
highway=speed_camera: RU:Tag:highway=speed camera
highway=steps: RU:Tag:highway=steps
highway=stop: RU:Tag:highway=stop
+ highway=street_lamp: RU:Tag:highway=street lamp
highway=tertiary: RU:Tag:highway=tertiary
highway=tertiary_link: RU:Tag:highway=tertiary link
highway=track: RU:Tag:highway=track
historic=wayside_shrine: RU:Tag:historic=wayside shrine
historic=wreck: RU:Tag:historic=wreck
horse=designated: RU:Tag:horse=designated
+ industrial=factory: RU:Tag:industrial=factory
+ industrial=warehouse: RU:Tag:industrial=warehouse
industrial=well_cluster: RU:Tag:industrial=well cluster
information=board: RU:Tag:information=board
information=guidepost: RU:Tag:information=guidepost
junction=roundabout: RU:Tag:junction=roundabout
landuse=allotments: RU:Tag:landuse=allotments
+ landuse=animal_keeping: RU:Tag:landuse=animal keeping
landuse=basin: RU:Tag:landuse=basin
landuse=brownfield: RU:Tag:landuse=brownfield
landuse=cemetery: RU:Tag:landuse=cemetery
landuse=grass: RU:Tag:landuse=grass
landuse=greenhouse_horticulture: RU:Tag:landuse=greenhouse horticulture
landuse=industrial: RU:Tag:landuse=industrial
+ landuse=institutional: RU:Tag:landuse=institutional
landuse=landfill: RU:Tag:landuse=landfill
landuse=logging: RU:Tag:landuse=logging
landuse=meadow: RU:Tag:landuse=meadow
leisure=escape_game: RU:Tag:leisure=escape game
leisure=firepit: RU:Tag:leisure=firepit
leisure=fitness_centre: RU:Tag:leisure=fitness centre
+ leisure=fitness_station: RU:Tag:leisure=fitness station
leisure=hackerspace: RU:Tag:leisure=hackerspace
+ leisure=horse_riding: RU:Tag:leisure=horse riding
leisure=ice_rink: RU:Tag:leisure=ice rink
leisure=marina: RU:Tag:leisure=marina
leisure=miniature_golf: RU:Tag:leisure=miniature golf
leisure=pitch: RU:Tag:leisure=pitch
leisure=playground: RU:Tag:leisure=playground
leisure=resort: RU:Tag:leisure=resort
+ leisure=slipway: RU:Tag:leisure=slipway
leisure=sports_centre: RU:Tag:leisure=sports centre
leisure=stadium: RU:Tag:leisure=stadium
leisure=summer_camp: RU:Tag:leisure=summer camp
man_made=bridge: RU:Tag:man made=bridge
man_made=bunker_silo: RU:Tag:man made=bunker silo
man_made=campanile: RU:Tag:man made=campanile
+ man_made=carpet_hanger: RU:Tag:man made=carpet hanger
man_made=clearcut: RU:Tag:man made=clearcut
man_made=communications_tower: RU:Tag:man made=communications tower
+ man_made=cooling_tower: RU:Tag:man made=cooling tower
man_made=crane: RU:Tag:man made=crane
man_made=cutline: RU:Tag:man made=cutline
man_made=dovecote: RU:Tag:man made=dovecote
man_made=dyke: RU:Tag:man made=dyke
man_made=embankment: RU:Tag:man made=embankment
+ man_made=flagpole: RU:Tag:man made=flagpole
man_made=lighthouse: RU:Tag:man made=lighthouse
man_made=mast: RU:Tag:man made=mast
man_made=mineshaft: RU:Tag:man made=mineshaft
man_made=telescope: RU:Tag:man made=telescope
man_made=tower: RU:Tag:man made=tower
man_made=wastewater_plant: RU:Tag:man made=wastewater plant
+ man_made=water_tap: RU:Tag:man made=water tap
man_made=water_tower: RU:Tag:man made=water tower
man_made=water_well: RU:Tag:man made=water well
man_made=water_works: RU:Tag:man made=water works
man_made=works: RU:Tag:man made=works
military=airfield: RU:Tag:military=airfield
military=bunker: RU:Tag:military=bunker
+ military=checkpoint: RU:Tag:military=checkpoint
military=naval_base: RU:Tag:military=naval base
name=Продукты: RU:Tag:name=Продукты
natural=arete: RU:Tag:natural=arete
natural=desert: RU:Tag:natural=desert
natural=earth_bank: RU:Tag:natural=earth bank
natural=fell: RU:Tag:natural=fell
+ natural=geyser: RU:Tag:natural=geyser
natural=glacier: RU:Tag:natural=glacier
natural=grassland: RU:Tag:natural=grassland
natural=gully: RU:Tag:natural=gully
natural=heath: RU:Tag:natural=heath
+ natural=hot_spring: RU:Tag:natural=hot spring
natural=mud: RU:Tag:natural=mud
natural=peak: RU:Tag:natural=peak
natural=ridge: RU:Tag:natural=ridge
natural=shingle: RU:Tag:natural=shingle
natural=sinkhole: RU:Tag:natural=sinkhole
natural=spring: RU:Tag:natural=spring
+ natural=stone: RU:Tag:natural=stone
natural=tree: RU:Tag:natural=tree
natural=tree_row: RU:Tag:natural=tree row
natural=valley: RU:Tag:natural=valley
railway=turntable: RU:Tag:railway=turntable
religion=pagan: RU:Tag:religion=pagan
religion=zoroastrian: RU:Tag:religion=zoroastrian
+ residential=rural: RU:Tag:residential=rural
route=bus: RU:Tag:route=bus
route=ferry: RU:Tag:route=ferry
route=railway: RU:Tag:route=railway
shop=fashion: RU:Tag:shop=fashion
shop=fishing: RU:Tag:shop=fishing
shop=fishmonger: RU:Tag:shop=fishmonger
+ shop=flooring: RU:Tag:shop=flooring
shop=florist: RU:Tag:shop=florist
shop=frame: RU:Tag:shop=frame
shop=funeral_directors: RU:Tag:shop=funeral directors
shop=optician: RU:Tag:shop=optician
shop=organic: RU:Tag:shop=organic
shop=outdoor: RU:Tag:shop=outdoor
+ shop=outpost: RU:Tag:shop=outpost
shop=paint: RU:Tag:shop=paint
shop=pawnbroker: RU:Tag:shop=pawnbroker
shop=pet: RU:Tag:shop=pet
+ shop=pet_grooming: RU:Tag:shop=pet grooming
shop=power_tools: RU:Tag:shop=power tools
shop=radiotechnics: RU:Tag:shop=radiotechnics
shop=religion: RU:Tag:shop=religion
shop=second_hand: RU:Tag:shop=second hand
shop=ship_chandler: RU:Tag:shop=ship chandler
shop=shoes: RU:Tag:shop=shoes
+ shop=spices: RU:Tag:shop=spices
shop=sports: RU:Tag:shop=sports
shop=stationery: RU:Tag:shop=stationery
shop=supermarket: RU:Tag:shop=supermarket
shop=watches: RU:Tag:shop=watches
shop=wholesale: RU:Tag:shop=wholesale
shop=window_blind: RU:Tag:shop=window blind
+ sinkhole=bluehole: RU:Tag:sinkhole=bluehole
social_facility=group_home: RU:Tag:social facility=group home
sport=archery: RU:Tag:sport=archery
+ sport=futsal: RU:Tag:sport=futsal
+ sport=horse_racing: RU:Tag:sport=horse racing
sport=motocross: RU:Tag:sport=motocross
sport=motor: RU:Tag:sport=motor
sport=scuba_diving: RU:Tag:sport=scuba diving
sport=shooting: RU:Tag:sport=shooting
+ summit:cross=yes: RU:Tag:summit:cross=yes
tank_trap=czech_hedgehog: RU:Tag:tank trap=czech hedgehog
tourism=apartment: RU:Tag:tourism=apartment
tourism=artwork: RU:Tag:tourism=artwork
tourism=theme_park: RU:Tag:tourism=theme park
tourism=viewpoint: RU:Tag:tourism=viewpoint
tower:type=bell_tower: RU:Tag:tower:type=bell tower
+ tower:type=cooling: RU:Tag:tower:type=cooling
+ traffic_calming=table: RU:Tag:traffic calming=table
tunnel=culvert: RU:Tag:tunnel=culvert
type=site: RU:Tag:type=site
waterway=boatyard: RU:Tag:waterway=boatyard
key:
access: Sv:Key:access
name: Sv:Key:name
+ ref:raa: Sv:Key:ref:raa
tag:
aerialway=cable_car: Sv:Tag:aerialway=cable car
amenity=place_of_worship: Sv:Tag:amenity=place of worship
leisure=dog_park: Sv:Tag:leisure=dog park
leisure=fitness_station: Sv:Tag:leisure=fitness station
railway=rail: Sv:Tag:railway=rail
+ sport=motocross: Sv:Tag:sport=motocross
tr:
key:
amenity: Tr:Key:amenity
man_made=gasometer: Yue:Tag:man made=gasometer
residential=university: Yue:Tag:residential=university
tourism=attraction: Yue:Tag:tourism=attraction
-zh:
- key:
- name: ZH:Key:name
zh-hans:
key:
amenity: Zh-hans:Key:amenity
highway: Zh-hans:Key:highway
landuse: Zh-hans:Key:landuse
name: Zh-hans:Key:name
+ parking:lane: Zh-hans:Key:parking:lane
place: Zh-hans:Key:place
railway: Zh-hans:Key:railway
toll: Zh-hans:Key:toll
amenity=cafe: Zh-hans:Tag:amenity=cafe
barrier=toll_booth: Zh-hans:Tag:barrier=toll booth
barrier=wall: Zh-hans:Tag:barrier=wall
+ highway=footway: Zh-hans:Tag:highway=footway
highway=residential: Zh-hans:Tag:highway=residential
highway=tertiary: Zh-hans:Tag:highway=tertiary
railway=light_rail: Zh-hans:Tag:railway=light rail
aeroway: Zh-hant:Key:aeroway
amenity: Zh-hant:Key:amenity
bridge: Zh-hant:Key:bridge
+ conveying: Zh-hant:Key:conveying
diet:*: Zh-hant:Key:diet:*
fixme: Zh-hant:Key:fixme
fuel: Zh-hant:Key:fuel
+ maxspeed: Zh-hant:Key:maxspeed
name: Zh-hant:Key:name
noexit: Zh-hant:Key:noexit
office: Zh-hant:Key:office
amenity=fountain: Zh-hant:Tag:amenity=fountain
amenity=fuel: Zh-hant:Tag:amenity=fuel
amenity=place_of_worship: Zh-hant:Tag:amenity=place of worship
+ amenity=post_box: Zh-hant:Tag:amenity=post box
amenity=toilets: Zh-hant:Tag:amenity=toilets
building=roof: Zh-hant:Tag:building=roof
+ highway=bus_guideway: Zh-hant:Tag:highway=bus guideway
highway=bus_stop: Zh-hant:Tag:highway=bus stop
+ highway=footway: Zh-hant:Tag:highway=footway
highway=milestone: Zh-hant:Tag:highway=milestone
+ highway=unclassified: Zh-hant:Tag:highway=unclassified
historic=aircraft: Zh-hant:Tag:historic=aircraft
landuse=cemetery: Zh-hant:Tag:landuse=cemetery
leisure=pitch: Zh-hant:Tag:leisure=pitch
natural=peak: Zh-hant:Tag:natural=peak
+ railway=rail: Zh-hant:Tag:railway=rail
service=drive-through: Zh-hant:Tag:service=drive-through
shop=funeral_directors: Zh-hant:Tag:shop=funeral directors
shop=gas: Zh-hant:Tag:shop=gas
# current version to something less so that we can update the version in
# batches of 10000
tbl.classify.constantize.update_all(:version => -1)
- tbl.classify.constantize.update_all("version=(SELECT max(version) FROM #{tbl} WHERE #{tbl}.id = current_#{tbl}.id)", { :version => -1 }, { :limit => 10000 }) while tbl.classify.constantize.where(:version => -1).count > 0
+ tbl.classify.constantize.update_all("version=(SELECT max(version) FROM #{tbl} WHERE #{tbl}.id = current_#{tbl}.id)", { :version => -1 }, { :limit => 10000 }) while tbl.classify.constantize.where(:version => -1).count.positive?
# execute "UPDATE current_#{tbl} SET version = " +
# "(SELECT max(version) FROM #{tbl} WHERE #{tbl}.id = current_#{tbl}.id)"
# The above update causes a MySQL error:
# check the bbox is sane
raise OSM::APIBadBoundingBox, "The minimum longitude must be less than the maximum longitude, but it wasn't" if min_lon > max_lon
raise OSM::APIBadBoundingBox, "The minimum latitude must be less than the maximum latitude, but it wasn't" if min_lat > max_lat
+
if min_lon < -LON_LIMIT || min_lat < -LAT_LIMIT || max_lon > +LON_LIMIT || max_lat > +LAT_LIMIT
raise OSM::APIBadBoundingBox, "The latitudes must be between #{-LAT_LIMIT} and #{LAT_LIMIT}," \
" and longitudes between #{-LON_LIMIT} and #{LON_LIMIT}"
def from_bbox_array(bbox_array)
raise OSM::APIBadUserInput, "The parameter bbox is required, and must be of the form min_lon,min_lat,max_lon,max_lat" unless bbox_array
+
# Take an array of length 4, create a bounding box with min_lon, min_lat, max_lon and
# max_lat within their respective boundaries.
min_lon = [[bbox_array[0].to_f, -LON_LIMIT].max, +LON_LIMIT].min
# same page number).
def ==(other)
return false if other.nil?
+
@paginator == other.paginator &&
@number == other.number
end
# if the pages do not belong to the same Paginator object.
def <=>(other)
raise ArgumentError unless @paginator == other.paginator
+
@number <=> other.number
end
# Sets the window's padding (the number of pages on either side of the
# window page).
def padding=(padding)
- @padding = padding < 0 ? 0 : padding
+ @padding = padding.negative? ? 0 : padding
# Find the beginning and end pages of the window
@first = if @paginator.has_page_number?(@page.number - @padding)
@paginator[@page.number - @padding]
begin
gpx = trace.import
- if gpx.actual_points > 0
+ if gpx.actual_points.positive?
Notifier.gpx_success(trace, gpx.actual_points).deliver
else
Notifier.gpx_failure(trace, "0 points parsed ok. Do they all have lat,lng,alt,timestamp?").deliver
def in_world?
return false if lat < -90 || lat > 90
return false if lon < -180 || lon > 180
+
true
end
px = proj.x(p.longitude)
py = proj.y(p.latitude)
- if m > 0
+ if m.positive?
frames.times do |n|
gc = if n == mm
highlightgc.dup
arr = {}
while (key = getstring(s))
break if key == ""
+
arr[key] = getvalue(s)
end
s.getbyte # skip the 9 'end of object' value
# using the iconv library, which is in the standard library.
def self.valid?(str)
return true if str.nil?
+
str.valid_encoding?
end
end
exit 0 unless token == digest[0, 6]
exit 0 if date < 1.month.ago
-message.update(:message_read => true) if message
+message&.update(:message_read => true)
mail = Mail.new(STDIN.read
.encode(:universal_newline => true)
User.where("image_use_gravatar AND id >=" + start.to_s).order("id").find_each do |user|
p "checked up to id " + user.id.to_s if (user.id % 1000).zero? # just give a rough indication where we are for restarting
next if user.image.present?
+
hash = Digest::MD5.hexdigest(user.email.downcase)
url = "https://www.gravatar.com/avatar/#{hash}?d=404" # without d=404 we will always get an image back
response = OSM.http_client.get(URI.parse(url))
use strict;
use warnings;
-use Pod::Usage ();
-use Getopt::Long ();
-
-BEGIN {
- eval "require MediaWiki::API; require YAML::XS;" or do {
- print "You have to install some modules via CPAN to run this:\n";
- print " sudo cpanp MediaWiki::API YAML::XS\n";
- exit 1;
- };
-}
-
+use Getopt::Long;
+use Pod::Usage;
use MediaWiki::API;
+use Test::More qw(no_plan);
use YAML::XS qw(Dump);
-use Test::More 'no_plan';
=head1 NAME
apt-get upgrade -y
# install packages as explained in INSTALL.md
-apt-get install -y ruby2.3 libruby2.3 ruby2.3-dev \
+apt-get install -y ruby2.5 libruby2.5 ruby2.5-dev \
libmagickwand-dev libxml2-dev libxslt1-dev nodejs \
apache2 apache2-dev build-essential git-core \
postgresql postgresql-contrib libpq-dev postgresql-server-dev-all \
libsasl2-dev imagemagick phantomjs
-gem2.3 install bundler
+gem2.5 install rake bundler
## install the bundle necessary for openstreetmap-website
pushd /srv/openstreetmap-website
assert_response :success
amf_parse_response
result = amf_result("/1")
- assert_equal -4, result[0]
+ assert_equal(-4, result[0])
assert_equal "way", result[1]
assert_equal id, result[2]
assert(result[3].nil? && result[4].nil? && result[5].nil? && result[6].nil?)
assert_response :success
amf_parse_response
way = amf_result("/1")
- assert_equal -4, way[0]
+ assert_equal(-4, way[0])
assert_equal "way", way[1]
assert_equal 0, way[2]
assert(way[3].nil?) && way[4].nil? && way[5].nil? && way[6].nil?
assert_response :success
amf_parse_response
returned_way = amf_result("/1")
- assert_equal -1, returned_way[0]
+ assert_equal(-1, returned_way[0])
assert returned_way[3].nil?
assert returned_way[4].nil?
assert returned_way[5].nil?
assert_response :success
amf_parse_response
returned_way = amf_result("/1")
- assert_equal -1, returned_way[0]
+ assert_equal(-1, returned_way[0])
assert returned_way[3].nil?
assert returned_way[4].nil?
assert returned_way[5].nil?
assert_response :success
amf_parse_response
returned_way = amf_result("/1")
- assert_equal -1, returned_way[0]
+ assert_equal(-1, returned_way[0])
assert returned_way[3].nil?
assert returned_way[4].nil?
assert returned_way[5].nil?
result = amf_result("/1")
assert_equal 2, result.length
- assert_equal -1, result[0]
- assert_match /must be logged in/, result[1]
+ assert_equal(-1, result[0])
+ assert_match(/must be logged in/, result[1])
blocked_user = create(:user)
create(:user_block, :user => blocked_user)
result = amf_result("/1")
assert_equal 2, result.length
- assert_equal -1, result[0]
- assert_match /access to the API has been blocked/, result[1]
+ assert_equal(-1, result[0])
+ assert_match(/access to the API has been blocked/, result[1])
end
def test_findgpx_by_id
# find by name fails as it uses mysql text search syntax...
assert_equal 2, result.length
- assert_equal -2, result[0]
+ assert_equal(-2, result[0])
end
def test_findrelations_by_id
result = amf_result("/1")
assert_equal 3, result.length
- assert_equal -4, result[0]
+ assert_equal(-4, result[0])
assert_equal "node", result[1]
assert_equal 999999, result[2]
end
result = amf_result("/1")
assert_equal 3, result.length
- assert_equal -4, result[0]
+ assert_equal(-4, result[0])
assert_equal "node", result[1]
assert_equal node.node_id, result[2]
result = amf_result("/1")
assert_equal 3, result.length
- assert_equal -4, result[0]
+ assert_equal(-4, result[0])
assert_equal "node", result[1]
assert_equal 999999, result[2]
end
assert_equal 5, result.size
assert_equal 0, result[0], "expected to get the status ok from the amf"
assert_equal 0, result[2], "The old id should be 0"
- assert result[3] > 0, "The new id should be greater than 0"
+ assert result[3].positive?, "The new id should be greater than 0"
assert_equal 1, result[4], "The new version should be 1"
# Finally check that the node that was saved has saved the data correctly
assert_equal 5, result.size
assert_equal 0, result[0], "Expected to get the status ok in the amf"
assert_equal 0, result[2], "The old id should be 0"
- assert result[3] > 0, "The new id should be greater than 0"
+ assert result[3].positive?, "The new id should be greater than 0"
assert_equal 1, result[4], "The new version should be 1"
# Finally check that the node that was saved has saved the data correctly
assert_equal 5, result.size
assert_equal 0, result[0], "Expected to get the status ok in the amf"
assert_equal 0, result[2], "The old id should be 0"
- assert result[3] > 0, "The new id should be greater than 0"
+ assert result[3].positive?, "The new id should be greater than 0"
assert_equal 1, result[4], "The new version should be 1"
# Finally check that the node that was saved has saved the data correctly
result = amf_result("/1")
assert_equal 2, result.size
- assert_equal -1, result[0], "Expected to get the status FAIL in the amf"
+ assert_equal(-1, result[0], "Expected to get the status FAIL in the amf")
assert_equal "One of the tags is invalid. Linux users may need to upgrade to Flash Player 10.1.", result[1]
end
result = amf_result("/1")
assert_equal 3, result.size
- assert_equal -4, result[0]
+ assert_equal(-4, result[0])
assert_equal "node", result[1]
assert_equal nd.id, result[2]
end
result = amf_result("/1")
assert_equal 3, result.size
- assert_equal -4, result[0]
+ assert_equal(-4, result[0])
assert_equal "node", result[1]
assert_equal 999999, result[2]
end
result = amf_result("/1")
assert_equal 2, result.size
- assert_equal -2, result[0]
- assert_match /Node is not in the world/, result[1]
+ assert_equal(-2, result[0])
+ assert_match(/Node is not in the world/, result[1])
end
# check that we can create a way
assert_equal 8, result.size
assert_equal 0, result[0]
assert_equal "", result[1]
- assert_equal -1, result[2]
- assert_not_equal -1, result[3]
+ assert_equal(-1, result[2])
+ assert_not_equal(-1, result[3])
assert_equal({}, result[4])
assert_equal 1, result[5]
assert_equal({}, result[6])
assert_equal 8, result.size
assert_equal 0, result[0]
assert_equal "", result[1]
- assert_equal -1, result[2]
- assert_not_equal -1, result[3]
+ assert_equal(-1, result[2])
+ assert_not_equal(-1, result[3])
assert_equal({}, result[4])
assert_equal 1, result[5]
assert_equal({}, result[6])
assert_equal 8, result.size
assert_equal 0, result[0]
assert_equal "", result[1]
- assert_equal -1, result[2]
- assert_not_equal -1, result[3]
+ assert_equal(-1, result[2])
+ assert_not_equal(-1, result[3])
assert_equal({ "-1" => new_node_id }, result[4])
assert_equal 1, result[5]
assert_equal({ new_node_id.to_s => 1, d.to_s => 2 }, result[6])
result = amf_result("/1")
assert_equal 2, result.size
- assert_equal -1, result[0]
- assert_match /Way #{way.id} is still used/, result[1]
+ assert_equal(-1, result[0])
+ assert_match(/Way #{way.id} is still used/, result[1])
new_way = Way.find(way.id)
assert_equal way.version, new_way.version
assert_equal 5, result.size
assert_equal 0, result[0]
assert_equal "", result[1]
- assert_equal -1, result[2]
- assert_not_equal -1, result[3]
+ assert_equal(-1, result[2])
+ assert_not_equal(-1, result[3])
assert_equal 1, result[4]
new_relation = Relation.find(new_relation_id)
result = amf_result("/1")
assert_equal 2, result.size
- assert_equal -1, result[0]
- assert_match /relation #{relation.id} is used in/, result[1]
+ assert_equal(-1, result[0])
+ assert_match(/relation #{relation.id} is used in/, result[1])
new_relation = Relation.find(relation.id)
assert_equal relation.version, new_relation.version
result = amf_result("/1")
assert_equal 2, result.size
- assert_equal -2, result[0]
+ assert_equal(-2, result[0])
assert_equal "The user doesn't own that changeset", result[1]
cs = Changeset.find(cs_id)
end
def test_read_changeset
+ user = create(:user)
private_changeset = create(:changeset, :user => create(:user, :data_public => false))
- changeset = create(:changeset)
+ changeset = create(:changeset, :user => user)
+ create(:changeset, :user => user)
browse_check "changeset", private_changeset.id, "browse/changeset"
browse_check "changeset", changeset.id, "browse/changeset"
end
)
assert_routing(
{ :path => "/user/name/history", :method => :get },
- { :controller => "changeset", :action => "list", :display_name => "name" }
+ { :controller => "changeset", :action => "index", :display_name => "name" }
)
assert_routing(
{ :path => "/user/name/history/feed", :method => :get },
)
assert_routing(
{ :path => "/history/friends", :method => :get },
- { :controller => "changeset", :action => "list", :friends => true, :format => :html }
+ { :controller => "changeset", :action => "index", :friends => true, :format => :html }
)
assert_routing(
{ :path => "/history/nearby", :method => :get },
- { :controller => "changeset", :action => "list", :nearby => true, :format => :html }
+ { :controller => "changeset", :action => "index", :nearby => true, :format => :html }
)
assert_routing(
{ :path => "/history", :method => :get },
- { :controller => "changeset", :action => "list" }
+ { :controller => "changeset", :action => "index" }
)
assert_routing(
{ :path => "/history/feed", :method => :get },
get :read, :params => { :id => id }
assert_response :not_found, "should get a not found"
rescue ActionController::UrlGenerationError => ex
- assert_match /No route matches/, ex.to_s
+ assert_match(/No route matches/, ex.to_s)
end
end
end
put :close, :params => { :id => id }
assert_response :unauthorized, "Shouldn't be able close the non-existant changeset #{id}, when not authorized"
rescue ActionController::UrlGenerationError => ex
- assert_match /No route matches/, ex.to_s
+ assert_match(/No route matches/, ex.to_s)
end
end
put :close, :params => { :id => id }
assert_response :not_found, "The changeset #{id} doesn't exist, so can't be closed"
rescue ActionController::UrlGenerationError => ex
- assert_match /No route matches/, ex.to_s
+ assert_match(/No route matches/, ex.to_s)
end
end
end
new_rel_id = doc.find("//diffResult/relation").first["new_id"].to_i
# check the old IDs are all present and negative one
- assert_equal -1, doc.find("//diffResult/node").first["old_id"].to_i
- assert_equal -1, doc.find("//diffResult/way").first["old_id"].to_i
- assert_equal -1, doc.find("//diffResult/relation").first["old_id"].to_i
+ assert_equal(-1, doc.find("//diffResult/node").first["old_id"].to_i)
+ assert_equal(-1, doc.find("//diffResult/way").first["old_id"].to_i)
+ assert_equal(-1, doc.find("//diffResult/relation").first["old_id"].to_i)
# check the versions are present and equal one
assert_equal 1, doc.find("//diffResult/node").first["new_version"].to_i
##
# This should display the last 20 changesets closed
- def test_list
- get :list, :params => { :format => "html" }
+ def test_index
+ get :index, :params => { :format => "html" }
assert_response :success
assert_template "history"
assert_template :layout => "map"
assert_select "h2", :text => "Changesets", :count => 1
- get :list, :params => { :format => "html", :list => "1" }, :xhr => true
+ get :index, :params => { :format => "html", :list => "1" }, :xhr => true
assert_response :success
- assert_template "list"
+ assert_template "index"
- check_list_result(Changeset.all)
+ check_index_result(Changeset.all)
end
##
# This should display the last 20 changesets closed
- def test_list_xhr
- get :list, :params => { :format => "html" }, :xhr => true
+ def test_index_xhr
+ get :index, :params => { :format => "html" }, :xhr => true
assert_response :success
assert_template "history"
assert_template :layout => "xhr"
assert_select "h2", :text => "Changesets", :count => 1
- get :list, :params => { :format => "html", :list => "1" }, :xhr => true
+ get :index, :params => { :format => "html", :list => "1" }, :xhr => true
assert_response :success
- assert_template "list"
+ assert_template "index"
- check_list_result(Changeset.all)
+ check_index_result(Changeset.all)
end
##
# This should display the last 20 changesets closed in a specific area
- def test_list_bbox
- get :list, :params => { :format => "html", :bbox => "4.5,4.5,5.5,5.5" }
+ def test_index_bbox
+ get :index, :params => { :format => "html", :bbox => "4.5,4.5,5.5,5.5" }
assert_response :success
assert_template "history"
assert_template :layout => "map"
assert_select "h2", :text => "Changesets", :count => 1
- get :list, :params => { :format => "html", :bbox => "4.5,4.5,5.5,5.5", :list => "1" }, :xhr => true
+ get :index, :params => { :format => "html", :bbox => "4.5,4.5,5.5,5.5", :list => "1" }, :xhr => true
assert_response :success
- assert_template "list"
+ assert_template "index"
- check_list_result(Changeset.where("min_lon < 55000000 and max_lon > 45000000 and min_lat < 55000000 and max_lat > 45000000"))
+ check_index_result(Changeset.where("min_lon < 55000000 and max_lon > 45000000 and min_lat < 55000000 and max_lat > 45000000"))
end
##
# Checks the display of the user changesets listing
- def test_list_user
+ def test_index_user
user = create(:user)
create(:changeset, :user => user)
create(:changeset, :closed, :user => user)
- get :list, :params => { :format => "html", :display_name => user.display_name }
+ get :index, :params => { :format => "html", :display_name => user.display_name }
assert_response :success
assert_template "history"
- get :list, :params => { :format => "html", :display_name => user.display_name, :list => "1" }, :xhr => true
+ get :index, :params => { :format => "html", :display_name => user.display_name, :list => "1" }, :xhr => true
assert_response :success
- assert_template "list"
+ assert_template "index"
- check_list_result(user.changesets)
+ check_index_result(user.changesets)
end
##
# Checks the display of the user changesets listing for a private user
- def test_list_private_user
+ def test_index_private_user
private_user = create(:user, :data_public => false)
create(:changeset, :user => private_user)
create(:changeset, :closed, :user => private_user)
- get :list, :params => { :format => "html", :display_name => private_user.display_name }
+ get :index, :params => { :format => "html", :display_name => private_user.display_name }
assert_response :success
assert_template "history"
- get :list, :params => { :format => "html", :display_name => private_user.display_name, :list => "1" }, :xhr => true
+ get :index, :params => { :format => "html", :display_name => private_user.display_name, :list => "1" }, :xhr => true
assert_response :success
- assert_template "list"
+ assert_template "index"
- check_list_result(Changeset.none)
+ check_index_result(Changeset.none)
end
##
- # Check the not found of the list user changesets
- def test_list_user_not_found
- get :list, :params => { :format => "html", :display_name => "Some random user" }
+ # Check the not found of the index user changesets
+ def test_index_user_not_found
+ get :index, :params => { :format => "html", :display_name => "Some random user" }
assert_response :not_found
assert_template "user/no_such_user"
- get :list, :params => { :format => "html", :display_name => "Some random user", :list => "1" }, :xhr => true
+ get :index, :params => { :format => "html", :display_name => "Some random user", :list => "1" }, :xhr => true
assert_response :not_found
assert_template "user/no_such_user"
end
##
# Checks the display of the friends changesets listing
- def test_list_friends
+ def test_index_friends
private_user = create(:user, :data_public => true)
friend = create(:friend, :befriender => private_user)
create(:changeset, :user => friend.befriendee)
- get :list, :params => { :friends => true }
+ get :index, :params => { :friends => true }
assert_response :redirect
assert_redirected_to :controller => :user, :action => :login, :referer => friend_changesets_path
session[:user] = private_user.id
- get :list, :params => { :friends => true }
+ get :index, :params => { :friends => true }
assert_response :success
assert_template "history"
- get :list, :params => { :friends => true, :list => "1" }, :xhr => true
+ get :index, :params => { :friends => true, :list => "1" }, :xhr => true
assert_response :success
- assert_template "list"
+ assert_template "index"
- check_list_result(Changeset.where(:user => private_user.friend_users.identifiable))
+ check_index_result(Changeset.where(:user => private_user.friend_users.identifiable))
end
##
# Checks the display of the nearby user changesets listing
- def test_list_nearby
+ def test_index_nearby
private_user = create(:user, :data_public => false, :home_lat => 51.1, :home_lon => 1.0)
user = create(:user, :home_lat => 51.0, :home_lon => 1.0)
create(:changeset, :user => user)
- get :list, :params => { :nearby => true }
+ get :index, :params => { :nearby => true }
assert_response :redirect
assert_redirected_to :controller => :user, :action => :login, :referer => nearby_changesets_path
session[:user] = private_user.id
- get :list, :params => { :nearby => true }
+ get :index, :params => { :nearby => true }
assert_response :success
assert_template "history"
- get :list, :params => { :nearby => true, :list => "1" }, :xhr => true
+ get :index, :params => { :nearby => true, :list => "1" }, :xhr => true
assert_response :success
- assert_template "list"
+ assert_template "index"
- check_list_result(Changeset.where(:user => user.nearby))
+ check_index_result(Changeset.where(:user => user.nearby))
end
##
- # Check that we can't request later pages of the changesets list
- def test_list_max_id
- get :list, :params => { :format => "html", :max_id => 4 }, :xhr => true
+ # Check that we can't request later pages of the changesets index
+ def test_index_max_id
+ get :index, :params => { :format => "html", :max_id => 4 }, :xhr => true
assert_response :success
assert_template "history"
assert_template :layout => "xhr"
assert_select "h2", :text => "Changesets", :count => 1
- get :list, :params => { :format => "html", :list => "1", :max_id => 4 }, :xhr => true
+ get :index, :params => { :format => "html", :list => "1", :max_id => 4 }, :xhr => true
assert_response :success
- assert_template "list"
+ assert_template "index"
- check_list_result(Changeset.where("id <= 4"))
+ check_index_result(Changeset.where("id <= 4"))
end
##
# Check that a list with a next page link works
- def test_list_more
+ def test_index_more
create_list(:changeset, 50)
- get :list, :params => { :format => "html" }
+ get :index, :params => { :format => "html" }
assert_response :success
- get :list, :params => { :format => "html" }, :xhr => true
+ get :index, :params => { :format => "html" }, :xhr => true
assert_response :success
end
get :feed, :params => { :format => :atom }
assert_response :success
- assert_template "list"
+ assert_template "index"
assert_equal "application/atom+xml", response.content_type
check_feed_result([changeset, closed_changeset])
get :feed, :params => { :format => :atom, :bbox => "4.5,4.5,5.5,5.5" }
assert_response :success
- assert_template "list"
+ assert_template "index"
assert_equal "application/atom+xml", response.content_type
check_feed_result([changeset, closed_changeset])
get :feed, :params => { :format => :atom, :display_name => user.display_name }
assert_response :success
- assert_template "list"
+ assert_template "index"
assert_equal "application/atom+xml", response.content_type
check_feed_result(changesets)
end
##
- # check the result of a list
- def check_list_result(changesets)
+ # check the result of a index
+ def check_index_result(changesets)
changesets = changesets.where("num_changes > 0")
.order(:created_at => :desc)
.limit(20)
def test_routes
assert_routing(
{ :path => "/diary", :method => :get },
- { :controller => "diary_entry", :action => "list" }
+ { :controller => "diary_entry", :action => "index" }
)
assert_routing(
{ :path => "/diary/language", :method => :get },
- { :controller => "diary_entry", :action => "list", :language => "language" }
+ { :controller => "diary_entry", :action => "index", :language => "language" }
)
assert_routing(
{ :path => "/user/username/diary", :method => :get },
- { :controller => "diary_entry", :action => "list", :display_name => "username" }
+ { :controller => "diary_entry", :action => "index", :display_name => "username" }
)
assert_routing(
{ :path => "/diary/friends", :method => :get },
- { :controller => "diary_entry", :action => "list", :friends => true }
+ { :controller => "diary_entry", :action => "index", :friends => true }
)
assert_routing(
{ :path => "/diary/nearby", :method => :get },
- { :controller => "diary_entry", :action => "list", :nearby => true }
+ { :controller => "diary_entry", :action => "index", :nearby => true }
)
assert_routing(
)
assert_routing(
{ :path => "/user/username/diary/1", :method => :get },
- { :controller => "diary_entry", :action => "view", :display_name => "username", :id => "1" }
+ { :controller => "diary_entry", :action => "show", :display_name => "username", :id => "1" }
)
assert_routing(
{ :path => "/user/username/diary/1/edit", :method => :get },
:session => { :user => user.id }
end
assert_response :redirect
- assert_redirected_to :action => :list, :display_name => user.display_name
+ assert_redirected_to :action => :index, :display_name => user.display_name
entry = DiaryEntry.order(:id).last
assert_equal user.id, entry.user_id
assert_equal "New Title", entry.title
:session => { :user => user.id }
end
assert_response :redirect
- assert_redirected_to :action => :list, :display_name => user.display_name
+ assert_redirected_to :action => :index, :display_name => user.display_name
entry = DiaryEntry.order(:id).last
assert_equal user.id, entry.user_id
assert_equal "New Title", entry.title
:session => { :user => user.id }
end
assert_response :redirect
- assert_redirected_to :action => :list, :display_name => user.display_name
+ assert_redirected_to :action => :index, :display_name => user.display_name
entry = DiaryEntry.order(:id).last
assert_equal user.id, entry.user_id
assert_equal spammy_title, entry.title
assert_equal "suspended", User.find(user.id).status
# Follow the redirect
- get :list,
+ get :index,
:params => { :display_name => user.display_name },
:session => { :user => user }
assert_response :redirect
assert_select "h2", :text => "No entry with the id: 9999", :count => 1
end
- # Verify that you get redirected to view if you are not the user
+ # Verify that you get redirected to show if you are not the user
# that created the entry
get :edit,
:params => { :display_name => entry.user.display_name, :id => entry.id },
:session => { :user => other_user }
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => entry.user.display_name, :id => entry.id
+ assert_redirected_to :action => :show, :display_name => entry.user.display_name, :id => entry.id
# Now pass the id, and check that you can edit it, when using the same
# user as the person who created the entry
:longitude => new_longitude, :language_code => new_language_code } },
:session => { :user => entry.user.id }
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => entry.user.display_name, :id => entry.id
+ assert_redirected_to :action => :show, :display_name => entry.user.display_name, :id => entry.id
# Now check that the new data is rendered, when logged in
- get :view,
+ get :show,
:params => { :display_name => entry.user.display_name, :id => entry.id },
:session => { :user => entry.user }
assert_response :success
- assert_template "diary_entry/view"
+ assert_template "diary_entry/show"
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
end
# and when not logged in as the user who wrote the entry
- get :view,
+ get :show,
:params => { :display_name => entry.user.display_name, :id => entry.id },
:session => { :user => create(:user) }
assert_response :success
- assert_template "diary_entry/view"
+ assert_template "diary_entry/show"
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
end
end
assert_response :success
- assert_template :view
+ assert_template :show
# Now try again with the right id
assert_difference "ActionMailer::Base.deliveries.size", entry.subscribers.count do
end
end
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => entry.user.display_name, :id => entry.id
+ assert_redirected_to :action => :show, :display_name => entry.user.display_name, :id => entry.id
email = ActionMailer::Base.deliveries.first
assert_equal [user.email], email.to
assert_equal "[OpenStreetMap] #{other_user.display_name} commented on a diary entry", email.subject
- assert_match /New comment/, email.text_part.decoded
- assert_match /New comment/, email.html_part.decoded
+ assert_match(/New comment/, email.text_part.decoded)
+ assert_match(/New comment/, email.html_part.decoded)
ActionMailer::Base.deliveries.clear
comment = DiaryComment.order(:id).last
assert_equal entry.id, comment.diary_entry_id
assert_equal other_user.id, comment.user_id
assert_equal "New comment", comment.body
- # Now view the diary entry, and check the new comment is present
- get :view,
+ # Now show the diary entry, and check the new comment is present
+ get :show,
:params => { :display_name => entry.user.display_name, :id => entry.id }
assert_response :success
assert_select ".diary-comment", :count => 1 do
end
end
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => entry.user.display_name, :id => entry.id
+ assert_redirected_to :action => :show, :display_name => entry.user.display_name, :id => entry.id
email = ActionMailer::Base.deliveries.first
assert_equal [user.email], email.to
assert_equal "[OpenStreetMap] #{other_user.display_name} commented on a diary entry", email.subject
assert_equal "suspended", User.find(other_user.id).status
# Follow the redirect
- get :list,
+ get :index,
:params => { :display_name => user.display_name },
:session => { :user => other_user }
assert_response :redirect
assert_redirected_to :controller => :user, :action => :suspended
- # Now view the diary entry, and check the new comment is not present
- get :view,
+ # Now show the diary entry, and check the new comment is not present
+ get :show,
:params => { :display_name => entry.user.display_name, :id => entry.id }
assert_response :success
assert_select ".diary-comment", :count => 0
end
- def test_list_all
+ def test_index_all
diary_entry = create(:diary_entry)
geo_entry = create(:diary_entry, :latitude => 51.50763, :longitude => -0.10781)
public_entry = create(:diary_entry, :user => create(:user))
# Try a list of all diary entries
- get :list
- check_diary_list diary_entry, geo_entry, public_entry
+ get :index
+ check_diary_index diary_entry, geo_entry, public_entry
end
- def test_list_user
+ def test_index_user
user = create(:user)
other_user = create(:user)
_other_entry = create(:diary_entry, :user => other_user)
# Try a list of diary entries for a valid user
- get :list, :params => { :display_name => user.display_name }
- check_diary_list diary_entry, geo_entry
+ get :index, :params => { :display_name => user.display_name }
+ check_diary_index diary_entry, geo_entry
# Try a list of diary entries for an invalid user
- get :list, :params => { :display_name => "No Such User" }
+ get :index, :params => { :display_name => "No Such User" }
assert_response :not_found
assert_template "user/no_such_user"
end
- def test_list_friends
+ def test_index_friends
user = create(:user)
other_user = create(:user)
friend = create(:friend, :befriender => user)
_other_entry = create(:diary_entry, :user => other_user)
# Try a list of diary entries for your friends when not logged in
- get :list, :params => { :friends => true }
+ get :index, :params => { :friends => true }
assert_response :redirect
assert_redirected_to :controller => :user, :action => :login, :referer => "/diary/friends"
# Try a list of diary entries for your friends when logged in
- get :list, :params => { :friends => true }, :session => { :user => user }
- check_diary_list diary_entry
- get :list, :params => { :friends => true }, :session => { :user => other_user }
- check_diary_list
+ get :index, :params => { :friends => true }, :session => { :user => user }
+ check_diary_index diary_entry
+ get :index, :params => { :friends => true }, :session => { :user => other_user }
+ check_diary_index
end
- def test_list_nearby
+ def test_index_nearby
user = create(:user, :home_lat => 12, :home_lon => 12)
nearby_user = create(:user, :home_lat => 11.9, :home_lon => 12.1)
diary_entry = create(:diary_entry, :user => user)
# Try a list of diary entries for nearby users when not logged in
- get :list, :params => { :nearby => true }
+ get :index, :params => { :nearby => true }
assert_response :redirect
assert_redirected_to :controller => :user, :action => :login, :referer => "/diary/nearby"
# Try a list of diary entries for nearby users when logged in
- get :list, :params => { :nearby => true }, :session => { :user => nearby_user }
- check_diary_list diary_entry
- get :list, :params => { :nearby => true }, :session => { :user => user }
- check_diary_list
+ get :index, :params => { :nearby => true }, :session => { :user => nearby_user }
+ check_diary_index diary_entry
+ get :index, :params => { :nearby => true }, :session => { :user => user }
+ check_diary_index
end
- def test_list_language
+ def test_index_language
create(:language, :code => "de")
create(:language, :code => "sl")
diary_entry_en = create(:diary_entry, :language_code => "en")
diary_entry_de = create(:diary_entry, :language_code => "de")
# Try a list of diary entries in english
- get :list, :params => { :language => "en" }
- check_diary_list diary_entry_en, diary_entry_en2
+ get :index, :params => { :language => "en" }
+ check_diary_index diary_entry_en, diary_entry_en2
# Try a list of diary entries in german
- get :list, :params => { :language => "de" }
- check_diary_list diary_entry_de
+ get :index, :params => { :language => "de" }
+ check_diary_index diary_entry_de
# Try a list of diary entries in slovenian
- get :list, :params => { :language => "sl" }
- check_diary_list
+ get :index, :params => { :language => "sl" }
+ check_diary_index
end
- def test_list_paged
+ def test_index_paged
# Create several pages worth of diary entries
create_list(:diary_entry, 50)
- # Try and get the list
- get :list
+ # Try and get the index
+ get :index
assert_response :success
assert_select "div.diary_post", :count => 20
# Try and get the second page
- get :list, :params => { :page => 2 }
+ get :index, :params => { :page => 2 }
assert_response :success
assert_select "div.diary_post", :count => 20
end
assert_match "<title><script></title>", response.body
end
- def test_view
+ def test_show
user = create(:user)
suspended_user = create(:user, :suspended)
deleted_user = create(:user, :deleted)
# Try a normal entry that should work
diary_entry = create(:diary_entry, :user => user)
- get :view, :params => { :display_name => user.display_name, :id => diary_entry.id }
+ get :show, :params => { :display_name => user.display_name, :id => diary_entry.id }
assert_response :success
- assert_template :view
+ assert_template :show
# Try a deleted entry
diary_entry_deleted = create(:diary_entry, :user => user, :visible => false)
- get :view, :params => { :display_name => user.display_name, :id => diary_entry_deleted.id }
+ get :show, :params => { :display_name => user.display_name, :id => diary_entry_deleted.id }
assert_response :not_found
# Try an entry by a suspended user
diary_entry_suspended = create(:diary_entry, :user => suspended_user)
- get :view, :params => { :display_name => suspended_user.display_name, :id => diary_entry_suspended.id }
+ get :show, :params => { :display_name => suspended_user.display_name, :id => diary_entry_suspended.id }
assert_response :not_found
# Try an entry by a deleted user
diary_entry_deleted = create(:diary_entry, :user => deleted_user)
- get :view, :params => { :display_name => deleted_user.display_name, :id => diary_entry_deleted.id }
+ get :show, :params => { :display_name => deleted_user.display_name, :id => diary_entry_deleted.id }
assert_response :not_found
end
- def test_view_hidden_comments
+ def test_show_hidden_comments
# Get a diary entry that has hidden comments
user = create(:user)
diary_entry = create(:diary_entry, :user => user)
deleted_user_comment = create(:diary_comment, :diary_entry => diary_entry, :user => create(:user, :deleted))
hidden_comment = create(:diary_comment, :diary_entry => diary_entry, :visible => false)
- get :view, :params => { :display_name => user.display_name, :id => diary_entry.id }
+ get :show, :params => { :display_name => user.display_name, :id => diary_entry.id }
assert_response :success
- assert_template :view
+ assert_template :show
assert_select "div.comments" do
assert_select "p#comment#{visible_comment.id}", :count => 1
assert_select "p#comment#{suspended_user_comment.id}", :count => 0
:params => { :display_name => user.display_name, :id => diary_entry.id },
:session => { :user => user }
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => user.display_name, :id => diary_entry.id
+ assert_redirected_to :action => :show, :display_name => user.display_name, :id => diary_entry.id
assert_equal true, DiaryEntry.find(diary_entry.id).visible
# Finally try as an administrator
:params => { :display_name => user.display_name, :id => diary_entry.id },
:session => { :user => create(:administrator_user) }
assert_response :redirect
- assert_redirected_to :action => :list, :display_name => user.display_name
+ assert_redirected_to :action => :index, :display_name => user.display_name
assert_equal false, DiaryEntry.find(diary_entry.id).visible
end
:params => { :display_name => user.display_name, :id => diary_entry.id, :comment => diary_comment.id },
:session => { :user => user }
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => user.display_name, :id => diary_entry.id
+ assert_redirected_to :action => :show, :display_name => user.display_name, :id => diary_entry.id
assert_equal true, DiaryComment.find(diary_comment.id).visible
# Finally try as an administrator
:params => { :display_name => user.display_name, :id => diary_entry.id, :comment => diary_comment.id },
:session => { :user => administrator_user }
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => user.display_name, :id => diary_entry.id
+ assert_redirected_to :action => :show, :display_name => user.display_name, :id => diary_entry.id
assert_equal false, DiaryComment.find(diary_comment.id).visible
end
private
- def check_diary_list(*entries)
+ def check_diary_index(*entries)
assert_response :success
- assert_template "list"
+ assert_template "index"
assert_no_missing_translations
assert_select "div.diary_post", entries.count
e = ActionMailer::Base.deliveries.first
assert_equal [recipient_user.email], e.to
assert_equal "[OpenStreetMap] Test Message", e.subject
- assert_match /Test message body/, e.text_part.decoded
- assert_match /Test message body/, e.html_part.decoded
+ assert_match(/Test message body/, e.text_part.decoded)
+ assert_match(/Test message body/, e.html_part.decoded)
assert_match %r{#{SERVER_URL}/messages/[0-9]+}, e.text_part.decoded
ActionMailer::Base.deliveries.clear
m = Message.last
get :version, :params => { :id => id, :version => version }
assert_response :not_found
rescue ActionController::UrlGenerationError => ex
- assert_match /No route matches/, ex.to_s
+ assert_match(/No route matches/, ex.to_s)
end
##
delete :destroy, :params => { :id => redaction.id }
assert_response :redirect
assert_redirected_to(redaction_path(redaction))
- assert_match /^Redaction is not empty/, flash[:error]
+ assert_match(/^Redaction is not empty/, flash[:error])
end
def test_delete_non_moderator
}
end
assert_response :redirect
- assert_redirected_to user_path(target_user.display_name)
+ assert_redirected_to user_path(target_user)
end
def test_new_report_with_incomplete_details
}
end
assert_response :redirect
- assert_redirected_to user_path(target_user.display_name)
+ assert_redirected_to user_path(target_user)
issue = Issue.last
}
end
assert_response :redirect
- assert_redirected_to user_path(target_user.display_name)
+ assert_redirected_to user_path(target_user)
issue = Issue.last
get :trackpoints, :params => { :xmin => -1, :xmax => 1, :ymin => 51, :ymax => 52, :baselong => 0, :basey => 0, :masterscale => 1 }
assert_response :success
assert_equal "application/x-shockwave-flash", response.content_type
- assert_match /^FWS/, response.body
+ assert_match(/^FWS/, response.body)
assert_equal 80, response.body.length
get :trackpoints, :params => { :xmin => -1, :xmax => 1, :ymin => 51, :ymax => 52, :baselong => 0, :basey => 0, :masterscale => 1, :token => other_user.tokens.create.token }
assert_response :success
assert_equal "application/x-shockwave-flash", response.content_type
- assert_match /^FWS/, response.body
+ assert_match(/^FWS/, response.body)
assert_equal 67, response.body.length
get :trackpoints, :params => { :xmin => -1, :xmax => 1, :ymin => 51, :ymax => 52, :baselong => 0, :basey => 0, :masterscale => 1, :token => user.tokens.create.token }
assert_response :success
assert_equal "application/x-shockwave-flash", response.content_type
- assert_match /^FWS/, response.body
+ assert_match(/^FWS/, response.body)
assert_equal 74, response.body.length
end
end
end
end
- # Check that the rss loads
+ # Check the RSS feed
def test_rss
user = create(:user)
+ # The fourth test below is surpisingly sensitive to timestamp ordering when the timestamps are equal.
+ trace_a = create(:trace, :visibility => "public", :timestamp => 4.seconds.ago) do |trace|
+ create(:tracetag, :trace => trace, :tag => "London")
+ end
+ trace_b = create(:trace, :visibility => "public", :timestamp => 3.seconds.ago) do |trace|
+ create(:tracetag, :trace => trace, :tag => "Birmingham")
+ end
+ create(:trace, :visibility => "private", :user => user, :timestamp => 2.seconds.ago) do |trace|
+ create(:tracetag, :trace => trace, :tag => "London")
+ end
+ create(:trace, :visibility => "private", :user => user, :timestamp => 1.second.ago) do |trace|
+ create(:tracetag, :trace => trace, :tag => "Birmingham")
+ end
# First with the public feed
get :georss, :params => { :format => :rss }
- check_trace_feed Trace.visible_to_all
+ check_trace_feed [trace_b, trace_a]
# Restrict traces to those with a given tag
get :georss, :params => { :tag => "London", :format => :rss }
- check_trace_feed Trace.tagged("London").visible_to_all
+ check_trace_feed [trace_a]
+ end
- # Restrict traces to those for a given user
+ # Check the RSS feed for a specific user
+ def test_rss_user
+ user = create(:user)
+ second_user = create(:user)
+ create(:user)
+ create(:trace)
+ trace_b = create(:trace, :visibility => "public", :timestamp => 4.seconds.ago, :user => user)
+ trace_c = create(:trace, :visibility => "public", :timestamp => 3.seconds.ago, :user => user) do |trace|
+ create(:tracetag, :trace => trace, :tag => "London")
+ end
+ create(:trace, :visibility => "private")
+
+ # Test a user with no traces
+ get :georss, :params => { :display_name => second_user.display_name, :format => :rss }
+ check_trace_feed []
+
+ # Test the user with the traces - should see only public ones
get :georss, :params => { :display_name => user.display_name, :format => :rss }
- check_trace_feed user.traces.visible_to_all
+ check_trace_feed [trace_c, trace_b]
+
+ # Should only see traces with the correct tag when a tag is specified
+ get :georss, :params => { :display_name => user.display_name, :tag => "London", :format => :rss }
+ check_trace_feed [trace_c]
- # Restrict traces to those for a given user with a tiven tag
- get :georss, :params => { :display_name => user.display_name, :tag => "Birmingham", :format => :rss }
- check_trace_feed user.traces.tagged("Birmingham").visible_to_all
+ # Should no traces if the user does not exist
+ get :georss, :params => { :display_name => "UnknownUser", :format => :rss }
+ check_trace_feed []
end
# Test showing a trace
post :create, :params => { :trace => { :gpx_file => file, :description => "New Trace", :tagstring => "new,trace", :visibility => "trackable" } }, :session => { :user => user }
assert_response :redirect
assert_redirected_to :action => :index, :display_name => user.display_name
- assert_match /file has been uploaded/, flash[:notice]
+ assert_match(/file has been uploaded/, flash[:notice])
trace = Trace.order(:id => :desc).first
assert_equal "a.gpx", trace.name
assert_equal "New Trace", trace.description
assert_select "description"
assert_select "link"
assert_select "image"
- assert_select "item", :count => traces.visible.count do |items|
- traces.visible.order("timestamp DESC").zip(items).each do |trace, item|
+ assert_select "item", :count => traces.length do |items|
+ traces.zip(items).each do |trace, item|
assert_select item, "title", trace.name
- assert_select item, "link", "http://test.host/user/#{trace.user.display_name}/traces/#{trace.id}"
- assert_select item, "guid", "http://test.host/user/#{trace.user.display_name}/traces/#{trace.id}"
+ assert_select item, "link", "http://test.host/user/#{ERB::Util.u(trace.user.display_name)}/traces/#{trace.id}"
+ assert_select item, "guid", "http://test.host/user/#{ERB::Util.u(trace.user.display_name)}/traces/#{trace.id}"
assert_select item, "description"
# assert_select item, "dc:creator", trace.user.display_name
assert_select item, "pubDate", trace.timestamp.rfc822
# Check that the block edit page requires us to login
get :edit, :params => { :id => active_block.id }
- assert_redirected_to login_path(:referer => edit_user_block_path(:id => active_block.id))
+ assert_redirected_to login_path(:referer => edit_user_block_path(active_block))
# Login as a normal user
session[:user] = create(:user).id
:user_block_period => "12",
:user_block => { :needs_view => true, :reason => "Vandalism" } }
end
- assert_redirected_to edit_user_block_path(:id => active_block.id)
+ assert_redirected_to edit_user_block_path(active_block)
assert_equal "Only the moderator who created this block can edit it.", flash[:error]
# Login as the correct moderator
:params => { :id => active_block.id,
:user_block_period => "99" }
end
- assert_redirected_to edit_user_block_path(:id => active_block.id)
+ assert_redirected_to edit_user_block_path(active_block)
assert_equal "The blocking period must be one of the values selectable in the drop-down list.", flash[:error]
# Check that updating a block works
:user_block_period => "12",
:user_block => { :needs_view => true, :reason => "Vandalism" } }
end
- assert_redirected_to user_block_path(:id => active_block.id)
+ assert_redirected_to user_block_path(active_block)
assert_equal "Block updated.", flash[:notice]
b = UserBlock.find(active_block.id)
assert_in_delta Time.now, b.updated_at, 1
# Check that revoking a block works
post :revoke, :params => { :id => active_block.id, :confirm => true }
- assert_redirected_to user_block_path(:id => active_block.id)
+ assert_redirected_to user_block_path(active_block)
b = UserBlock.find(active_block.id)
assert_in_delta Time.now, b.ends_at, 1
assert_routing(
{ :path => "/user/username", :method => :get },
- { :controller => "user", :action => "view", :display_name => "username" }
+ { :controller => "user", :action => "show", :display_name => "username" }
)
assert_routing(
assert_routing(
{ :path => "/users", :method => :get },
- { :controller => "user", :action => "list" }
+ { :controller => "user", :action => "index" }
)
assert_routing(
{ :path => "/users", :method => :post },
- { :controller => "user", :action => "list" }
+ { :controller => "user", :action => "index" }
)
assert_routing(
{ :path => "/users/status", :method => :get },
- { :controller => "user", :action => "list", :status => "status" }
+ { :controller => "user", :action => "index", :status => "status" }
)
assert_routing(
{ :path => "/users/status", :method => :post },
- { :controller => "user", :action => "list", :status => "status" }
+ { :controller => "user", :action => "index", :status => "status" }
)
end
register_email = ActionMailer::Base.deliveries.first
assert_equal register_email.to[0], user.email
- assert_match /#{@url}/, register_email.body.to_s
+ assert_match(/#{@url}/, register_email.body.to_s)
# Check the page
assert_redirected_to :action => "confirm", :display_name => user.display_name
@request.cookies["_osm_session"] = user.display_name
post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
assert_redirected_to login_path
- assert_match /Confirmed your account/, flash[:notice]
+ assert_match(/Confirmed your account/, flash[:notice])
end
def test_confirm_success_good_token_no_referer
@request.cookies["_osm_session"] = user.display_name
post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }, :session => { :token => token }
assert_redirected_to login_path
- assert_match /Confirmed your account/, flash[:notice]
+ assert_match(/Confirmed your account/, flash[:notice])
end
def test_confirm_success_no_token_with_referer
@request.cookies["_osm_session"] = user.display_name
post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
assert_redirected_to login_path(:referer => diary_new_path)
- assert_match /Confirmed your account/, flash[:notice]
+ assert_match(/Confirmed your account/, flash[:notice])
end
def test_confirm_success_good_token_with_referer
@request.cookies["_osm_session"] = user.display_name
post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }, :session => { :token => token }
assert_redirected_to login_path(:referer => diary_new_path)
- assert_match /Confirmed your account/, flash[:notice]
+ assert_match(/Confirmed your account/, flash[:notice])
end
def test_confirm_expired_token
@request.cookies["_osm_session"] = user.display_name
post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
assert_redirected_to :action => "confirm"
- assert_match /confirmation code has expired/, flash[:error]
+ assert_match(/confirmation code has expired/, flash[:error])
end
def test_confirm_already_confirmed
@request.cookies["_osm_session"] = user.display_name
post :confirm, :params => { :display_name => user.display_name, :confirm_string => confirm_string }
assert_redirected_to :action => "login"
- assert_match /already been confirmed/, flash[:error]
+ assert_match(/already been confirmed/, flash[:error])
end
def test_confirm_resend_success
assert_response :redirect
assert_redirected_to login_path
- assert_match /sent a new confirmation/, flash[:notice]
+ assert_match(/sent a new confirmation/, flash[:notice])
email = ActionMailer::Base.deliveries.last
post :confirm_email, :params => { :confirm_string => confirm_string }
assert_response :redirect
assert_redirected_to :action => :account, :display_name => user.display_name
- assert_match /Confirmed your change of email address/, flash[:notice]
+ assert_match(/Confirmed your change of email address/, flash[:notice])
end
def test_confirm_email_already_confirmed
post :confirm_email, :params => { :confirm_string => confirm_string }
assert_response :redirect
assert_redirected_to :action => :account, :display_name => user.display_name
- assert_match /already been confirmed/, flash[:error]
+ assert_match(/already been confirmed/, flash[:error])
end
def test_confirm_email_bad_token
post :confirm_email, :params => { :confirm_string => "XXXXX" }
assert_response :success
assert_template :confirm_email
- assert_match /confirmation code has expired or does not exist/, flash[:error]
+ assert_match(/confirmation code has expired or does not exist/, flash[:error])
end
##
post :confirm_email, :params => { :confirm_string => confirm_string }
assert_response :redirect
assert_redirected_to :action => :account, :display_name => user.display_name
- assert_match /Confirmed your change of email address/, flash[:notice]
+ assert_match(/Confirmed your change of email address/, flash[:notice])
# gravatar use should now be enabled
assert User.find(user.id).image_use_gravatar
end
post :confirm_email, :params => { :confirm_string => confirm_string }
assert_response :redirect
assert_redirected_to :action => :account, :display_name => user.display_name
- assert_match /Confirmed your change of email address/, flash[:notice]
+ assert_match(/Confirmed your change of email address/, flash[:notice])
# gravatar use should now be disabled
assert_not User.find(user.id).image_use_gravatar
end
end
assert_response :redirect
assert_redirected_to :action => :login
- assert_match /^Sorry you lost it/, flash[:notice]
+ assert_match(/^Sorry you lost it/, flash[:notice])
email = ActionMailer::Base.deliveries.first
assert_equal 1, email.to.count
assert_equal user.email, email.to.first
end
assert_response :redirect
assert_redirected_to :action => :login
- assert_match /^Sorry you lost it/, flash[:notice]
+ assert_match(/^Sorry you lost it/, flash[:notice])
email = ActionMailer::Base.deliveries.first
assert_equal 1, email.to.count
assert_equal uppercase_user.email, email.to.first
end
assert_response :redirect
assert_redirected_to :action => :login
- assert_match /^Sorry you lost it/, flash[:notice]
+ assert_match(/^Sorry you lost it/, flash[:notice])
email = ActionMailer::Base.deliveries.first
assert_equal 1, email.to.count
assert_equal third_user.email, email.to.first
end
assert_response :redirect
assert_redirected_to :action => :login
- assert_match /^Sorry you lost it/, flash[:notice]
+ assert_match(/^Sorry you lost it/, flash[:notice])
email = ActionMailer::Base.deliveries.first
assert_equal 1, email.to.count
assert_equal third_user.email, email.to.first
# Check that the user account page will display and contains some relevant
# information for the user
- def test_view
+ def test_show
# Test a non-existent user
- get :view, :params => { :display_name => "unknown" }
+ get :show, :params => { :display_name => "unknown" }
assert_response :not_found
# Test a normal user
user = create(:user)
- get :view, :params => { :display_name => user.display_name }
+ create(:friend, :befriender => user)
+ get :show, :params => { :display_name => user.display_name }
assert_response :success
assert_select "div#userinformation" do
assert_select "a[href^='/user/#{ERB::Util.u(user.display_name)}/history']", 1
assert_select "a[href='/blocks/new/#{ERB::Util.u(user.display_name)}']", 0
end
+ # Friends shouldn't be visible as we're not logged in
+ assert_select "div#friends-container", :count => 0
+
# Test a user who has been blocked
blocked_user = create(:user)
create(:user_block, :user => blocked_user)
- get :view, :params => { :display_name => blocked_user.display_name }
+ get :show, :params => { :display_name => blocked_user.display_name }
assert_response :success
assert_select "div#userinformation" do
assert_select "a[href^='/user/#{ERB::Util.u(blocked_user.display_name)}/history']", 1
# Test a moderator who has applied blocks
moderator_user = create(:moderator_user)
create(:user_block, :creator => moderator_user)
- get :view, :params => { :display_name => moderator_user.display_name }
+ get :show, :params => { :display_name => moderator_user.display_name }
assert_response :success
assert_select "div#userinformation" do
assert_select "a[href^='/user/#{ERB::Util.u(moderator_user.display_name)}/history']", 1
session[:user] = user.id
# Test the normal user
- get :view, :params => { :display_name => user.display_name }
+ get :show, :params => { :display_name => user.display_name }
assert_response :success
assert_select "div#userinformation" do
assert_select "a[href^='/user/#{ERB::Util.u(user.display_name)}/history']", 1
assert_select "a[href='/blocks/new/#{ERB::Util.u(user.display_name)}']", 0
end
+ # Friends should be visible as we're now logged in
+ assert_select "div#friends-container" do
+ assert_select "div.contact-activity", :count => 1
+ end
+
# Login as a moderator
session[:user] = create(:moderator_user).id
# Test the normal user
- get :view, :params => { :display_name => user.display_name }
+ get :show, :params => { :display_name => user.display_name }
assert_response :success
assert_select "div#userinformation" do
assert_select "a[href^='/user/#{ERB::Util.u(user.display_name)}/history']", 1
seen_user = create(:user, :terms_seen => true)
not_seen_user = create(:user, :terms_seen => false)
- get :view, :params => { :display_name => agreed_user.display_name }
+ get :show, :params => { :display_name => agreed_user.display_name }
assert_response :success
assert_select "div#userinformation" do
assert_select "p", :count => 0, :text => /Contributor terms/
end
- get :view, :params => { :display_name => seen_user.display_name }
+ get :show, :params => { :display_name => seen_user.display_name }
assert_response :success
# put @response.body
assert_select "div#userinformation" do
assert_select "p", /Declined/
end
- get :view, :params => { :display_name => not_seen_user.display_name }
+ get :show, :params => { :display_name => not_seen_user.display_name }
assert_response :success
assert_select "div#userinformation" do
assert_select "p", :count => 1, :text => /Contributor terms/
assert_difference "ActionMailer::Base.deliveries.size", 1 do
post :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
end
- assert_redirected_to user_path(:display_name => friend.display_name)
- assert_match /is now your friend/, flash[:notice]
+ assert_redirected_to user_path(friend)
+ assert_match(/is now your friend/, flash[:notice])
assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
email = ActionMailer::Base.deliveries.first
assert_equal 1, email.to.count
assert_no_difference "ActionMailer::Base.deliveries.size" do
post :make_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
end
- assert_redirected_to user_path(:display_name => friend.display_name)
- assert_match /You are already friends with/, flash[:warning]
+ assert_redirected_to user_path(friend)
+ assert_match(/You are already friends with/, flash[:warning])
assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
end
post :make_friend, :params => { :display_name => friend.display_name, :referer => "/test" }, :session => { :user => user }
end
assert_redirected_to "/test"
- assert_match /is now your friend/, flash[:notice]
+ assert_match(/is now your friend/, flash[:notice])
assert Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
email = ActionMailer::Base.deliveries.first
assert_equal 1, email.to.count
# When logged in a POST should remove the friendship
post :remove_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
- assert_redirected_to user_path(:display_name => friend.display_name)
- assert_match /was removed from your friends/, flash[:notice]
+ assert_redirected_to user_path(friend)
+ assert_match(/was removed from your friends/, flash[:notice])
assert_nil Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
# A second POST should report that the friendship does not exist
post :remove_friend, :params => { :display_name => friend.display_name }, :session => { :user => user }
- assert_redirected_to user_path(:display_name => friend.display_name)
- assert_match /is not one of your friends/, flash[:error]
+ assert_redirected_to user_path(friend)
+ assert_match(/is not one of your friends/, flash[:error])
assert_nil Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
end
# When logged in a POST should remove the friendship and refer
post :remove_friend, :params => { :display_name => friend.display_name, :referer => "/test" }, :session => { :user => user }
assert_redirected_to "/test"
- assert_match /was removed from your friends/, flash[:notice]
+ assert_match(/was removed from your friends/, flash[:notice])
assert_nil Friend.where(:user_id => user.id, :friend_user_id => friend.id).first
end
# Now try as a normal user
get :set_status, :params => { :display_name => user.display_name, :status => "suspended" }, :session => { :user => user }
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => user.display_name
+ assert_redirected_to :action => :show, :display_name => user.display_name
# Finally try as an administrator
get :set_status, :params => { :display_name => user.display_name, :status => "suspended" }, :session => { :user => create(:administrator_user) }
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => user.display_name
+ assert_redirected_to :action => :show, :display_name => user.display_name
assert_equal "suspended", User.find(user.id).status
end
# Now try as a normal user
get :delete, :params => { :display_name => user.display_name, :status => "suspended" }, :session => { :user => user }
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => user.display_name
+ assert_redirected_to :action => :show, :display_name => user.display_name
# Finally try as an administrator
get :delete, :params => { :display_name => user.display_name, :status => "suspended" }, :session => { :user => create(:administrator_user) }
assert_response :redirect
- assert_redirected_to :action => :view, :display_name => user.display_name
+ assert_redirected_to :action => :show, :display_name => user.display_name
# Check that the user was deleted properly
user.reload
assert_equal "deleted", user.status
end
- def test_list_get
+ def test_index_get
user = create(:user)
moderator_user = create(:moderator_user)
administrator_user = create(:administrator_user)
assert_equal 7, User.count
# Shouldn't work when not logged in
- get :list
+ get :index
assert_response :redirect
assert_redirected_to :action => :login, :referer => users_path
session[:user] = user.id
# Shouldn't work when logged in as a normal user
- get :list
+ get :index
assert_response :redirect
assert_redirected_to :action => :login, :referer => users_path
session[:user] = moderator_user.id
# Shouldn't work when logged in as a moderator
- get :list
+ get :index
assert_response :redirect
assert_redirected_to :action => :login, :referer => users_path
# Note there is a header row, so all row counts are users + 1
# Should work when logged in as an administrator
- get :list
+ get :index
assert_response :success
- assert_template :list
+ assert_template :index
assert_select "table#user_list tr", :count => 7 + 1
# Should be able to limit by status
- get :list, :params => { :status => "suspended" }
+ get :index, :params => { :status => "suspended" }
assert_response :success
- assert_template :list
+ assert_template :index
assert_select "table#user_list tr", :count => 1 + 1
# Should be able to limit by IP address
- get :list, :params => { :ip => "1.2.3.4" }
+ get :index, :params => { :ip => "1.2.3.4" }
assert_response :success
- assert_template :list
+ assert_template :index
assert_select "table#user_list tr", :count => 1 + 1
end
- def test_list_get_paginated
+ def test_index_get_paginated
1.upto(100).each do |n|
User.create(:display_name => "extra_#{n}",
:email => "extra#{n}@example.com",
# 100 examples, an administrator, and a granter for the admin.
assert_equal 102, User.count
- get :list
+ get :index
assert_response :success
- assert_template :list
+ assert_template :index
assert_select "table#user_list tr", :count => 51
- get :list, :params => { :page => 2 }
+ get :index, :params => { :page => 2 }
assert_response :success
- assert_template :list
+ assert_template :index
assert_select "table#user_list tr", :count => 51
- get :list, :params => { :page => 3 }
+ get :index, :params => { :page => 3 }
assert_response :success
- assert_template :list
+ assert_template :index
assert_select "table#user_list tr", :count => 3
end
- def test_list_post_confirm
+ def test_index_post_confirm
inactive_user = create(:user, :pending)
suspended_user = create(:user, :suspended)
# Shouldn't work when not logged in
assert_no_difference "User.active.count" do
- post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
+ post :index, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
end
assert_response :redirect
assert_redirected_to :action => :login, :referer => users_path
# Shouldn't work when logged in as a normal user
assert_no_difference "User.active.count" do
- post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
+ post :index, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
end
assert_response :redirect
assert_redirected_to :action => :login, :referer => users_path
# Shouldn't work when logged in as a moderator
assert_no_difference "User.active.count" do
- post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
+ post :index, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
end
assert_response :redirect
assert_redirected_to :action => :login, :referer => users_path
# Should work when logged in as an administrator
assert_difference "User.active.count", 2 do
- post :list, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
+ post :index, :params => { :confirm => 1, :user => { inactive_user.id => 1, suspended_user.id => 1 } }
end
assert_response :redirect
- assert_redirected_to :action => :list
+ assert_redirected_to :action => :index
assert_equal "confirmed", inactive_user.reload.status
assert_equal "confirmed", suspended_user.reload.status
end
- def test_list_post_hide
+ def test_index_post_hide
normal_user = create(:user)
confirmed_user = create(:user, :confirmed)
# Shouldn't work when not logged in
assert_no_difference "User.active.count" do
- post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
+ post :index, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
end
assert_response :redirect
assert_redirected_to :action => :login, :referer => users_path
# Shouldn't work when logged in as a normal user
assert_no_difference "User.active.count" do
- post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
+ post :index, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
end
assert_response :redirect
assert_redirected_to :action => :login, :referer => users_path
# Shouldn't work when logged in as a moderator
assert_no_difference "User.active.count" do
- post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
+ post :index, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
end
assert_response :redirect
assert_redirected_to :action => :login, :referer => users_path
# Should work when logged in as an administrator
assert_difference "User.active.count", -2 do
- post :list, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
+ post :index, :params => { :hide => 1, :user => { normal_user.id => 1, confirmed_user.id => 1 } }
end
assert_response :redirect
- assert_redirected_to :action => :list
+ assert_redirected_to :action => :index
assert_equal "deleted", normal_user.reload.status
assert_equal "deleted", confirmed_user.reload.status
end
# Granting should still fail
post :grant, :params => { :display_name => target_user.display_name, :role => "moderator" }
- assert_redirected_to user_path(target_user.display_name)
+ assert_redirected_to user_path(target_user)
assert_equal "Only administrators can perform user role management, and you are not an administrator.", flash[:error]
# Login as an administrator
assert_no_difference "UserRole.count" do
post :grant, :params => { :display_name => super_user.display_name, :role => role }
end
- assert_redirected_to user_path(super_user.display_name)
+ assert_redirected_to user_path(super_user)
assert_equal "The user already has role #{role}.", flash[:error]
# Granting a role to a user that doesn't have it should work...
assert_difference "UserRole.count", 1 do
post :grant, :params => { :display_name => target_user.display_name, :role => role }
end
- assert_redirected_to user_path(target_user.display_name)
+ assert_redirected_to user_path(target_user)
# ...but trying a second time should fail
assert_no_difference "UserRole.count" do
post :grant, :params => { :display_name => target_user.display_name, :role => role }
end
- assert_redirected_to user_path(target_user.display_name)
+ assert_redirected_to user_path(target_user)
assert_equal "The user already has role #{role}.", flash[:error]
end
assert_difference "UserRole.count", 0 do
post :grant, :params => { :display_name => target_user.display_name, :role => "no_such_role" }
end
- assert_redirected_to user_path(target_user.display_name)
+ assert_redirected_to user_path(target_user)
assert_equal "The string `no_such_role' is not a valid role.", flash[:error]
end
# Revoking should still fail
post :revoke, :params => { :display_name => target_user.display_name, :role => "moderator" }
- assert_redirected_to user_path(target_user.display_name)
+ assert_redirected_to user_path(target_user)
assert_equal "Only administrators can perform user role management, and you are not an administrator.", flash[:error]
# Login as an administrator
assert_no_difference "UserRole.count" do
post :revoke, :params => { :display_name => target_user.display_name, :role => role }
end
- assert_redirected_to user_path(target_user.display_name)
+ assert_redirected_to user_path(target_user)
assert_equal "The user does not have role #{role}.", flash[:error]
# Removing a role from a user that has it should work...
assert_difference "UserRole.count", -1 do
post :revoke, :params => { :display_name => super_user.display_name, :role => role }
end
- assert_redirected_to user_path(super_user.display_name)
+ assert_redirected_to user_path(super_user)
# ...but trying a second time should fail
assert_no_difference "UserRole.count" do
post :revoke, :params => { :display_name => super_user.display_name, :role => role }
end
- assert_redirected_to user_path(super_user.display_name)
+ assert_redirected_to user_path(super_user)
assert_equal "The user does not have role #{role}.", flash[:error]
end
assert_difference "UserRole.count", 0 do
post :revoke, :params => { :display_name => target_user.display_name, :role => "no_such_role" }
end
- assert_redirected_to user_path(target_user.display_name)
+ assert_redirected_to user_path(target_user)
assert_equal "The string `no_such_role' is not a valid role.", flash[:error]
# Revoking administrator role from current user should fail
post :revoke, :params => { :display_name => administrator_user.display_name, :role => "administrator" }
- assert_redirected_to user_path(administrator_user.display_name)
+ assert_redirected_to user_path(administrator_user)
assert_equal "Cannot revoke administrator role from current user.", flash[:error]
end
end
assert_response :redirect
follow_redirect!
assert_response :success
- assert_template "user/view"
+ assert_template "user/show"
get "/user/#{ERB::Util.u(user.display_name)}/account"
assert_response :success
assert_template "user/account"
assert_equal register_email.to.first, new_email
# Check that the confirm account url is correct
- assert_match /#{@url}/, register_email.body.to_s
+ assert_match(/#{@url}/, register_email.body.to_s)
# Check the page
assert_response :success
target_user = create(:user)
post "/user/#{ERB::Util.u(target_user.display_name)}/role/#{role}/#{action}"
- assert_redirected_to :controller => "user", :action => "view", :display_name => target_user.display_name
+ assert_redirected_to user_path(target_user)
reset!
end
target_user = create(:user)
post "/user/#{ERB::Util.u(target_user.display_name)}/role/#{role}/#{action}"
- assert_redirected_to :controller => "user", :action => "view", :display_name => target_user.display_name
+ assert_redirected_to user_path(target_user)
reset!
end
@bad_negative_boundary_bbox.each do |bbox_string|
bbox = BoundingBox.from_bbox_params(:bbox => bbox_string)
array = bbox.to_a
- assert_equal -180, [array[0], array[2]].min
- assert_equal -90, [array[1], array[3]].min
+ assert_equal(-180, [array[0], array[2]].min)
+ assert_equal(-90, [array[1], array[3]].min)
end
end
gb = Country.find("GB")
assert_not_nil gb
assert_equal "GB", gb.code
- assert_equal -8.623555, gb.min_lon
+ assert_equal(-8.623555, gb.min_lon)
assert_equal 59.360249, gb.max_lat
assert_equal 1.759, gb.max_lon
assert_equal 49.906193, gb.min_lat
assert_not_nil au
assert_equal "AU", au.code
assert_equal 112.911057, au.min_lon
- assert_equal -10.062805, au.max_lat
+ assert_equal(-10.062805, au.max_lat)
assert_equal 153.639252, au.max_lon
- assert_equal -43.64397, au.min_lat
+ assert_equal(-43.64397, au.min_lat)
end
def test_xx
message_create = assert_raise(OSM::APIBadXMLError) do
Changeset.from_xml(no_text, true)
end
- assert_match /Must specify a string with one or more characters/, message_create.message
+ assert_match(/Must specify a string with one or more characters/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Changeset.from_xml(no_text, false)
end
- assert_match /Must specify a string with one or more characters/, message_update.message
+ assert_match(/Must specify a string with one or more characters/, message_update.message)
end
def test_from_xml_no_changeset
message_create = assert_raise(OSM::APIBadXMLError) do
Changeset.from_xml(nokv, true)
end
- assert_match /tag is missing key/, message_create.message
+ assert_match(/tag is missing key/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Changeset.from_xml(nokv, false)
end
- assert_match /tag is missing key/, message_update.message
+ assert_match(/tag is missing key/, message_update.message)
end
def test_from_xml_no_v
message_create = assert_raise(OSM::APIBadXMLError) do
Changeset.from_xml(no_v, true)
end
- assert_match /tag is missing value/, message_create.message
+ assert_match(/tag is missing value/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Changeset.from_xml(no_v, false)
end
- assert_match /tag is missing value/, message_update.message
+ assert_match(/tag is missing value/, message_update.message)
end
def test_from_xml_duplicate_k
assert_equal recipient_user, message.recipient
assert_equal mail.date, message.sent_on
assert_equal "Test message", message.title
- assert_match /^ *This is a test & a message *$/, message.body
+ assert_match(/^ *This is a test & a message *$/, message.body)
assert_equal "text", message.body_format
end
assert_equal recipient_user, message.recipient
assert_equal mail.date, message.sent_on
assert_equal "Test message", message.title
- assert_match /^ *This is a test & a message in HTML format *$/, message.body
+ assert_match(/^ *This is a test & a message in HTML format *$/, message.body)
assert_equal "text", message.body_format
end
def test_lat_lon_xml_format
node = build(:node, :latitude => 0.00004 * OldNode::SCALE, :longitude => 0.00008 * OldNode::SCALE)
- assert_match /lat="0.0000400"/, node.to_xml.to_s
- assert_match /lon="0.0000800"/, node.to_xml.to_s
+ assert_match(/lat="0.0000400"/, node.to_xml.to_s)
+ assert_match(/lon="0.0000800"/, node.to_xml.to_s)
end
# Check that you can create a node and store it
message = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(noid, false)
end
- assert_match /ID is required when updating./, message.message
+ assert_match(/ID is required when updating./, message.message)
end
def test_from_xml_no_lat
message_create = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(nolat, true)
end
- assert_match /lat missing/, message_create.message
+ assert_match(/lat missing/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(nolat, false)
end
- assert_match /lat missing/, message_update.message
+ assert_match(/lat missing/, message_update.message)
end
def test_from_xml_no_lon
message_create = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(nolon, true)
end
- assert_match /lon missing/, message_create.message
+ assert_match(/lon missing/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(nolon, false)
end
- assert_match /lon missing/, message_update.message
+ assert_match(/lon missing/, message_update.message)
end
def test_from_xml_no_changeset_id
message_create = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(nocs, true)
end
- assert_match /Changeset id is missing/, message_create.message
+ assert_match(/Changeset id is missing/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(nocs, false)
end
- assert_match /Changeset id is missing/, message_update.message
+ assert_match(/Changeset id is missing/, message_update.message)
end
def test_from_xml_no_version
message_update = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(no_version, false)
end
- assert_match /Version is required when updating/, message_update.message
+ assert_match(/Version is required when updating/, message_update.message)
end
def test_from_xml_double_lat
message_create = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(nocs, true)
end
- assert_match /Fatal error: Attribute lat redefined at/, message_create.message
+ assert_match(/Fatal error: Attribute lat redefined at/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(nocs, false)
end
- assert_match /Fatal error: Attribute lat redefined at/, message_update.message
+ assert_match(/Fatal error: Attribute lat redefined at/, message_update.message)
end
def test_from_xml_id_zero
message_update = assert_raise(OSM::APIBadUserInput) do
Node.from_xml(zero_id, false)
end
- assert_match /ID of node cannot be zero when updating/, message_update.message
+ assert_match(/ID of node cannot be zero when updating/, message_update.message)
end
end
message_create = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(no_text, true)
end
- assert_match /Must specify a string with one or more characters/, message_create.message
+ assert_match(/Must specify a string with one or more characters/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(no_text, false)
end
- assert_match /Must specify a string with one or more characters/, message_update.message
+ assert_match(/Must specify a string with one or more characters/, message_update.message)
end
def test_from_xml_no_node
message_create = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(nokv, true)
end
- assert_match /tag is missing key/, message_create.message
+ assert_match(/tag is missing key/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(nokv, false)
end
- assert_match /tag is missing key/, message_update.message
+ assert_match(/tag is missing key/, message_update.message)
end
def test_from_xml_no_v
message_create = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(no_v, true)
end
- assert_match /tag is missing value/, message_create.message
+ assert_match(/tag is missing value/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Node.from_xml(no_v, false)
end
- assert_match /tag is missing value/, message_update.message
+ assert_match(/tag is missing value/, message_update.message)
end
def test_from_xml_duplicate_k
def test_lat_lon_xml_format
old_node = build(:old_node, :latitude => 0.00004 * OldNode::SCALE, :longitude => 0.00008 * OldNode::SCALE)
- assert_match /lat="0.0000400"/, old_node.to_xml.to_s
- assert_match /lon="0.0000800"/, old_node.to_xml.to_s
+ assert_match(/lat="0.0000400"/, old_node.to_xml.to_s)
+ assert_match(/lon="0.0000800"/, old_node.to_xml.to_s)
end
def test_node_tags
message = assert_raise(OSM::APIBadXMLError) do
Relation.from_xml(noid, false)
end
- assert_match /ID is required when updating/, message.message
+ assert_match(/ID is required when updating/, message.message)
end
def test_from_xml_no_changeset_id
message_create = assert_raise(OSM::APIBadXMLError) do
Relation.from_xml(nocs, true)
end
- assert_match /Changeset id is missing/, message_create.message
+ assert_match(/Changeset id is missing/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Relation.from_xml(nocs, false)
end
- assert_match /Changeset id is missing/, message_update.message
+ assert_match(/Changeset id is missing/, message_update.message)
end
def test_from_xml_no_version
message_update = assert_raise(OSM::APIBadXMLError) do
Relation.from_xml(no_version, false)
end
- assert_match /Version is required when updating/, message_update.message
+ assert_match(/Version is required when updating/, message_update.message)
end
def test_from_xml_id_zero
message_update = assert_raise(OSM::APIBadUserInput) do
Relation.from_xml(zero_id, false)
end
- assert_match /ID of relation cannot be zero when updating/, message_update.message
+ assert_match(/ID of relation cannot be zero when updating/, message_update.message)
end
end
message_create = assert_raise(OSM::APIBadXMLError) do
Relation.from_xml(no_text, true)
end
- assert_match /Must specify a string with one or more characters/, message_create.message
+ assert_match(/Must specify a string with one or more characters/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Relation.from_xml(no_text, false)
end
- assert_match /Must specify a string with one or more characters/, message_update.message
+ assert_match(/Must specify a string with one or more characters/, message_update.message)
end
def test_from_xml_no_k_v
message_create = assert_raise(OSM::APIBadXMLError) do
Relation.from_xml(nokv, true)
end
- assert_match /tag is missing key/, message_create.message
+ assert_match(/tag is missing key/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Relation.from_xml(nokv, false)
end
- assert_match /tag is missing key/, message_update.message
+ assert_match(/tag is missing key/, message_update.message)
end
def test_from_xml_no_v
message_create = assert_raise(OSM::APIBadXMLError) do
Relation.from_xml(no_v, true)
end
- assert_match /tag is missing value/, message_create.message
+ assert_match(/tag is missing value/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Relation.from_xml(no_v, false)
end
- assert_match /tag is missing value/, message_update.message
+ assert_match(/tag is missing value/, message_update.message)
end
def test_from_xml_duplicate_k
assert_equal 1, cr.size
assert_equal super_relation.id, cr.first.id
end
+
+ def test_update_changeset_bbox_any_relation
+ relation = create(:relation)
+ super_relation = create(:relation)
+ node = create(:node, :longitude => 116, :latitude => 39)
+ create(:relation_member, :relation => super_relation, :member_type => "Relation", :member_id => relation.id)
+ node_member = create(:relation_member, :relation => super_relation, :member_type => "Node", :member_id => node.id)
+ user = create(:user)
+ changeset = create(:changeset, :user => user)
+ assert_nil changeset.min_lon
+ assert_nil changeset.max_lon
+ assert_nil changeset.max_lat
+ assert_nil changeset.min_lat
+ new_relation = Relation.new
+ new_relation.id = super_relation.id
+ new_relation.version = super_relation.version
+ new_relation.changeset = changeset
+ new_relation.add_member node_member.member_type, node_member.member_id, node_member.member_role
+ # one member(relation type) was removed, so any_relation flag is expected to be true.
+ super_relation.update_from(new_relation, user)
+
+ # changeset updated by node member, representing any_relation flag true.
+ assert_equal 116, changeset.min_lon
+ assert_equal 116, changeset.max_lon
+ assert_equal 39, changeset.min_lat
+ assert_equal 39, changeset.max_lat
+ end
end
def test_lat_lon_xml_format
tracepoint = build(:tracepoint, :latitude => 0.00004 * GeoRecord::SCALE, :longitude => 0.00008 * GeoRecord::SCALE)
- assert_match /lat="0.0000400"/, tracepoint.to_xml_node.to_s
- assert_match /lon="0.0000800"/, tracepoint.to_xml_node.to_s
+ assert_match(/lat="0.0000400"/, tracepoint.to_xml_node.to_s)
+ assert_match(/lon="0.0000800"/, tracepoint.to_xml_node.to_s)
end
end
message = assert_raise(OSM::APIBadXMLError) do
Way.from_xml(noid, false)
end
- assert_match /ID is required when updating/, message.message
+ assert_match(/ID is required when updating/, message.message)
end
def test_from_xml_no_changeset_id
message_create = assert_raise(OSM::APIBadXMLError) do
Way.from_xml(nocs, true)
end
- assert_match /Changeset id is missing/, message_create.message
+ assert_match(/Changeset id is missing/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Way.from_xml(nocs, false)
end
- assert_match /Changeset id is missing/, message_update.message
+ assert_match(/Changeset id is missing/, message_update.message)
end
def test_from_xml_no_version
message_update = assert_raise(OSM::APIBadXMLError) do
Way.from_xml(no_version, false)
end
- assert_match /Version is required when updating/, message_update.message
+ assert_match(/Version is required when updating/, message_update.message)
end
def test_from_xml_id_zero
message_update = assert_raise(OSM::APIBadUserInput) do
Way.from_xml(zero_id, false)
end
- assert_match /ID of way cannot be zero when updating/, message_update.message
+ assert_match(/ID of way cannot be zero when updating/, message_update.message)
end
end
message_create = assert_raise(OSM::APIBadXMLError) do
Way.from_xml(no_text, true)
end
- assert_match /Must specify a string with one or more characters/, message_create.message
+ assert_match(/Must specify a string with one or more characters/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Way.from_xml(no_text, false)
end
- assert_match /Must specify a string with one or more characters/, message_update.message
+ assert_match(/Must specify a string with one or more characters/, message_update.message)
end
def test_from_xml_no_k_v
message_create = assert_raise(OSM::APIBadXMLError) do
Way.from_xml(nokv, true)
end
- assert_match /tag is missing key/, message_create.message
+ assert_match(/tag is missing key/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Way.from_xml(nokv, false)
end
- assert_match /tag is missing key/, message_update.message
+ assert_match(/tag is missing key/, message_update.message)
end
def test_from_xml_no_v
message_create = assert_raise(OSM::APIBadXMLError) do
Way.from_xml(no_v, true)
end
- assert_match /tag is missing value/, message_create.message
+ assert_match(/tag is missing value/, message_create.message)
message_update = assert_raise(OSM::APIBadXMLError) do
Way.from_xml(no_v, false)
end
- assert_match /tag is missing value/, message_update.message
+ assert_match(/tag is missing value/, message_update.message)
end
def test_from_xml_duplicate_k
visit browse_note_path(note)
assert page.has_content?(note.comments.first.body)
- assert_not page.has_content?(I18n.t("user.view.report"))
+ assert_not page.has_content?(I18n.t("user.show.report"))
end
def test_can_report_user
user = create(:user)
sign_in_as(create(:user))
- visit user_path(user.display_name)
+ visit user_path(user)
- click_on I18n.t("user.view.report")
+ click_on I18n.t("user.show.report")
assert page.has_content? "Report"
assert page.has_content? I18n.t("reports.new.disclaimer.intro")
def test_it_promotes_issues
user = create(:user)
sign_in_as(create(:user))
- visit user_path(user.display_name)
+ visit user_path(user)
- click_on I18n.t("user.view.report")
+ click_on I18n.t("user.show.report")
assert page.has_content? "Report"
assert page.has_content? I18n.t("reports.new.disclaimer.intro")
assert_equal user, Issue.last.reportable
assert_equal "moderator", Issue.last.assigned_role
- visit user_path(user.display_name)
+ visit user_path(user)
- click_on I18n.t("user.view.report")
+ click_on I18n.t("user.show.report")
assert page.has_content? "Report"
assert page.has_content? I18n.t("reports.new.disclaimer.intro")
, silk = /silk/i.test(ua)
, sailfish = /sailfish/i.test(ua)
, tizen = /tizen/i.test(ua)
- , webos = /(web|hpw)os/i.test(ua)
+ , webos = /(web|hpw)(o|0)s/i.test(ua)
, windowsphone = /windows phone/i.test(ua)
, samsungBrowser = /SamsungBrowser/i.test(ua)
, windows = !windowsphone && /windows/i.test(ua)
, version: versionIdentifier || getFirstMatch(/(?:SamsungBrowser)[\s\/](\d+(\.\d+)?)/i)
}
}
+ else if (/Whale/i.test(ua)) {
+ result = {
+ name: 'NAVER Whale browser'
+ , whale: t
+ , version: getFirstMatch(/(?:whale)[\s\/](\d+(?:\.\d+)+)/i)
+ }
+ }
+ else if (/MZBrowser/i.test(ua)) {
+ result = {
+ name: 'MZ Browser'
+ , mzbrowser: t
+ , version: getFirstMatch(/(?:MZBrowser)[\s\/](\d+(?:\.\d+)+)/i)
+ }
+ }
else if (/coast/i.test(ua)) {
result = {
name: 'Opera Coast'
, version: versionIdentifier || getFirstMatch(/(?:coast)[\s\/](\d+(\.\d+)?)/i)
}
}
+ else if (/focus/i.test(ua)) {
+ result = {
+ name: 'Focus'
+ , focus: t
+ , version: getFirstMatch(/(?:focus)[\s\/](\d+(?:\.\d+)+)/i)
+ }
+ }
else if (/yabrowser/i.test(ua)) {
result = {
name: 'Yandex Browser'
(result.vivaldi && result.version >= 1.0) ||
(result.chrome && result.version >= 20) ||
(result.samsungBrowser && result.version >= 4) ||
+ (result.whale && compareVersions([result.version, '1.0']) === 1) ||
+ (result.mzbrowser && compareVersions([result.version, '6.0']) === 1) ||
+ (result.focus && compareVersions([result.version, '1.0']) === 1) ||
(result.firefox && result.version >= 20.0) ||
(result.safari && result.version >= 6) ||
(result.opera && result.version >= 10.0) ||
.leaflet-container .leaflet-marker-pane img,
.leaflet-container .leaflet-shadow-pane img,
.leaflet-container .leaflet-tile-pane img,
-.leaflet-container img.leaflet-image-layer {
+.leaflet-container img.leaflet-image-layer,
+.leaflet-container .leaflet-tile {
max-width: none !important;
max-height: none !important;
}
opacity: 0;
-webkit-transition: opacity 0.2s linear;
-moz-transition: opacity 0.2s linear;
- -o-transition: opacity 0.2s linear;
transition: opacity 0.2s linear;
}
.leaflet-fade-anim .leaflet-map-pane .leaflet-popup {
.leaflet-zoom-anim .leaflet-zoom-animated {
-webkit-transition: -webkit-transform 0.25s cubic-bezier(0,0,0.25,1);
-moz-transition: -moz-transform 0.25s cubic-bezier(0,0,0.25,1);
- -o-transition: -o-transform 0.25s cubic-bezier(0,0,0.25,1);
transition: transform 0.25s cubic-bezier(0,0,0.25,1);
}
.leaflet-zoom-anim .leaflet-tile,
.leaflet-pan-anim .leaflet-tile {
-webkit-transition: none;
-moz-transition: none;
- -o-transition: none;
transition: none;
}
.leaflet-grab {
cursor: -webkit-grab;
cursor: -moz-grab;
+ cursor: grab;
}
.leaflet-crosshair,
.leaflet-crosshair .leaflet-interactive {
cursor: move;
cursor: -webkit-grabbing;
cursor: -moz-grabbing;
+ cursor: grabbing;
}
/* marker & overlays interactivity */
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-ms-transform: rotate(45deg);
- -o-transform: rotate(45deg);
transform: rotate(45deg);
}
.leaflet-popup-content-wrapper,
/* @preserve
- * Leaflet 1.3.3, a JS library for interactive maps. http://leafletjs.com
+ * Leaflet 1.3.4, a JS library for interactive maps. http://leafletjs.com
* (c) 2010-2018 Vladimir Agafonkin, (c) 2010-2011 CloudMade
*/
(factory((global.L = {})));
}(this, (function (exports) { 'use strict';
-var version = "1.3.3";
+var version = "1.3.4";
/*
* @namespace Util
// @property TRANSFORM: String
// Vendor-prefixed transform style name (e.g. `'webkitTransform'` for WebKit).
var TRANSFORM = testProp(
- ['transform', 'WebkitTransform', 'OTransform', 'MozTransform', 'msTransform']);
+ ['transform', 'webkitTransform', 'OTransform', 'MozTransform', 'msTransform']);
// webkitTransition comes first because some browser versions that drop vendor prefix don't do
// the same for the transitionend event, in particular the Android 4.1 stock browser
Map.addInitHook(function () {
if (this.options.zoomControl) {
+ // @section Controls
+ // @property zoomControl: Control.Zoom
+ // The default zoom control (only available if the
+ // [`zoomControl` option](#map-zoomcontrol) was `true` when creating the map).
this.zoomControl = new Zoom();
this.addControl(this.zoomControl);
}
options: {
popupAnchor: [0, 0],
- tooltipAnchor: [0, 0],
+ tooltipAnchor: [0, 0]
},
initialize: function (options) {
// Option inherited from "Interactive layer" abstract class
interactive: true,
- // @option draggable: Boolean = false
- // Whether the marker is draggable with mouse/touch or not.
- draggable: false,
-
- // @option autoPan: Boolean = false
- // Set it to `true` if you want the map to do panning animation when marker hits the edges.
- autoPan: false,
-
- // @option autoPanPadding: Point = Point(50, 50)
- // Equivalent of setting both top left and bottom right autopan padding to the same value.
- autoPanPadding: [50, 50],
-
- // @option autoPanSpeed: Number = 10
- // Number of pixels the map should move by.
- autoPanSpeed: 10,
-
// @option keyboard: Boolean = true
// Whether the marker can be tabbed to with a keyboard and clicked by pressing enter.
keyboard: true,
// @option bubblingMouseEvents: Boolean = false
// When `true`, a mouse event on this marker will trigger the same event on the map
// (unless [`L.DomEvent.stopPropagation`](#domevent-stoppropagation) is used).
- bubblingMouseEvents: false
+ bubblingMouseEvents: false,
+
+ // @section Draggable marker options
+ // @option draggable: Boolean = false
+ // Whether the marker is draggable with mouse/touch or not.
+ draggable: false,
+
+ // @option autoPan: Boolean = false
+ // Whether to pan the map when dragging this marker near its edge or not.
+ autoPan: false,
+
+ // @option autoPanPadding: Point = Point(50, 50)
+ // Distance (in pixels to the left/right and to the top/bottom) of the
+ // map edge to start panning the map.
+ autoPanPadding: [50, 50],
+
+ // @option autoPanSpeed: Number = 10
+ // Number of pixels the map should pan by.
+ autoPanSpeed: 10
},
/* @section
errorOverlayUrl: '',
// @option zIndex: Number = 1
- // The explicit [zIndex](https://developer.mozilla.org/docs/Web/CSS/CSS_Positioning/Understanding_z_index) of the tile layer.
+ // The explicit [zIndex](https://developer.mozilla.org/docs/Web/CSS/CSS_Positioning/Understanding_z_index) of the overlay layer.
zIndex: 1,
// @option className: String = ''
// A custom class name to assign to the image. Empty by default.
- className: '',
+ className: ''
},
initialize: function (url, bounds, options) { // (String, LatLngBounds, Object)
return events;
},
- // @method: setZIndex(value: Number) : this
+ // @method setZIndex(value: Number): this
// Changes the [zIndex](#imageoverlay-zindex) of the image overlay.
setZIndex: function (value) {
this.options.zIndex = value;
_overlayOnError: function () {
// @event error: Event
- // Fired when the ImageOverlay layer has loaded its image
+ // Fired when the ImageOverlay layer fails to load its image
this.fire('error');
var errorUrl = this.options.errorOverlayUrl;
var tile = this._tiles[key];
if (!tile) { return; }
- // Cancels any pending http requests associated with the tile
- // unless we're on Android's stock browser,
- // see https://github.com/Leaflet/Leaflet/issues/137
- if (!androidStock) {
- tile.el.setAttribute('src', emptyImageUrl);
- }
remove(tile.el);
delete this._tiles[key];
},
_tileReady: function (coords, err, tile) {
- if (!this._map || tile.getAttribute('src') === emptyImageUrl) { return; }
-
if (err) {
// @event tileerror: TileErrorEvent
// Fired when there is an error loading a tile.
}
}
}
+ },
+
+ _removeTile: function (key) {
+ var tile = this._tiles[key];
+ if (!tile) { return; }
+
+ // Cancels any pending http requests associated with the tile
+ // unless we're on Android's stock browser,
+ // see https://github.com/Leaflet/Leaflet/issues/137
+ if (!androidStock) {
+ tile.el.setAttribute('src', emptyImageUrl);
+ }
+
+ return GridLayer.prototype._removeTile.call(this, key);
+ },
+
+ _tileReady: function (coords, err, tile) {
+ if (!this._map || (tile && tile.getAttribute('src') === emptyImageUrl)) {
+ return;
+ }
+
+ return GridLayer.prototype._tileReady.call(this, coords, err, tile);
}
});
_updateDashArray: function (layer) {
if (typeof layer.options.dashArray === 'string') {
- var parts = layer.options.dashArray.split(','),
+ var parts = layer.options.dashArray.split(/[, ]+/),
dashArray = [],
i;
for (i = 0; i < parts.length; i++) {
L.OSM.CycleMap = L.OSM.TileLayer.extend({
options: {
url: 'https://{s}.tile.thunderforest.com/cycle/{z}/{x}/{y}{r}.png?apikey={apikey}',
+ maxZoom: 21,
attribution: '© <a href="https://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: 'https://{s}.tile.thunderforest.com/transport/{z}/{x}/{y}{r}.png?apikey={apikey}',
+ maxZoom: 21,
attribution: '© <a href="https://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.GPS = L.OSM.TileLayer.extend({
options: {
url: 'https://gps-{s}.tile.openstreetmap.org/lines/{z}/{x}/{y}.png',
- maxZoom: 20,
+ maxZoom: 21,
+ maxNativeZoom: 20,
subdomains: 'abc'
}
});